// This file was generated by the following script:
//
//   $ /home/brian/src/AceTimeSuite/compiler/src/acetimecompiler/tzcompiler.py
//     --input_dir /home/brian/src/AceTimeSuite/libraries/AceTimeLib/src/zonedbx/tzfiles
//     --output_dir /home/brian/src/AceTimeSuite/libraries/AceTimeLib/src/zonedbx
//     --tz_version 2025b
//     --action zonedb
//     --language arduino
//     --scope extended
//     --db_namespace zonedbx
//     --zi_namespace extended::Info
//     --start_year 2000
//     --until_year 2200
//
// using the TZ Database files
//
//   africa
//   antarctica
//   asia
//   australasia
//   backward
//   etcetera
//   europe
//   northamerica
//   southamerica
//
// from https://github.com/eggert/tz/releases/tag/2025b
//
// Supported Zones: 597 (340 zones, 257 links)
// Unsupported Zones: 0 (0 zones, 0 links)
//
// Requested Years: [2000,2200]
// Accurate Years: [2000,32767]
//
// Original Years:  [1844,2087]
// Generated Years: [1950,2087]
// Lower/Upper Truncated: [True,False]
//
// Estimator Years: [1950,2090]
// Max Buffer Size: 7
//
// Records:
//   Infos: 597
//   Eras: 647
//   Policies: 82
//   Rules: 731
//
// Memory (8-bits):
//   Context: 16
//   Rules: 6579
//   Policies: 246
//   Eras: 7117
//   Zones: 4420
//   Links: 3341
//   Registry: 1194
//   Formats: 231
//   Letters: 46
//   Fragments: 150
//   Names: 5660 (original: 9094)
//   TOTAL: 29000
//
// Memory (32-bits):
//   Context: 24
//   Rules: 8772
//   Policies: 656
//   Eras: 10352
//   Zones: 8160
//   Links: 6168
//   Registry: 2388
//   Formats: 231
//   Letters: 64
//   Fragments: 178
//   Names: 5660 (original: 9094)
//   TOTAL: 42653
//
// DO NOT EDIT

#include <zoneinfo/compat.h>
#include "zone_policies.h"
#include "zone_infos.h"

namespace ace_time {
namespace zonedbx {

//---------------------------------------------------------------------------
// ZoneContext
//---------------------------------------------------------------------------

static const char kVersionString[] ACE_TIME_PROGMEM = "2025b";
const __FlashStringHelper* const kTzDatabaseVersion =
    (const __FlashStringHelper*) kVersionString;

static const char kFragment1[] ACE_TIME_PROGMEM = "Africa/";
static const char kFragment2[] ACE_TIME_PROGMEM = "America/";
static const char kFragment3[] ACE_TIME_PROGMEM = "Antarctica/";
static const char kFragment4[] ACE_TIME_PROGMEM = "Argentina/";
static const char kFragment5[] ACE_TIME_PROGMEM = "Asia/";
static const char kFragment6[] ACE_TIME_PROGMEM = "Atlantic/";
static const char kFragment7[] ACE_TIME_PROGMEM = "Australia/";
static const char kFragment8[] ACE_TIME_PROGMEM = "Brazil/";
static const char kFragment9[] ACE_TIME_PROGMEM = "Canada/";
static const char kFragment10[] ACE_TIME_PROGMEM = "Etc/";
static const char kFragment11[] ACE_TIME_PROGMEM = "Europe/";
static const char kFragment12[] ACE_TIME_PROGMEM = "Indian/";
static const char kFragment13[] ACE_TIME_PROGMEM = "Indiana/";
static const char kFragment14[] ACE_TIME_PROGMEM = "Pacific/";

const char* const kFragments[] ACE_TIME_PROGMEM = {
  nullptr, // '\x00' cannot exist
  kFragment1, // '\x01' "Africa/"
  kFragment2, // '\x02' "America/"
  kFragment3, // '\x03' "Antarctica/"
  kFragment4, // '\x04' "Argentina/"
  kFragment5, // '\x05' "Asia/"
  kFragment6, // '\x06' "Atlantic/"
  kFragment7, // '\x07' "Australia/"
  kFragment8, // '\x08' "Brazil/"
  kFragment9, // '\x09' "Canada/"
  kFragment10, // '\x0a' "Etc/"
  kFragment11, // '\x0b' "Europe/"
  kFragment12, // '\x0c' "Indian/"
  kFragment13, // '\x0d' "Indiana/"
  kFragment14, // '\x0e' "Pacific/"

};

static const char kLetter0[] ACE_TIME_PROGMEM = "";
static const char kLetter1[] ACE_TIME_PROGMEM = "+00";
static const char kLetter2[] ACE_TIME_PROGMEM = "+02";
static const char kLetter3[] ACE_TIME_PROGMEM = "CAT";
static const char kLetter4[] ACE_TIME_PROGMEM = "CST";
static const char kLetter5[] ACE_TIME_PROGMEM = "D";
static const char kLetter6[] ACE_TIME_PROGMEM = "DD";
static const char kLetter7[] ACE_TIME_PROGMEM = "S";
static const char kLetter8[] ACE_TIME_PROGMEM = "WAT";

const char* const kLetters[] ACE_TIME_PROGMEM = {
  kLetter0, // ""
  kLetter1, // "+00"
  kLetter2, // "+02"
  kLetter3, // "CAT"
  kLetter4, // "CST"
  kLetter5, // "D"
  kLetter6, // "DD"
  kLetter7, // "S"
  kLetter8, // "WAT"

};

const extended::Info::ZoneContext kZoneContext ACE_TIME_PROGMEM = {
  2000 /*startYear*/,
  2200 /*untilYear*/,
  2000 /*startYearAccurate*/,
  32767 /*untilYearAccurate*/,
  2100 /*baseYear*/,
  7 /*maxTransitions*/,
  kVersionString /*tzVersion*/,
  15 /*numFragments*/,
  9 /*numLetters*/,
  kFragments /*fragments*/,
  kLetters /*letters*/,
};

//---------------------------------------------------------------------------
// Zones: 340
// Eras: 647
//---------------------------------------------------------------------------

//---------------------------------------------------------------------------
// Zone name: Africa/Abidjan
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAfrica_Abidjan[] ACE_TIME_PROGMEM = {
  //              0:00    -    GMT
  {
    nullptr /*zonePolicy*/,
    "GMT" /*format*/,
    0 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAfrica_Abidjan[] ACE_TIME_PROGMEM = "\x01" "Abidjan";

const extended::Info::ZoneInfo kZoneAfrica_Abidjan ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Abidjan /*name*/,
  0xc21305a3 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Abidjan /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Africa/Algiers
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAfrica_Algiers[] ACE_TIME_PROGMEM = {
  //             1:00    -    CET
  {
    nullptr /*zonePolicy*/,
    "CET" /*format*/,
    4 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAfrica_Algiers[] ACE_TIME_PROGMEM = "\x01" "Algiers";

const extended::Info::ZoneInfo kZoneAfrica_Algiers ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Algiers /*name*/,
  0xd94515c1 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Algiers /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Africa/Bissau
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAfrica_Bissau[] ACE_TIME_PROGMEM = {
  //              0:00    -    GMT
  {
    nullptr /*zonePolicy*/,
    "GMT" /*format*/,
    0 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAfrica_Bissau[] ACE_TIME_PROGMEM = "\x01" "Bissau";

const extended::Info::ZoneInfo kZoneAfrica_Bissau ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Bissau /*name*/,
  0x75564141 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Bissau /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Africa/Cairo
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAfrica_Cairo[] ACE_TIME_PROGMEM = {
  //             2:00    Egypt    EE%sT
  {
    &kZonePolicyEgypt /*zonePolicy*/,
    "EE%T" /*format*/,
    8 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAfrica_Cairo[] ACE_TIME_PROGMEM = "\x01" "Cairo";

const extended::Info::ZoneInfo kZoneAfrica_Cairo ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Cairo /*name*/,
  0x77f8e228 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Cairo /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Africa/Casablanca
// Eras: 2
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAfrica_Casablanca[] ACE_TIME_PROGMEM = {
  //              0:00    Morocco    %z    2018 Oct 28  3:00
  {
    &kZonePolicyMorocco /*zonePolicy*/,
    "" /*format*/,
    0 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -82 /*untilYearTiny*/,
    10 /*untilMonth*/,
    28 /*untilDay*/,
    12 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //              1:00    Morocco    %z
  {
    &kZonePolicyMorocco /*zonePolicy*/,
    "" /*format*/,
    4 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAfrica_Casablanca[] ACE_TIME_PROGMEM = "\x01" "Casablanca";

const extended::Info::ZoneInfo kZoneAfrica_Casablanca ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Casablanca /*name*/,
  0xc59f1b33 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  2 /*numEras*/,
  kZoneEraAfrica_Casablanca /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Africa/Ceuta
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAfrica_Ceuta[] ACE_TIME_PROGMEM = {
  //              1:00    EU    CE%sT
  {
    &kZonePolicyEU /*zonePolicy*/,
    "CE%T" /*format*/,
    4 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAfrica_Ceuta[] ACE_TIME_PROGMEM = "\x01" "Ceuta";

const extended::Info::ZoneInfo kZoneAfrica_Ceuta ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Ceuta /*name*/,
  0x77fb46ec /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Ceuta /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Africa/El_Aaiun
// Eras: 2
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAfrica_El_Aaiun[] ACE_TIME_PROGMEM = {
  //              0:00    Morocco    %z    2018 Oct 28  3:00
  {
    &kZonePolicyMorocco /*zonePolicy*/,
    "" /*format*/,
    0 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -82 /*untilYearTiny*/,
    10 /*untilMonth*/,
    28 /*untilDay*/,
    12 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //              1:00    Morocco    %z
  {
    &kZonePolicyMorocco /*zonePolicy*/,
    "" /*format*/,
    4 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAfrica_El_Aaiun[] ACE_TIME_PROGMEM = "\x01" "El_Aaiun";

const extended::Info::ZoneInfo kZoneAfrica_El_Aaiun ACE_TIME_PROGMEM = {
  kZoneNameAfrica_El_Aaiun /*name*/,
  0x9d6fb118 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  2 /*numEras*/,
  kZoneEraAfrica_El_Aaiun /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Africa/Johannesburg
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAfrica_Johannesburg[] ACE_TIME_PROGMEM = {
  //             2:00    SA    SAST
  {
    &kZonePolicySA /*zonePolicy*/,
    "SAST" /*format*/,
    8 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAfrica_Johannesburg[] ACE_TIME_PROGMEM = "\x01" "Johannesburg";

const extended::Info::ZoneInfo kZoneAfrica_Johannesburg ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Johannesburg /*name*/,
  0xd5d157a0 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Johannesburg /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Africa/Juba
// Eras: 3
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAfrica_Juba[] ACE_TIME_PROGMEM = {
  //             2:00    Sudan    CA%sT    2000 Jan 15 12:00
  {
    &kZonePolicySudan /*zonePolicy*/,
    "CA%T" /*format*/,
    8 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -100 /*untilYearTiny*/,
    1 /*untilMonth*/,
    15 /*untilDay*/,
    48 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             3:00    -    EAT    2021 Feb  1 00:00
  {
    nullptr /*zonePolicy*/,
    "EAT" /*format*/,
    12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -79 /*untilYearTiny*/,
    2 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             2:00    -    CAT
  {
    nullptr /*zonePolicy*/,
    "CAT" /*format*/,
    8 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAfrica_Juba[] ACE_TIME_PROGMEM = "\x01" "Juba";

const extended::Info::ZoneInfo kZoneAfrica_Juba ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Juba /*name*/,
  0xd51b395c /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  3 /*numEras*/,
  kZoneEraAfrica_Juba /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Africa/Khartoum
// Eras: 3
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAfrica_Khartoum[] ACE_TIME_PROGMEM = {
  //             2:00    Sudan    CA%sT    2000 Jan 15 12:00
  {
    &kZonePolicySudan /*zonePolicy*/,
    "CA%T" /*format*/,
    8 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -100 /*untilYearTiny*/,
    1 /*untilMonth*/,
    15 /*untilDay*/,
    48 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             3:00    -    EAT    2017 Nov  1
  {
    nullptr /*zonePolicy*/,
    "EAT" /*format*/,
    12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -83 /*untilYearTiny*/,
    11 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             2:00    -    CAT
  {
    nullptr /*zonePolicy*/,
    "CAT" /*format*/,
    8 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAfrica_Khartoum[] ACE_TIME_PROGMEM = "\x01" "Khartoum";

const extended::Info::ZoneInfo kZoneAfrica_Khartoum ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Khartoum /*name*/,
  0xfb3d4205 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  3 /*numEras*/,
  kZoneEraAfrica_Khartoum /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Africa/Lagos
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAfrica_Lagos[] ACE_TIME_PROGMEM = {
  //             1:00    -    WAT
  {
    nullptr /*zonePolicy*/,
    "WAT" /*format*/,
    4 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAfrica_Lagos[] ACE_TIME_PROGMEM = "\x01" "Lagos";

const extended::Info::ZoneInfo kZoneAfrica_Lagos ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Lagos /*name*/,
  0x789bb5d0 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Lagos /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Africa/Maputo
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAfrica_Maputo[] ACE_TIME_PROGMEM = {
  //             2:00    -    CAT
  {
    nullptr /*zonePolicy*/,
    "CAT" /*format*/,
    8 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAfrica_Maputo[] ACE_TIME_PROGMEM = "\x01" "Maputo";

const extended::Info::ZoneInfo kZoneAfrica_Maputo ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Maputo /*name*/,
  0x8e6ca1f0 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Maputo /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Africa/Monrovia
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAfrica_Monrovia[] ACE_TIME_PROGMEM = {
  //              0:00    -    GMT
  {
    nullptr /*zonePolicy*/,
    "GMT" /*format*/,
    0 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAfrica_Monrovia[] ACE_TIME_PROGMEM = "\x01" "Monrovia";

const extended::Info::ZoneInfo kZoneAfrica_Monrovia ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Monrovia /*name*/,
  0x0ce90385 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Monrovia /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Africa/Nairobi
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAfrica_Nairobi[] ACE_TIME_PROGMEM = {
  //             3:00    -    EAT
  {
    nullptr /*zonePolicy*/,
    "EAT" /*format*/,
    12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAfrica_Nairobi[] ACE_TIME_PROGMEM = "\x01" "Nairobi";

const extended::Info::ZoneInfo kZoneAfrica_Nairobi ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Nairobi /*name*/,
  0xa87ab57e /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Nairobi /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Africa/Ndjamena
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAfrica_Ndjamena[] ACE_TIME_PROGMEM = {
  //             1:00    -    WAT
  {
    nullptr /*zonePolicy*/,
    "WAT" /*format*/,
    4 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAfrica_Ndjamena[] ACE_TIME_PROGMEM = "\x01" "Ndjamena";

const extended::Info::ZoneInfo kZoneAfrica_Ndjamena ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Ndjamena /*name*/,
  0x9fe09898 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Ndjamena /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Africa/Sao_Tome
// Eras: 3
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAfrica_Sao_Tome[] ACE_TIME_PROGMEM = {
  //              0:00    -    GMT    2018 Jan  1 01:00
  {
    nullptr /*zonePolicy*/,
    "GMT" /*format*/,
    0 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -82 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    4 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //              1:00    -    WAT    2019 Jan  1 02:00
  {
    nullptr /*zonePolicy*/,
    "WAT" /*format*/,
    4 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -81 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    8 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //              0:00    -    GMT
  {
    nullptr /*zonePolicy*/,
    "GMT" /*format*/,
    0 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAfrica_Sao_Tome[] ACE_TIME_PROGMEM = "\x01" "Sao_Tome";

const extended::Info::ZoneInfo kZoneAfrica_Sao_Tome ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Sao_Tome /*name*/,
  0x61b319d1 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  3 /*numEras*/,
  kZoneEraAfrica_Sao_Tome /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Africa/Tripoli
// Eras: 3
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAfrica_Tripoli[] ACE_TIME_PROGMEM = {
  //             2:00    -    EET    2012 Nov 10  2:00
  {
    nullptr /*zonePolicy*/,
    "EET" /*format*/,
    8 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -88 /*untilYearTiny*/,
    11 /*untilMonth*/,
    10 /*untilDay*/,
    8 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             1:00    Libya    CE%sT    2013 Oct 25  2:00
  {
    &kZonePolicyLibya /*zonePolicy*/,
    "CE%T" /*format*/,
    4 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -87 /*untilYearTiny*/,
    10 /*untilMonth*/,
    25 /*untilDay*/,
    8 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             2:00    -    EET
  {
    nullptr /*zonePolicy*/,
    "EET" /*format*/,
    8 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAfrica_Tripoli[] ACE_TIME_PROGMEM = "\x01" "Tripoli";

const extended::Info::ZoneInfo kZoneAfrica_Tripoli ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Tripoli /*name*/,
  0x9dfebd3d /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  3 /*numEras*/,
  kZoneEraAfrica_Tripoli /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Africa/Tunis
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAfrica_Tunis[] ACE_TIME_PROGMEM = {
  //             1:00    Tunisia    CE%sT
  {
    &kZonePolicyTunisia /*zonePolicy*/,
    "CE%T" /*format*/,
    4 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAfrica_Tunis[] ACE_TIME_PROGMEM = "\x01" "Tunis";

const extended::Info::ZoneInfo kZoneAfrica_Tunis ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Tunis /*name*/,
  0x79378e6d /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Tunis /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Africa/Windhoek
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAfrica_Windhoek[] ACE_TIME_PROGMEM = {
  //             2:00    Namibia    %s
  {
    &kZonePolicyNamibia /*zonePolicy*/,
    "%" /*format*/,
    8 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAfrica_Windhoek[] ACE_TIME_PROGMEM = "\x01" "Windhoek";

const extended::Info::ZoneInfo kZoneAfrica_Windhoek ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Windhoek /*name*/,
  0x789c9bd3 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Windhoek /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Adak
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Adak[] ACE_TIME_PROGMEM = {
  //             -10:00    US    H%sT
  {
    &kZonePolicyUS /*zonePolicy*/,
    "H%T" /*format*/,
    -40 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Adak[] ACE_TIME_PROGMEM = "\x02" "Adak";

const extended::Info::ZoneInfo kZoneAmerica_Adak ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Adak /*name*/,
  0x97fe49d7 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Adak /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Anchorage
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Anchorage[] ACE_TIME_PROGMEM = {
  //              -9:00    US    AK%sT
  {
    &kZonePolicyUS /*zonePolicy*/,
    "AK%T" /*format*/,
    -36 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Anchorage[] ACE_TIME_PROGMEM = "\x02" "Anchorage";

const extended::Info::ZoneInfo kZoneAmerica_Anchorage ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Anchorage /*name*/,
  0x5a79260e /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Anchorage /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Araguaina
// Eras: 4
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Araguaina[] ACE_TIME_PROGMEM = {
  //             -3:00    Brazil    %z    2003 Sep 24
  {
    &kZonePolicyBrazil /*zonePolicy*/,
    "" /*format*/,
    -12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -97 /*untilYearTiny*/,
    9 /*untilMonth*/,
    24 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -3:00    -    %z    2012 Oct 21
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -88 /*untilYearTiny*/,
    10 /*untilMonth*/,
    21 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -3:00    Brazil    %z    2013 Sep
  {
    &kZonePolicyBrazil /*zonePolicy*/,
    "" /*format*/,
    -12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -87 /*untilYearTiny*/,
    9 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -3:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Araguaina[] ACE_TIME_PROGMEM = "\x02" "Araguaina";

const extended::Info::ZoneInfo kZoneAmerica_Araguaina ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Araguaina /*name*/,
  0x6f9a3aef /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  4 /*numEras*/,
  kZoneEraAmerica_Araguaina /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Argentina/Buenos_Aires
// Eras: 3
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Argentina_Buenos_Aires[] ACE_TIME_PROGMEM = {
  //             -3:00    Arg    %z    1999 Oct  3
  {
    &kZonePolicyArg /*zonePolicy*/,
    "" /*format*/,
    -12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -101 /*untilYearTiny*/,
    10 /*untilMonth*/,
    3 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -4:00    Arg    %z    2000 Mar  3
  {
    &kZonePolicyArg /*zonePolicy*/,
    "" /*format*/,
    -16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -100 /*untilYearTiny*/,
    3 /*untilMonth*/,
    3 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -3:00    Arg    %z
  {
    &kZonePolicyArg /*zonePolicy*/,
    "" /*format*/,
    -12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Argentina_Buenos_Aires[] ACE_TIME_PROGMEM = "\x02" "\x04" "Buenos_Aires";

const extended::Info::ZoneInfo kZoneAmerica_Argentina_Buenos_Aires ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Argentina_Buenos_Aires /*name*/,
  0xd43b4c0d /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  3 /*numEras*/,
  kZoneEraAmerica_Argentina_Buenos_Aires /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Argentina/Catamarca
// Eras: 6
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Argentina_Catamarca[] ACE_TIME_PROGMEM = {
  //             -3:00    Arg    %z    1999 Oct  3
  {
    &kZonePolicyArg /*zonePolicy*/,
    "" /*format*/,
    -12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -101 /*untilYearTiny*/,
    10 /*untilMonth*/,
    3 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -4:00    Arg    %z    2000 Mar  3
  {
    &kZonePolicyArg /*zonePolicy*/,
    "" /*format*/,
    -16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -100 /*untilYearTiny*/,
    3 /*untilMonth*/,
    3 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -3:00    -    %z    2004 Jun  1
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -96 /*untilYearTiny*/,
    6 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -4:00    -    %z    2004 Jun 20
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -96 /*untilYearTiny*/,
    6 /*untilMonth*/,
    20 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -3:00    Arg    %z    2008 Oct 18
  {
    &kZonePolicyArg /*zonePolicy*/,
    "" /*format*/,
    -12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -92 /*untilYearTiny*/,
    10 /*untilMonth*/,
    18 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -3:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Argentina_Catamarca[] ACE_TIME_PROGMEM = "\x02" "\x04" "Catamarca";

const extended::Info::ZoneInfo kZoneAmerica_Argentina_Catamarca ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Argentina_Catamarca /*name*/,
  0x8d40986b /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  6 /*numEras*/,
  kZoneEraAmerica_Argentina_Catamarca /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Argentina/Cordoba
// Eras: 3
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Argentina_Cordoba[] ACE_TIME_PROGMEM = {
  //             -3:00    Arg    %z    1999 Oct  3
  {
    &kZonePolicyArg /*zonePolicy*/,
    "" /*format*/,
    -12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -101 /*untilYearTiny*/,
    10 /*untilMonth*/,
    3 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -4:00    Arg    %z    2000 Mar  3
  {
    &kZonePolicyArg /*zonePolicy*/,
    "" /*format*/,
    -16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -100 /*untilYearTiny*/,
    3 /*untilMonth*/,
    3 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -3:00    Arg    %z
  {
    &kZonePolicyArg /*zonePolicy*/,
    "" /*format*/,
    -12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Argentina_Cordoba[] ACE_TIME_PROGMEM = "\x02" "\x04" "Cordoba";

const extended::Info::ZoneInfo kZoneAmerica_Argentina_Cordoba ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Argentina_Cordoba /*name*/,
  0xbfccc308 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  3 /*numEras*/,
  kZoneEraAmerica_Argentina_Cordoba /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Argentina/Jujuy
// Eras: 4
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Argentina_Jujuy[] ACE_TIME_PROGMEM = {
  //             -3:00    Arg    %z    1999 Oct  3
  {
    &kZonePolicyArg /*zonePolicy*/,
    "" /*format*/,
    -12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -101 /*untilYearTiny*/,
    10 /*untilMonth*/,
    3 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -4:00    Arg    %z    2000 Mar  3
  {
    &kZonePolicyArg /*zonePolicy*/,
    "" /*format*/,
    -16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -100 /*untilYearTiny*/,
    3 /*untilMonth*/,
    3 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -3:00    Arg    %z    2008 Oct 18
  {
    &kZonePolicyArg /*zonePolicy*/,
    "" /*format*/,
    -12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -92 /*untilYearTiny*/,
    10 /*untilMonth*/,
    18 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -3:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Argentina_Jujuy[] ACE_TIME_PROGMEM = "\x02" "\x04" "Jujuy";

const extended::Info::ZoneInfo kZoneAmerica_Argentina_Jujuy ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Argentina_Jujuy /*name*/,
  0x5f2f46c5 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  4 /*numEras*/,
  kZoneEraAmerica_Argentina_Jujuy /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Argentina/La_Rioja
// Eras: 6
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Argentina_La_Rioja[] ACE_TIME_PROGMEM = {
  //             -3:00    Arg    %z    1999 Oct  3
  {
    &kZonePolicyArg /*zonePolicy*/,
    "" /*format*/,
    -12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -101 /*untilYearTiny*/,
    10 /*untilMonth*/,
    3 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -4:00    Arg    %z    2000 Mar  3
  {
    &kZonePolicyArg /*zonePolicy*/,
    "" /*format*/,
    -16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -100 /*untilYearTiny*/,
    3 /*untilMonth*/,
    3 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -3:00    -    %z    2004 Jun  1
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -96 /*untilYearTiny*/,
    6 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -4:00    -    %z    2004 Jun 20
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -96 /*untilYearTiny*/,
    6 /*untilMonth*/,
    20 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -3:00    Arg    %z    2008 Oct 18
  {
    &kZonePolicyArg /*zonePolicy*/,
    "" /*format*/,
    -12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -92 /*untilYearTiny*/,
    10 /*untilMonth*/,
    18 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -3:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Argentina_La_Rioja[] ACE_TIME_PROGMEM = "\x02" "\x04" "La_Rioja";

const extended::Info::ZoneInfo kZoneAmerica_Argentina_La_Rioja ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Argentina_La_Rioja /*name*/,
  0xa46b7eef /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  6 /*numEras*/,
  kZoneEraAmerica_Argentina_La_Rioja /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Argentina/Mendoza
// Eras: 6
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Argentina_Mendoza[] ACE_TIME_PROGMEM = {
  //             -3:00    Arg    %z    1999 Oct  3
  {
    &kZonePolicyArg /*zonePolicy*/,
    "" /*format*/,
    -12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -101 /*untilYearTiny*/,
    10 /*untilMonth*/,
    3 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -4:00    Arg    %z    2000 Mar  3
  {
    &kZonePolicyArg /*zonePolicy*/,
    "" /*format*/,
    -16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -100 /*untilYearTiny*/,
    3 /*untilMonth*/,
    3 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -3:00    -    %z    2004 May 23
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -96 /*untilYearTiny*/,
    5 /*untilMonth*/,
    23 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -4:00    -    %z    2004 Sep 26
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -96 /*untilYearTiny*/,
    9 /*untilMonth*/,
    26 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -3:00    Arg    %z    2008 Oct 18
  {
    &kZonePolicyArg /*zonePolicy*/,
    "" /*format*/,
    -12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -92 /*untilYearTiny*/,
    10 /*untilMonth*/,
    18 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -3:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Argentina_Mendoza[] ACE_TIME_PROGMEM = "\x02" "\x04" "Mendoza";

const extended::Info::ZoneInfo kZoneAmerica_Argentina_Mendoza ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Argentina_Mendoza /*name*/,
  0xa9f72d5c /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  6 /*numEras*/,
  kZoneEraAmerica_Argentina_Mendoza /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Argentina/Rio_Gallegos
// Eras: 6
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Argentina_Rio_Gallegos[] ACE_TIME_PROGMEM = {
  //             -3:00    Arg    %z    1999 Oct  3
  {
    &kZonePolicyArg /*zonePolicy*/,
    "" /*format*/,
    -12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -101 /*untilYearTiny*/,
    10 /*untilMonth*/,
    3 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -4:00    Arg    %z    2000 Mar  3
  {
    &kZonePolicyArg /*zonePolicy*/,
    "" /*format*/,
    -16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -100 /*untilYearTiny*/,
    3 /*untilMonth*/,
    3 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -3:00    -    %z    2004 Jun  1
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -96 /*untilYearTiny*/,
    6 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -4:00    -    %z    2004 Jun 20
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -96 /*untilYearTiny*/,
    6 /*untilMonth*/,
    20 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -3:00    Arg    %z    2008 Oct 18
  {
    &kZonePolicyArg /*zonePolicy*/,
    "" /*format*/,
    -12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -92 /*untilYearTiny*/,
    10 /*untilMonth*/,
    18 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -3:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Argentina_Rio_Gallegos[] ACE_TIME_PROGMEM = "\x02" "\x04" "Rio_Gallegos";

const extended::Info::ZoneInfo kZoneAmerica_Argentina_Rio_Gallegos ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Argentina_Rio_Gallegos /*name*/,
  0xc5b0f565 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  6 /*numEras*/,
  kZoneEraAmerica_Argentina_Rio_Gallegos /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Argentina/Salta
// Eras: 4
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Argentina_Salta[] ACE_TIME_PROGMEM = {
  //             -3:00    Arg    %z    1999 Oct  3
  {
    &kZonePolicyArg /*zonePolicy*/,
    "" /*format*/,
    -12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -101 /*untilYearTiny*/,
    10 /*untilMonth*/,
    3 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -4:00    Arg    %z    2000 Mar  3
  {
    &kZonePolicyArg /*zonePolicy*/,
    "" /*format*/,
    -16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -100 /*untilYearTiny*/,
    3 /*untilMonth*/,
    3 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -3:00    Arg    %z    2008 Oct 18
  {
    &kZonePolicyArg /*zonePolicy*/,
    "" /*format*/,
    -12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -92 /*untilYearTiny*/,
    10 /*untilMonth*/,
    18 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -3:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Argentina_Salta[] ACE_TIME_PROGMEM = "\x02" "\x04" "Salta";

const extended::Info::ZoneInfo kZoneAmerica_Argentina_Salta ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Argentina_Salta /*name*/,
  0x5fc73403 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  4 /*numEras*/,
  kZoneEraAmerica_Argentina_Salta /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Argentina/San_Juan
// Eras: 6
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Argentina_San_Juan[] ACE_TIME_PROGMEM = {
  //             -3:00    Arg    %z    1999 Oct  3
  {
    &kZonePolicyArg /*zonePolicy*/,
    "" /*format*/,
    -12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -101 /*untilYearTiny*/,
    10 /*untilMonth*/,
    3 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -4:00    Arg    %z    2000 Mar  3
  {
    &kZonePolicyArg /*zonePolicy*/,
    "" /*format*/,
    -16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -100 /*untilYearTiny*/,
    3 /*untilMonth*/,
    3 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -3:00    -    %z    2004 May 31
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -96 /*untilYearTiny*/,
    5 /*untilMonth*/,
    31 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -4:00    -    %z    2004 Jul 25
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -96 /*untilYearTiny*/,
    7 /*untilMonth*/,
    25 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -3:00    Arg    %z    2008 Oct 18
  {
    &kZonePolicyArg /*zonePolicy*/,
    "" /*format*/,
    -12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -92 /*untilYearTiny*/,
    10 /*untilMonth*/,
    18 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -3:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Argentina_San_Juan[] ACE_TIME_PROGMEM = "\x02" "\x04" "San_Juan";

const extended::Info::ZoneInfo kZoneAmerica_Argentina_San_Juan ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Argentina_San_Juan /*name*/,
  0x3e1009bd /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  6 /*numEras*/,
  kZoneEraAmerica_Argentina_San_Juan /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Argentina/San_Luis
// Eras: 7
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Argentina_San_Luis[] ACE_TIME_PROGMEM = {
  //             -3:00    -    %z    1999 Oct  3
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -101 /*untilYearTiny*/,
    10 /*untilMonth*/,
    3 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -4:00    1:00    %z    2000 Mar  3
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -16 /*offsetCode*/,
    8 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=60)/15 + 4))*/,
    -100 /*untilYearTiny*/,
    3 /*untilMonth*/,
    3 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -3:00    -    %z    2004 May 31
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -96 /*untilYearTiny*/,
    5 /*untilMonth*/,
    31 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -4:00    -    %z    2004 Jul 25
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -96 /*untilYearTiny*/,
    7 /*untilMonth*/,
    25 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -3:00    Arg    %z    2008 Jan 21
  {
    &kZonePolicyArg /*zonePolicy*/,
    "" /*format*/,
    -12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -92 /*untilYearTiny*/,
    1 /*untilMonth*/,
    21 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -4:00    SanLuis    %z    2009 Oct 11
  {
    &kZonePolicySanLuis /*zonePolicy*/,
    "" /*format*/,
    -16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -91 /*untilYearTiny*/,
    10 /*untilMonth*/,
    11 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -3:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Argentina_San_Luis[] ACE_TIME_PROGMEM = "\x02" "\x04" "San_Luis";

const extended::Info::ZoneInfo kZoneAmerica_Argentina_San_Luis ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Argentina_San_Luis /*name*/,
  0x3e11238c /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  7 /*numEras*/,
  kZoneEraAmerica_Argentina_San_Luis /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Argentina/Tucuman
// Eras: 5
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Argentina_Tucuman[] ACE_TIME_PROGMEM = {
  //             -3:00    Arg    %z    1999 Oct  3
  {
    &kZonePolicyArg /*zonePolicy*/,
    "" /*format*/,
    -12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -101 /*untilYearTiny*/,
    10 /*untilMonth*/,
    3 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -4:00    Arg    %z    2000 Mar  3
  {
    &kZonePolicyArg /*zonePolicy*/,
    "" /*format*/,
    -16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -100 /*untilYearTiny*/,
    3 /*untilMonth*/,
    3 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -3:00    -    %z    2004 Jun  1
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -96 /*untilYearTiny*/,
    6 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -4:00    -    %z    2004 Jun 13
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -96 /*untilYearTiny*/,
    6 /*untilMonth*/,
    13 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -3:00    Arg    %z
  {
    &kZonePolicyArg /*zonePolicy*/,
    "" /*format*/,
    -12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Argentina_Tucuman[] ACE_TIME_PROGMEM = "\x02" "\x04" "Tucuman";

const extended::Info::ZoneInfo kZoneAmerica_Argentina_Tucuman ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Argentina_Tucuman /*name*/,
  0xe96399eb /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  5 /*numEras*/,
  kZoneEraAmerica_Argentina_Tucuman /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Argentina/Ushuaia
// Eras: 6
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Argentina_Ushuaia[] ACE_TIME_PROGMEM = {
  //             -3:00    Arg    %z    1999 Oct  3
  {
    &kZonePolicyArg /*zonePolicy*/,
    "" /*format*/,
    -12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -101 /*untilYearTiny*/,
    10 /*untilMonth*/,
    3 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -4:00    Arg    %z    2000 Mar  3
  {
    &kZonePolicyArg /*zonePolicy*/,
    "" /*format*/,
    -16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -100 /*untilYearTiny*/,
    3 /*untilMonth*/,
    3 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -3:00    -    %z    2004 May 30
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -96 /*untilYearTiny*/,
    5 /*untilMonth*/,
    30 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -4:00    -    %z    2004 Jun 20
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -96 /*untilYearTiny*/,
    6 /*untilMonth*/,
    20 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -3:00    Arg    %z    2008 Oct 18
  {
    &kZonePolicyArg /*zonePolicy*/,
    "" /*format*/,
    -12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -92 /*untilYearTiny*/,
    10 /*untilMonth*/,
    18 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -3:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Argentina_Ushuaia[] ACE_TIME_PROGMEM = "\x02" "\x04" "Ushuaia";

const extended::Info::ZoneInfo kZoneAmerica_Argentina_Ushuaia ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Argentina_Ushuaia /*name*/,
  0x320dcdde /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  6 /*numEras*/,
  kZoneEraAmerica_Argentina_Ushuaia /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Asuncion
// Eras: 2
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Asuncion[] ACE_TIME_PROGMEM = {
  //             -4:00    Para    %z    2024 Oct 15
  {
    &kZonePolicyPara /*zonePolicy*/,
    "" /*format*/,
    -16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -76 /*untilYearTiny*/,
    10 /*untilMonth*/,
    15 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -3:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Asuncion[] ACE_TIME_PROGMEM = "\x02" "Asuncion";

const extended::Info::ZoneInfo kZoneAmerica_Asuncion ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Asuncion /*name*/,
  0x50ec79a6 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  2 /*numEras*/,
  kZoneEraAmerica_Asuncion /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Bahia
// Eras: 4
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Bahia[] ACE_TIME_PROGMEM = {
  //             -3:00    Brazil    %z    2003 Sep 24
  {
    &kZonePolicyBrazil /*zonePolicy*/,
    "" /*format*/,
    -12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -97 /*untilYearTiny*/,
    9 /*untilMonth*/,
    24 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -3:00    -    %z    2011 Oct 16
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -89 /*untilYearTiny*/,
    10 /*untilMonth*/,
    16 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -3:00    Brazil    %z    2012 Oct 21
  {
    &kZonePolicyBrazil /*zonePolicy*/,
    "" /*format*/,
    -12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -88 /*untilYearTiny*/,
    10 /*untilMonth*/,
    21 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -3:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Bahia[] ACE_TIME_PROGMEM = "\x02" "Bahia";

const extended::Info::ZoneInfo kZoneAmerica_Bahia ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Bahia /*name*/,
  0x97d815fb /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  4 /*numEras*/,
  kZoneEraAmerica_Bahia /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Bahia_Banderas
// Eras: 2
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Bahia_Banderas[] ACE_TIME_PROGMEM = {
  //             -7:00    Mexico    M%sT    2010 Apr  4  2:00
  {
    &kZonePolicyMexico /*zonePolicy*/,
    "M%T" /*format*/,
    -28 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -90 /*untilYearTiny*/,
    4 /*untilMonth*/,
    4 /*untilDay*/,
    8 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -6:00    Mexico    C%sT
  {
    &kZonePolicyMexico /*zonePolicy*/,
    "C%T" /*format*/,
    -24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Bahia_Banderas[] ACE_TIME_PROGMEM = "\x02" "Bahia_Banderas";

const extended::Info::ZoneInfo kZoneAmerica_Bahia_Banderas ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Bahia_Banderas /*name*/,
  0x14f6329a /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  2 /*numEras*/,
  kZoneEraAmerica_Bahia_Banderas /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Barbados
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Barbados[] ACE_TIME_PROGMEM = {
  //             -4:00    Barb    A%sT
  {
    &kZonePolicyBarb /*zonePolicy*/,
    "A%T" /*format*/,
    -16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Barbados[] ACE_TIME_PROGMEM = "\x02" "Barbados";

const extended::Info::ZoneInfo kZoneAmerica_Barbados ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Barbados /*name*/,
  0xcbbc3b04 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Barbados /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Belem
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Belem[] ACE_TIME_PROGMEM = {
  //             -3:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Belem[] ACE_TIME_PROGMEM = "\x02" "Belem";

const extended::Info::ZoneInfo kZoneAmerica_Belem ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Belem /*name*/,
  0x97da580b /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Belem /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Belize
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Belize[] ACE_TIME_PROGMEM = {
  //             -6:00    Belize    %s
  {
    &kZonePolicyBelize /*zonePolicy*/,
    "%" /*format*/,
    -24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Belize[] ACE_TIME_PROGMEM = "\x02" "Belize";

const extended::Info::ZoneInfo kZoneAmerica_Belize ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Belize /*name*/,
  0x93256c81 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Belize /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Boa_Vista
// Eras: 3
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Boa_Vista[] ACE_TIME_PROGMEM = {
  //             -4:00    -    %z    1999 Sep 30
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -101 /*untilYearTiny*/,
    9 /*untilMonth*/,
    30 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -4:00    Brazil    %z    2000 Oct 15
  {
    &kZonePolicyBrazil /*zonePolicy*/,
    "" /*format*/,
    -16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -100 /*untilYearTiny*/,
    10 /*untilMonth*/,
    15 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -4:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Boa_Vista[] ACE_TIME_PROGMEM = "\x02" "Boa_Vista";

const extended::Info::ZoneInfo kZoneAmerica_Boa_Vista ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Boa_Vista /*name*/,
  0x0a7b7efe /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  3 /*numEras*/,
  kZoneEraAmerica_Boa_Vista /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Bogota
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Bogota[] ACE_TIME_PROGMEM = {
  //             -5:00    CO    %z
  {
    &kZonePolicyCO /*zonePolicy*/,
    "" /*format*/,
    -20 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Bogota[] ACE_TIME_PROGMEM = "\x02" "Bogota";

const extended::Info::ZoneInfo kZoneAmerica_Bogota ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Bogota /*name*/,
  0x93d7bc62 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Bogota /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Boise
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Boise[] ACE_TIME_PROGMEM = {
  //             -7:00    US    M%sT
  {
    &kZonePolicyUS /*zonePolicy*/,
    "M%T" /*format*/,
    -28 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Boise[] ACE_TIME_PROGMEM = "\x02" "Boise";

const extended::Info::ZoneInfo kZoneAmerica_Boise ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Boise /*name*/,
  0x97dfc8d8 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Boise /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Cambridge_Bay
// Eras: 5
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Cambridge_Bay[] ACE_TIME_PROGMEM = {
  //             -7:00    NT_YK    M%sT    1999 Oct 31  2:00
  {
    &kZonePolicyNT_YK /*zonePolicy*/,
    "M%T" /*format*/,
    -28 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -101 /*untilYearTiny*/,
    10 /*untilMonth*/,
    31 /*untilDay*/,
    8 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -6:00    Canada    C%sT    2000 Oct 29  2:00
  {
    &kZonePolicyCanada /*zonePolicy*/,
    "C%T" /*format*/,
    -24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -100 /*untilYearTiny*/,
    10 /*untilMonth*/,
    29 /*untilDay*/,
    8 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -5:00    -    EST    2000 Nov  5  0:00
  {
    nullptr /*zonePolicy*/,
    "EST" /*format*/,
    -20 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -100 /*untilYearTiny*/,
    11 /*untilMonth*/,
    5 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -6:00    -    CST    2001 Apr  1  3:00
  {
    nullptr /*zonePolicy*/,
    "CST" /*format*/,
    -24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -99 /*untilYearTiny*/,
    4 /*untilMonth*/,
    1 /*untilDay*/,
    12 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -7:00    Canada    M%sT
  {
    &kZonePolicyCanada /*zonePolicy*/,
    "M%T" /*format*/,
    -28 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Cambridge_Bay[] ACE_TIME_PROGMEM = "\x02" "Cambridge_Bay";

const extended::Info::ZoneInfo kZoneAmerica_Cambridge_Bay ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Cambridge_Bay /*name*/,
  0xd5a44aff /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  5 /*numEras*/,
  kZoneEraAmerica_Cambridge_Bay /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Campo_Grande
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Campo_Grande[] ACE_TIME_PROGMEM = {
  //             -4:00    Brazil    %z
  {
    &kZonePolicyBrazil /*zonePolicy*/,
    "" /*format*/,
    -16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Campo_Grande[] ACE_TIME_PROGMEM = "\x02" "Campo_Grande";

const extended::Info::ZoneInfo kZoneAmerica_Campo_Grande ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Campo_Grande /*name*/,
  0xfec3e7a6 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Campo_Grande /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Cancun
// Eras: 2
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Cancun[] ACE_TIME_PROGMEM = {
  //             -6:00    Mexico    C%sT    2015 Feb  1  2:00
  {
    &kZonePolicyMexico /*zonePolicy*/,
    "C%T" /*format*/,
    -24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -85 /*untilYearTiny*/,
    2 /*untilMonth*/,
    1 /*untilDay*/,
    8 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -5:00    -    EST
  {
    nullptr /*zonePolicy*/,
    "EST" /*format*/,
    -20 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Cancun[] ACE_TIME_PROGMEM = "\x02" "Cancun";

const extended::Info::ZoneInfo kZoneAmerica_Cancun ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Cancun /*name*/,
  0x953331be /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  2 /*numEras*/,
  kZoneEraAmerica_Cancun /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Caracas
// Eras: 3
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Caracas[] ACE_TIME_PROGMEM = {
  //             -4:00    -    %z    2007 Dec  9  3:00
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -93 /*untilYearTiny*/,
    12 /*untilMonth*/,
    9 /*untilDay*/,
    12 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -4:30    -    %z    2016 May  1  2:30
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -18 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -84 /*untilYearTiny*/,
    5 /*untilMonth*/,
    1 /*untilDay*/,
    10 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -4:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Caracas[] ACE_TIME_PROGMEM = "\x02" "Caracas";

const extended::Info::ZoneInfo kZoneAmerica_Caracas ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Caracas /*name*/,
  0x3be064f4 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  3 /*numEras*/,
  kZoneEraAmerica_Caracas /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Cayenne
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Cayenne[] ACE_TIME_PROGMEM = {
  //             -3:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Cayenne[] ACE_TIME_PROGMEM = "\x02" "Cayenne";

const extended::Info::ZoneInfo kZoneAmerica_Cayenne ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Cayenne /*name*/,
  0x3c617269 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Cayenne /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Chicago
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Chicago[] ACE_TIME_PROGMEM = {
  //             -6:00    US    C%sT
  {
    &kZonePolicyUS /*zonePolicy*/,
    "C%T" /*format*/,
    -24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Chicago[] ACE_TIME_PROGMEM = "\x02" "Chicago";

const extended::Info::ZoneInfo kZoneAmerica_Chicago ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Chicago /*name*/,
  0x4b92b5d4 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Chicago /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Chihuahua
// Eras: 2
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Chihuahua[] ACE_TIME_PROGMEM = {
  //             -7:00    Mexico    M%sT    2022 Oct 30  2:00
  {
    &kZonePolicyMexico /*zonePolicy*/,
    "M%T" /*format*/,
    -28 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -78 /*untilYearTiny*/,
    10 /*untilMonth*/,
    30 /*untilDay*/,
    8 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -6:00    -    CST
  {
    nullptr /*zonePolicy*/,
    "CST" /*format*/,
    -24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Chihuahua[] ACE_TIME_PROGMEM = "\x02" "Chihuahua";

const extended::Info::ZoneInfo kZoneAmerica_Chihuahua ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Chihuahua /*name*/,
  0x8827d776 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  2 /*numEras*/,
  kZoneEraAmerica_Chihuahua /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Ciudad_Juarez
// Eras: 4
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Ciudad_Juarez[] ACE_TIME_PROGMEM = {
  //             -7:00    Mexico    M%sT    2010
  {
    &kZonePolicyMexico /*zonePolicy*/,
    "M%T" /*format*/,
    -28 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -90 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -7:00    US    M%sT    2022 Oct 30  2:00
  {
    &kZonePolicyUS /*zonePolicy*/,
    "M%T" /*format*/,
    -28 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -78 /*untilYearTiny*/,
    10 /*untilMonth*/,
    30 /*untilDay*/,
    8 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -6:00    -    CST    2022 Nov 30  0:00
  {
    nullptr /*zonePolicy*/,
    "CST" /*format*/,
    -24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -78 /*untilYearTiny*/,
    11 /*untilMonth*/,
    30 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -7:00    US    M%sT
  {
    &kZonePolicyUS /*zonePolicy*/,
    "M%T" /*format*/,
    -28 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Ciudad_Juarez[] ACE_TIME_PROGMEM = "\x02" "Ciudad_Juarez";

const extended::Info::ZoneInfo kZoneAmerica_Ciudad_Juarez ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Ciudad_Juarez /*name*/,
  0x7347fc60 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  4 /*numEras*/,
  kZoneEraAmerica_Ciudad_Juarez /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Costa_Rica
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Costa_Rica[] ACE_TIME_PROGMEM = {
  //             -6:00    CR    C%sT
  {
    &kZonePolicyCR /*zonePolicy*/,
    "C%T" /*format*/,
    -24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Costa_Rica[] ACE_TIME_PROGMEM = "\x02" "Costa_Rica";

const extended::Info::ZoneInfo kZoneAmerica_Costa_Rica ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Costa_Rica /*name*/,
  0x63ff66be /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Costa_Rica /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Coyhaique
// Eras: 2
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Coyhaique[] ACE_TIME_PROGMEM = {
  //             -4:00    Chile    %z    2025 Mar 20
  {
    &kZonePolicyChile /*zonePolicy*/,
    "" /*format*/,
    -16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -75 /*untilYearTiny*/,
    3 /*untilMonth*/,
    20 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -3:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Coyhaique[] ACE_TIME_PROGMEM = "\x02" "Coyhaique";

const extended::Info::ZoneInfo kZoneAmerica_Coyhaique ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Coyhaique /*name*/,
  0xcc3314ee /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  2 /*numEras*/,
  kZoneEraAmerica_Coyhaique /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Cuiaba
// Eras: 3
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Cuiaba[] ACE_TIME_PROGMEM = {
  //             -4:00    Brazil    %z    2003 Sep 24
  {
    &kZonePolicyBrazil /*zonePolicy*/,
    "" /*format*/,
    -16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -97 /*untilYearTiny*/,
    9 /*untilMonth*/,
    24 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -4:00    -    %z    2004 Oct  1
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -96 /*untilYearTiny*/,
    10 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -4:00    Brazil    %z
  {
    &kZonePolicyBrazil /*zonePolicy*/,
    "" /*format*/,
    -16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Cuiaba[] ACE_TIME_PROGMEM = "\x02" "Cuiaba";

const extended::Info::ZoneInfo kZoneAmerica_Cuiaba ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Cuiaba /*name*/,
  0x969a52eb /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  3 /*numEras*/,
  kZoneEraAmerica_Cuiaba /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Danmarkshavn
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Danmarkshavn[] ACE_TIME_PROGMEM = {
  //             0:00    -    GMT
  {
    nullptr /*zonePolicy*/,
    "GMT" /*format*/,
    0 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Danmarkshavn[] ACE_TIME_PROGMEM = "\x02" "Danmarkshavn";

const extended::Info::ZoneInfo kZoneAmerica_Danmarkshavn ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Danmarkshavn /*name*/,
  0xf554d204 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Danmarkshavn /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Dawson
// Eras: 2
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Dawson[] ACE_TIME_PROGMEM = {
  //             -8:00    Canada    P%sT    2020 Nov  1
  {
    &kZonePolicyCanada /*zonePolicy*/,
    "P%T" /*format*/,
    -32 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -80 /*untilYearTiny*/,
    11 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -7:00    -    MST
  {
    nullptr /*zonePolicy*/,
    "MST" /*format*/,
    -28 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Dawson[] ACE_TIME_PROGMEM = "\x02" "Dawson";

const extended::Info::ZoneInfo kZoneAmerica_Dawson ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Dawson /*name*/,
  0x978d8d12 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  2 /*numEras*/,
  kZoneEraAmerica_Dawson /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Dawson_Creek
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Dawson_Creek[] ACE_TIME_PROGMEM = {
  //             -7:00    -    MST
  {
    nullptr /*zonePolicy*/,
    "MST" /*format*/,
    -28 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Dawson_Creek[] ACE_TIME_PROGMEM = "\x02" "Dawson_Creek";

const extended::Info::ZoneInfo kZoneAmerica_Dawson_Creek ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Dawson_Creek /*name*/,
  0x6cf24e5b /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Dawson_Creek /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Denver
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Denver[] ACE_TIME_PROGMEM = {
  //             -7:00    US    M%sT
  {
    &kZonePolicyUS /*zonePolicy*/,
    "M%T" /*format*/,
    -28 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Denver[] ACE_TIME_PROGMEM = "\x02" "Denver";

const extended::Info::ZoneInfo kZoneAmerica_Denver ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Denver /*name*/,
  0x97d10b2a /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Denver /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Detroit
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Detroit[] ACE_TIME_PROGMEM = {
  //             -5:00    US    E%sT
  {
    &kZonePolicyUS /*zonePolicy*/,
    "E%T" /*format*/,
    -20 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Detroit[] ACE_TIME_PROGMEM = "\x02" "Detroit";

const extended::Info::ZoneInfo kZoneAmerica_Detroit ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Detroit /*name*/,
  0x925cfbc1 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Detroit /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Edmonton
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Edmonton[] ACE_TIME_PROGMEM = {
  //             -7:00    Canada    M%sT
  {
    &kZonePolicyCanada /*zonePolicy*/,
    "M%T" /*format*/,
    -28 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Edmonton[] ACE_TIME_PROGMEM = "\x02" "Edmonton";

const extended::Info::ZoneInfo kZoneAmerica_Edmonton ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Edmonton /*name*/,
  0x6cb9484a /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Edmonton /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Eirunepe
// Eras: 3
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Eirunepe[] ACE_TIME_PROGMEM = {
  //             -5:00    -    %z    2008 Jun 24  0:00
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -20 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -92 /*untilYearTiny*/,
    6 /*untilMonth*/,
    24 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -4:00    -    %z    2013 Nov 10
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -87 /*untilYearTiny*/,
    11 /*untilMonth*/,
    10 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -5:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -20 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Eirunepe[] ACE_TIME_PROGMEM = "\x02" "Eirunepe";

const extended::Info::ZoneInfo kZoneAmerica_Eirunepe ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Eirunepe /*name*/,
  0xf9b29683 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  3 /*numEras*/,
  kZoneEraAmerica_Eirunepe /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/El_Salvador
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_El_Salvador[] ACE_TIME_PROGMEM = {
  //             -6:00    Salv    C%sT
  {
    &kZonePolicySalv /*zonePolicy*/,
    "C%T" /*format*/,
    -24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_El_Salvador[] ACE_TIME_PROGMEM = "\x02" "El_Salvador";

const extended::Info::ZoneInfo kZoneAmerica_El_Salvador ACE_TIME_PROGMEM = {
  kZoneNameAmerica_El_Salvador /*name*/,
  0x752ad652 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_El_Salvador /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Fort_Nelson
// Eras: 2
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Fort_Nelson[] ACE_TIME_PROGMEM = {
  //             -8:00    Canada    P%sT    2015 Mar  8  2:00
  {
    &kZonePolicyCanada /*zonePolicy*/,
    "P%T" /*format*/,
    -32 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -85 /*untilYearTiny*/,
    3 /*untilMonth*/,
    8 /*untilDay*/,
    8 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -7:00    -    MST
  {
    nullptr /*zonePolicy*/,
    "MST" /*format*/,
    -28 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Fort_Nelson[] ACE_TIME_PROGMEM = "\x02" "Fort_Nelson";

const extended::Info::ZoneInfo kZoneAmerica_Fort_Nelson ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Fort_Nelson /*name*/,
  0x3f437e0f /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  2 /*numEras*/,
  kZoneEraAmerica_Fort_Nelson /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Fortaleza
// Eras: 5
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Fortaleza[] ACE_TIME_PROGMEM = {
  //             -3:00    -    %z    1999 Sep 30
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -101 /*untilYearTiny*/,
    9 /*untilMonth*/,
    30 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -3:00    Brazil    %z    2000 Oct 22
  {
    &kZonePolicyBrazil /*zonePolicy*/,
    "" /*format*/,
    -12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -100 /*untilYearTiny*/,
    10 /*untilMonth*/,
    22 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -3:00    -    %z    2001 Sep 13
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -99 /*untilYearTiny*/,
    9 /*untilMonth*/,
    13 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -3:00    Brazil    %z    2002 Oct  1
  {
    &kZonePolicyBrazil /*zonePolicy*/,
    "" /*format*/,
    -12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -98 /*untilYearTiny*/,
    10 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -3:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Fortaleza[] ACE_TIME_PROGMEM = "\x02" "Fortaleza";

const extended::Info::ZoneInfo kZoneAmerica_Fortaleza ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Fortaleza /*name*/,
  0x2ad018ee /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  5 /*numEras*/,
  kZoneEraAmerica_Fortaleza /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Glace_Bay
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Glace_Bay[] ACE_TIME_PROGMEM = {
  //             -4:00    Canada    A%sT
  {
    &kZonePolicyCanada /*zonePolicy*/,
    "A%T" /*format*/,
    -16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Glace_Bay[] ACE_TIME_PROGMEM = "\x02" "Glace_Bay";

const extended::Info::ZoneInfo kZoneAmerica_Glace_Bay ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Glace_Bay /*name*/,
  0x9681f8dd /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Glace_Bay /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Goose_Bay
// Eras: 2
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Goose_Bay[] ACE_TIME_PROGMEM = {
  //             -4:00    StJohns    A%sT    2011 Nov
  {
    &kZonePolicyStJohns /*zonePolicy*/,
    "A%T" /*format*/,
    -16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -89 /*untilYearTiny*/,
    11 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -4:00    Canada    A%sT
  {
    &kZonePolicyCanada /*zonePolicy*/,
    "A%T" /*format*/,
    -16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Goose_Bay[] ACE_TIME_PROGMEM = "\x02" "Goose_Bay";

const extended::Info::ZoneInfo kZoneAmerica_Goose_Bay ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Goose_Bay /*name*/,
  0xb649541e /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  2 /*numEras*/,
  kZoneEraAmerica_Goose_Bay /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Grand_Turk
// Eras: 3
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Grand_Turk[] ACE_TIME_PROGMEM = {
  //             -5:00    US    E%sT    2015 Mar  8  2:00
  {
    &kZonePolicyUS /*zonePolicy*/,
    "E%T" /*format*/,
    -20 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -85 /*untilYearTiny*/,
    3 /*untilMonth*/,
    8 /*untilDay*/,
    8 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -4:00    -    AST    2018 Mar 11  3:00
  {
    nullptr /*zonePolicy*/,
    "AST" /*format*/,
    -16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -82 /*untilYearTiny*/,
    3 /*untilMonth*/,
    11 /*untilDay*/,
    12 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -5:00    US    E%sT
  {
    &kZonePolicyUS /*zonePolicy*/,
    "E%T" /*format*/,
    -20 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Grand_Turk[] ACE_TIME_PROGMEM = "\x02" "Grand_Turk";

const extended::Info::ZoneInfo kZoneAmerica_Grand_Turk ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Grand_Turk /*name*/,
  0x6e216197 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  3 /*numEras*/,
  kZoneEraAmerica_Grand_Turk /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Guatemala
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Guatemala[] ACE_TIME_PROGMEM = {
  //             -6:00    Guat    C%sT
  {
    &kZonePolicyGuat /*zonePolicy*/,
    "C%T" /*format*/,
    -24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Guatemala[] ACE_TIME_PROGMEM = "\x02" "Guatemala";

const extended::Info::ZoneInfo kZoneAmerica_Guatemala ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Guatemala /*name*/,
  0x0c8259f7 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Guatemala /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Guayaquil
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Guayaquil[] ACE_TIME_PROGMEM = {
  //             -5:00    Ecuador    %z
  {
    &kZonePolicyEcuador /*zonePolicy*/,
    "" /*format*/,
    -20 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Guayaquil[] ACE_TIME_PROGMEM = "\x02" "Guayaquil";

const extended::Info::ZoneInfo kZoneAmerica_Guayaquil ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Guayaquil /*name*/,
  0x17e64958 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Guayaquil /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Guyana
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Guyana[] ACE_TIME_PROGMEM = {
  //             -4:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Guyana[] ACE_TIME_PROGMEM = "\x02" "Guyana";

const extended::Info::ZoneInfo kZoneAmerica_Guyana ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Guyana /*name*/,
  0x9ff7bd0b /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Guyana /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Halifax
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Halifax[] ACE_TIME_PROGMEM = {
  //             -4:00    Canada    A%sT
  {
    &kZonePolicyCanada /*zonePolicy*/,
    "A%T" /*format*/,
    -16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Halifax[] ACE_TIME_PROGMEM = "\x02" "Halifax";

const extended::Info::ZoneInfo kZoneAmerica_Halifax ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Halifax /*name*/,
  0xbc5b7183 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Halifax /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Havana
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Havana[] ACE_TIME_PROGMEM = {
  //             -5:00    Cuba    C%sT
  {
    &kZonePolicyCuba /*zonePolicy*/,
    "C%T" /*format*/,
    -20 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Havana[] ACE_TIME_PROGMEM = "\x02" "Havana";

const extended::Info::ZoneInfo kZoneAmerica_Havana ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Havana /*name*/,
  0xa0e15675 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Havana /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Hermosillo
// Eras: 2
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Hermosillo[] ACE_TIME_PROGMEM = {
  //             -7:00    Mexico    M%sT    1999
  {
    &kZonePolicyMexico /*zonePolicy*/,
    "M%T" /*format*/,
    -28 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -101 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -7:00    -    MST
  {
    nullptr /*zonePolicy*/,
    "MST" /*format*/,
    -28 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Hermosillo[] ACE_TIME_PROGMEM = "\x02" "Hermosillo";

const extended::Info::ZoneInfo kZoneAmerica_Hermosillo ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Hermosillo /*name*/,
  0x065d21c4 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  2 /*numEras*/,
  kZoneEraAmerica_Hermosillo /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Indiana/Indianapolis
// Eras: 2
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Indiana_Indianapolis[] ACE_TIME_PROGMEM = {
  //             -5:00    -    EST    2006
  {
    nullptr /*zonePolicy*/,
    "EST" /*format*/,
    -20 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -94 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -5:00    US    E%sT
  {
    &kZonePolicyUS /*zonePolicy*/,
    "E%T" /*format*/,
    -20 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Indiana_Indianapolis[] ACE_TIME_PROGMEM = "\x02" "\x0d" "Indianapolis";

const extended::Info::ZoneInfo kZoneAmerica_Indiana_Indianapolis ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Indiana_Indianapolis /*name*/,
  0x28a669a4 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  2 /*numEras*/,
  kZoneEraAmerica_Indiana_Indianapolis /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Indiana/Knox
// Eras: 2
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Indiana_Knox[] ACE_TIME_PROGMEM = {
  //             -5:00    -    EST    2006 Apr  2  2:00
  {
    nullptr /*zonePolicy*/,
    "EST" /*format*/,
    -20 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -94 /*untilYearTiny*/,
    4 /*untilMonth*/,
    2 /*untilDay*/,
    8 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -6:00    US    C%sT
  {
    &kZonePolicyUS /*zonePolicy*/,
    "C%T" /*format*/,
    -24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Indiana_Knox[] ACE_TIME_PROGMEM = "\x02" "\x0d" "Knox";

const extended::Info::ZoneInfo kZoneAmerica_Indiana_Knox ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Indiana_Knox /*name*/,
  0x6554adc9 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  2 /*numEras*/,
  kZoneEraAmerica_Indiana_Knox /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Indiana/Marengo
// Eras: 2
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Indiana_Marengo[] ACE_TIME_PROGMEM = {
  //             -5:00    -    EST    2006
  {
    nullptr /*zonePolicy*/,
    "EST" /*format*/,
    -20 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -94 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -5:00    US    E%sT
  {
    &kZonePolicyUS /*zonePolicy*/,
    "E%T" /*format*/,
    -20 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Indiana_Marengo[] ACE_TIME_PROGMEM = "\x02" "\x0d" "Marengo";

const extended::Info::ZoneInfo kZoneAmerica_Indiana_Marengo ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Indiana_Marengo /*name*/,
  0x2feeee72 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  2 /*numEras*/,
  kZoneEraAmerica_Indiana_Marengo /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Indiana/Petersburg
// Eras: 3
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Indiana_Petersburg[] ACE_TIME_PROGMEM = {
  //             -5:00    -    EST    2006 Apr  2  2:00
  {
    nullptr /*zonePolicy*/,
    "EST" /*format*/,
    -20 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -94 /*untilYearTiny*/,
    4 /*untilMonth*/,
    2 /*untilDay*/,
    8 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -6:00    US    C%sT    2007 Nov  4  2:00
  {
    &kZonePolicyUS /*zonePolicy*/,
    "C%T" /*format*/,
    -24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -93 /*untilYearTiny*/,
    11 /*untilMonth*/,
    4 /*untilDay*/,
    8 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -5:00    US    E%sT
  {
    &kZonePolicyUS /*zonePolicy*/,
    "E%T" /*format*/,
    -20 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Indiana_Petersburg[] ACE_TIME_PROGMEM = "\x02" "\x0d" "Petersburg";

const extended::Info::ZoneInfo kZoneAmerica_Indiana_Petersburg ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Indiana_Petersburg /*name*/,
  0x94ac7acc /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  3 /*numEras*/,
  kZoneEraAmerica_Indiana_Petersburg /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Indiana/Tell_City
// Eras: 2
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Indiana_Tell_City[] ACE_TIME_PROGMEM = {
  //             -5:00    -    EST    2006 Apr  2  2:00
  {
    nullptr /*zonePolicy*/,
    "EST" /*format*/,
    -20 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -94 /*untilYearTiny*/,
    4 /*untilMonth*/,
    2 /*untilDay*/,
    8 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -6:00    US    C%sT
  {
    &kZonePolicyUS /*zonePolicy*/,
    "C%T" /*format*/,
    -24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Indiana_Tell_City[] ACE_TIME_PROGMEM = "\x02" "\x0d" "Tell_City";

const extended::Info::ZoneInfo kZoneAmerica_Indiana_Tell_City ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Indiana_Tell_City /*name*/,
  0x09263612 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  2 /*numEras*/,
  kZoneEraAmerica_Indiana_Tell_City /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Indiana/Vevay
// Eras: 2
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Indiana_Vevay[] ACE_TIME_PROGMEM = {
  //             -5:00    -    EST    2006
  {
    nullptr /*zonePolicy*/,
    "EST" /*format*/,
    -20 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -94 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -5:00    US    E%sT
  {
    &kZonePolicyUS /*zonePolicy*/,
    "E%T" /*format*/,
    -20 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Indiana_Vevay[] ACE_TIME_PROGMEM = "\x02" "\x0d" "Vevay";

const extended::Info::ZoneInfo kZoneAmerica_Indiana_Vevay ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Indiana_Vevay /*name*/,
  0x10aca054 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  2 /*numEras*/,
  kZoneEraAmerica_Indiana_Vevay /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Indiana/Vincennes
// Eras: 3
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Indiana_Vincennes[] ACE_TIME_PROGMEM = {
  //             -5:00    -    EST    2006 Apr  2  2:00
  {
    nullptr /*zonePolicy*/,
    "EST" /*format*/,
    -20 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -94 /*untilYearTiny*/,
    4 /*untilMonth*/,
    2 /*untilDay*/,
    8 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -6:00    US    C%sT    2007 Nov  4  2:00
  {
    &kZonePolicyUS /*zonePolicy*/,
    "C%T" /*format*/,
    -24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -93 /*untilYearTiny*/,
    11 /*untilMonth*/,
    4 /*untilDay*/,
    8 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -5:00    US    E%sT
  {
    &kZonePolicyUS /*zonePolicy*/,
    "E%T" /*format*/,
    -20 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Indiana_Vincennes[] ACE_TIME_PROGMEM = "\x02" "\x0d" "Vincennes";

const extended::Info::ZoneInfo kZoneAmerica_Indiana_Vincennes ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Indiana_Vincennes /*name*/,
  0x28a0b212 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  3 /*numEras*/,
  kZoneEraAmerica_Indiana_Vincennes /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Indiana/Winamac
// Eras: 3
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Indiana_Winamac[] ACE_TIME_PROGMEM = {
  //             -5:00    -    EST    2006 Apr  2  2:00
  {
    nullptr /*zonePolicy*/,
    "EST" /*format*/,
    -20 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -94 /*untilYearTiny*/,
    4 /*untilMonth*/,
    2 /*untilDay*/,
    8 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -6:00    US    C%sT    2007 Mar 11  2:00
  {
    &kZonePolicyUS /*zonePolicy*/,
    "C%T" /*format*/,
    -24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -93 /*untilYearTiny*/,
    3 /*untilMonth*/,
    11 /*untilDay*/,
    8 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -5:00    US    E%sT
  {
    &kZonePolicyUS /*zonePolicy*/,
    "E%T" /*format*/,
    -20 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Indiana_Winamac[] ACE_TIME_PROGMEM = "\x02" "\x0d" "Winamac";

const extended::Info::ZoneInfo kZoneAmerica_Indiana_Winamac ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Indiana_Winamac /*name*/,
  0x4413fa69 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  3 /*numEras*/,
  kZoneEraAmerica_Indiana_Winamac /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Inuvik
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Inuvik[] ACE_TIME_PROGMEM = {
  //             -7:00    Canada    M%sT
  {
    &kZonePolicyCanada /*zonePolicy*/,
    "M%T" /*format*/,
    -28 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Inuvik[] ACE_TIME_PROGMEM = "\x02" "Inuvik";

const extended::Info::ZoneInfo kZoneAmerica_Inuvik ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Inuvik /*name*/,
  0xa42189fc /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Inuvik /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Iqaluit
// Eras: 3
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Iqaluit[] ACE_TIME_PROGMEM = {
  //             -5:00    NT_YK    E%sT    1999 Oct 31  2:00
  {
    &kZonePolicyNT_YK /*zonePolicy*/,
    "E%T" /*format*/,
    -20 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -101 /*untilYearTiny*/,
    10 /*untilMonth*/,
    31 /*untilDay*/,
    8 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -6:00    Canada    C%sT    2000 Oct 29  2:00
  {
    &kZonePolicyCanada /*zonePolicy*/,
    "C%T" /*format*/,
    -24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -100 /*untilYearTiny*/,
    10 /*untilMonth*/,
    29 /*untilDay*/,
    8 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -5:00    Canada    E%sT
  {
    &kZonePolicyCanada /*zonePolicy*/,
    "E%T" /*format*/,
    -20 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Iqaluit[] ACE_TIME_PROGMEM = "\x02" "Iqaluit";

const extended::Info::ZoneInfo kZoneAmerica_Iqaluit ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Iqaluit /*name*/,
  0x2de310bf /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  3 /*numEras*/,
  kZoneEraAmerica_Iqaluit /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Jamaica
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Jamaica[] ACE_TIME_PROGMEM = {
  //             -5:00    -    EST
  {
    nullptr /*zonePolicy*/,
    "EST" /*format*/,
    -20 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Jamaica[] ACE_TIME_PROGMEM = "\x02" "Jamaica";

const extended::Info::ZoneInfo kZoneAmerica_Jamaica ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Jamaica /*name*/,
  0x565dad6c /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Jamaica /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Juneau
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Juneau[] ACE_TIME_PROGMEM = {
  //              -9:00    US    AK%sT
  {
    &kZonePolicyUS /*zonePolicy*/,
    "AK%T" /*format*/,
    -36 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Juneau[] ACE_TIME_PROGMEM = "\x02" "Juneau";

const extended::Info::ZoneInfo kZoneAmerica_Juneau ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Juneau /*name*/,
  0xa6f13e2e /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Juneau /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Kentucky/Louisville
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Kentucky_Louisville[] ACE_TIME_PROGMEM = {
  //             -5:00    US    E%sT
  {
    &kZonePolicyUS /*zonePolicy*/,
    "E%T" /*format*/,
    -20 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Kentucky_Louisville[] ACE_TIME_PROGMEM = "\x02" "Kentucky/Louisville";

const extended::Info::ZoneInfo kZoneAmerica_Kentucky_Louisville ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Kentucky_Louisville /*name*/,
  0x1a21024b /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Kentucky_Louisville /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Kentucky/Monticello
// Eras: 2
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Kentucky_Monticello[] ACE_TIME_PROGMEM = {
  //             -6:00    US    C%sT    2000 Oct 29  2:00
  {
    &kZonePolicyUS /*zonePolicy*/,
    "C%T" /*format*/,
    -24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -100 /*untilYearTiny*/,
    10 /*untilMonth*/,
    29 /*untilDay*/,
    8 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -5:00    US    E%sT
  {
    &kZonePolicyUS /*zonePolicy*/,
    "E%T" /*format*/,
    -20 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Kentucky_Monticello[] ACE_TIME_PROGMEM = "\x02" "Kentucky/Monticello";

const extended::Info::ZoneInfo kZoneAmerica_Kentucky_Monticello ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Kentucky_Monticello /*name*/,
  0xde71c439 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  2 /*numEras*/,
  kZoneEraAmerica_Kentucky_Monticello /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/La_Paz
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_La_Paz[] ACE_TIME_PROGMEM = {
  //             -4:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_La_Paz[] ACE_TIME_PROGMEM = "\x02" "La_Paz";

const extended::Info::ZoneInfo kZoneAmerica_La_Paz ACE_TIME_PROGMEM = {
  kZoneNameAmerica_La_Paz /*name*/,
  0xaa29125d /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_La_Paz /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Lima
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Lima[] ACE_TIME_PROGMEM = {
  //             -5:00    Peru    %z
  {
    &kZonePolicyPeru /*zonePolicy*/,
    "" /*format*/,
    -20 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Lima[] ACE_TIME_PROGMEM = "\x02" "Lima";

const extended::Info::ZoneInfo kZoneAmerica_Lima ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Lima /*name*/,
  0x980468c9 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Lima /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Los_Angeles
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Los_Angeles[] ACE_TIME_PROGMEM = {
  //             -8:00    US    P%sT
  {
    &kZonePolicyUS /*zonePolicy*/,
    "P%T" /*format*/,
    -32 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Los_Angeles[] ACE_TIME_PROGMEM = "\x02" "Los_Angeles";

const extended::Info::ZoneInfo kZoneAmerica_Los_Angeles ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Los_Angeles /*name*/,
  0xb7f7e8f2 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Los_Angeles /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Maceio
// Eras: 5
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Maceio[] ACE_TIME_PROGMEM = {
  //             -3:00    -    %z    1999 Sep 30
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -101 /*untilYearTiny*/,
    9 /*untilMonth*/,
    30 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -3:00    Brazil    %z    2000 Oct 22
  {
    &kZonePolicyBrazil /*zonePolicy*/,
    "" /*format*/,
    -12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -100 /*untilYearTiny*/,
    10 /*untilMonth*/,
    22 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -3:00    -    %z    2001 Sep 13
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -99 /*untilYearTiny*/,
    9 /*untilMonth*/,
    13 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -3:00    Brazil    %z    2002 Oct  1
  {
    &kZonePolicyBrazil /*zonePolicy*/,
    "" /*format*/,
    -12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -98 /*untilYearTiny*/,
    10 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -3:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Maceio[] ACE_TIME_PROGMEM = "\x02" "Maceio";

const extended::Info::ZoneInfo kZoneAmerica_Maceio ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Maceio /*name*/,
  0xac80c6d4 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  5 /*numEras*/,
  kZoneEraAmerica_Maceio /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Managua
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Managua[] ACE_TIME_PROGMEM = {
  //             -6:00    Nic    C%sT
  {
    &kZonePolicyNic /*zonePolicy*/,
    "C%T" /*format*/,
    -24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Managua[] ACE_TIME_PROGMEM = "\x02" "Managua";

const extended::Info::ZoneInfo kZoneAmerica_Managua ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Managua /*name*/,
  0x3d5e7600 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Managua /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Manaus
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Manaus[] ACE_TIME_PROGMEM = {
  //             -4:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Manaus[] ACE_TIME_PROGMEM = "\x02" "Manaus";

const extended::Info::ZoneInfo kZoneAmerica_Manaus ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Manaus /*name*/,
  0xac86bf8b /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Manaus /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Martinique
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Martinique[] ACE_TIME_PROGMEM = {
  //             -4:00    -    AST
  {
    nullptr /*zonePolicy*/,
    "AST" /*format*/,
    -16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Martinique[] ACE_TIME_PROGMEM = "\x02" "Martinique";

const extended::Info::ZoneInfo kZoneAmerica_Martinique ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Martinique /*name*/,
  0x551e84c5 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Martinique /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Matamoros
// Eras: 2
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Matamoros[] ACE_TIME_PROGMEM = {
  //             -6:00    Mexico    C%sT    2010
  {
    &kZonePolicyMexico /*zonePolicy*/,
    "C%T" /*format*/,
    -24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -90 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -6:00    US    C%sT
  {
    &kZonePolicyUS /*zonePolicy*/,
    "C%T" /*format*/,
    -24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Matamoros[] ACE_TIME_PROGMEM = "\x02" "Matamoros";

const extended::Info::ZoneInfo kZoneAmerica_Matamoros ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Matamoros /*name*/,
  0xdd1b0259 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  2 /*numEras*/,
  kZoneEraAmerica_Matamoros /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Mazatlan
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Mazatlan[] ACE_TIME_PROGMEM = {
  //             -7:00    Mexico    M%sT
  {
    &kZonePolicyMexico /*zonePolicy*/,
    "M%T" /*format*/,
    -28 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Mazatlan[] ACE_TIME_PROGMEM = "\x02" "Mazatlan";

const extended::Info::ZoneInfo kZoneAmerica_Mazatlan ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Mazatlan /*name*/,
  0x0532189e /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Mazatlan /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Menominee
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Menominee[] ACE_TIME_PROGMEM = {
  //             -6:00    US    C%sT
  {
    &kZonePolicyUS /*zonePolicy*/,
    "C%T" /*format*/,
    -24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Menominee[] ACE_TIME_PROGMEM = "\x02" "Menominee";

const extended::Info::ZoneInfo kZoneAmerica_Menominee ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Menominee /*name*/,
  0xe0e9c583 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Menominee /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Merida
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Merida[] ACE_TIME_PROGMEM = {
  //             -6:00    Mexico    C%sT
  {
    &kZonePolicyMexico /*zonePolicy*/,
    "C%T" /*format*/,
    -24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Merida[] ACE_TIME_PROGMEM = "\x02" "Merida";

const extended::Info::ZoneInfo kZoneAmerica_Merida ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Merida /*name*/,
  0xacd172d8 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Merida /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Metlakatla
// Eras: 4
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Metlakatla[] ACE_TIME_PROGMEM = {
  //              -8:00    -    PST    2015 Nov  1  2:00
  {
    nullptr /*zonePolicy*/,
    "PST" /*format*/,
    -32 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -85 /*untilYearTiny*/,
    11 /*untilMonth*/,
    1 /*untilDay*/,
    8 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //              -9:00    US    AK%sT    2018 Nov  4  2:00
  {
    &kZonePolicyUS /*zonePolicy*/,
    "AK%T" /*format*/,
    -36 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -82 /*untilYearTiny*/,
    11 /*untilMonth*/,
    4 /*untilDay*/,
    8 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //              -8:00    -    PST    2019 Jan 20  2:00
  {
    nullptr /*zonePolicy*/,
    "PST" /*format*/,
    -32 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -81 /*untilYearTiny*/,
    1 /*untilMonth*/,
    20 /*untilDay*/,
    8 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //              -9:00    US    AK%sT
  {
    &kZonePolicyUS /*zonePolicy*/,
    "AK%T" /*format*/,
    -36 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Metlakatla[] ACE_TIME_PROGMEM = "\x02" "Metlakatla";

const extended::Info::ZoneInfo kZoneAmerica_Metlakatla ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Metlakatla /*name*/,
  0x84de2686 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  4 /*numEras*/,
  kZoneEraAmerica_Metlakatla /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Mexico_City
// Eras: 3
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Mexico_City[] ACE_TIME_PROGMEM = {
  //             -6:00    Mexico    C%sT    2001 Sep 30  2:00
  {
    &kZonePolicyMexico /*zonePolicy*/,
    "C%T" /*format*/,
    -24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -99 /*untilYearTiny*/,
    9 /*untilMonth*/,
    30 /*untilDay*/,
    8 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -6:00    -    CST    2002 Feb 20
  {
    nullptr /*zonePolicy*/,
    "CST" /*format*/,
    -24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -98 /*untilYearTiny*/,
    2 /*untilMonth*/,
    20 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -6:00    Mexico    C%sT
  {
    &kZonePolicyMexico /*zonePolicy*/,
    "C%T" /*format*/,
    -24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Mexico_City[] ACE_TIME_PROGMEM = "\x02" "Mexico_City";

const extended::Info::ZoneInfo kZoneAmerica_Mexico_City ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Mexico_City /*name*/,
  0xd0d93f43 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  3 /*numEras*/,
  kZoneEraAmerica_Mexico_City /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Miquelon
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Miquelon[] ACE_TIME_PROGMEM = {
  //             -3:00    Canada    %z
  {
    &kZonePolicyCanada /*zonePolicy*/,
    "" /*format*/,
    -12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Miquelon[] ACE_TIME_PROGMEM = "\x02" "Miquelon";

const extended::Info::ZoneInfo kZoneAmerica_Miquelon ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Miquelon /*name*/,
  0x59674330 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Miquelon /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Moncton
// Eras: 2
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Moncton[] ACE_TIME_PROGMEM = {
  //             -4:00    Moncton    A%sT    2007
  {
    &kZonePolicyMoncton /*zonePolicy*/,
    "A%T" /*format*/,
    -16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -93 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -4:00    Canada    A%sT
  {
    &kZonePolicyCanada /*zonePolicy*/,
    "A%T" /*format*/,
    -16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Moncton[] ACE_TIME_PROGMEM = "\x02" "Moncton";

const extended::Info::ZoneInfo kZoneAmerica_Moncton ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Moncton /*name*/,
  0x5e07fe24 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  2 /*numEras*/,
  kZoneEraAmerica_Moncton /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Monterrey
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Monterrey[] ACE_TIME_PROGMEM = {
  //             -6:00    Mexico    C%sT
  {
    &kZonePolicyMexico /*zonePolicy*/,
    "C%T" /*format*/,
    -24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Monterrey[] ACE_TIME_PROGMEM = "\x02" "Monterrey";

const extended::Info::ZoneInfo kZoneAmerica_Monterrey ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Monterrey /*name*/,
  0x269a1deb /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Monterrey /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Montevideo
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Montevideo[] ACE_TIME_PROGMEM = {
  //             -3:00    Uruguay    %z
  {
    &kZonePolicyUruguay /*zonePolicy*/,
    "" /*format*/,
    -12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Montevideo[] ACE_TIME_PROGMEM = "\x02" "Montevideo";

const extended::Info::ZoneInfo kZoneAmerica_Montevideo ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Montevideo /*name*/,
  0xfa214780 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Montevideo /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/New_York
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_New_York[] ACE_TIME_PROGMEM = {
  //             -5:00    US    E%sT
  {
    &kZonePolicyUS /*zonePolicy*/,
    "E%T" /*format*/,
    -20 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_New_York[] ACE_TIME_PROGMEM = "\x02" "New_York";

const extended::Info::ZoneInfo kZoneAmerica_New_York ACE_TIME_PROGMEM = {
  kZoneNameAmerica_New_York /*name*/,
  0x1e2a7654 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_New_York /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Nome
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Nome[] ACE_TIME_PROGMEM = {
  //              -9:00    US    AK%sT
  {
    &kZonePolicyUS /*zonePolicy*/,
    "AK%T" /*format*/,
    -36 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Nome[] ACE_TIME_PROGMEM = "\x02" "Nome";

const extended::Info::ZoneInfo kZoneAmerica_Nome ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Nome /*name*/,
  0x98059b15 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Nome /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Noronha
// Eras: 5
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Noronha[] ACE_TIME_PROGMEM = {
  //             -2:00    -    %z    1999 Sep 30
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -8 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -101 /*untilYearTiny*/,
    9 /*untilMonth*/,
    30 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -2:00    Brazil    %z    2000 Oct 15
  {
    &kZonePolicyBrazil /*zonePolicy*/,
    "" /*format*/,
    -8 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -100 /*untilYearTiny*/,
    10 /*untilMonth*/,
    15 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -2:00    -    %z    2001 Sep 13
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -8 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -99 /*untilYearTiny*/,
    9 /*untilMonth*/,
    13 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -2:00    Brazil    %z    2002 Oct  1
  {
    &kZonePolicyBrazil /*zonePolicy*/,
    "" /*format*/,
    -8 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -98 /*untilYearTiny*/,
    10 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -2:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -8 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Noronha[] ACE_TIME_PROGMEM = "\x02" "Noronha";

const extended::Info::ZoneInfo kZoneAmerica_Noronha ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Noronha /*name*/,
  0xab5116fb /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  5 /*numEras*/,
  kZoneEraAmerica_Noronha /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/North_Dakota/Beulah
// Eras: 2
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_North_Dakota_Beulah[] ACE_TIME_PROGMEM = {
  //             -7:00    US    M%sT    2010 Nov  7  2:00
  {
    &kZonePolicyUS /*zonePolicy*/,
    "M%T" /*format*/,
    -28 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -90 /*untilYearTiny*/,
    11 /*untilMonth*/,
    7 /*untilDay*/,
    8 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -6:00    US    C%sT
  {
    &kZonePolicyUS /*zonePolicy*/,
    "C%T" /*format*/,
    -24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_North_Dakota_Beulah[] ACE_TIME_PROGMEM = "\x02" "North_Dakota/Beulah";

const extended::Info::ZoneInfo kZoneAmerica_North_Dakota_Beulah ACE_TIME_PROGMEM = {
  kZoneNameAmerica_North_Dakota_Beulah /*name*/,
  0x9b52b384 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  2 /*numEras*/,
  kZoneEraAmerica_North_Dakota_Beulah /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/North_Dakota/Center
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_North_Dakota_Center[] ACE_TIME_PROGMEM = {
  //             -6:00    US    C%sT
  {
    &kZonePolicyUS /*zonePolicy*/,
    "C%T" /*format*/,
    -24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_North_Dakota_Center[] ACE_TIME_PROGMEM = "\x02" "North_Dakota/Center";

const extended::Info::ZoneInfo kZoneAmerica_North_Dakota_Center ACE_TIME_PROGMEM = {
  kZoneNameAmerica_North_Dakota_Center /*name*/,
  0x9da42814 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_North_Dakota_Center /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/North_Dakota/New_Salem
// Eras: 2
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_North_Dakota_New_Salem[] ACE_TIME_PROGMEM = {
  //             -7:00    US    M%sT    2003 Oct 26  2:00
  {
    &kZonePolicyUS /*zonePolicy*/,
    "M%T" /*format*/,
    -28 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -97 /*untilYearTiny*/,
    10 /*untilMonth*/,
    26 /*untilDay*/,
    8 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -6:00    US    C%sT
  {
    &kZonePolicyUS /*zonePolicy*/,
    "C%T" /*format*/,
    -24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_North_Dakota_New_Salem[] ACE_TIME_PROGMEM = "\x02" "North_Dakota/New_Salem";

const extended::Info::ZoneInfo kZoneAmerica_North_Dakota_New_Salem ACE_TIME_PROGMEM = {
  kZoneNameAmerica_North_Dakota_New_Salem /*name*/,
  0x04f9958e /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  2 /*numEras*/,
  kZoneEraAmerica_North_Dakota_New_Salem /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Nuuk
// Eras: 3
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Nuuk[] ACE_TIME_PROGMEM = {
  //             -3:00    EU    %z    2023 Mar 26  1:00u
  {
    &kZonePolicyEU /*zonePolicy*/,
    "" /*format*/,
    -12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -77 /*untilYearTiny*/,
    3 /*untilMonth*/,
    26 /*untilDay*/,
    4 /*untilTimeCode*/,
    32 /*untilTimeModifier (kSuffixU + minute=0)*/,
  },
  //             -2:00    -    %z    2023 Oct 29  1:00u
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -8 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -77 /*untilYearTiny*/,
    10 /*untilMonth*/,
    29 /*untilDay*/,
    4 /*untilTimeCode*/,
    32 /*untilTimeModifier (kSuffixU + minute=0)*/,
  },
  //             -2:00    EU    %z
  {
    &kZonePolicyEU /*zonePolicy*/,
    "" /*format*/,
    -8 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Nuuk[] ACE_TIME_PROGMEM = "\x02" "Nuuk";

const extended::Info::ZoneInfo kZoneAmerica_Nuuk ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Nuuk /*name*/,
  0x9805b5a9 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  3 /*numEras*/,
  kZoneEraAmerica_Nuuk /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Ojinaga
// Eras: 4
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Ojinaga[] ACE_TIME_PROGMEM = {
  //             -7:00    Mexico    M%sT    2010
  {
    &kZonePolicyMexico /*zonePolicy*/,
    "M%T" /*format*/,
    -28 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -90 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -7:00    US    M%sT    2022 Oct 30  2:00
  {
    &kZonePolicyUS /*zonePolicy*/,
    "M%T" /*format*/,
    -28 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -78 /*untilYearTiny*/,
    10 /*untilMonth*/,
    30 /*untilDay*/,
    8 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -6:00    -    CST    2022 Nov 30  0:00
  {
    nullptr /*zonePolicy*/,
    "CST" /*format*/,
    -24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -78 /*untilYearTiny*/,
    11 /*untilMonth*/,
    30 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -6:00    US    C%sT
  {
    &kZonePolicyUS /*zonePolicy*/,
    "C%T" /*format*/,
    -24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Ojinaga[] ACE_TIME_PROGMEM = "\x02" "Ojinaga";

const extended::Info::ZoneInfo kZoneAmerica_Ojinaga ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Ojinaga /*name*/,
  0xebfde83f /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  4 /*numEras*/,
  kZoneEraAmerica_Ojinaga /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Panama
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Panama[] ACE_TIME_PROGMEM = {
  //             -5:00    -    EST
  {
    nullptr /*zonePolicy*/,
    "EST" /*format*/,
    -20 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Panama[] ACE_TIME_PROGMEM = "\x02" "Panama";

const extended::Info::ZoneInfo kZoneAmerica_Panama ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Panama /*name*/,
  0xb3863854 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Panama /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Paramaribo
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Paramaribo[] ACE_TIME_PROGMEM = {
  //             -3:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Paramaribo[] ACE_TIME_PROGMEM = "\x02" "Paramaribo";

const extended::Info::ZoneInfo kZoneAmerica_Paramaribo ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Paramaribo /*name*/,
  0xb319e4c4 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Paramaribo /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Phoenix
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Phoenix[] ACE_TIME_PROGMEM = {
  //             -7:00    -    MST
  {
    nullptr /*zonePolicy*/,
    "MST" /*format*/,
    -28 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Phoenix[] ACE_TIME_PROGMEM = "\x02" "Phoenix";

const extended::Info::ZoneInfo kZoneAmerica_Phoenix ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Phoenix /*name*/,
  0x34b5af01 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Phoenix /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Port-au-Prince
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Port_au_Prince[] ACE_TIME_PROGMEM = {
  //             -5:00    Haiti    E%sT
  {
    &kZonePolicyHaiti /*zonePolicy*/,
    "E%T" /*format*/,
    -20 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Port_au_Prince[] ACE_TIME_PROGMEM = "\x02" "Port-au-Prince";

const extended::Info::ZoneInfo kZoneAmerica_Port_au_Prince ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Port_au_Prince /*name*/,
  0x8e4a7bdc /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Port_au_Prince /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Porto_Velho
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Porto_Velho[] ACE_TIME_PROGMEM = {
  //             -4:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Porto_Velho[] ACE_TIME_PROGMEM = "\x02" "Porto_Velho";

const extended::Info::ZoneInfo kZoneAmerica_Porto_Velho ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Porto_Velho /*name*/,
  0x6b1aac77 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Porto_Velho /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Puerto_Rico
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Puerto_Rico[] ACE_TIME_PROGMEM = {
  //             -4:00    -    AST
  {
    nullptr /*zonePolicy*/,
    "AST" /*format*/,
    -16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Puerto_Rico[] ACE_TIME_PROGMEM = "\x02" "Puerto_Rico";

const extended::Info::ZoneInfo kZoneAmerica_Puerto_Rico ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Puerto_Rico /*name*/,
  0x6752ca31 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Puerto_Rico /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Punta_Arenas
// Eras: 2
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Punta_Arenas[] ACE_TIME_PROGMEM = {
  //             -4:00    Chile    %z    2016 Dec  4
  {
    &kZonePolicyChile /*zonePolicy*/,
    "" /*format*/,
    -16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -84 /*untilYearTiny*/,
    12 /*untilMonth*/,
    4 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -3:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Punta_Arenas[] ACE_TIME_PROGMEM = "\x02" "Punta_Arenas";

const extended::Info::ZoneInfo kZoneAmerica_Punta_Arenas ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Punta_Arenas /*name*/,
  0xc2c3bce7 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  2 /*numEras*/,
  kZoneEraAmerica_Punta_Arenas /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Rankin_Inlet
// Eras: 3
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Rankin_Inlet[] ACE_TIME_PROGMEM = {
  //             -6:00    NT_YK    C%sT    2000 Oct 29  2:00
  {
    &kZonePolicyNT_YK /*zonePolicy*/,
    "C%T" /*format*/,
    -24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -100 /*untilYearTiny*/,
    10 /*untilMonth*/,
    29 /*untilDay*/,
    8 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -5:00    -    EST    2001 Apr  1  3:00
  {
    nullptr /*zonePolicy*/,
    "EST" /*format*/,
    -20 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -99 /*untilYearTiny*/,
    4 /*untilMonth*/,
    1 /*untilDay*/,
    12 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -6:00    Canada    C%sT
  {
    &kZonePolicyCanada /*zonePolicy*/,
    "C%T" /*format*/,
    -24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Rankin_Inlet[] ACE_TIME_PROGMEM = "\x02" "Rankin_Inlet";

const extended::Info::ZoneInfo kZoneAmerica_Rankin_Inlet ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Rankin_Inlet /*name*/,
  0xc8de4984 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  3 /*numEras*/,
  kZoneEraAmerica_Rankin_Inlet /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Recife
// Eras: 5
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Recife[] ACE_TIME_PROGMEM = {
  //             -3:00    -    %z    1999 Sep 30
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -101 /*untilYearTiny*/,
    9 /*untilMonth*/,
    30 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -3:00    Brazil    %z    2000 Oct 15
  {
    &kZonePolicyBrazil /*zonePolicy*/,
    "" /*format*/,
    -12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -100 /*untilYearTiny*/,
    10 /*untilMonth*/,
    15 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -3:00    -    %z    2001 Sep 13
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -99 /*untilYearTiny*/,
    9 /*untilMonth*/,
    13 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -3:00    Brazil    %z    2002 Oct  1
  {
    &kZonePolicyBrazil /*zonePolicy*/,
    "" /*format*/,
    -12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -98 /*untilYearTiny*/,
    10 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -3:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Recife[] ACE_TIME_PROGMEM = "\x02" "Recife";

const extended::Info::ZoneInfo kZoneAmerica_Recife ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Recife /*name*/,
  0xb8730494 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  5 /*numEras*/,
  kZoneEraAmerica_Recife /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Regina
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Regina[] ACE_TIME_PROGMEM = {
  //             -6:00    -    CST
  {
    nullptr /*zonePolicy*/,
    "CST" /*format*/,
    -24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Regina[] ACE_TIME_PROGMEM = "\x02" "Regina";

const extended::Info::ZoneInfo kZoneAmerica_Regina ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Regina /*name*/,
  0xb875371c /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Regina /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Resolute
// Eras: 5
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Resolute[] ACE_TIME_PROGMEM = {
  //             -6:00    NT_YK    C%sT    2000 Oct 29  2:00
  {
    &kZonePolicyNT_YK /*zonePolicy*/,
    "C%T" /*format*/,
    -24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -100 /*untilYearTiny*/,
    10 /*untilMonth*/,
    29 /*untilDay*/,
    8 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -5:00    -    EST    2001 Apr  1  3:00
  {
    nullptr /*zonePolicy*/,
    "EST" /*format*/,
    -20 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -99 /*untilYearTiny*/,
    4 /*untilMonth*/,
    1 /*untilDay*/,
    12 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -6:00    Canada    C%sT    2006 Oct 29  2:00
  {
    &kZonePolicyCanada /*zonePolicy*/,
    "C%T" /*format*/,
    -24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -94 /*untilYearTiny*/,
    10 /*untilMonth*/,
    29 /*untilDay*/,
    8 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -5:00    -    EST    2007 Mar 11  3:00
  {
    nullptr /*zonePolicy*/,
    "EST" /*format*/,
    -20 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -93 /*untilYearTiny*/,
    3 /*untilMonth*/,
    11 /*untilDay*/,
    12 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -6:00    Canada    C%sT
  {
    &kZonePolicyCanada /*zonePolicy*/,
    "C%T" /*format*/,
    -24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Resolute[] ACE_TIME_PROGMEM = "\x02" "Resolute";

const extended::Info::ZoneInfo kZoneAmerica_Resolute ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Resolute /*name*/,
  0xc7093459 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  5 /*numEras*/,
  kZoneEraAmerica_Resolute /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Rio_Branco
// Eras: 3
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Rio_Branco[] ACE_TIME_PROGMEM = {
  //             -5:00    -    %z    2008 Jun 24  0:00
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -20 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -92 /*untilYearTiny*/,
    6 /*untilMonth*/,
    24 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -4:00    -    %z    2013 Nov 10
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -87 /*untilYearTiny*/,
    11 /*untilMonth*/,
    10 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -5:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -20 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Rio_Branco[] ACE_TIME_PROGMEM = "\x02" "Rio_Branco";

const extended::Info::ZoneInfo kZoneAmerica_Rio_Branco ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Rio_Branco /*name*/,
  0x9d352764 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  3 /*numEras*/,
  kZoneEraAmerica_Rio_Branco /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Santarem
// Eras: 2
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Santarem[] ACE_TIME_PROGMEM = {
  //             -4:00    -    %z    2008 Jun 24  0:00
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -92 /*untilYearTiny*/,
    6 /*untilMonth*/,
    24 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -3:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Santarem[] ACE_TIME_PROGMEM = "\x02" "Santarem";

const extended::Info::ZoneInfo kZoneAmerica_Santarem ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Santarem /*name*/,
  0x740caec1 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  2 /*numEras*/,
  kZoneEraAmerica_Santarem /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Santiago
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Santiago[] ACE_TIME_PROGMEM = {
  //             -4:00    Chile    %z
  {
    &kZonePolicyChile /*zonePolicy*/,
    "" /*format*/,
    -16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Santiago[] ACE_TIME_PROGMEM = "\x02" "Santiago";

const extended::Info::ZoneInfo kZoneAmerica_Santiago ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Santiago /*name*/,
  0x7410c9bc /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Santiago /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Santo_Domingo
// Eras: 3
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Santo_Domingo[] ACE_TIME_PROGMEM = {
  //             -4:00    -    AST    2000 Oct 29  2:00
  {
    nullptr /*zonePolicy*/,
    "AST" /*format*/,
    -16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -100 /*untilYearTiny*/,
    10 /*untilMonth*/,
    29 /*untilDay*/,
    8 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -5:00    US    E%sT    2000 Dec  3  1:00
  {
    &kZonePolicyUS /*zonePolicy*/,
    "E%T" /*format*/,
    -20 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -100 /*untilYearTiny*/,
    12 /*untilMonth*/,
    3 /*untilDay*/,
    4 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -4:00    -    AST
  {
    nullptr /*zonePolicy*/,
    "AST" /*format*/,
    -16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Santo_Domingo[] ACE_TIME_PROGMEM = "\x02" "Santo_Domingo";

const extended::Info::ZoneInfo kZoneAmerica_Santo_Domingo ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Santo_Domingo /*name*/,
  0x75a0d177 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  3 /*numEras*/,
  kZoneEraAmerica_Santo_Domingo /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Sao_Paulo
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Sao_Paulo[] ACE_TIME_PROGMEM = {
  //             -3:00    Brazil    %z
  {
    &kZonePolicyBrazil /*zonePolicy*/,
    "" /*format*/,
    -12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Sao_Paulo[] ACE_TIME_PROGMEM = "\x02" "Sao_Paulo";

const extended::Info::ZoneInfo kZoneAmerica_Sao_Paulo ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Sao_Paulo /*name*/,
  0x1063bfc9 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Sao_Paulo /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Scoresbysund
// Eras: 2
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Scoresbysund[] ACE_TIME_PROGMEM = {
  //             -1:00    EU    %z    2024 Mar 31
  {
    &kZonePolicyEU /*zonePolicy*/,
    "" /*format*/,
    -4 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -76 /*untilYearTiny*/,
    3 /*untilMonth*/,
    31 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -2:00    EU    %z
  {
    &kZonePolicyEU /*zonePolicy*/,
    "" /*format*/,
    -8 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Scoresbysund[] ACE_TIME_PROGMEM = "\x02" "Scoresbysund";

const extended::Info::ZoneInfo kZoneAmerica_Scoresbysund ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Scoresbysund /*name*/,
  0x123f8d2a /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  2 /*numEras*/,
  kZoneEraAmerica_Scoresbysund /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Sitka
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Sitka[] ACE_TIME_PROGMEM = {
  //              -9:00    US    AK%sT
  {
    &kZonePolicyUS /*zonePolicy*/,
    "AK%T" /*format*/,
    -36 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Sitka[] ACE_TIME_PROGMEM = "\x02" "Sitka";

const extended::Info::ZoneInfo kZoneAmerica_Sitka ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Sitka /*name*/,
  0x99104ce2 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Sitka /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/St_Johns
// Eras: 2
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_St_Johns[] ACE_TIME_PROGMEM = {
  //             -3:30    StJohns    N%sT    2011 Nov
  {
    &kZonePolicyStJohns /*zonePolicy*/,
    "N%T" /*format*/,
    -14 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -89 /*untilYearTiny*/,
    11 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -3:30    Canada    N%sT
  {
    &kZonePolicyCanada /*zonePolicy*/,
    "N%T" /*format*/,
    -14 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_St_Johns[] ACE_TIME_PROGMEM = "\x02" "St_Johns";

const extended::Info::ZoneInfo kZoneAmerica_St_Johns ACE_TIME_PROGMEM = {
  kZoneNameAmerica_St_Johns /*name*/,
  0x04b14e6e /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  2 /*numEras*/,
  kZoneEraAmerica_St_Johns /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Swift_Current
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Swift_Current[] ACE_TIME_PROGMEM = {
  //             -6:00    -    CST
  {
    nullptr /*zonePolicy*/,
    "CST" /*format*/,
    -24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Swift_Current[] ACE_TIME_PROGMEM = "\x02" "Swift_Current";

const extended::Info::ZoneInfo kZoneAmerica_Swift_Current ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Swift_Current /*name*/,
  0xdef98e55 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Swift_Current /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Tegucigalpa
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Tegucigalpa[] ACE_TIME_PROGMEM = {
  //             -6:00    Hond    C%sT
  {
    &kZonePolicyHond /*zonePolicy*/,
    "C%T" /*format*/,
    -24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Tegucigalpa[] ACE_TIME_PROGMEM = "\x02" "Tegucigalpa";

const extended::Info::ZoneInfo kZoneAmerica_Tegucigalpa ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Tegucigalpa /*name*/,
  0xbfd6fd4c /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Tegucigalpa /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Thule
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Thule[] ACE_TIME_PROGMEM = {
  //             -4:00    Thule    A%sT
  {
    &kZonePolicyThule /*zonePolicy*/,
    "A%T" /*format*/,
    -16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Thule[] ACE_TIME_PROGMEM = "\x02" "Thule";

const extended::Info::ZoneInfo kZoneAmerica_Thule ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Thule /*name*/,
  0x9921dd68 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Thule /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Tijuana
// Eras: 4
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Tijuana[] ACE_TIME_PROGMEM = {
  //             -8:00    Mexico    P%sT    2001
  {
    &kZonePolicyMexico /*zonePolicy*/,
    "P%T" /*format*/,
    -32 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -99 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -8:00    US    P%sT    2002 Feb 20
  {
    &kZonePolicyUS /*zonePolicy*/,
    "P%T" /*format*/,
    -32 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -98 /*untilYearTiny*/,
    2 /*untilMonth*/,
    20 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -8:00    Mexico    P%sT    2010
  {
    &kZonePolicyMexico /*zonePolicy*/,
    "P%T" /*format*/,
    -32 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -90 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -8:00    US    P%sT
  {
    &kZonePolicyUS /*zonePolicy*/,
    "P%T" /*format*/,
    -32 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Tijuana[] ACE_TIME_PROGMEM = "\x02" "Tijuana";

const extended::Info::ZoneInfo kZoneAmerica_Tijuana ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Tijuana /*name*/,
  0x6aa1df72 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  4 /*numEras*/,
  kZoneEraAmerica_Tijuana /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Toronto
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Toronto[] ACE_TIME_PROGMEM = {
  //             -5:00    Canada    E%sT
  {
    &kZonePolicyCanada /*zonePolicy*/,
    "E%T" /*format*/,
    -20 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Toronto[] ACE_TIME_PROGMEM = "\x02" "Toronto";

const extended::Info::ZoneInfo kZoneAmerica_Toronto ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Toronto /*name*/,
  0x792e851b /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Toronto /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Vancouver
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Vancouver[] ACE_TIME_PROGMEM = {
  //             -8:00    Canada    P%sT
  {
    &kZonePolicyCanada /*zonePolicy*/,
    "P%T" /*format*/,
    -32 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Vancouver[] ACE_TIME_PROGMEM = "\x02" "Vancouver";

const extended::Info::ZoneInfo kZoneAmerica_Vancouver ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Vancouver /*name*/,
  0x2c6f6b1f /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Vancouver /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Whitehorse
// Eras: 2
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Whitehorse[] ACE_TIME_PROGMEM = {
  //             -8:00    Canada    P%sT    2020 Nov  1
  {
    &kZonePolicyCanada /*zonePolicy*/,
    "P%T" /*format*/,
    -32 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -80 /*untilYearTiny*/,
    11 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -7:00    -    MST
  {
    nullptr /*zonePolicy*/,
    "MST" /*format*/,
    -28 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Whitehorse[] ACE_TIME_PROGMEM = "\x02" "Whitehorse";

const extended::Info::ZoneInfo kZoneAmerica_Whitehorse ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Whitehorse /*name*/,
  0x54e0e3e8 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  2 /*numEras*/,
  kZoneEraAmerica_Whitehorse /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Winnipeg
// Eras: 2
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Winnipeg[] ACE_TIME_PROGMEM = {
  //             -6:00    Winn    C%sT    2006
  {
    &kZonePolicyWinn /*zonePolicy*/,
    "C%T" /*format*/,
    -24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -94 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -6:00    Canada    C%sT
  {
    &kZonePolicyCanada /*zonePolicy*/,
    "C%T" /*format*/,
    -24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Winnipeg[] ACE_TIME_PROGMEM = "\x02" "Winnipeg";

const extended::Info::ZoneInfo kZoneAmerica_Winnipeg ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Winnipeg /*name*/,
  0x8c7dafc7 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  2 /*numEras*/,
  kZoneEraAmerica_Winnipeg /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: America/Yakutat
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAmerica_Yakutat[] ACE_TIME_PROGMEM = {
  //              -9:00    US    AK%sT
  {
    &kZonePolicyUS /*zonePolicy*/,
    "AK%T" /*format*/,
    -36 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAmerica_Yakutat[] ACE_TIME_PROGMEM = "\x02" "Yakutat";

const extended::Info::ZoneInfo kZoneAmerica_Yakutat ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Yakutat /*name*/,
  0xd8ee31e9 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Yakutat /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Antarctica/Casey
// Eras: 17
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAntarctica_Casey[] ACE_TIME_PROGMEM = {
  //              8:00    -    %z    2009 Oct 18  2:00
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    32 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -91 /*untilYearTiny*/,
    10 /*untilMonth*/,
    18 /*untilDay*/,
    8 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             11:00    -    %z    2010 Mar  5  2:00
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    44 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -90 /*untilYearTiny*/,
    3 /*untilMonth*/,
    5 /*untilDay*/,
    8 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //              8:00    -    %z    2011 Oct 28  2:00
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    32 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -89 /*untilYearTiny*/,
    10 /*untilMonth*/,
    28 /*untilDay*/,
    8 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             11:00    -    %z    2012 Feb 21 17:00u
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    44 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -88 /*untilYearTiny*/,
    2 /*untilMonth*/,
    21 /*untilDay*/,
    68 /*untilTimeCode*/,
    32 /*untilTimeModifier (kSuffixU + minute=0)*/,
  },
  //              8:00    -    %z    2016 Oct 22
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    32 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -84 /*untilYearTiny*/,
    10 /*untilMonth*/,
    22 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             11:00    -    %z    2018 Mar 11  4:00
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    44 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -82 /*untilYearTiny*/,
    3 /*untilMonth*/,
    11 /*untilDay*/,
    16 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //              8:00    -    %z    2018 Oct  7  4:00
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    32 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -82 /*untilYearTiny*/,
    10 /*untilMonth*/,
    7 /*untilDay*/,
    16 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             11:00    -    %z    2019 Mar 17  3:00
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    44 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -81 /*untilYearTiny*/,
    3 /*untilMonth*/,
    17 /*untilDay*/,
    12 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //              8:00    -    %z    2019 Oct  4  3:00
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    32 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -81 /*untilYearTiny*/,
    10 /*untilMonth*/,
    4 /*untilDay*/,
    12 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             11:00    -    %z    2020 Mar  8  3:00
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    44 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -80 /*untilYearTiny*/,
    3 /*untilMonth*/,
    8 /*untilDay*/,
    12 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //              8:00    -    %z    2020 Oct  4  0:01
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    32 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -80 /*untilYearTiny*/,
    10 /*untilMonth*/,
    4 /*untilDay*/,
    0 /*untilTimeCode*/,
    1 /*untilTimeModifier (kSuffixW + minute=1)*/,
  },
  //             11:00    -    %z    2021 Mar 14  0:00
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    44 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -79 /*untilYearTiny*/,
    3 /*untilMonth*/,
    14 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //              8:00    -    %z    2021 Oct  3  0:01
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    32 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -79 /*untilYearTiny*/,
    10 /*untilMonth*/,
    3 /*untilDay*/,
    0 /*untilTimeCode*/,
    1 /*untilTimeModifier (kSuffixW + minute=1)*/,
  },
  //             11:00    -    %z    2022 Mar 13  0:00
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    44 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -78 /*untilYearTiny*/,
    3 /*untilMonth*/,
    13 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //              8:00    -    %z    2022 Oct  2  0:01
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    32 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -78 /*untilYearTiny*/,
    10 /*untilMonth*/,
    2 /*untilDay*/,
    0 /*untilTimeCode*/,
    1 /*untilTimeModifier (kSuffixW + minute=1)*/,
  },
  //             11:00    -    %z    2023 Mar  9  3:00
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    44 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -77 /*untilYearTiny*/,
    3 /*untilMonth*/,
    9 /*untilDay*/,
    12 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //              8:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    32 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAntarctica_Casey[] ACE_TIME_PROGMEM = "\x03" "Casey";

const extended::Info::ZoneInfo kZoneAntarctica_Casey ACE_TIME_PROGMEM = {
  kZoneNameAntarctica_Casey /*name*/,
  0xe2022583 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  17 /*numEras*/,
  kZoneEraAntarctica_Casey /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Antarctica/Davis
// Eras: 5
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAntarctica_Davis[] ACE_TIME_PROGMEM = {
  //             7:00    -    %z    2009 Oct 18  2:00
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    28 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -91 /*untilYearTiny*/,
    10 /*untilMonth*/,
    18 /*untilDay*/,
    8 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             5:00    -    %z    2010 Mar 10 20:00u
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    20 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -90 /*untilYearTiny*/,
    3 /*untilMonth*/,
    10 /*untilDay*/,
    80 /*untilTimeCode*/,
    32 /*untilTimeModifier (kSuffixU + minute=0)*/,
  },
  //             7:00    -    %z    2011 Oct 28  2:00
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    28 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -89 /*untilYearTiny*/,
    10 /*untilMonth*/,
    28 /*untilDay*/,
    8 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             5:00    -    %z    2012 Feb 21 20:00u
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    20 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -88 /*untilYearTiny*/,
    2 /*untilMonth*/,
    21 /*untilDay*/,
    80 /*untilTimeCode*/,
    32 /*untilTimeModifier (kSuffixU + minute=0)*/,
  },
  //             7:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    28 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAntarctica_Davis[] ACE_TIME_PROGMEM = "\x03" "Davis";

const extended::Info::ZoneInfo kZoneAntarctica_Davis ACE_TIME_PROGMEM = {
  kZoneNameAntarctica_Davis /*name*/,
  0xe2144b45 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  5 /*numEras*/,
  kZoneEraAntarctica_Davis /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Antarctica/Macquarie
// Eras: 3
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAntarctica_Macquarie[] ACE_TIME_PROGMEM = {
  //             10:00    AT    AE%sT    2010
  {
    &kZonePolicyAT /*zonePolicy*/,
    "AE%T" /*format*/,
    40 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -90 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             10:00    1:00    AEDT    2011
  {
    nullptr /*zonePolicy*/,
    "AEDT" /*format*/,
    40 /*offsetCode*/,
    8 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=60)/15 + 4))*/,
    -89 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             10:00    AT    AE%sT
  {
    &kZonePolicyAT /*zonePolicy*/,
    "AE%T" /*format*/,
    40 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAntarctica_Macquarie[] ACE_TIME_PROGMEM = "\x03" "Macquarie";

const extended::Info::ZoneInfo kZoneAntarctica_Macquarie ACE_TIME_PROGMEM = {
  kZoneNameAntarctica_Macquarie /*name*/,
  0x92f47626 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  3 /*numEras*/,
  kZoneEraAntarctica_Macquarie /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Antarctica/Mawson
// Eras: 2
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAntarctica_Mawson[] ACE_TIME_PROGMEM = {
  //             6:00    -    %z    2009 Oct 18  2:00
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -91 /*untilYearTiny*/,
    10 /*untilMonth*/,
    18 /*untilDay*/,
    8 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             5:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    20 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAntarctica_Mawson[] ACE_TIME_PROGMEM = "\x03" "Mawson";

const extended::Info::ZoneInfo kZoneAntarctica_Mawson ACE_TIME_PROGMEM = {
  kZoneNameAntarctica_Mawson /*name*/,
  0x399cd863 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  2 /*numEras*/,
  kZoneEraAntarctica_Mawson /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Antarctica/Palmer
// Eras: 2
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAntarctica_Palmer[] ACE_TIME_PROGMEM = {
  //             -4:00    Chile    %z    2016 Dec  4
  {
    &kZonePolicyChile /*zonePolicy*/,
    "" /*format*/,
    -16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -84 /*untilYearTiny*/,
    12 /*untilMonth*/,
    4 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -3:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAntarctica_Palmer[] ACE_TIME_PROGMEM = "\x03" "Palmer";

const extended::Info::ZoneInfo kZoneAntarctica_Palmer ACE_TIME_PROGMEM = {
  kZoneNameAntarctica_Palmer /*name*/,
  0x40962f4f /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  2 /*numEras*/,
  kZoneEraAntarctica_Palmer /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Antarctica/Rothera
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAntarctica_Rothera[] ACE_TIME_PROGMEM = {
  //             -3:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAntarctica_Rothera[] ACE_TIME_PROGMEM = "\x03" "Rothera";

const extended::Info::ZoneInfo kZoneAntarctica_Rothera ACE_TIME_PROGMEM = {
  kZoneNameAntarctica_Rothera /*name*/,
  0x0e86d203 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAntarctica_Rothera /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Antarctica/Troll
// Eras: 2
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAntarctica_Troll[] ACE_TIME_PROGMEM = {
  // 0 - -00 2005 Feb 12
  {
    nullptr /*zonePolicy*/,
    "-00" /*format*/,
    0 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -95 /*untilYearTiny*/,
    2 /*untilMonth*/,
    12 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             0:00    Troll    %s
  {
    &kZonePolicyTroll /*zonePolicy*/,
    "%" /*format*/,
    0 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAntarctica_Troll[] ACE_TIME_PROGMEM = "\x03" "Troll";

const extended::Info::ZoneInfo kZoneAntarctica_Troll ACE_TIME_PROGMEM = {
  kZoneNameAntarctica_Troll /*name*/,
  0xe33f085b /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  2 /*numEras*/,
  kZoneEraAntarctica_Troll /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Antarctica/Vostok
// Eras: 2
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAntarctica_Vostok[] ACE_TIME_PROGMEM = {
  //             7:00    -    %z    2023 Dec 18  2:00
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    28 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -77 /*untilYearTiny*/,
    12 /*untilMonth*/,
    18 /*untilDay*/,
    8 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             5:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    20 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAntarctica_Vostok[] ACE_TIME_PROGMEM = "\x03" "Vostok";

const extended::Info::ZoneInfo kZoneAntarctica_Vostok ACE_TIME_PROGMEM = {
  kZoneNameAntarctica_Vostok /*name*/,
  0x4f966fd4 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  2 /*numEras*/,
  kZoneEraAntarctica_Vostok /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Almaty
// Eras: 3
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAsia_Almaty[] ACE_TIME_PROGMEM = {
  //             6:00 RussiaAsia    %z    2004 Oct 31  2:00s
  {
    &kZonePolicyRussiaAsia /*zonePolicy*/,
    "" /*format*/,
    24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -96 /*untilYearTiny*/,
    10 /*untilMonth*/,
    31 /*untilDay*/,
    8 /*untilTimeCode*/,
    16 /*untilTimeModifier (kSuffixS + minute=0)*/,
  },
  //             6:00    -    %z    2024 Mar  1  0:00
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -76 /*untilYearTiny*/,
    3 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             5:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    20 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Almaty[] ACE_TIME_PROGMEM = "\x05" "Almaty";

const extended::Info::ZoneInfo kZoneAsia_Almaty ACE_TIME_PROGMEM = {
  kZoneNameAsia_Almaty /*name*/,
  0xa61f41fa /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  3 /*numEras*/,
  kZoneEraAsia_Almaty /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Amman
// Eras: 2
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAsia_Amman[] ACE_TIME_PROGMEM = {
  //             2:00    Jordan    EE%sT    2022 Oct 28 0:00s
  {
    &kZonePolicyJordan /*zonePolicy*/,
    "EE%T" /*format*/,
    8 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -78 /*untilYearTiny*/,
    10 /*untilMonth*/,
    28 /*untilDay*/,
    0 /*untilTimeCode*/,
    16 /*untilTimeModifier (kSuffixS + minute=0)*/,
  },
  //             3:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Amman[] ACE_TIME_PROGMEM = "\x05" "Amman";

const extended::Info::ZoneInfo kZoneAsia_Amman ACE_TIME_PROGMEM = {
  kZoneNameAsia_Amman /*name*/,
  0x148d21bc /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  2 /*numEras*/,
  kZoneEraAsia_Amman /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Anadyr
// Eras: 3
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAsia_Anadyr[] ACE_TIME_PROGMEM = {
  //             12:00    Russia    %z    2010 Mar 28  2:00s
  {
    &kZonePolicyRussia /*zonePolicy*/,
    "" /*format*/,
    48 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -90 /*untilYearTiny*/,
    3 /*untilMonth*/,
    28 /*untilDay*/,
    8 /*untilTimeCode*/,
    16 /*untilTimeModifier (kSuffixS + minute=0)*/,
  },
  //             11:00    Russia    %z    2011 Mar 27  2:00s
  {
    &kZonePolicyRussia /*zonePolicy*/,
    "" /*format*/,
    44 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -89 /*untilYearTiny*/,
    3 /*untilMonth*/,
    27 /*untilDay*/,
    8 /*untilTimeCode*/,
    16 /*untilTimeModifier (kSuffixS + minute=0)*/,
  },
  //             12:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    48 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Anadyr[] ACE_TIME_PROGMEM = "\x05" "Anadyr";

const extended::Info::ZoneInfo kZoneAsia_Anadyr ACE_TIME_PROGMEM = {
  kZoneNameAsia_Anadyr /*name*/,
  0xa63cebd1 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  3 /*numEras*/,
  kZoneEraAsia_Anadyr /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Aqtau
// Eras: 2
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAsia_Aqtau[] ACE_TIME_PROGMEM = {
  //             4:00 RussiaAsia    %z    2004 Oct 31  2:00s
  {
    &kZonePolicyRussiaAsia /*zonePolicy*/,
    "" /*format*/,
    16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -96 /*untilYearTiny*/,
    10 /*untilMonth*/,
    31 /*untilDay*/,
    8 /*untilTimeCode*/,
    16 /*untilTimeModifier (kSuffixS + minute=0)*/,
  },
  //             5:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    20 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Aqtau[] ACE_TIME_PROGMEM = "\x05" "Aqtau";

const extended::Info::ZoneInfo kZoneAsia_Aqtau ACE_TIME_PROGMEM = {
  kZoneNameAsia_Aqtau /*name*/,
  0x148f710e /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  2 /*numEras*/,
  kZoneEraAsia_Aqtau /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Aqtobe
// Eras: 2
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAsia_Aqtobe[] ACE_TIME_PROGMEM = {
  //             5:00 RussiaAsia    %z    2004 Oct 31  2:00s
  {
    &kZonePolicyRussiaAsia /*zonePolicy*/,
    "" /*format*/,
    20 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -96 /*untilYearTiny*/,
    10 /*untilMonth*/,
    31 /*untilDay*/,
    8 /*untilTimeCode*/,
    16 /*untilTimeModifier (kSuffixS + minute=0)*/,
  },
  //             5:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    20 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Aqtobe[] ACE_TIME_PROGMEM = "\x05" "Aqtobe";

const extended::Info::ZoneInfo kZoneAsia_Aqtobe ACE_TIME_PROGMEM = {
  kZoneNameAsia_Aqtobe /*name*/,
  0xa67dcc4e /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  2 /*numEras*/,
  kZoneEraAsia_Aqtobe /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Ashgabat
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAsia_Ashgabat[] ACE_TIME_PROGMEM = {
  //             5:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    20 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Ashgabat[] ACE_TIME_PROGMEM = "\x05" "Ashgabat";

const extended::Info::ZoneInfo kZoneAsia_Ashgabat ACE_TIME_PROGMEM = {
  kZoneNameAsia_Ashgabat /*name*/,
  0xba87598d /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Ashgabat /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Atyrau
// Eras: 3
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAsia_Atyrau[] ACE_TIME_PROGMEM = {
  //             5:00 RussiaAsia    %z    1999 Mar 28  2:00s
  {
    &kZonePolicyRussiaAsia /*zonePolicy*/,
    "" /*format*/,
    20 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -101 /*untilYearTiny*/,
    3 /*untilMonth*/,
    28 /*untilDay*/,
    8 /*untilTimeCode*/,
    16 /*untilTimeModifier (kSuffixS + minute=0)*/,
  },
  //             4:00 RussiaAsia    %z    2004 Oct 31  2:00s
  {
    &kZonePolicyRussiaAsia /*zonePolicy*/,
    "" /*format*/,
    16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -96 /*untilYearTiny*/,
    10 /*untilMonth*/,
    31 /*untilDay*/,
    8 /*untilTimeCode*/,
    16 /*untilTimeModifier (kSuffixS + minute=0)*/,
  },
  //             5:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    20 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Atyrau[] ACE_TIME_PROGMEM = "\x05" "Atyrau";

const extended::Info::ZoneInfo kZoneAsia_Atyrau ACE_TIME_PROGMEM = {
  kZoneNameAsia_Atyrau /*name*/,
  0xa6b6e068 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  3 /*numEras*/,
  kZoneEraAsia_Atyrau /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Baghdad
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAsia_Baghdad[] ACE_TIME_PROGMEM = {
  //             3:00    Iraq    %z
  {
    &kZonePolicyIraq /*zonePolicy*/,
    "" /*format*/,
    12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Baghdad[] ACE_TIME_PROGMEM = "\x05" "Baghdad";

const extended::Info::ZoneInfo kZoneAsia_Baghdad ACE_TIME_PROGMEM = {
  kZoneNameAsia_Baghdad /*name*/,
  0x9ceffbed /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Baghdad /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Baku
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAsia_Baku[] ACE_TIME_PROGMEM = {
  //             4:00    Azer    %z
  {
    &kZonePolicyAzer /*zonePolicy*/,
    "" /*format*/,
    16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Baku[] ACE_TIME_PROGMEM = "\x05" "Baku";

const extended::Info::ZoneInfo kZoneAsia_Baku ACE_TIME_PROGMEM = {
  kZoneNameAsia_Baku /*name*/,
  0x1fa788b5 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Baku /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Bangkok
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAsia_Bangkok[] ACE_TIME_PROGMEM = {
  //             7:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    28 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Bangkok[] ACE_TIME_PROGMEM = "\x05" "Bangkok";

const extended::Info::ZoneInfo kZoneAsia_Bangkok ACE_TIME_PROGMEM = {
  kZoneNameAsia_Bangkok /*name*/,
  0x9d6e3aaf /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Bangkok /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Barnaul
// Eras: 4
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAsia_Barnaul[] ACE_TIME_PROGMEM = {
  //              6:00    Russia    %z    2011 Mar 27  2:00s
  {
    &kZonePolicyRussia /*zonePolicy*/,
    "" /*format*/,
    24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -89 /*untilYearTiny*/,
    3 /*untilMonth*/,
    27 /*untilDay*/,
    8 /*untilTimeCode*/,
    16 /*untilTimeModifier (kSuffixS + minute=0)*/,
  },
  //              7:00    -    %z    2014 Oct 26  2:00s
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    28 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -86 /*untilYearTiny*/,
    10 /*untilMonth*/,
    26 /*untilDay*/,
    8 /*untilTimeCode*/,
    16 /*untilTimeModifier (kSuffixS + minute=0)*/,
  },
  //              6:00    -    %z    2016 Mar 27  2:00s
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -84 /*untilYearTiny*/,
    3 /*untilMonth*/,
    27 /*untilDay*/,
    8 /*untilTimeCode*/,
    16 /*untilTimeModifier (kSuffixS + minute=0)*/,
  },
  //              7:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    28 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Barnaul[] ACE_TIME_PROGMEM = "\x05" "Barnaul";

const extended::Info::ZoneInfo kZoneAsia_Barnaul ACE_TIME_PROGMEM = {
  kZoneNameAsia_Barnaul /*name*/,
  0x9dba4997 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  4 /*numEras*/,
  kZoneEraAsia_Barnaul /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Beirut
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAsia_Beirut[] ACE_TIME_PROGMEM = {
  //             2:00    Lebanon    EE%sT
  {
    &kZonePolicyLebanon /*zonePolicy*/,
    "EE%T" /*format*/,
    8 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Beirut[] ACE_TIME_PROGMEM = "\x05" "Beirut";

const extended::Info::ZoneInfo kZoneAsia_Beirut ACE_TIME_PROGMEM = {
  kZoneNameAsia_Beirut /*name*/,
  0xa7f3d5fd /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Beirut /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Bishkek
// Eras: 2
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAsia_Bishkek[] ACE_TIME_PROGMEM = {
  //             5:00    Kyrgyz    %z    2005 Aug 12
  {
    &kZonePolicyKyrgyz /*zonePolicy*/,
    "" /*format*/,
    20 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -95 /*untilYearTiny*/,
    8 /*untilMonth*/,
    12 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             6:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Bishkek[] ACE_TIME_PROGMEM = "\x05" "Bishkek";

const extended::Info::ZoneInfo kZoneAsia_Bishkek ACE_TIME_PROGMEM = {
  kZoneNameAsia_Bishkek /*name*/,
  0xb0728553 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  2 /*numEras*/,
  kZoneEraAsia_Bishkek /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Chita
// Eras: 4
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAsia_Chita[] ACE_TIME_PROGMEM = {
  //              9:00    Russia    %z    2011 Mar 27  2:00s
  {
    &kZonePolicyRussia /*zonePolicy*/,
    "" /*format*/,
    36 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -89 /*untilYearTiny*/,
    3 /*untilMonth*/,
    27 /*untilDay*/,
    8 /*untilTimeCode*/,
    16 /*untilTimeModifier (kSuffixS + minute=0)*/,
  },
  //             10:00    -    %z    2014 Oct 26  2:00s
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    40 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -86 /*untilYearTiny*/,
    10 /*untilMonth*/,
    26 /*untilDay*/,
    8 /*untilTimeCode*/,
    16 /*untilTimeModifier (kSuffixS + minute=0)*/,
  },
  //              8:00    -    %z    2016 Mar 27  2:00
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    32 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -84 /*untilYearTiny*/,
    3 /*untilMonth*/,
    27 /*untilDay*/,
    8 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //              9:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    36 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Chita[] ACE_TIME_PROGMEM = "\x05" "Chita";

const extended::Info::ZoneInfo kZoneAsia_Chita ACE_TIME_PROGMEM = {
  kZoneNameAsia_Chita /*name*/,
  0x14ae863b /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  4 /*numEras*/,
  kZoneEraAsia_Chita /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Colombo
// Eras: 2
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAsia_Colombo[] ACE_TIME_PROGMEM = {
  //             6:00    -    %z    2006 Apr 15  0:30
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -94 /*untilYearTiny*/,
    4 /*untilMonth*/,
    15 /*untilDay*/,
    2 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             5:30    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    22 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Colombo[] ACE_TIME_PROGMEM = "\x05" "Colombo";

const extended::Info::ZoneInfo kZoneAsia_Colombo ACE_TIME_PROGMEM = {
  kZoneNameAsia_Colombo /*name*/,
  0x0af0e91d /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  2 /*numEras*/,
  kZoneEraAsia_Colombo /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Damascus
// Eras: 2
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAsia_Damascus[] ACE_TIME_PROGMEM = {
  //             2:00    Syria    EE%sT    2022 Oct 28 0:00
  {
    &kZonePolicySyria /*zonePolicy*/,
    "EE%T" /*format*/,
    8 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -78 /*untilYearTiny*/,
    10 /*untilMonth*/,
    28 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             3:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Damascus[] ACE_TIME_PROGMEM = "\x05" "Damascus";

const extended::Info::ZoneInfo kZoneAsia_Damascus ACE_TIME_PROGMEM = {
  kZoneNameAsia_Damascus /*name*/,
  0x20fbb063 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  2 /*numEras*/,
  kZoneEraAsia_Damascus /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Dhaka
// Eras: 2
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAsia_Dhaka[] ACE_TIME_PROGMEM = {
  //             6:00    -    %z    2009
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -91 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             6:00    Dhaka    %z
  {
    &kZonePolicyDhaka /*zonePolicy*/,
    "" /*format*/,
    24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Dhaka[] ACE_TIME_PROGMEM = "\x05" "Dhaka";

const extended::Info::ZoneInfo kZoneAsia_Dhaka ACE_TIME_PROGMEM = {
  kZoneNameAsia_Dhaka /*name*/,
  0x14c07b8b /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  2 /*numEras*/,
  kZoneEraAsia_Dhaka /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Dili
// Eras: 2
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAsia_Dili[] ACE_TIME_PROGMEM = {
  //             8:00    -    %z    2000 Sep 17  0:00
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    32 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -100 /*untilYearTiny*/,
    9 /*untilMonth*/,
    17 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             9:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    36 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Dili[] ACE_TIME_PROGMEM = "\x05" "Dili";

const extended::Info::ZoneInfo kZoneAsia_Dili ACE_TIME_PROGMEM = {
  kZoneNameAsia_Dili /*name*/,
  0x1fa8c394 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  2 /*numEras*/,
  kZoneEraAsia_Dili /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Dubai
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAsia_Dubai[] ACE_TIME_PROGMEM = {
  //             4:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Dubai[] ACE_TIME_PROGMEM = "\x05" "Dubai";

const extended::Info::ZoneInfo kZoneAsia_Dubai ACE_TIME_PROGMEM = {
  kZoneNameAsia_Dubai /*name*/,
  0x14c79f77 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Dubai /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Dushanbe
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAsia_Dushanbe[] ACE_TIME_PROGMEM = {
  //             5:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    20 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Dushanbe[] ACE_TIME_PROGMEM = "\x05" "Dushanbe";

const extended::Info::ZoneInfo kZoneAsia_Dushanbe ACE_TIME_PROGMEM = {
  kZoneNameAsia_Dushanbe /*name*/,
  0x32fc5c3c /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Dushanbe /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Famagusta
// Eras: 3
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAsia_Famagusta[] ACE_TIME_PROGMEM = {
  //             2:00    EUAsia    EE%sT    2016 Sep  8
  {
    &kZonePolicyEUAsia /*zonePolicy*/,
    "EE%T" /*format*/,
    8 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -84 /*untilYearTiny*/,
    9 /*untilMonth*/,
    8 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             3:00    -    %z    2017 Oct 29 1:00u
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -83 /*untilYearTiny*/,
    10 /*untilMonth*/,
    29 /*untilDay*/,
    4 /*untilTimeCode*/,
    32 /*untilTimeModifier (kSuffixU + minute=0)*/,
  },
  //             2:00    EUAsia    EE%sT
  {
    &kZonePolicyEUAsia /*zonePolicy*/,
    "EE%T" /*format*/,
    8 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Famagusta[] ACE_TIME_PROGMEM = "\x05" "Famagusta";

const extended::Info::ZoneInfo kZoneAsia_Famagusta ACE_TIME_PROGMEM = {
  kZoneNameAsia_Famagusta /*name*/,
  0x289b4f8b /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  3 /*numEras*/,
  kZoneEraAsia_Famagusta /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Gaza
// Eras: 8
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAsia_Gaza[] ACE_TIME_PROGMEM = {
  //             2:00    Jordan    EE%sT    1999
  {
    &kZonePolicyJordan /*zonePolicy*/,
    "EE%T" /*format*/,
    8 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -101 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             2:00 Palestine    EE%sT    2008 Aug 29  0:00
  {
    &kZonePolicyPalestine /*zonePolicy*/,
    "EE%T" /*format*/,
    8 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -92 /*untilYearTiny*/,
    8 /*untilMonth*/,
    29 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             2:00    -    EET    2008 Sep
  {
    nullptr /*zonePolicy*/,
    "EET" /*format*/,
    8 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -92 /*untilYearTiny*/,
    9 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             2:00 Palestine    EE%sT    2010
  {
    &kZonePolicyPalestine /*zonePolicy*/,
    "EE%T" /*format*/,
    8 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -90 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             2:00    -    EET    2010 Mar 27  0:01
  {
    nullptr /*zonePolicy*/,
    "EET" /*format*/,
    8 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -90 /*untilYearTiny*/,
    3 /*untilMonth*/,
    27 /*untilDay*/,
    0 /*untilTimeCode*/,
    1 /*untilTimeModifier (kSuffixW + minute=1)*/,
  },
  //             2:00 Palestine    EE%sT    2011 Aug  1
  {
    &kZonePolicyPalestine /*zonePolicy*/,
    "EE%T" /*format*/,
    8 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -89 /*untilYearTiny*/,
    8 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             2:00    -    EET    2012
  {
    nullptr /*zonePolicy*/,
    "EET" /*format*/,
    8 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -88 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             2:00 Palestine    EE%sT
  {
    &kZonePolicyPalestine /*zonePolicy*/,
    "EE%T" /*format*/,
    8 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Gaza[] ACE_TIME_PROGMEM = "\x05" "Gaza";

const extended::Info::ZoneInfo kZoneAsia_Gaza ACE_TIME_PROGMEM = {
  kZoneNameAsia_Gaza /*name*/,
  0x1faa4875 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  8 /*numEras*/,
  kZoneEraAsia_Gaza /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Hebron
// Eras: 2
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAsia_Hebron[] ACE_TIME_PROGMEM = {
  //             2:00    Jordan    EE%sT    1999
  {
    &kZonePolicyJordan /*zonePolicy*/,
    "EE%T" /*format*/,
    8 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -101 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             2:00 Palestine    EE%sT
  {
    &kZonePolicyPalestine /*zonePolicy*/,
    "EE%T" /*format*/,
    8 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Hebron[] ACE_TIME_PROGMEM = "\x05" "Hebron";

const extended::Info::ZoneInfo kZoneAsia_Hebron ACE_TIME_PROGMEM = {
  kZoneNameAsia_Hebron /*name*/,
  0xb5eef250 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  2 /*numEras*/,
  kZoneEraAsia_Hebron /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Ho_Chi_Minh
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAsia_Ho_Chi_Minh[] ACE_TIME_PROGMEM = {
  //             7:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    28 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Ho_Chi_Minh[] ACE_TIME_PROGMEM = "\x05" "Ho_Chi_Minh";

const extended::Info::ZoneInfo kZoneAsia_Ho_Chi_Minh ACE_TIME_PROGMEM = {
  kZoneNameAsia_Ho_Chi_Minh /*name*/,
  0x20f2d127 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Ho_Chi_Minh /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Hong_Kong
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAsia_Hong_Kong[] ACE_TIME_PROGMEM = {
  //             8:00    HK    HK%sT
  {
    &kZonePolicyHK /*zonePolicy*/,
    "HK%T" /*format*/,
    32 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Hong_Kong[] ACE_TIME_PROGMEM = "\x05" "Hong_Kong";

const extended::Info::ZoneInfo kZoneAsia_Hong_Kong ACE_TIME_PROGMEM = {
  kZoneNameAsia_Hong_Kong /*name*/,
  0x577f28ac /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Hong_Kong /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Hovd
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAsia_Hovd[] ACE_TIME_PROGMEM = {
  //             7:00    Mongol    %z
  {
    &kZonePolicyMongol /*zonePolicy*/,
    "" /*format*/,
    28 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Hovd[] ACE_TIME_PROGMEM = "\x05" "Hovd";

const extended::Info::ZoneInfo kZoneAsia_Hovd ACE_TIME_PROGMEM = {
  kZoneNameAsia_Hovd /*name*/,
  0x1fab0fe3 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Hovd /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Irkutsk
// Eras: 3
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAsia_Irkutsk[] ACE_TIME_PROGMEM = {
  //              8:00    Russia    %z    2011 Mar 27  2:00s
  {
    &kZonePolicyRussia /*zonePolicy*/,
    "" /*format*/,
    32 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -89 /*untilYearTiny*/,
    3 /*untilMonth*/,
    27 /*untilDay*/,
    8 /*untilTimeCode*/,
    16 /*untilTimeModifier (kSuffixS + minute=0)*/,
  },
  //              9:00    -    %z    2014 Oct 26  2:00s
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    36 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -86 /*untilYearTiny*/,
    10 /*untilMonth*/,
    26 /*untilDay*/,
    8 /*untilTimeCode*/,
    16 /*untilTimeModifier (kSuffixS + minute=0)*/,
  },
  //              8:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    32 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Irkutsk[] ACE_TIME_PROGMEM = "\x05" "Irkutsk";

const extended::Info::ZoneInfo kZoneAsia_Irkutsk ACE_TIME_PROGMEM = {
  kZoneNameAsia_Irkutsk /*name*/,
  0xdfbf213f /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  3 /*numEras*/,
  kZoneEraAsia_Irkutsk /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Jakarta
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAsia_Jakarta[] ACE_TIME_PROGMEM = {
  //             7:00    -    WIB
  {
    nullptr /*zonePolicy*/,
    "WIB" /*format*/,
    28 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Jakarta[] ACE_TIME_PROGMEM = "\x05" "Jakarta";

const extended::Info::ZoneInfo kZoneAsia_Jakarta ACE_TIME_PROGMEM = {
  kZoneNameAsia_Jakarta /*name*/,
  0x0506ab50 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Jakarta /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Jayapura
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAsia_Jayapura[] ACE_TIME_PROGMEM = {
  //             9:00    -    WIT
  {
    nullptr /*zonePolicy*/,
    "WIT" /*format*/,
    36 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Jayapura[] ACE_TIME_PROGMEM = "\x05" "Jayapura";

const extended::Info::ZoneInfo kZoneAsia_Jayapura ACE_TIME_PROGMEM = {
  kZoneNameAsia_Jayapura /*name*/,
  0xc6833c2f /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Jayapura /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Jerusalem
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAsia_Jerusalem[] ACE_TIME_PROGMEM = {
  //             2:00    Zion    I%sT
  {
    &kZonePolicyZion /*zonePolicy*/,
    "I%T" /*format*/,
    8 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Jerusalem[] ACE_TIME_PROGMEM = "\x05" "Jerusalem";

const extended::Info::ZoneInfo kZoneAsia_Jerusalem ACE_TIME_PROGMEM = {
  kZoneNameAsia_Jerusalem /*name*/,
  0x5becd23a /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Jerusalem /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Kabul
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAsia_Kabul[] ACE_TIME_PROGMEM = {
  //             4:30    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    18 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Kabul[] ACE_TIME_PROGMEM = "\x05" "Kabul";

const extended::Info::ZoneInfo kZoneAsia_Kabul ACE_TIME_PROGMEM = {
  kZoneNameAsia_Kabul /*name*/,
  0x153b5601 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Kabul /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Kamchatka
// Eras: 3
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAsia_Kamchatka[] ACE_TIME_PROGMEM = {
  //             12:00    Russia    %z    2010 Mar 28  2:00s
  {
    &kZonePolicyRussia /*zonePolicy*/,
    "" /*format*/,
    48 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -90 /*untilYearTiny*/,
    3 /*untilMonth*/,
    28 /*untilDay*/,
    8 /*untilTimeCode*/,
    16 /*untilTimeModifier (kSuffixS + minute=0)*/,
  },
  //             11:00    Russia    %z    2011 Mar 27  2:00s
  {
    &kZonePolicyRussia /*zonePolicy*/,
    "" /*format*/,
    44 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -89 /*untilYearTiny*/,
    3 /*untilMonth*/,
    27 /*untilDay*/,
    8 /*untilTimeCode*/,
    16 /*untilTimeModifier (kSuffixS + minute=0)*/,
  },
  //             12:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    48 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Kamchatka[] ACE_TIME_PROGMEM = "\x05" "Kamchatka";

const extended::Info::ZoneInfo kZoneAsia_Kamchatka ACE_TIME_PROGMEM = {
  kZoneNameAsia_Kamchatka /*name*/,
  0x73baf9d7 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  3 /*numEras*/,
  kZoneEraAsia_Kamchatka /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Karachi
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAsia_Karachi[] ACE_TIME_PROGMEM = {
  //             5:00 Pakistan    PK%sT
  {
    &kZonePolicyPakistan /*zonePolicy*/,
    "PK%T" /*format*/,
    20 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Karachi[] ACE_TIME_PROGMEM = "\x05" "Karachi";

const extended::Info::ZoneInfo kZoneAsia_Karachi ACE_TIME_PROGMEM = {
  kZoneNameAsia_Karachi /*name*/,
  0x527f5245 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Karachi /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Kathmandu
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAsia_Kathmandu[] ACE_TIME_PROGMEM = {
  //             5:45    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    23 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Kathmandu[] ACE_TIME_PROGMEM = "\x05" "Kathmandu";

const extended::Info::ZoneInfo kZoneAsia_Kathmandu ACE_TIME_PROGMEM = {
  kZoneNameAsia_Kathmandu /*name*/,
  0x9a96ce6f /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Kathmandu /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Khandyga
// Eras: 5
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAsia_Khandyga[] ACE_TIME_PROGMEM = {
  //              9:00    Russia    %z    2004
  {
    &kZonePolicyRussia /*zonePolicy*/,
    "" /*format*/,
    36 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -96 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             10:00    Russia    %z    2011 Mar 27  2:00s
  {
    &kZonePolicyRussia /*zonePolicy*/,
    "" /*format*/,
    40 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -89 /*untilYearTiny*/,
    3 /*untilMonth*/,
    27 /*untilDay*/,
    8 /*untilTimeCode*/,
    16 /*untilTimeModifier (kSuffixS + minute=0)*/,
  },
  //             11:00    -    %z    2011 Sep 13  0:00s
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    44 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -89 /*untilYearTiny*/,
    9 /*untilMonth*/,
    13 /*untilDay*/,
    0 /*untilTimeCode*/,
    16 /*untilTimeModifier (kSuffixS + minute=0)*/,
  },
  //             10:00    -    %z    2014 Oct 26  2:00s
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    40 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -86 /*untilYearTiny*/,
    10 /*untilMonth*/,
    26 /*untilDay*/,
    8 /*untilTimeCode*/,
    16 /*untilTimeModifier (kSuffixS + minute=0)*/,
  },
  //              9:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    36 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Khandyga[] ACE_TIME_PROGMEM = "\x05" "Khandyga";

const extended::Info::ZoneInfo kZoneAsia_Khandyga ACE_TIME_PROGMEM = {
  kZoneNameAsia_Khandyga /*name*/,
  0x9685a4d9 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  5 /*numEras*/,
  kZoneEraAsia_Khandyga /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Kolkata
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAsia_Kolkata[] ACE_TIME_PROGMEM = {
  //             5:30    -    IST
  {
    nullptr /*zonePolicy*/,
    "IST" /*format*/,
    22 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Kolkata[] ACE_TIME_PROGMEM = "\x05" "Kolkata";

const extended::Info::ZoneInfo kZoneAsia_Kolkata ACE_TIME_PROGMEM = {
  kZoneNameAsia_Kolkata /*name*/,
  0x72c06cd9 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Kolkata /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Krasnoyarsk
// Eras: 3
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAsia_Krasnoyarsk[] ACE_TIME_PROGMEM = {
  //              7:00    Russia    %z    2011 Mar 27  2:00s
  {
    &kZonePolicyRussia /*zonePolicy*/,
    "" /*format*/,
    28 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -89 /*untilYearTiny*/,
    3 /*untilMonth*/,
    27 /*untilDay*/,
    8 /*untilTimeCode*/,
    16 /*untilTimeModifier (kSuffixS + minute=0)*/,
  },
  //              8:00    -    %z    2014 Oct 26  2:00s
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    32 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -86 /*untilYearTiny*/,
    10 /*untilMonth*/,
    26 /*untilDay*/,
    8 /*untilTimeCode*/,
    16 /*untilTimeModifier (kSuffixS + minute=0)*/,
  },
  //              7:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    28 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Krasnoyarsk[] ACE_TIME_PROGMEM = "\x05" "Krasnoyarsk";

const extended::Info::ZoneInfo kZoneAsia_Krasnoyarsk ACE_TIME_PROGMEM = {
  kZoneNameAsia_Krasnoyarsk /*name*/,
  0xd0376c6a /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  3 /*numEras*/,
  kZoneEraAsia_Krasnoyarsk /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Kuching
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAsia_Kuching[] ACE_TIME_PROGMEM = {
  //             8:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    32 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Kuching[] ACE_TIME_PROGMEM = "\x05" "Kuching";

const extended::Info::ZoneInfo kZoneAsia_Kuching ACE_TIME_PROGMEM = {
  kZoneNameAsia_Kuching /*name*/,
  0x801b003b /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Kuching /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Macau
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAsia_Macau[] ACE_TIME_PROGMEM = {
  //             8:00    Macau    C%sT
  {
    &kZonePolicyMacau /*zonePolicy*/,
    "C%T" /*format*/,
    32 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Macau[] ACE_TIME_PROGMEM = "\x05" "Macau";

const extended::Info::ZoneInfo kZoneAsia_Macau ACE_TIME_PROGMEM = {
  kZoneNameAsia_Macau /*name*/,
  0x155f88b9 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Macau /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Magadan
// Eras: 4
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAsia_Magadan[] ACE_TIME_PROGMEM = {
  //             11:00    Russia    %z    2011 Mar 27  2:00s
  {
    &kZonePolicyRussia /*zonePolicy*/,
    "" /*format*/,
    44 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -89 /*untilYearTiny*/,
    3 /*untilMonth*/,
    27 /*untilDay*/,
    8 /*untilTimeCode*/,
    16 /*untilTimeModifier (kSuffixS + minute=0)*/,
  },
  //             12:00    -    %z    2014 Oct 26  2:00s
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    48 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -86 /*untilYearTiny*/,
    10 /*untilMonth*/,
    26 /*untilDay*/,
    8 /*untilTimeCode*/,
    16 /*untilTimeModifier (kSuffixS + minute=0)*/,
  },
  //             10:00    -    %z    2016 Apr 24  2:00s
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    40 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -84 /*untilYearTiny*/,
    4 /*untilMonth*/,
    24 /*untilDay*/,
    8 /*untilTimeCode*/,
    16 /*untilTimeModifier (kSuffixS + minute=0)*/,
  },
  //             11:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    44 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Magadan[] ACE_TIME_PROGMEM = "\x05" "Magadan";

const extended::Info::ZoneInfo kZoneAsia_Magadan ACE_TIME_PROGMEM = {
  kZoneNameAsia_Magadan /*name*/,
  0xebacc19b /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  4 /*numEras*/,
  kZoneEraAsia_Magadan /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Makassar
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAsia_Makassar[] ACE_TIME_PROGMEM = {
  //             8:00    -    WITA
  {
    nullptr /*zonePolicy*/,
    "WITA" /*format*/,
    32 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Makassar[] ACE_TIME_PROGMEM = "\x05" "Makassar";

const extended::Info::ZoneInfo kZoneAsia_Makassar ACE_TIME_PROGMEM = {
  kZoneNameAsia_Makassar /*name*/,
  0x6aa21c85 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Makassar /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Manila
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAsia_Manila[] ACE_TIME_PROGMEM = {
  //             8:00    Phil    P%sT
  {
    &kZonePolicyPhil /*zonePolicy*/,
    "P%T" /*format*/,
    32 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Manila[] ACE_TIME_PROGMEM = "\x05" "Manila";

const extended::Info::ZoneInfo kZoneAsia_Manila ACE_TIME_PROGMEM = {
  kZoneNameAsia_Manila /*name*/,
  0xc156c944 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Manila /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Nicosia
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAsia_Nicosia[] ACE_TIME_PROGMEM = {
  //             2:00    EUAsia    EE%sT
  {
    &kZonePolicyEUAsia /*zonePolicy*/,
    "EE%T" /*format*/,
    8 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Nicosia[] ACE_TIME_PROGMEM = "\x05" "Nicosia";

const extended::Info::ZoneInfo kZoneAsia_Nicosia ACE_TIME_PROGMEM = {
  kZoneNameAsia_Nicosia /*name*/,
  0x4b0fcf78 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Nicosia /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Novokuznetsk
// Eras: 3
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAsia_Novokuznetsk[] ACE_TIME_PROGMEM = {
  //              7:00    Russia    %z    2010 Mar 28  2:00s
  {
    &kZonePolicyRussia /*zonePolicy*/,
    "" /*format*/,
    28 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -90 /*untilYearTiny*/,
    3 /*untilMonth*/,
    28 /*untilDay*/,
    8 /*untilTimeCode*/,
    16 /*untilTimeModifier (kSuffixS + minute=0)*/,
  },
  //              6:00    Russia    %z    2011 Mar 27  2:00s
  {
    &kZonePolicyRussia /*zonePolicy*/,
    "" /*format*/,
    24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -89 /*untilYearTiny*/,
    3 /*untilMonth*/,
    27 /*untilDay*/,
    8 /*untilTimeCode*/,
    16 /*untilTimeModifier (kSuffixS + minute=0)*/,
  },
  //              7:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    28 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Novokuznetsk[] ACE_TIME_PROGMEM = "\x05" "Novokuznetsk";

const extended::Info::ZoneInfo kZoneAsia_Novokuznetsk ACE_TIME_PROGMEM = {
  kZoneNameAsia_Novokuznetsk /*name*/,
  0x69264f93 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  3 /*numEras*/,
  kZoneEraAsia_Novokuznetsk /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Novosibirsk
// Eras: 4
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAsia_Novosibirsk[] ACE_TIME_PROGMEM = {
  //              6:00    Russia    %z    2011 Mar 27  2:00s
  {
    &kZonePolicyRussia /*zonePolicy*/,
    "" /*format*/,
    24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -89 /*untilYearTiny*/,
    3 /*untilMonth*/,
    27 /*untilDay*/,
    8 /*untilTimeCode*/,
    16 /*untilTimeModifier (kSuffixS + minute=0)*/,
  },
  //              7:00    -    %z    2014 Oct 26  2:00s
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    28 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -86 /*untilYearTiny*/,
    10 /*untilMonth*/,
    26 /*untilDay*/,
    8 /*untilTimeCode*/,
    16 /*untilTimeModifier (kSuffixS + minute=0)*/,
  },
  //              6:00    -    %z    2016 Jul 24  2:00s
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -84 /*untilYearTiny*/,
    7 /*untilMonth*/,
    24 /*untilDay*/,
    8 /*untilTimeCode*/,
    16 /*untilTimeModifier (kSuffixS + minute=0)*/,
  },
  //              7:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    28 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Novosibirsk[] ACE_TIME_PROGMEM = "\x05" "Novosibirsk";

const extended::Info::ZoneInfo kZoneAsia_Novosibirsk ACE_TIME_PROGMEM = {
  kZoneNameAsia_Novosibirsk /*name*/,
  0xa2a435cb /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  4 /*numEras*/,
  kZoneEraAsia_Novosibirsk /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Omsk
// Eras: 3
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAsia_Omsk[] ACE_TIME_PROGMEM = {
  //              6:00    Russia    %z    2011 Mar 27  2:00s
  {
    &kZonePolicyRussia /*zonePolicy*/,
    "" /*format*/,
    24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -89 /*untilYearTiny*/,
    3 /*untilMonth*/,
    27 /*untilDay*/,
    8 /*untilTimeCode*/,
    16 /*untilTimeModifier (kSuffixS + minute=0)*/,
  },
  //              7:00    -    %z    2014 Oct 26  2:00s
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    28 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -86 /*untilYearTiny*/,
    10 /*untilMonth*/,
    26 /*untilDay*/,
    8 /*untilTimeCode*/,
    16 /*untilTimeModifier (kSuffixS + minute=0)*/,
  },
  //              6:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Omsk[] ACE_TIME_PROGMEM = "\x05" "Omsk";

const extended::Info::ZoneInfo kZoneAsia_Omsk ACE_TIME_PROGMEM = {
  kZoneNameAsia_Omsk /*name*/,
  0x1faeddac /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  3 /*numEras*/,
  kZoneEraAsia_Omsk /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Oral
// Eras: 2
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAsia_Oral[] ACE_TIME_PROGMEM = {
  //             4:00 RussiaAsia    %z    2004 Oct 31  2:00s
  {
    &kZonePolicyRussiaAsia /*zonePolicy*/,
    "" /*format*/,
    16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -96 /*untilYearTiny*/,
    10 /*untilMonth*/,
    31 /*untilDay*/,
    8 /*untilTimeCode*/,
    16 /*untilTimeModifier (kSuffixS + minute=0)*/,
  },
  //             5:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    20 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Oral[] ACE_TIME_PROGMEM = "\x05" "Oral";

const extended::Info::ZoneInfo kZoneAsia_Oral ACE_TIME_PROGMEM = {
  kZoneNameAsia_Oral /*name*/,
  0x1faef0a0 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  2 /*numEras*/,
  kZoneEraAsia_Oral /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Pontianak
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAsia_Pontianak[] ACE_TIME_PROGMEM = {
  //             7:00    -    WIB
  {
    nullptr /*zonePolicy*/,
    "WIB" /*format*/,
    28 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Pontianak[] ACE_TIME_PROGMEM = "\x05" "Pontianak";

const extended::Info::ZoneInfo kZoneAsia_Pontianak ACE_TIME_PROGMEM = {
  kZoneNameAsia_Pontianak /*name*/,
  0x1a76c057 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Pontianak /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Pyongyang
// Eras: 3
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAsia_Pyongyang[] ACE_TIME_PROGMEM = {
  //             9:00    -    KST    2015 Aug 15 00:00
  {
    nullptr /*zonePolicy*/,
    "KST" /*format*/,
    36 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -85 /*untilYearTiny*/,
    8 /*untilMonth*/,
    15 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             8:30    -    KST    2018 May  4 23:30
  {
    nullptr /*zonePolicy*/,
    "KST" /*format*/,
    34 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -82 /*untilYearTiny*/,
    5 /*untilMonth*/,
    4 /*untilDay*/,
    94 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             9:00    -    KST
  {
    nullptr /*zonePolicy*/,
    "KST" /*format*/,
    36 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Pyongyang[] ACE_TIME_PROGMEM = "\x05" "Pyongyang";

const extended::Info::ZoneInfo kZoneAsia_Pyongyang ACE_TIME_PROGMEM = {
  kZoneNameAsia_Pyongyang /*name*/,
  0x93ed1c8e /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  3 /*numEras*/,
  kZoneEraAsia_Pyongyang /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Qatar
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAsia_Qatar[] ACE_TIME_PROGMEM = {
  //             3:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Qatar[] ACE_TIME_PROGMEM = "\x05" "Qatar";

const extended::Info::ZoneInfo kZoneAsia_Qatar ACE_TIME_PROGMEM = {
  kZoneNameAsia_Qatar /*name*/,
  0x15a8330b /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Qatar /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Qostanay
// Eras: 3
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAsia_Qostanay[] ACE_TIME_PROGMEM = {
  //             5:00 RussiaAsia    %z    2004 Oct 31  2:00s
  {
    &kZonePolicyRussiaAsia /*zonePolicy*/,
    "" /*format*/,
    20 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -96 /*untilYearTiny*/,
    10 /*untilMonth*/,
    31 /*untilDay*/,
    8 /*untilTimeCode*/,
    16 /*untilTimeModifier (kSuffixS + minute=0)*/,
  },
  //             6:00    -    %z    2024 Mar  1  0:00
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -76 /*untilYearTiny*/,
    3 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             5:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    20 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Qostanay[] ACE_TIME_PROGMEM = "\x05" "Qostanay";

const extended::Info::ZoneInfo kZoneAsia_Qostanay ACE_TIME_PROGMEM = {
  kZoneNameAsia_Qostanay /*name*/,
  0x654fe522 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  3 /*numEras*/,
  kZoneEraAsia_Qostanay /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Qyzylorda
// Eras: 3
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAsia_Qyzylorda[] ACE_TIME_PROGMEM = {
  //             5:00 RussiaAsia    %z    2004 Oct 31  2:00s
  {
    &kZonePolicyRussiaAsia /*zonePolicy*/,
    "" /*format*/,
    20 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -96 /*untilYearTiny*/,
    10 /*untilMonth*/,
    31 /*untilDay*/,
    8 /*untilTimeCode*/,
    16 /*untilTimeModifier (kSuffixS + minute=0)*/,
  },
  //             6:00    -    %z    2018 Dec 21  0:00
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -82 /*untilYearTiny*/,
    12 /*untilMonth*/,
    21 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             5:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    20 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Qyzylorda[] ACE_TIME_PROGMEM = "\x05" "Qyzylorda";

const extended::Info::ZoneInfo kZoneAsia_Qyzylorda ACE_TIME_PROGMEM = {
  kZoneNameAsia_Qyzylorda /*name*/,
  0x71282e81 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  3 /*numEras*/,
  kZoneEraAsia_Qyzylorda /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Riyadh
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAsia_Riyadh[] ACE_TIME_PROGMEM = {
  //             3:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Riyadh[] ACE_TIME_PROGMEM = "\x05" "Riyadh";

const extended::Info::ZoneInfo kZoneAsia_Riyadh ACE_TIME_PROGMEM = {
  kZoneNameAsia_Riyadh /*name*/,
  0xcd973d93 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Riyadh /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Sakhalin
// Eras: 4
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAsia_Sakhalin[] ACE_TIME_PROGMEM = {
  //             10:00    Russia    %z    2011 Mar 27  2:00s
  {
    &kZonePolicyRussia /*zonePolicy*/,
    "" /*format*/,
    40 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -89 /*untilYearTiny*/,
    3 /*untilMonth*/,
    27 /*untilDay*/,
    8 /*untilTimeCode*/,
    16 /*untilTimeModifier (kSuffixS + minute=0)*/,
  },
  //             11:00    -    %z    2014 Oct 26  2:00s
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    44 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -86 /*untilYearTiny*/,
    10 /*untilMonth*/,
    26 /*untilDay*/,
    8 /*untilTimeCode*/,
    16 /*untilTimeModifier (kSuffixS + minute=0)*/,
  },
  //             10:00    -    %z    2016 Mar 27  2:00s
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    40 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -84 /*untilYearTiny*/,
    3 /*untilMonth*/,
    27 /*untilDay*/,
    8 /*untilTimeCode*/,
    16 /*untilTimeModifier (kSuffixS + minute=0)*/,
  },
  //             11:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    44 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Sakhalin[] ACE_TIME_PROGMEM = "\x05" "Sakhalin";

const extended::Info::ZoneInfo kZoneAsia_Sakhalin ACE_TIME_PROGMEM = {
  kZoneNameAsia_Sakhalin /*name*/,
  0xf4a1c9bd /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  4 /*numEras*/,
  kZoneEraAsia_Sakhalin /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Samarkand
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAsia_Samarkand[] ACE_TIME_PROGMEM = {
  //             5:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    20 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Samarkand[] ACE_TIME_PROGMEM = "\x05" "Samarkand";

const extended::Info::ZoneInfo kZoneAsia_Samarkand ACE_TIME_PROGMEM = {
  kZoneNameAsia_Samarkand /*name*/,
  0x13ae5104 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Samarkand /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Seoul
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAsia_Seoul[] ACE_TIME_PROGMEM = {
  //             9:00    ROK    K%sT
  {
    &kZonePolicyROK /*zonePolicy*/,
    "K%T" /*format*/,
    36 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Seoul[] ACE_TIME_PROGMEM = "\x05" "Seoul";

const extended::Info::ZoneInfo kZoneAsia_Seoul ACE_TIME_PROGMEM = {
  kZoneNameAsia_Seoul /*name*/,
  0x15ce82da /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Seoul /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Shanghai
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAsia_Shanghai[] ACE_TIME_PROGMEM = {
  //             8:00    PRC    C%sT
  {
    &kZonePolicyPRC /*zonePolicy*/,
    "C%T" /*format*/,
    32 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Shanghai[] ACE_TIME_PROGMEM = "\x05" "Shanghai";

const extended::Info::ZoneInfo kZoneAsia_Shanghai ACE_TIME_PROGMEM = {
  kZoneNameAsia_Shanghai /*name*/,
  0xf895a7f5 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Shanghai /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Singapore
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAsia_Singapore[] ACE_TIME_PROGMEM = {
  //             8:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    32 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Singapore[] ACE_TIME_PROGMEM = "\x05" "Singapore";

const extended::Info::ZoneInfo kZoneAsia_Singapore ACE_TIME_PROGMEM = {
  kZoneNameAsia_Singapore /*name*/,
  0xcf8581fa /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Singapore /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Srednekolymsk
// Eras: 3
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAsia_Srednekolymsk[] ACE_TIME_PROGMEM = {
  //             11:00    Russia    %z    2011 Mar 27  2:00s
  {
    &kZonePolicyRussia /*zonePolicy*/,
    "" /*format*/,
    44 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -89 /*untilYearTiny*/,
    3 /*untilMonth*/,
    27 /*untilDay*/,
    8 /*untilTimeCode*/,
    16 /*untilTimeModifier (kSuffixS + minute=0)*/,
  },
  //             12:00    -    %z    2014 Oct 26  2:00s
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    48 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -86 /*untilYearTiny*/,
    10 /*untilMonth*/,
    26 /*untilDay*/,
    8 /*untilTimeCode*/,
    16 /*untilTimeModifier (kSuffixS + minute=0)*/,
  },
  //             11:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    44 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Srednekolymsk[] ACE_TIME_PROGMEM = "\x05" "Srednekolymsk";

const extended::Info::ZoneInfo kZoneAsia_Srednekolymsk ACE_TIME_PROGMEM = {
  kZoneNameAsia_Srednekolymsk /*name*/,
  0xbf8e337d /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  3 /*numEras*/,
  kZoneEraAsia_Srednekolymsk /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Taipei
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAsia_Taipei[] ACE_TIME_PROGMEM = {
  //             8:00    Taiwan    C%sT
  {
    &kZonePolicyTaiwan /*zonePolicy*/,
    "C%T" /*format*/,
    32 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Taipei[] ACE_TIME_PROGMEM = "\x05" "Taipei";

const extended::Info::ZoneInfo kZoneAsia_Taipei ACE_TIME_PROGMEM = {
  kZoneNameAsia_Taipei /*name*/,
  0xd1a844ae /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Taipei /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Tashkent
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAsia_Tashkent[] ACE_TIME_PROGMEM = {
  //             5:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    20 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Tashkent[] ACE_TIME_PROGMEM = "\x05" "Tashkent";

const extended::Info::ZoneInfo kZoneAsia_Tashkent ACE_TIME_PROGMEM = {
  kZoneNameAsia_Tashkent /*name*/,
  0xf3924254 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Tashkent /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Tbilisi
// Eras: 3
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAsia_Tbilisi[] ACE_TIME_PROGMEM = {
  //             4:00 E-EurAsia    %z    2004 Jun 27
  {
    &kZonePolicyE_EurAsia /*zonePolicy*/,
    "" /*format*/,
    16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -96 /*untilYearTiny*/,
    6 /*untilMonth*/,
    27 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             3:00 RussiaAsia    %z    2005 Mar lastSun  2:00
  {
    &kZonePolicyRussiaAsia /*zonePolicy*/,
    "" /*format*/,
    12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -95 /*untilYearTiny*/,
    3 /*untilMonth*/,
    27 /*untilDay*/,
    8 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             4:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Tbilisi[] ACE_TIME_PROGMEM = "\x05" "Tbilisi";

const extended::Info::ZoneInfo kZoneAsia_Tbilisi ACE_TIME_PROGMEM = {
  kZoneNameAsia_Tbilisi /*name*/,
  0x0903e442 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  3 /*numEras*/,
  kZoneEraAsia_Tbilisi /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Tehran
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAsia_Tehran[] ACE_TIME_PROGMEM = {
  //             3:30    Iran    %z
  {
    &kZonePolicyIran /*zonePolicy*/,
    "" /*format*/,
    14 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Tehran[] ACE_TIME_PROGMEM = "\x05" "Tehran";

const extended::Info::ZoneInfo kZoneAsia_Tehran ACE_TIME_PROGMEM = {
  kZoneNameAsia_Tehran /*name*/,
  0xd1f02254 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Tehran /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Thimphu
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAsia_Thimphu[] ACE_TIME_PROGMEM = {
  //             6:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Thimphu[] ACE_TIME_PROGMEM = "\x05" "Thimphu";

const extended::Info::ZoneInfo kZoneAsia_Thimphu ACE_TIME_PROGMEM = {
  kZoneNameAsia_Thimphu /*name*/,
  0x170380d1 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Thimphu /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Tokyo
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAsia_Tokyo[] ACE_TIME_PROGMEM = {
  //             9:00    Japan    J%sT
  {
    &kZonePolicyJapan /*zonePolicy*/,
    "J%T" /*format*/,
    36 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Tokyo[] ACE_TIME_PROGMEM = "\x05" "Tokyo";

const extended::Info::ZoneInfo kZoneAsia_Tokyo ACE_TIME_PROGMEM = {
  kZoneNameAsia_Tokyo /*name*/,
  0x15e606a8 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Tokyo /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Tomsk
// Eras: 5
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAsia_Tomsk[] ACE_TIME_PROGMEM = {
  //              7:00    Russia    %z    2002 May  1  3:00
  {
    &kZonePolicyRussia /*zonePolicy*/,
    "" /*format*/,
    28 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -98 /*untilYearTiny*/,
    5 /*untilMonth*/,
    1 /*untilDay*/,
    12 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //              6:00    Russia    %z    2011 Mar 27  2:00s
  {
    &kZonePolicyRussia /*zonePolicy*/,
    "" /*format*/,
    24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -89 /*untilYearTiny*/,
    3 /*untilMonth*/,
    27 /*untilDay*/,
    8 /*untilTimeCode*/,
    16 /*untilTimeModifier (kSuffixS + minute=0)*/,
  },
  //              7:00    -    %z    2014 Oct 26  2:00s
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    28 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -86 /*untilYearTiny*/,
    10 /*untilMonth*/,
    26 /*untilDay*/,
    8 /*untilTimeCode*/,
    16 /*untilTimeModifier (kSuffixS + minute=0)*/,
  },
  //              6:00    -    %z    2016 May 29  2:00s
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -84 /*untilYearTiny*/,
    5 /*untilMonth*/,
    29 /*untilDay*/,
    8 /*untilTimeCode*/,
    16 /*untilTimeModifier (kSuffixS + minute=0)*/,
  },
  //              7:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    28 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Tomsk[] ACE_TIME_PROGMEM = "\x05" "Tomsk";

const extended::Info::ZoneInfo kZoneAsia_Tomsk ACE_TIME_PROGMEM = {
  kZoneNameAsia_Tomsk /*name*/,
  0x15e60e60 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  5 /*numEras*/,
  kZoneEraAsia_Tomsk /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Ulaanbaatar
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAsia_Ulaanbaatar[] ACE_TIME_PROGMEM = {
  //             8:00    Mongol    %z
  {
    &kZonePolicyMongol /*zonePolicy*/,
    "" /*format*/,
    32 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Ulaanbaatar[] ACE_TIME_PROGMEM = "\x05" "Ulaanbaatar";

const extended::Info::ZoneInfo kZoneAsia_Ulaanbaatar ACE_TIME_PROGMEM = {
  kZoneNameAsia_Ulaanbaatar /*name*/,
  0x30f0cc4e /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Ulaanbaatar /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Urumqi
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAsia_Urumqi[] ACE_TIME_PROGMEM = {
  //             6:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Urumqi[] ACE_TIME_PROGMEM = "\x05" "Urumqi";

const extended::Info::ZoneInfo kZoneAsia_Urumqi ACE_TIME_PROGMEM = {
  kZoneNameAsia_Urumqi /*name*/,
  0xd5379735 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Urumqi /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Ust-Nera
// Eras: 4
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAsia_Ust_Nera[] ACE_TIME_PROGMEM = {
  //             11:00    Russia    %z    2011 Mar 27  2:00s
  {
    &kZonePolicyRussia /*zonePolicy*/,
    "" /*format*/,
    44 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -89 /*untilYearTiny*/,
    3 /*untilMonth*/,
    27 /*untilDay*/,
    8 /*untilTimeCode*/,
    16 /*untilTimeModifier (kSuffixS + minute=0)*/,
  },
  //             12:00    -    %z    2011 Sep 13  0:00s
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    48 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -89 /*untilYearTiny*/,
    9 /*untilMonth*/,
    13 /*untilDay*/,
    0 /*untilTimeCode*/,
    16 /*untilTimeModifier (kSuffixS + minute=0)*/,
  },
  //             11:00    -    %z    2014 Oct 26  2:00s
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    44 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -86 /*untilYearTiny*/,
    10 /*untilMonth*/,
    26 /*untilDay*/,
    8 /*untilTimeCode*/,
    16 /*untilTimeModifier (kSuffixS + minute=0)*/,
  },
  //             10:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    40 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Ust_Nera[] ACE_TIME_PROGMEM = "\x05" "Ust-Nera";

const extended::Info::ZoneInfo kZoneAsia_Ust_Nera ACE_TIME_PROGMEM = {
  kZoneNameAsia_Ust_Nera /*name*/,
  0x4785f921 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  4 /*numEras*/,
  kZoneEraAsia_Ust_Nera /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Vladivostok
// Eras: 3
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAsia_Vladivostok[] ACE_TIME_PROGMEM = {
  //             10:00    Russia    %z    2011 Mar 27  2:00s
  {
    &kZonePolicyRussia /*zonePolicy*/,
    "" /*format*/,
    40 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -89 /*untilYearTiny*/,
    3 /*untilMonth*/,
    27 /*untilDay*/,
    8 /*untilTimeCode*/,
    16 /*untilTimeModifier (kSuffixS + minute=0)*/,
  },
  //             11:00    -    %z    2014 Oct 26  2:00s
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    44 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -86 /*untilYearTiny*/,
    10 /*untilMonth*/,
    26 /*untilDay*/,
    8 /*untilTimeCode*/,
    16 /*untilTimeModifier (kSuffixS + minute=0)*/,
  },
  //             10:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    40 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Vladivostok[] ACE_TIME_PROGMEM = "\x05" "Vladivostok";

const extended::Info::ZoneInfo kZoneAsia_Vladivostok ACE_TIME_PROGMEM = {
  kZoneNameAsia_Vladivostok /*name*/,
  0x29de34a8 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  3 /*numEras*/,
  kZoneEraAsia_Vladivostok /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Yakutsk
// Eras: 3
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAsia_Yakutsk[] ACE_TIME_PROGMEM = {
  //              9:00    Russia    %z    2011 Mar 27  2:00s
  {
    &kZonePolicyRussia /*zonePolicy*/,
    "" /*format*/,
    36 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -89 /*untilYearTiny*/,
    3 /*untilMonth*/,
    27 /*untilDay*/,
    8 /*untilTimeCode*/,
    16 /*untilTimeModifier (kSuffixS + minute=0)*/,
  },
  //             10:00    -    %z    2014 Oct 26  2:00s
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    40 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -86 /*untilYearTiny*/,
    10 /*untilMonth*/,
    26 /*untilDay*/,
    8 /*untilTimeCode*/,
    16 /*untilTimeModifier (kSuffixS + minute=0)*/,
  },
  //              9:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    36 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Yakutsk[] ACE_TIME_PROGMEM = "\x05" "Yakutsk";

const extended::Info::ZoneInfo kZoneAsia_Yakutsk ACE_TIME_PROGMEM = {
  kZoneNameAsia_Yakutsk /*name*/,
  0x87bb3a9e /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  3 /*numEras*/,
  kZoneEraAsia_Yakutsk /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Yangon
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAsia_Yangon[] ACE_TIME_PROGMEM = {
  //             6:30    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    26 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Yangon[] ACE_TIME_PROGMEM = "\x05" "Yangon";

const extended::Info::ZoneInfo kZoneAsia_Yangon ACE_TIME_PROGMEM = {
  kZoneNameAsia_Yangon /*name*/,
  0xdd54a8be /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Yangon /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Yekaterinburg
// Eras: 3
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAsia_Yekaterinburg[] ACE_TIME_PROGMEM = {
  //              5:00    Russia    %z    2011 Mar 27  2:00s
  {
    &kZonePolicyRussia /*zonePolicy*/,
    "" /*format*/,
    20 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -89 /*untilYearTiny*/,
    3 /*untilMonth*/,
    27 /*untilDay*/,
    8 /*untilTimeCode*/,
    16 /*untilTimeModifier (kSuffixS + minute=0)*/,
  },
  //              6:00    -    %z    2014 Oct 26  2:00s
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -86 /*untilYearTiny*/,
    10 /*untilMonth*/,
    26 /*untilDay*/,
    8 /*untilTimeCode*/,
    16 /*untilTimeModifier (kSuffixS + minute=0)*/,
  },
  //              5:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    20 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Yekaterinburg[] ACE_TIME_PROGMEM = "\x05" "Yekaterinburg";

const extended::Info::ZoneInfo kZoneAsia_Yekaterinburg ACE_TIME_PROGMEM = {
  kZoneNameAsia_Yekaterinburg /*name*/,
  0xfb544c6e /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  3 /*numEras*/,
  kZoneEraAsia_Yekaterinburg /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Asia/Yerevan
// Eras: 2
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAsia_Yerevan[] ACE_TIME_PROGMEM = {
  //             4:00 RussiaAsia    %z    2011
  {
    &kZonePolicyRussiaAsia /*zonePolicy*/,
    "" /*format*/,
    16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -89 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             4:00    Armenia    %z
  {
    &kZonePolicyArmenia /*zonePolicy*/,
    "" /*format*/,
    16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAsia_Yerevan[] ACE_TIME_PROGMEM = "\x05" "Yerevan";

const extended::Info::ZoneInfo kZoneAsia_Yerevan ACE_TIME_PROGMEM = {
  kZoneNameAsia_Yerevan /*name*/,
  0x9185c8cc /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  2 /*numEras*/,
  kZoneEraAsia_Yerevan /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Atlantic/Azores
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAtlantic_Azores[] ACE_TIME_PROGMEM = {
  //             -1:00    EU    %z
  {
    &kZonePolicyEU /*zonePolicy*/,
    "" /*format*/,
    -4 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAtlantic_Azores[] ACE_TIME_PROGMEM = "\x06" "Azores";

const extended::Info::ZoneInfo kZoneAtlantic_Azores ACE_TIME_PROGMEM = {
  kZoneNameAtlantic_Azores /*name*/,
  0xf93ed918 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAtlantic_Azores /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Atlantic/Bermuda
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAtlantic_Bermuda[] ACE_TIME_PROGMEM = {
  //             -4:00    US    A%sT
  {
    &kZonePolicyUS /*zonePolicy*/,
    "A%T" /*format*/,
    -16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAtlantic_Bermuda[] ACE_TIME_PROGMEM = "\x06" "Bermuda";

const extended::Info::ZoneInfo kZoneAtlantic_Bermuda ACE_TIME_PROGMEM = {
  kZoneNameAtlantic_Bermuda /*name*/,
  0x3d4bb1c4 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAtlantic_Bermuda /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Atlantic/Canary
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAtlantic_Canary[] ACE_TIME_PROGMEM = {
  //              0:00    EU    WE%sT
  {
    &kZonePolicyEU /*zonePolicy*/,
    "WE%T" /*format*/,
    0 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAtlantic_Canary[] ACE_TIME_PROGMEM = "\x06" "Canary";

const extended::Info::ZoneInfo kZoneAtlantic_Canary ACE_TIME_PROGMEM = {
  kZoneNameAtlantic_Canary /*name*/,
  0xfc23f2c2 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAtlantic_Canary /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Atlantic/Cape_Verde
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAtlantic_Cape_Verde[] ACE_TIME_PROGMEM = {
  //             -1:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -4 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAtlantic_Cape_Verde[] ACE_TIME_PROGMEM = "\x06" "Cape_Verde";

const extended::Info::ZoneInfo kZoneAtlantic_Cape_Verde ACE_TIME_PROGMEM = {
  kZoneNameAtlantic_Cape_Verde /*name*/,
  0x5c5e1772 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAtlantic_Cape_Verde /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Atlantic/Faroe
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAtlantic_Faroe[] ACE_TIME_PROGMEM = {
  //              0:00    EU    WE%sT
  {
    &kZonePolicyEU /*zonePolicy*/,
    "WE%T" /*format*/,
    0 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAtlantic_Faroe[] ACE_TIME_PROGMEM = "\x06" "Faroe";

const extended::Info::ZoneInfo kZoneAtlantic_Faroe ACE_TIME_PROGMEM = {
  kZoneNameAtlantic_Faroe /*name*/,
  0xe110a971 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAtlantic_Faroe /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Atlantic/Madeira
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAtlantic_Madeira[] ACE_TIME_PROGMEM = {
  //              0:00    EU    WE%sT
  {
    &kZonePolicyEU /*zonePolicy*/,
    "WE%T" /*format*/,
    0 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAtlantic_Madeira[] ACE_TIME_PROGMEM = "\x06" "Madeira";

const extended::Info::ZoneInfo kZoneAtlantic_Madeira ACE_TIME_PROGMEM = {
  kZoneNameAtlantic_Madeira /*name*/,
  0x81b5c037 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAtlantic_Madeira /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Atlantic/South_Georgia
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAtlantic_South_Georgia[] ACE_TIME_PROGMEM = {
  //             -2:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -8 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAtlantic_South_Georgia[] ACE_TIME_PROGMEM = "\x06" "South_Georgia";

const extended::Info::ZoneInfo kZoneAtlantic_South_Georgia ACE_TIME_PROGMEM = {
  kZoneNameAtlantic_South_Georgia /*name*/,
  0x33013174 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAtlantic_South_Georgia /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Atlantic/Stanley
// Eras: 2
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAtlantic_Stanley[] ACE_TIME_PROGMEM = {
  //             -4:00    Falk    %z    2010 Sep  5  2:00
  {
    &kZonePolicyFalk /*zonePolicy*/,
    "" /*format*/,
    -16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -90 /*untilYearTiny*/,
    9 /*untilMonth*/,
    5 /*untilDay*/,
    8 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             -3:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAtlantic_Stanley[] ACE_TIME_PROGMEM = "\x06" "Stanley";

const extended::Info::ZoneInfo kZoneAtlantic_Stanley ACE_TIME_PROGMEM = {
  kZoneNameAtlantic_Stanley /*name*/,
  0x7bb3e1c4 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  2 /*numEras*/,
  kZoneEraAtlantic_Stanley /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Australia/Adelaide
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAustralia_Adelaide[] ACE_TIME_PROGMEM = {
  //             9:30    AS    AC%sT
  {
    &kZonePolicyAS /*zonePolicy*/,
    "AC%T" /*format*/,
    38 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAustralia_Adelaide[] ACE_TIME_PROGMEM = "\x07" "Adelaide";

const extended::Info::ZoneInfo kZoneAustralia_Adelaide ACE_TIME_PROGMEM = {
  kZoneNameAustralia_Adelaide /*name*/,
  0x2428e8a3 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAustralia_Adelaide /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Australia/Brisbane
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAustralia_Brisbane[] ACE_TIME_PROGMEM = {
  //             10:00    AQ    AE%sT
  {
    &kZonePolicyAQ /*zonePolicy*/,
    "AE%T" /*format*/,
    40 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAustralia_Brisbane[] ACE_TIME_PROGMEM = "\x07" "Brisbane";

const extended::Info::ZoneInfo kZoneAustralia_Brisbane ACE_TIME_PROGMEM = {
  kZoneNameAustralia_Brisbane /*name*/,
  0x4fedc9c0 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAustralia_Brisbane /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Australia/Broken_Hill
// Eras: 2
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAustralia_Broken_Hill[] ACE_TIME_PROGMEM = {
  //             9:30    AN    AC%sT    2000
  {
    &kZonePolicyAN /*zonePolicy*/,
    "AC%T" /*format*/,
    38 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -100 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             9:30    AS    AC%sT
  {
    &kZonePolicyAS /*zonePolicy*/,
    "AC%T" /*format*/,
    38 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAustralia_Broken_Hill[] ACE_TIME_PROGMEM = "\x07" "Broken_Hill";

const extended::Info::ZoneInfo kZoneAustralia_Broken_Hill ACE_TIME_PROGMEM = {
  kZoneNameAustralia_Broken_Hill /*name*/,
  0xb06eada3 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  2 /*numEras*/,
  kZoneEraAustralia_Broken_Hill /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Australia/Darwin
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAustralia_Darwin[] ACE_TIME_PROGMEM = {
  //              9:30    Aus    AC%sT
  {
    &kZonePolicyAus /*zonePolicy*/,
    "AC%T" /*format*/,
    38 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAustralia_Darwin[] ACE_TIME_PROGMEM = "\x07" "Darwin";

const extended::Info::ZoneInfo kZoneAustralia_Darwin ACE_TIME_PROGMEM = {
  kZoneNameAustralia_Darwin /*name*/,
  0x2876bdff /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAustralia_Darwin /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Australia/Eucla
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAustralia_Eucla[] ACE_TIME_PROGMEM = {
  //              8:45    AW    %z
  {
    &kZonePolicyAW /*zonePolicy*/,
    "" /*format*/,
    35 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAustralia_Eucla[] ACE_TIME_PROGMEM = "\x07" "Eucla";

const extended::Info::ZoneInfo kZoneAustralia_Eucla ACE_TIME_PROGMEM = {
  kZoneNameAustralia_Eucla /*name*/,
  0x8cf99e44 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAustralia_Eucla /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Australia/Hobart
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAustralia_Hobart[] ACE_TIME_PROGMEM = {
  //             10:00    AT    AE%sT
  {
    &kZonePolicyAT /*zonePolicy*/,
    "AE%T" /*format*/,
    40 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAustralia_Hobart[] ACE_TIME_PROGMEM = "\x07" "Hobart";

const extended::Info::ZoneInfo kZoneAustralia_Hobart ACE_TIME_PROGMEM = {
  kZoneNameAustralia_Hobart /*name*/,
  0x32bf951a /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAustralia_Hobart /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Australia/Lindeman
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAustralia_Lindeman[] ACE_TIME_PROGMEM = {
  //             10:00    Holiday    AE%sT
  {
    &kZonePolicyHoliday /*zonePolicy*/,
    "AE%T" /*format*/,
    40 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAustralia_Lindeman[] ACE_TIME_PROGMEM = "\x07" "Lindeman";

const extended::Info::ZoneInfo kZoneAustralia_Lindeman ACE_TIME_PROGMEM = {
  kZoneNameAustralia_Lindeman /*name*/,
  0xe05029e2 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAustralia_Lindeman /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Australia/Lord_Howe
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAustralia_Lord_Howe[] ACE_TIME_PROGMEM = {
  //             10:30    LH    %z
  {
    &kZonePolicyLH /*zonePolicy*/,
    "" /*format*/,
    42 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAustralia_Lord_Howe[] ACE_TIME_PROGMEM = "\x07" "Lord_Howe";

const extended::Info::ZoneInfo kZoneAustralia_Lord_Howe ACE_TIME_PROGMEM = {
  kZoneNameAustralia_Lord_Howe /*name*/,
  0xa748b67d /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAustralia_Lord_Howe /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Australia/Melbourne
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAustralia_Melbourne[] ACE_TIME_PROGMEM = {
  //             10:00    AV    AE%sT
  {
    &kZonePolicyAV /*zonePolicy*/,
    "AE%T" /*format*/,
    40 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAustralia_Melbourne[] ACE_TIME_PROGMEM = "\x07" "Melbourne";

const extended::Info::ZoneInfo kZoneAustralia_Melbourne ACE_TIME_PROGMEM = {
  kZoneNameAustralia_Melbourne /*name*/,
  0x0fe559a3 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAustralia_Melbourne /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Australia/Perth
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAustralia_Perth[] ACE_TIME_PROGMEM = {
  //              8:00    AW    AW%sT
  {
    &kZonePolicyAW /*zonePolicy*/,
    "AW%T" /*format*/,
    32 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAustralia_Perth[] ACE_TIME_PROGMEM = "\x07" "Perth";

const extended::Info::ZoneInfo kZoneAustralia_Perth ACE_TIME_PROGMEM = {
  kZoneNameAustralia_Perth /*name*/,
  0x8db8269d /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAustralia_Perth /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Australia/Sydney
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraAustralia_Sydney[] ACE_TIME_PROGMEM = {
  //             10:00    AN    AE%sT
  {
    &kZonePolicyAN /*zonePolicy*/,
    "AE%T" /*format*/,
    40 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameAustralia_Sydney[] ACE_TIME_PROGMEM = "\x07" "Sydney";

const extended::Info::ZoneInfo kZoneAustralia_Sydney ACE_TIME_PROGMEM = {
  kZoneNameAustralia_Sydney /*name*/,
  0x4d1e9776 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAustralia_Sydney /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Etc/GMT
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraEtc_GMT[] ACE_TIME_PROGMEM = {
  // 0 - GMT
  {
    nullptr /*zonePolicy*/,
    "GMT" /*format*/,
    0 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEtc_GMT[] ACE_TIME_PROGMEM = "\x0a" "GMT";

const extended::Info::ZoneInfo kZoneEtc_GMT ACE_TIME_PROGMEM = {
  kZoneNameEtc_GMT /*name*/,
  0xd8e2de58 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEtc_GMT /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Etc/GMT+1
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraEtc_GMT_PLUS_1[] ACE_TIME_PROGMEM = {
  // -1 - %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -4 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEtc_GMT_PLUS_1[] ACE_TIME_PROGMEM = "\x0a" "GMT+1";

const extended::Info::ZoneInfo kZoneEtc_GMT_PLUS_1 ACE_TIME_PROGMEM = {
  kZoneNameEtc_GMT_PLUS_1 /*name*/,
  0x9d13da14 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEtc_GMT_PLUS_1 /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Etc/GMT+10
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraEtc_GMT_PLUS_10[] ACE_TIME_PROGMEM = {
  // -10 - %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -40 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEtc_GMT_PLUS_10[] ACE_TIME_PROGMEM = "\x0a" "GMT+10";

const extended::Info::ZoneInfo kZoneEtc_GMT_PLUS_10 ACE_TIME_PROGMEM = {
  kZoneNameEtc_GMT_PLUS_10 /*name*/,
  0x3f8f1cc4 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEtc_GMT_PLUS_10 /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Etc/GMT+11
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraEtc_GMT_PLUS_11[] ACE_TIME_PROGMEM = {
  // -11 - %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -44 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEtc_GMT_PLUS_11[] ACE_TIME_PROGMEM = "\x0a" "GMT+11";

const extended::Info::ZoneInfo kZoneEtc_GMT_PLUS_11 ACE_TIME_PROGMEM = {
  kZoneNameEtc_GMT_PLUS_11 /*name*/,
  0x3f8f1cc5 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEtc_GMT_PLUS_11 /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Etc/GMT+12
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraEtc_GMT_PLUS_12[] ACE_TIME_PROGMEM = {
  // -12 - %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -48 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEtc_GMT_PLUS_12[] ACE_TIME_PROGMEM = "\x0a" "GMT+12";

const extended::Info::ZoneInfo kZoneEtc_GMT_PLUS_12 ACE_TIME_PROGMEM = {
  kZoneNameEtc_GMT_PLUS_12 /*name*/,
  0x3f8f1cc6 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEtc_GMT_PLUS_12 /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Etc/GMT+2
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraEtc_GMT_PLUS_2[] ACE_TIME_PROGMEM = {
  // -2 - %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -8 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEtc_GMT_PLUS_2[] ACE_TIME_PROGMEM = "\x0a" "GMT+2";

const extended::Info::ZoneInfo kZoneEtc_GMT_PLUS_2 ACE_TIME_PROGMEM = {
  kZoneNameEtc_GMT_PLUS_2 /*name*/,
  0x9d13da15 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEtc_GMT_PLUS_2 /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Etc/GMT+3
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraEtc_GMT_PLUS_3[] ACE_TIME_PROGMEM = {
  // -3 - %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEtc_GMT_PLUS_3[] ACE_TIME_PROGMEM = "\x0a" "GMT+3";

const extended::Info::ZoneInfo kZoneEtc_GMT_PLUS_3 ACE_TIME_PROGMEM = {
  kZoneNameEtc_GMT_PLUS_3 /*name*/,
  0x9d13da16 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEtc_GMT_PLUS_3 /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Etc/GMT+4
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraEtc_GMT_PLUS_4[] ACE_TIME_PROGMEM = {
  // -4 - %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEtc_GMT_PLUS_4[] ACE_TIME_PROGMEM = "\x0a" "GMT+4";

const extended::Info::ZoneInfo kZoneEtc_GMT_PLUS_4 ACE_TIME_PROGMEM = {
  kZoneNameEtc_GMT_PLUS_4 /*name*/,
  0x9d13da17 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEtc_GMT_PLUS_4 /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Etc/GMT+5
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraEtc_GMT_PLUS_5[] ACE_TIME_PROGMEM = {
  // -5 - %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -20 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEtc_GMT_PLUS_5[] ACE_TIME_PROGMEM = "\x0a" "GMT+5";

const extended::Info::ZoneInfo kZoneEtc_GMT_PLUS_5 ACE_TIME_PROGMEM = {
  kZoneNameEtc_GMT_PLUS_5 /*name*/,
  0x9d13da18 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEtc_GMT_PLUS_5 /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Etc/GMT+6
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraEtc_GMT_PLUS_6[] ACE_TIME_PROGMEM = {
  // -6 - %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEtc_GMT_PLUS_6[] ACE_TIME_PROGMEM = "\x0a" "GMT+6";

const extended::Info::ZoneInfo kZoneEtc_GMT_PLUS_6 ACE_TIME_PROGMEM = {
  kZoneNameEtc_GMT_PLUS_6 /*name*/,
  0x9d13da19 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEtc_GMT_PLUS_6 /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Etc/GMT+7
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraEtc_GMT_PLUS_7[] ACE_TIME_PROGMEM = {
  // -7 - %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -28 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEtc_GMT_PLUS_7[] ACE_TIME_PROGMEM = "\x0a" "GMT+7";

const extended::Info::ZoneInfo kZoneEtc_GMT_PLUS_7 ACE_TIME_PROGMEM = {
  kZoneNameEtc_GMT_PLUS_7 /*name*/,
  0x9d13da1a /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEtc_GMT_PLUS_7 /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Etc/GMT+8
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraEtc_GMT_PLUS_8[] ACE_TIME_PROGMEM = {
  // -8 - %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -32 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEtc_GMT_PLUS_8[] ACE_TIME_PROGMEM = "\x0a" "GMT+8";

const extended::Info::ZoneInfo kZoneEtc_GMT_PLUS_8 ACE_TIME_PROGMEM = {
  kZoneNameEtc_GMT_PLUS_8 /*name*/,
  0x9d13da1b /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEtc_GMT_PLUS_8 /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Etc/GMT+9
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraEtc_GMT_PLUS_9[] ACE_TIME_PROGMEM = {
  // -9 - %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -36 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEtc_GMT_PLUS_9[] ACE_TIME_PROGMEM = "\x0a" "GMT+9";

const extended::Info::ZoneInfo kZoneEtc_GMT_PLUS_9 ACE_TIME_PROGMEM = {
  kZoneNameEtc_GMT_PLUS_9 /*name*/,
  0x9d13da1c /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEtc_GMT_PLUS_9 /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Etc/GMT-1
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraEtc_GMT_1[] ACE_TIME_PROGMEM = {
  // 1 - %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    4 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEtc_GMT_1[] ACE_TIME_PROGMEM = "\x0a" "GMT-1";

const extended::Info::ZoneInfo kZoneEtc_GMT_1 ACE_TIME_PROGMEM = {
  kZoneNameEtc_GMT_1 /*name*/,
  0x9d13da56 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEtc_GMT_1 /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Etc/GMT-10
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraEtc_GMT_10[] ACE_TIME_PROGMEM = {
  // 10 - %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    40 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEtc_GMT_10[] ACE_TIME_PROGMEM = "\x0a" "GMT-10";

const extended::Info::ZoneInfo kZoneEtc_GMT_10 ACE_TIME_PROGMEM = {
  kZoneNameEtc_GMT_10 /*name*/,
  0x3f8f2546 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEtc_GMT_10 /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Etc/GMT-11
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraEtc_GMT_11[] ACE_TIME_PROGMEM = {
  // 11 - %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    44 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEtc_GMT_11[] ACE_TIME_PROGMEM = "\x0a" "GMT-11";

const extended::Info::ZoneInfo kZoneEtc_GMT_11 ACE_TIME_PROGMEM = {
  kZoneNameEtc_GMT_11 /*name*/,
  0x3f8f2547 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEtc_GMT_11 /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Etc/GMT-12
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraEtc_GMT_12[] ACE_TIME_PROGMEM = {
  // 12 - %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    48 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEtc_GMT_12[] ACE_TIME_PROGMEM = "\x0a" "GMT-12";

const extended::Info::ZoneInfo kZoneEtc_GMT_12 ACE_TIME_PROGMEM = {
  kZoneNameEtc_GMT_12 /*name*/,
  0x3f8f2548 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEtc_GMT_12 /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Etc/GMT-13
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraEtc_GMT_13[] ACE_TIME_PROGMEM = {
  // 13 - %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    52 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEtc_GMT_13[] ACE_TIME_PROGMEM = "\x0a" "GMT-13";

const extended::Info::ZoneInfo kZoneEtc_GMT_13 ACE_TIME_PROGMEM = {
  kZoneNameEtc_GMT_13 /*name*/,
  0x3f8f2549 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEtc_GMT_13 /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Etc/GMT-14
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraEtc_GMT_14[] ACE_TIME_PROGMEM = {
  // 14 - %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    56 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEtc_GMT_14[] ACE_TIME_PROGMEM = "\x0a" "GMT-14";

const extended::Info::ZoneInfo kZoneEtc_GMT_14 ACE_TIME_PROGMEM = {
  kZoneNameEtc_GMT_14 /*name*/,
  0x3f8f254a /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEtc_GMT_14 /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Etc/GMT-2
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraEtc_GMT_2[] ACE_TIME_PROGMEM = {
  // 2 - %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    8 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEtc_GMT_2[] ACE_TIME_PROGMEM = "\x0a" "GMT-2";

const extended::Info::ZoneInfo kZoneEtc_GMT_2 ACE_TIME_PROGMEM = {
  kZoneNameEtc_GMT_2 /*name*/,
  0x9d13da57 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEtc_GMT_2 /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Etc/GMT-3
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraEtc_GMT_3[] ACE_TIME_PROGMEM = {
  // 3 - %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEtc_GMT_3[] ACE_TIME_PROGMEM = "\x0a" "GMT-3";

const extended::Info::ZoneInfo kZoneEtc_GMT_3 ACE_TIME_PROGMEM = {
  kZoneNameEtc_GMT_3 /*name*/,
  0x9d13da58 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEtc_GMT_3 /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Etc/GMT-4
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraEtc_GMT_4[] ACE_TIME_PROGMEM = {
  // 4 - %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEtc_GMT_4[] ACE_TIME_PROGMEM = "\x0a" "GMT-4";

const extended::Info::ZoneInfo kZoneEtc_GMT_4 ACE_TIME_PROGMEM = {
  kZoneNameEtc_GMT_4 /*name*/,
  0x9d13da59 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEtc_GMT_4 /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Etc/GMT-5
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraEtc_GMT_5[] ACE_TIME_PROGMEM = {
  // 5 - %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    20 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEtc_GMT_5[] ACE_TIME_PROGMEM = "\x0a" "GMT-5";

const extended::Info::ZoneInfo kZoneEtc_GMT_5 ACE_TIME_PROGMEM = {
  kZoneNameEtc_GMT_5 /*name*/,
  0x9d13da5a /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEtc_GMT_5 /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Etc/GMT-6
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraEtc_GMT_6[] ACE_TIME_PROGMEM = {
  // 6 - %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEtc_GMT_6[] ACE_TIME_PROGMEM = "\x0a" "GMT-6";

const extended::Info::ZoneInfo kZoneEtc_GMT_6 ACE_TIME_PROGMEM = {
  kZoneNameEtc_GMT_6 /*name*/,
  0x9d13da5b /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEtc_GMT_6 /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Etc/GMT-7
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraEtc_GMT_7[] ACE_TIME_PROGMEM = {
  // 7 - %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    28 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEtc_GMT_7[] ACE_TIME_PROGMEM = "\x0a" "GMT-7";

const extended::Info::ZoneInfo kZoneEtc_GMT_7 ACE_TIME_PROGMEM = {
  kZoneNameEtc_GMT_7 /*name*/,
  0x9d13da5c /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEtc_GMT_7 /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Etc/GMT-8
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraEtc_GMT_8[] ACE_TIME_PROGMEM = {
  // 8 - %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    32 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEtc_GMT_8[] ACE_TIME_PROGMEM = "\x0a" "GMT-8";

const extended::Info::ZoneInfo kZoneEtc_GMT_8 ACE_TIME_PROGMEM = {
  kZoneNameEtc_GMT_8 /*name*/,
  0x9d13da5d /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEtc_GMT_8 /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Etc/GMT-9
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraEtc_GMT_9[] ACE_TIME_PROGMEM = {
  // 9 - %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    36 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEtc_GMT_9[] ACE_TIME_PROGMEM = "\x0a" "GMT-9";

const extended::Info::ZoneInfo kZoneEtc_GMT_9 ACE_TIME_PROGMEM = {
  kZoneNameEtc_GMT_9 /*name*/,
  0x9d13da5e /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEtc_GMT_9 /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Etc/UTC
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraEtc_UTC[] ACE_TIME_PROGMEM = {
  // 0 - UTC
  {
    nullptr /*zonePolicy*/,
    "UTC" /*format*/,
    0 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEtc_UTC[] ACE_TIME_PROGMEM = "\x0a" "UTC";

const extended::Info::ZoneInfo kZoneEtc_UTC ACE_TIME_PROGMEM = {
  kZoneNameEtc_UTC /*name*/,
  0xd8e31abc /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEtc_UTC /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Europe/Andorra
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraEurope_Andorra[] ACE_TIME_PROGMEM = {
  //             1:00    EU    CE%sT
  {
    &kZonePolicyEU /*zonePolicy*/,
    "CE%T" /*format*/,
    4 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEurope_Andorra[] ACE_TIME_PROGMEM = "\x0b" "Andorra";

const extended::Info::ZoneInfo kZoneEurope_Andorra ACE_TIME_PROGMEM = {
  kZoneNameEurope_Andorra /*name*/,
  0x97f6764b /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Andorra /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Europe/Astrakhan
// Eras: 4
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraEurope_Astrakhan[] ACE_TIME_PROGMEM = {
  //              3:00    Russia    %z    2011 Mar 27  2:00s
  {
    &kZonePolicyRussia /*zonePolicy*/,
    "" /*format*/,
    12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -89 /*untilYearTiny*/,
    3 /*untilMonth*/,
    27 /*untilDay*/,
    8 /*untilTimeCode*/,
    16 /*untilTimeModifier (kSuffixS + minute=0)*/,
  },
  //              4:00    -    %z    2014 Oct 26  2:00s
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -86 /*untilYearTiny*/,
    10 /*untilMonth*/,
    26 /*untilDay*/,
    8 /*untilTimeCode*/,
    16 /*untilTimeModifier (kSuffixS + minute=0)*/,
  },
  //              3:00    -    %z    2016 Mar 27  2:00s
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -84 /*untilYearTiny*/,
    3 /*untilMonth*/,
    27 /*untilDay*/,
    8 /*untilTimeCode*/,
    16 /*untilTimeModifier (kSuffixS + minute=0)*/,
  },
  //              4:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEurope_Astrakhan[] ACE_TIME_PROGMEM = "\x0b" "Astrakhan";

const extended::Info::ZoneInfo kZoneEurope_Astrakhan ACE_TIME_PROGMEM = {
  kZoneNameEurope_Astrakhan /*name*/,
  0xe22256e1 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  4 /*numEras*/,
  kZoneEraEurope_Astrakhan /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Europe/Athens
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraEurope_Athens[] ACE_TIME_PROGMEM = {
  //             2:00    EU    EE%sT
  {
    &kZonePolicyEU /*zonePolicy*/,
    "EE%T" /*format*/,
    8 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEurope_Athens[] ACE_TIME_PROGMEM = "\x0b" "Athens";

const extended::Info::ZoneInfo kZoneEurope_Athens ACE_TIME_PROGMEM = {
  kZoneNameEurope_Athens /*name*/,
  0x4318fa27 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Athens /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Europe/Belgrade
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraEurope_Belgrade[] ACE_TIME_PROGMEM = {
  //             1:00    EU    CE%sT
  {
    &kZonePolicyEU /*zonePolicy*/,
    "CE%T" /*format*/,
    4 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEurope_Belgrade[] ACE_TIME_PROGMEM = "\x0b" "Belgrade";

const extended::Info::ZoneInfo kZoneEurope_Belgrade ACE_TIME_PROGMEM = {
  kZoneNameEurope_Belgrade /*name*/,
  0xe0532b3a /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Belgrade /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Europe/Berlin
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraEurope_Berlin[] ACE_TIME_PROGMEM = {
  //             1:00    EU    CE%sT
  {
    &kZonePolicyEU /*zonePolicy*/,
    "CE%T" /*format*/,
    4 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEurope_Berlin[] ACE_TIME_PROGMEM = "\x0b" "Berlin";

const extended::Info::ZoneInfo kZoneEurope_Berlin ACE_TIME_PROGMEM = {
  kZoneNameEurope_Berlin /*name*/,
  0x44644c20 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Berlin /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Europe/Brussels
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraEurope_Brussels[] ACE_TIME_PROGMEM = {
  //             1:00    EU    CE%sT
  {
    &kZonePolicyEU /*zonePolicy*/,
    "CE%T" /*format*/,
    4 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEurope_Brussels[] ACE_TIME_PROGMEM = "\x0b" "Brussels";

const extended::Info::ZoneInfo kZoneEurope_Brussels ACE_TIME_PROGMEM = {
  kZoneNameEurope_Brussels /*name*/,
  0xdee07337 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Brussels /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Europe/Bucharest
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraEurope_Bucharest[] ACE_TIME_PROGMEM = {
  //             2:00    EU    EE%sT
  {
    &kZonePolicyEU /*zonePolicy*/,
    "EE%T" /*format*/,
    8 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEurope_Bucharest[] ACE_TIME_PROGMEM = "\x0b" "Bucharest";

const extended::Info::ZoneInfo kZoneEurope_Bucharest ACE_TIME_PROGMEM = {
  kZoneNameEurope_Bucharest /*name*/,
  0xfb349ec5 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Bucharest /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Europe/Budapest
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraEurope_Budapest[] ACE_TIME_PROGMEM = {
  //             1:00    EU    CE%sT
  {
    &kZonePolicyEU /*zonePolicy*/,
    "CE%T" /*format*/,
    4 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEurope_Budapest[] ACE_TIME_PROGMEM = "\x0b" "Budapest";

const extended::Info::ZoneInfo kZoneEurope_Budapest ACE_TIME_PROGMEM = {
  kZoneNameEurope_Budapest /*name*/,
  0x9ce0197c /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Budapest /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Europe/Chisinau
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraEurope_Chisinau[] ACE_TIME_PROGMEM = {
  //             2:00    Moldova    EE%sT
  {
    &kZonePolicyMoldova /*zonePolicy*/,
    "EE%T" /*format*/,
    8 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEurope_Chisinau[] ACE_TIME_PROGMEM = "\x0b" "Chisinau";

const extended::Info::ZoneInfo kZoneEurope_Chisinau ACE_TIME_PROGMEM = {
  kZoneNameEurope_Chisinau /*name*/,
  0xad58aa18 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Chisinau /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Europe/Dublin
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraEurope_Dublin[] ACE_TIME_PROGMEM = {
  //              1:00    Eire    IST/GMT
  {
    &kZonePolicyEire /*zonePolicy*/,
    "IST/GMT" /*format*/,
    4 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEurope_Dublin[] ACE_TIME_PROGMEM = "\x0b" "Dublin";

const extended::Info::ZoneInfo kZoneEurope_Dublin ACE_TIME_PROGMEM = {
  kZoneNameEurope_Dublin /*name*/,
  0x4a275f62 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Dublin /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Europe/Gibraltar
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraEurope_Gibraltar[] ACE_TIME_PROGMEM = {
  //             1:00    EU    CE%sT
  {
    &kZonePolicyEU /*zonePolicy*/,
    "CE%T" /*format*/,
    4 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEurope_Gibraltar[] ACE_TIME_PROGMEM = "\x0b" "Gibraltar";

const extended::Info::ZoneInfo kZoneEurope_Gibraltar ACE_TIME_PROGMEM = {
  kZoneNameEurope_Gibraltar /*name*/,
  0xf8e325fc /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Gibraltar /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Europe/Helsinki
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraEurope_Helsinki[] ACE_TIME_PROGMEM = {
  //             2:00    EU    EE%sT
  {
    &kZonePolicyEU /*zonePolicy*/,
    "EE%T" /*format*/,
    8 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEurope_Helsinki[] ACE_TIME_PROGMEM = "\x0b" "Helsinki";

const extended::Info::ZoneInfo kZoneEurope_Helsinki ACE_TIME_PROGMEM = {
  kZoneNameEurope_Helsinki /*name*/,
  0x6ab2975b /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Helsinki /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Europe/Istanbul
// Eras: 9
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraEurope_Istanbul[] ACE_TIME_PROGMEM = {
  //             2:00    Turkey    EE%sT    2007
  {
    &kZonePolicyTurkey /*zonePolicy*/,
    "EE%T" /*format*/,
    8 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -93 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             2:00    EU    EE%sT    2011 Mar 27  1:00u
  {
    &kZonePolicyEU /*zonePolicy*/,
    "EE%T" /*format*/,
    8 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -89 /*untilYearTiny*/,
    3 /*untilMonth*/,
    27 /*untilDay*/,
    4 /*untilTimeCode*/,
    32 /*untilTimeModifier (kSuffixU + minute=0)*/,
  },
  //             2:00    -    EET    2011 Mar 28  1:00u
  {
    nullptr /*zonePolicy*/,
    "EET" /*format*/,
    8 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -89 /*untilYearTiny*/,
    3 /*untilMonth*/,
    28 /*untilDay*/,
    4 /*untilTimeCode*/,
    32 /*untilTimeModifier (kSuffixU + minute=0)*/,
  },
  //             2:00    EU    EE%sT    2014 Mar 30  1:00u
  {
    &kZonePolicyEU /*zonePolicy*/,
    "EE%T" /*format*/,
    8 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -86 /*untilYearTiny*/,
    3 /*untilMonth*/,
    30 /*untilDay*/,
    4 /*untilTimeCode*/,
    32 /*untilTimeModifier (kSuffixU + minute=0)*/,
  },
  //             2:00    -    EET    2014 Mar 31  1:00u
  {
    nullptr /*zonePolicy*/,
    "EET" /*format*/,
    8 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -86 /*untilYearTiny*/,
    3 /*untilMonth*/,
    31 /*untilDay*/,
    4 /*untilTimeCode*/,
    32 /*untilTimeModifier (kSuffixU + minute=0)*/,
  },
  //             2:00    EU    EE%sT    2015 Oct 25  1:00u
  {
    &kZonePolicyEU /*zonePolicy*/,
    "EE%T" /*format*/,
    8 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -85 /*untilYearTiny*/,
    10 /*untilMonth*/,
    25 /*untilDay*/,
    4 /*untilTimeCode*/,
    32 /*untilTimeModifier (kSuffixU + minute=0)*/,
  },
  //             2:00    1:00    EEST    2015 Nov  8  1:00u
  {
    nullptr /*zonePolicy*/,
    "EEST" /*format*/,
    8 /*offsetCode*/,
    8 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=60)/15 + 4))*/,
    -85 /*untilYearTiny*/,
    11 /*untilMonth*/,
    8 /*untilDay*/,
    4 /*untilTimeCode*/,
    32 /*untilTimeModifier (kSuffixU + minute=0)*/,
  },
  //             2:00    EU    EE%sT    2016 Sep  7
  {
    &kZonePolicyEU /*zonePolicy*/,
    "EE%T" /*format*/,
    8 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -84 /*untilYearTiny*/,
    9 /*untilMonth*/,
    7 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             3:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEurope_Istanbul[] ACE_TIME_PROGMEM = "\x0b" "Istanbul";

const extended::Info::ZoneInfo kZoneEurope_Istanbul ACE_TIME_PROGMEM = {
  kZoneNameEurope_Istanbul /*name*/,
  0x9e09d6e6 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  9 /*numEras*/,
  kZoneEraEurope_Istanbul /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Europe/Kaliningrad
// Eras: 3
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraEurope_Kaliningrad[] ACE_TIME_PROGMEM = {
  //              2:00    Russia    EE%sT    2011 Mar 27  2:00s
  {
    &kZonePolicyRussia /*zonePolicy*/,
    "EE%T" /*format*/,
    8 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -89 /*untilYearTiny*/,
    3 /*untilMonth*/,
    27 /*untilDay*/,
    8 /*untilTimeCode*/,
    16 /*untilTimeModifier (kSuffixS + minute=0)*/,
  },
  //              3:00    -    %z    2014 Oct 26  2:00s
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -86 /*untilYearTiny*/,
    10 /*untilMonth*/,
    26 /*untilDay*/,
    8 /*untilTimeCode*/,
    16 /*untilTimeModifier (kSuffixS + minute=0)*/,
  },
  //              2:00    -    EET
  {
    nullptr /*zonePolicy*/,
    "EET" /*format*/,
    8 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEurope_Kaliningrad[] ACE_TIME_PROGMEM = "\x0b" "Kaliningrad";

const extended::Info::ZoneInfo kZoneEurope_Kaliningrad ACE_TIME_PROGMEM = {
  kZoneNameEurope_Kaliningrad /*name*/,
  0xd33b2f28 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  3 /*numEras*/,
  kZoneEraEurope_Kaliningrad /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Europe/Kirov
// Eras: 3
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraEurope_Kirov[] ACE_TIME_PROGMEM = {
  //              3:00    Russia    MSK/MSD    2011 Mar 27  2:00s
  {
    &kZonePolicyRussia /*zonePolicy*/,
    "MSK/MSD" /*format*/,
    12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -89 /*untilYearTiny*/,
    3 /*untilMonth*/,
    27 /*untilDay*/,
    8 /*untilTimeCode*/,
    16 /*untilTimeModifier (kSuffixS + minute=0)*/,
  },
  //              4:00    -    MSK    2014 Oct 26  2:00s
  {
    nullptr /*zonePolicy*/,
    "MSK" /*format*/,
    16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -86 /*untilYearTiny*/,
    10 /*untilMonth*/,
    26 /*untilDay*/,
    8 /*untilTimeCode*/,
    16 /*untilTimeModifier (kSuffixS + minute=0)*/,
  },
  //              3:00    -    MSK
  {
    nullptr /*zonePolicy*/,
    "MSK" /*format*/,
    12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEurope_Kirov[] ACE_TIME_PROGMEM = "\x0b" "Kirov";

const extended::Info::ZoneInfo kZoneEurope_Kirov ACE_TIME_PROGMEM = {
  kZoneNameEurope_Kirov /*name*/,
  0xfaf5abef /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  3 /*numEras*/,
  kZoneEraEurope_Kirov /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Europe/Kyiv
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraEurope_Kyiv[] ACE_TIME_PROGMEM = {
  //             2:00    EU    EE%sT
  {
    &kZonePolicyEU /*zonePolicy*/,
    "EE%T" /*format*/,
    8 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEurope_Kyiv[] ACE_TIME_PROGMEM = "\x0b" "Kyiv";

const extended::Info::ZoneInfo kZoneEurope_Kyiv ACE_TIME_PROGMEM = {
  kZoneNameEurope_Kyiv /*name*/,
  0xa2c1e347 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Kyiv /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Europe/Lisbon
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraEurope_Lisbon[] ACE_TIME_PROGMEM = {
  //              0:00    EU    WE%sT
  {
    &kZonePolicyEU /*zonePolicy*/,
    "WE%T" /*format*/,
    0 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEurope_Lisbon[] ACE_TIME_PROGMEM = "\x0b" "Lisbon";

const extended::Info::ZoneInfo kZoneEurope_Lisbon ACE_TIME_PROGMEM = {
  kZoneNameEurope_Lisbon /*name*/,
  0x5c00a70b /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Lisbon /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Europe/London
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraEurope_London[] ACE_TIME_PROGMEM = {
  //              0:00    EU    GMT/BST
  {
    &kZonePolicyEU /*zonePolicy*/,
    "GMT/BST" /*format*/,
    0 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEurope_London[] ACE_TIME_PROGMEM = "\x0b" "London";

const extended::Info::ZoneInfo kZoneEurope_London ACE_TIME_PROGMEM = {
  kZoneNameEurope_London /*name*/,
  0x5c6a84ae /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_London /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Europe/Madrid
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraEurope_Madrid[] ACE_TIME_PROGMEM = {
  //              1:00    EU    CE%sT
  {
    &kZonePolicyEU /*zonePolicy*/,
    "CE%T" /*format*/,
    4 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEurope_Madrid[] ACE_TIME_PROGMEM = "\x0b" "Madrid";

const extended::Info::ZoneInfo kZoneEurope_Madrid ACE_TIME_PROGMEM = {
  kZoneNameEurope_Madrid /*name*/,
  0x5dbd1535 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Madrid /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Europe/Malta
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraEurope_Malta[] ACE_TIME_PROGMEM = {
  //             1:00    EU    CE%sT
  {
    &kZonePolicyEU /*zonePolicy*/,
    "CE%T" /*format*/,
    4 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEurope_Malta[] ACE_TIME_PROGMEM = "\x0b" "Malta";

const extended::Info::ZoneInfo kZoneEurope_Malta ACE_TIME_PROGMEM = {
  kZoneNameEurope_Malta /*name*/,
  0xfb1560f3 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Malta /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Europe/Minsk
// Eras: 2
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraEurope_Minsk[] ACE_TIME_PROGMEM = {
  //             2:00    Russia    EE%sT    2011 Mar 27  2:00s
  {
    &kZonePolicyRussia /*zonePolicy*/,
    "EE%T" /*format*/,
    8 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -89 /*untilYearTiny*/,
    3 /*untilMonth*/,
    27 /*untilDay*/,
    8 /*untilTimeCode*/,
    16 /*untilTimeModifier (kSuffixS + minute=0)*/,
  },
  //             3:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEurope_Minsk[] ACE_TIME_PROGMEM = "\x0b" "Minsk";

const extended::Info::ZoneInfo kZoneEurope_Minsk ACE_TIME_PROGMEM = {
  kZoneNameEurope_Minsk /*name*/,
  0xfb19cc66 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  2 /*numEras*/,
  kZoneEraEurope_Minsk /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Europe/Moscow
// Eras: 3
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraEurope_Moscow[] ACE_TIME_PROGMEM = {
  //              3:00    Russia    MSK/MSD    2011 Mar 27  2:00s
  {
    &kZonePolicyRussia /*zonePolicy*/,
    "MSK/MSD" /*format*/,
    12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -89 /*untilYearTiny*/,
    3 /*untilMonth*/,
    27 /*untilDay*/,
    8 /*untilTimeCode*/,
    16 /*untilTimeModifier (kSuffixS + minute=0)*/,
  },
  //              4:00    -    MSK    2014 Oct 26  2:00s
  {
    nullptr /*zonePolicy*/,
    "MSK" /*format*/,
    16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -86 /*untilYearTiny*/,
    10 /*untilMonth*/,
    26 /*untilDay*/,
    8 /*untilTimeCode*/,
    16 /*untilTimeModifier (kSuffixS + minute=0)*/,
  },
  //              3:00    -    MSK
  {
    nullptr /*zonePolicy*/,
    "MSK" /*format*/,
    12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEurope_Moscow[] ACE_TIME_PROGMEM = "\x0b" "Moscow";

const extended::Info::ZoneInfo kZoneEurope_Moscow ACE_TIME_PROGMEM = {
  kZoneNameEurope_Moscow /*name*/,
  0x5ec266fc /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  3 /*numEras*/,
  kZoneEraEurope_Moscow /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Europe/Paris
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraEurope_Paris[] ACE_TIME_PROGMEM = {
  //             1:00    EU    CE%sT
  {
    &kZonePolicyEU /*zonePolicy*/,
    "CE%T" /*format*/,
    4 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEurope_Paris[] ACE_TIME_PROGMEM = "\x0b" "Paris";

const extended::Info::ZoneInfo kZoneEurope_Paris ACE_TIME_PROGMEM = {
  kZoneNameEurope_Paris /*name*/,
  0xfb4bc2a3 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Paris /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Europe/Prague
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraEurope_Prague[] ACE_TIME_PROGMEM = {
  //             1:00    EU    CE%sT
  {
    &kZonePolicyEU /*zonePolicy*/,
    "CE%T" /*format*/,
    4 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEurope_Prague[] ACE_TIME_PROGMEM = "\x0b" "Prague";

const extended::Info::ZoneInfo kZoneEurope_Prague ACE_TIME_PROGMEM = {
  kZoneNameEurope_Prague /*name*/,
  0x65ee5d48 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Prague /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Europe/Riga
// Eras: 3
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraEurope_Riga[] ACE_TIME_PROGMEM = {
  //             2:00    EU    EE%sT    2000 Feb 29
  {
    &kZonePolicyEU /*zonePolicy*/,
    "EE%T" /*format*/,
    8 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -100 /*untilYearTiny*/,
    2 /*untilMonth*/,
    29 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             2:00    -    EET    2001 Jan  2
  {
    nullptr /*zonePolicy*/,
    "EET" /*format*/,
    8 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -99 /*untilYearTiny*/,
    1 /*untilMonth*/,
    2 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             2:00    EU    EE%sT
  {
    &kZonePolicyEU /*zonePolicy*/,
    "EE%T" /*format*/,
    8 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEurope_Riga[] ACE_TIME_PROGMEM = "\x0b" "Riga";

const extended::Info::ZoneInfo kZoneEurope_Riga ACE_TIME_PROGMEM = {
  kZoneNameEurope_Riga /*name*/,
  0xa2c57587 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  3 /*numEras*/,
  kZoneEraEurope_Riga /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Europe/Rome
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraEurope_Rome[] ACE_TIME_PROGMEM = {
  //             1:00    EU    CE%sT
  {
    &kZonePolicyEU /*zonePolicy*/,
    "CE%T" /*format*/,
    4 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEurope_Rome[] ACE_TIME_PROGMEM = "\x0b" "Rome";

const extended::Info::ZoneInfo kZoneEurope_Rome ACE_TIME_PROGMEM = {
  kZoneNameEurope_Rome /*name*/,
  0xa2c58fd7 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Rome /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Europe/Samara
// Eras: 3
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraEurope_Samara[] ACE_TIME_PROGMEM = {
  //              4:00    Russia    %z    2010 Mar 28  2:00s
  {
    &kZonePolicyRussia /*zonePolicy*/,
    "" /*format*/,
    16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -90 /*untilYearTiny*/,
    3 /*untilMonth*/,
    28 /*untilDay*/,
    8 /*untilTimeCode*/,
    16 /*untilTimeModifier (kSuffixS + minute=0)*/,
  },
  //              3:00    Russia    %z    2011 Mar 27  2:00s
  {
    &kZonePolicyRussia /*zonePolicy*/,
    "" /*format*/,
    12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -89 /*untilYearTiny*/,
    3 /*untilMonth*/,
    27 /*untilDay*/,
    8 /*untilTimeCode*/,
    16 /*untilTimeModifier (kSuffixS + minute=0)*/,
  },
  //              4:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEurope_Samara[] ACE_TIME_PROGMEM = "\x0b" "Samara";

const extended::Info::ZoneInfo kZoneEurope_Samara ACE_TIME_PROGMEM = {
  kZoneNameEurope_Samara /*name*/,
  0x6bc0b139 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  3 /*numEras*/,
  kZoneEraEurope_Samara /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Europe/Saratov
// Eras: 4
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraEurope_Saratov[] ACE_TIME_PROGMEM = {
  //              3:00    Russia    %z    2011 Mar 27  2:00s
  {
    &kZonePolicyRussia /*zonePolicy*/,
    "" /*format*/,
    12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -89 /*untilYearTiny*/,
    3 /*untilMonth*/,
    27 /*untilDay*/,
    8 /*untilTimeCode*/,
    16 /*untilTimeModifier (kSuffixS + minute=0)*/,
  },
  //              4:00    -    %z    2014 Oct 26  2:00s
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -86 /*untilYearTiny*/,
    10 /*untilMonth*/,
    26 /*untilDay*/,
    8 /*untilTimeCode*/,
    16 /*untilTimeModifier (kSuffixS + minute=0)*/,
  },
  //              3:00    -    %z    2016 Dec  4  2:00s
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -84 /*untilYearTiny*/,
    12 /*untilMonth*/,
    4 /*untilDay*/,
    8 /*untilTimeCode*/,
    16 /*untilTimeModifier (kSuffixS + minute=0)*/,
  },
  //              4:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEurope_Saratov[] ACE_TIME_PROGMEM = "\x0b" "Saratov";

const extended::Info::ZoneInfo kZoneEurope_Saratov ACE_TIME_PROGMEM = {
  kZoneNameEurope_Saratov /*name*/,
  0xe4315da4 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  4 /*numEras*/,
  kZoneEraEurope_Saratov /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Europe/Simferopol
// Eras: 3
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraEurope_Simferopol[] ACE_TIME_PROGMEM = {
  //              2:00    EU    EE%sT    2014 Mar 30  2:00
  {
    &kZonePolicyEU /*zonePolicy*/,
    "EE%T" /*format*/,
    8 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -86 /*untilYearTiny*/,
    3 /*untilMonth*/,
    30 /*untilDay*/,
    8 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //              4:00    -    MSK    2014 Oct 26  2:00s
  {
    nullptr /*zonePolicy*/,
    "MSK" /*format*/,
    16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -86 /*untilYearTiny*/,
    10 /*untilMonth*/,
    26 /*untilDay*/,
    8 /*untilTimeCode*/,
    16 /*untilTimeModifier (kSuffixS + minute=0)*/,
  },
  //              3:00    -    MSK
  {
    nullptr /*zonePolicy*/,
    "MSK" /*format*/,
    12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEurope_Simferopol[] ACE_TIME_PROGMEM = "\x0b" "Simferopol";

const extended::Info::ZoneInfo kZoneEurope_Simferopol ACE_TIME_PROGMEM = {
  kZoneNameEurope_Simferopol /*name*/,
  0xda9eb724 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  3 /*numEras*/,
  kZoneEraEurope_Simferopol /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Europe/Sofia
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraEurope_Sofia[] ACE_TIME_PROGMEM = {
  //             2:00    EU    EE%sT
  {
    &kZonePolicyEU /*zonePolicy*/,
    "EE%T" /*format*/,
    8 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEurope_Sofia[] ACE_TIME_PROGMEM = "\x0b" "Sofia";

const extended::Info::ZoneInfo kZoneEurope_Sofia ACE_TIME_PROGMEM = {
  kZoneNameEurope_Sofia /*name*/,
  0xfb898656 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Sofia /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Europe/Tallinn
// Eras: 3
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraEurope_Tallinn[] ACE_TIME_PROGMEM = {
  //             2:00    EU    EE%sT    1999 Oct 31  4:00
  {
    &kZonePolicyEU /*zonePolicy*/,
    "EE%T" /*format*/,
    8 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -101 /*untilYearTiny*/,
    10 /*untilMonth*/,
    31 /*untilDay*/,
    16 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             2:00    -    EET    2002 Feb 21
  {
    nullptr /*zonePolicy*/,
    "EET" /*format*/,
    8 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -98 /*untilYearTiny*/,
    2 /*untilMonth*/,
    21 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             2:00    EU    EE%sT
  {
    &kZonePolicyEU /*zonePolicy*/,
    "EE%T" /*format*/,
    8 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEurope_Tallinn[] ACE_TIME_PROGMEM = "\x0b" "Tallinn";

const extended::Info::ZoneInfo kZoneEurope_Tallinn ACE_TIME_PROGMEM = {
  kZoneNameEurope_Tallinn /*name*/,
  0x30c4e096 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  3 /*numEras*/,
  kZoneEraEurope_Tallinn /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Europe/Tirane
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraEurope_Tirane[] ACE_TIME_PROGMEM = {
  //             1:00    EU    CE%sT
  {
    &kZonePolicyEU /*zonePolicy*/,
    "CE%T" /*format*/,
    4 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEurope_Tirane[] ACE_TIME_PROGMEM = "\x0b" "Tirane";

const extended::Info::ZoneInfo kZoneEurope_Tirane ACE_TIME_PROGMEM = {
  kZoneNameEurope_Tirane /*name*/,
  0x6ea95b47 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Tirane /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Europe/Ulyanovsk
// Eras: 4
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraEurope_Ulyanovsk[] ACE_TIME_PROGMEM = {
  //              3:00    Russia    %z    2011 Mar 27  2:00s
  {
    &kZonePolicyRussia /*zonePolicy*/,
    "" /*format*/,
    12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -89 /*untilYearTiny*/,
    3 /*untilMonth*/,
    27 /*untilDay*/,
    8 /*untilTimeCode*/,
    16 /*untilTimeModifier (kSuffixS + minute=0)*/,
  },
  //              4:00    -    %z    2014 Oct 26  2:00s
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -86 /*untilYearTiny*/,
    10 /*untilMonth*/,
    26 /*untilDay*/,
    8 /*untilTimeCode*/,
    16 /*untilTimeModifier (kSuffixS + minute=0)*/,
  },
  //              3:00    -    %z    2016 Mar 27  2:00s
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -84 /*untilYearTiny*/,
    3 /*untilMonth*/,
    27 /*untilDay*/,
    8 /*untilTimeCode*/,
    16 /*untilTimeModifier (kSuffixS + minute=0)*/,
  },
  //              4:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEurope_Ulyanovsk[] ACE_TIME_PROGMEM = "\x0b" "Ulyanovsk";

const extended::Info::ZoneInfo kZoneEurope_Ulyanovsk ACE_TIME_PROGMEM = {
  kZoneNameEurope_Ulyanovsk /*name*/,
  0xe03783d0 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  4 /*numEras*/,
  kZoneEraEurope_Ulyanovsk /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Europe/Vienna
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraEurope_Vienna[] ACE_TIME_PROGMEM = {
  //             1:00    EU    CE%sT
  {
    &kZonePolicyEU /*zonePolicy*/,
    "CE%T" /*format*/,
    4 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEurope_Vienna[] ACE_TIME_PROGMEM = "\x0b" "Vienna";

const extended::Info::ZoneInfo kZoneEurope_Vienna ACE_TIME_PROGMEM = {
  kZoneNameEurope_Vienna /*name*/,
  0x734cc2e5 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Vienna /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Europe/Vilnius
// Eras: 3
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraEurope_Vilnius[] ACE_TIME_PROGMEM = {
  //             1:00    EU    CE%sT    1999 Oct 31  1:00u
  {
    &kZonePolicyEU /*zonePolicy*/,
    "CE%T" /*format*/,
    4 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -101 /*untilYearTiny*/,
    10 /*untilMonth*/,
    31 /*untilDay*/,
    4 /*untilTimeCode*/,
    32 /*untilTimeModifier (kSuffixU + minute=0)*/,
  },
  //             2:00    -    EET    2003 Jan  1
  {
    nullptr /*zonePolicy*/,
    "EET" /*format*/,
    8 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -97 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             2:00    EU    EE%sT
  {
    &kZonePolicyEU /*zonePolicy*/,
    "EE%T" /*format*/,
    8 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEurope_Vilnius[] ACE_TIME_PROGMEM = "\x0b" "Vilnius";

const extended::Info::ZoneInfo kZoneEurope_Vilnius ACE_TIME_PROGMEM = {
  kZoneNameEurope_Vilnius /*name*/,
  0xdd63b8ce /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  3 /*numEras*/,
  kZoneEraEurope_Vilnius /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Europe/Volgograd
// Eras: 5
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraEurope_Volgograd[] ACE_TIME_PROGMEM = {
  //              3:00    Russia    MSK/MSD    2011 Mar 27  2:00s
  {
    &kZonePolicyRussia /*zonePolicy*/,
    "MSK/MSD" /*format*/,
    12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -89 /*untilYearTiny*/,
    3 /*untilMonth*/,
    27 /*untilDay*/,
    8 /*untilTimeCode*/,
    16 /*untilTimeModifier (kSuffixS + minute=0)*/,
  },
  //              4:00    -    MSK    2014 Oct 26  2:00s
  {
    nullptr /*zonePolicy*/,
    "MSK" /*format*/,
    16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -86 /*untilYearTiny*/,
    10 /*untilMonth*/,
    26 /*untilDay*/,
    8 /*untilTimeCode*/,
    16 /*untilTimeModifier (kSuffixS + minute=0)*/,
  },
  //              3:00    -    MSK    2018 Oct 28  2:00s
  {
    nullptr /*zonePolicy*/,
    "MSK" /*format*/,
    12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -82 /*untilYearTiny*/,
    10 /*untilMonth*/,
    28 /*untilDay*/,
    8 /*untilTimeCode*/,
    16 /*untilTimeModifier (kSuffixS + minute=0)*/,
  },
  //              4:00    -    %z    2020 Dec 27  2:00s
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -80 /*untilYearTiny*/,
    12 /*untilMonth*/,
    27 /*untilDay*/,
    8 /*untilTimeCode*/,
    16 /*untilTimeModifier (kSuffixS + minute=0)*/,
  },
  //              3:00    -    MSK
  {
    nullptr /*zonePolicy*/,
    "MSK" /*format*/,
    12 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEurope_Volgograd[] ACE_TIME_PROGMEM = "\x0b" "Volgograd";

const extended::Info::ZoneInfo kZoneEurope_Volgograd ACE_TIME_PROGMEM = {
  kZoneNameEurope_Volgograd /*name*/,
  0x3ed0f389 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  5 /*numEras*/,
  kZoneEraEurope_Volgograd /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Europe/Warsaw
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraEurope_Warsaw[] ACE_TIME_PROGMEM = {
  //             1:00    EU    CE%sT
  {
    &kZonePolicyEU /*zonePolicy*/,
    "CE%T" /*format*/,
    4 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEurope_Warsaw[] ACE_TIME_PROGMEM = "\x0b" "Warsaw";

const extended::Info::ZoneInfo kZoneEurope_Warsaw ACE_TIME_PROGMEM = {
  kZoneNameEurope_Warsaw /*name*/,
  0x75185c19 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Warsaw /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Europe/Zurich
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraEurope_Zurich[] ACE_TIME_PROGMEM = {
  //             1:00    EU    CE%sT
  {
    &kZonePolicyEU /*zonePolicy*/,
    "CE%T" /*format*/,
    4 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameEurope_Zurich[] ACE_TIME_PROGMEM = "\x0b" "Zurich";

const extended::Info::ZoneInfo kZoneEurope_Zurich ACE_TIME_PROGMEM = {
  kZoneNameEurope_Zurich /*name*/,
  0x7d8195b9 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Zurich /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Indian/Chagos
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraIndian_Chagos[] ACE_TIME_PROGMEM = {
  //             6:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameIndian_Chagos[] ACE_TIME_PROGMEM = "\x0c" "Chagos";

const extended::Info::ZoneInfo kZoneIndian_Chagos ACE_TIME_PROGMEM = {
  kZoneNameIndian_Chagos /*name*/,
  0x456f7c3c /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraIndian_Chagos /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Indian/Maldives
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraIndian_Maldives[] ACE_TIME_PROGMEM = {
  //             5:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    20 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameIndian_Maldives[] ACE_TIME_PROGMEM = "\x0c" "Maldives";

const extended::Info::ZoneInfo kZoneIndian_Maldives ACE_TIME_PROGMEM = {
  kZoneNameIndian_Maldives /*name*/,
  0x9869681c /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraIndian_Maldives /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Indian/Mauritius
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraIndian_Mauritius[] ACE_TIME_PROGMEM = {
  //             4:00 Mauritius    %z
  {
    &kZonePolicyMauritius /*zonePolicy*/,
    "" /*format*/,
    16 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNameIndian_Mauritius[] ACE_TIME_PROGMEM = "\x0c" "Mauritius";

const extended::Info::ZoneInfo kZoneIndian_Mauritius ACE_TIME_PROGMEM = {
  kZoneNameIndian_Mauritius /*name*/,
  0x7b09c02a /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraIndian_Mauritius /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Pacific/Apia
// Eras: 2
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraPacific_Apia[] ACE_TIME_PROGMEM = {
  //             -11:00    WS    %z    2011 Dec 29 24:00
  {
    &kZonePolicyWS /*zonePolicy*/,
    "" /*format*/,
    -44 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -89 /*untilYearTiny*/,
    12 /*untilMonth*/,
    29 /*untilDay*/,
    96 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //              13:00    WS    %z
  {
    &kZonePolicyWS /*zonePolicy*/,
    "" /*format*/,
    52 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNamePacific_Apia[] ACE_TIME_PROGMEM = "\x0e" "Apia";

const extended::Info::ZoneInfo kZonePacific_Apia ACE_TIME_PROGMEM = {
  kZoneNamePacific_Apia /*name*/,
  0x23359b5e /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  2 /*numEras*/,
  kZoneEraPacific_Apia /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Pacific/Auckland
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraPacific_Auckland[] ACE_TIME_PROGMEM = {
  //             12:00    NZ    NZ%sT
  {
    &kZonePolicyNZ /*zonePolicy*/,
    "NZ%T" /*format*/,
    48 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNamePacific_Auckland[] ACE_TIME_PROGMEM = "\x0e" "Auckland";

const extended::Info::ZoneInfo kZonePacific_Auckland ACE_TIME_PROGMEM = {
  kZoneNamePacific_Auckland /*name*/,
  0x25062f86 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Auckland /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Pacific/Bougainville
// Eras: 2
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraPacific_Bougainville[] ACE_TIME_PROGMEM = {
  //             10:00    -    %z    2014 Dec 28  2:00
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    40 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -86 /*untilYearTiny*/,
    12 /*untilMonth*/,
    28 /*untilDay*/,
    8 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             11:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    44 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNamePacific_Bougainville[] ACE_TIME_PROGMEM = "\x0e" "Bougainville";

const extended::Info::ZoneInfo kZonePacific_Bougainville ACE_TIME_PROGMEM = {
  kZoneNamePacific_Bougainville /*name*/,
  0x5e10f7a4 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  2 /*numEras*/,
  kZoneEraPacific_Bougainville /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Pacific/Chatham
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraPacific_Chatham[] ACE_TIME_PROGMEM = {
  //             12:45    Chatham    %z
  {
    &kZonePolicyChatham /*zonePolicy*/,
    "" /*format*/,
    51 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNamePacific_Chatham[] ACE_TIME_PROGMEM = "\x0e" "Chatham";

const extended::Info::ZoneInfo kZonePacific_Chatham ACE_TIME_PROGMEM = {
  kZoneNamePacific_Chatham /*name*/,
  0x2f0de999 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Chatham /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Pacific/Easter
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraPacific_Easter[] ACE_TIME_PROGMEM = {
  //             -6:00    Chile    %z
  {
    &kZonePolicyChile /*zonePolicy*/,
    "" /*format*/,
    -24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNamePacific_Easter[] ACE_TIME_PROGMEM = "\x0e" "Easter";

const extended::Info::ZoneInfo kZonePacific_Easter ACE_TIME_PROGMEM = {
  kZoneNamePacific_Easter /*name*/,
  0xcf54f7e7 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Easter /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Pacific/Efate
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraPacific_Efate[] ACE_TIME_PROGMEM = {
  //             11:00    Vanuatu    %z
  {
    &kZonePolicyVanuatu /*zonePolicy*/,
    "" /*format*/,
    44 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNamePacific_Efate[] ACE_TIME_PROGMEM = "\x0e" "Efate";

const extended::Info::ZoneInfo kZonePacific_Efate ACE_TIME_PROGMEM = {
  kZoneNamePacific_Efate /*name*/,
  0x8a2bce28 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Efate /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Pacific/Fakaofo
// Eras: 2
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraPacific_Fakaofo[] ACE_TIME_PROGMEM = {
  //             -11:00    -    %z    2011 Dec 30
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -44 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -89 /*untilYearTiny*/,
    12 /*untilMonth*/,
    30 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             13:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    52 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNamePacific_Fakaofo[] ACE_TIME_PROGMEM = "\x0e" "Fakaofo";

const extended::Info::ZoneInfo kZonePacific_Fakaofo ACE_TIME_PROGMEM = {
  kZoneNamePacific_Fakaofo /*name*/,
  0x06532bba /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  2 /*numEras*/,
  kZoneEraPacific_Fakaofo /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Pacific/Fiji
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraPacific_Fiji[] ACE_TIME_PROGMEM = {
  //             12:00    Fiji    %z
  {
    &kZonePolicyFiji /*zonePolicy*/,
    "" /*format*/,
    48 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNamePacific_Fiji[] ACE_TIME_PROGMEM = "\x0e" "Fiji";

const extended::Info::ZoneInfo kZonePacific_Fiji ACE_TIME_PROGMEM = {
  kZoneNamePacific_Fiji /*name*/,
  0x23383ba5 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Fiji /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Pacific/Galapagos
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraPacific_Galapagos[] ACE_TIME_PROGMEM = {
  //             -6:00    Ecuador    %z
  {
    &kZonePolicyEcuador /*zonePolicy*/,
    "" /*format*/,
    -24 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNamePacific_Galapagos[] ACE_TIME_PROGMEM = "\x0e" "Galapagos";

const extended::Info::ZoneInfo kZonePacific_Galapagos ACE_TIME_PROGMEM = {
  kZoneNamePacific_Galapagos /*name*/,
  0xa952f752 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Galapagos /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Pacific/Gambier
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraPacific_Gambier[] ACE_TIME_PROGMEM = {
  //              -9:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -36 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNamePacific_Gambier[] ACE_TIME_PROGMEM = "\x0e" "Gambier";

const extended::Info::ZoneInfo kZonePacific_Gambier ACE_TIME_PROGMEM = {
  kZoneNamePacific_Gambier /*name*/,
  0x53720c3a /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Gambier /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Pacific/Guadalcanal
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraPacific_Guadalcanal[] ACE_TIME_PROGMEM = {
  //             11:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    44 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNamePacific_Guadalcanal[] ACE_TIME_PROGMEM = "\x0e" "Guadalcanal";

const extended::Info::ZoneInfo kZonePacific_Guadalcanal ACE_TIME_PROGMEM = {
  kZoneNamePacific_Guadalcanal /*name*/,
  0xf4dd25f0 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Guadalcanal /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Pacific/Guam
// Eras: 2
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraPacific_Guam[] ACE_TIME_PROGMEM = {
  //             10:00    Guam    G%sT    2000 Dec 23
  {
    &kZonePolicyGuam /*zonePolicy*/,
    "G%T" /*format*/,
    40 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -100 /*untilYearTiny*/,
    12 /*untilMonth*/,
    23 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             10:00    -    ChST
  {
    nullptr /*zonePolicy*/,
    "ChST" /*format*/,
    40 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNamePacific_Guam[] ACE_TIME_PROGMEM = "\x0e" "Guam";

const extended::Info::ZoneInfo kZonePacific_Guam ACE_TIME_PROGMEM = {
  kZoneNamePacific_Guam /*name*/,
  0x2338f9ed /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  2 /*numEras*/,
  kZoneEraPacific_Guam /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Pacific/Honolulu
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraPacific_Honolulu[] ACE_TIME_PROGMEM = {
  //             -10:00    -    HST
  {
    nullptr /*zonePolicy*/,
    "HST" /*format*/,
    -40 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNamePacific_Honolulu[] ACE_TIME_PROGMEM = "\x0e" "Honolulu";

const extended::Info::ZoneInfo kZonePacific_Honolulu ACE_TIME_PROGMEM = {
  kZoneNamePacific_Honolulu /*name*/,
  0xe6e70af9 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Honolulu /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Pacific/Kanton
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraPacific_Kanton[] ACE_TIME_PROGMEM = {
  //              13:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    52 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNamePacific_Kanton[] ACE_TIME_PROGMEM = "\x0e" "Kanton";

const extended::Info::ZoneInfo kZonePacific_Kanton ACE_TIME_PROGMEM = {
  kZoneNamePacific_Kanton /*name*/,
  0xdd512f0e /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Kanton /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Pacific/Kiritimati
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraPacific_Kiritimati[] ACE_TIME_PROGMEM = {
  //              14:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    56 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNamePacific_Kiritimati[] ACE_TIME_PROGMEM = "\x0e" "Kiritimati";

const extended::Info::ZoneInfo kZonePacific_Kiritimati ACE_TIME_PROGMEM = {
  kZoneNamePacific_Kiritimati /*name*/,
  0x8305073a /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Kiritimati /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Pacific/Kosrae
// Eras: 2
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraPacific_Kosrae[] ACE_TIME_PROGMEM = {
  //              12:00    -    %z    1999
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    48 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -101 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //              11:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    44 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNamePacific_Kosrae[] ACE_TIME_PROGMEM = "\x0e" "Kosrae";

const extended::Info::ZoneInfo kZonePacific_Kosrae ACE_TIME_PROGMEM = {
  kZoneNamePacific_Kosrae /*name*/,
  0xde5139a8 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  2 /*numEras*/,
  kZoneEraPacific_Kosrae /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Pacific/Kwajalein
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraPacific_Kwajalein[] ACE_TIME_PROGMEM = {
  //              12:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    48 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNamePacific_Kwajalein[] ACE_TIME_PROGMEM = "\x0e" "Kwajalein";

const extended::Info::ZoneInfo kZonePacific_Kwajalein ACE_TIME_PROGMEM = {
  kZoneNamePacific_Kwajalein /*name*/,
  0x8e216759 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Kwajalein /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Pacific/Marquesas
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraPacific_Marquesas[] ACE_TIME_PROGMEM = {
  //              -9:30    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -38 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNamePacific_Marquesas[] ACE_TIME_PROGMEM = "\x0e" "Marquesas";

const extended::Info::ZoneInfo kZonePacific_Marquesas ACE_TIME_PROGMEM = {
  kZoneNamePacific_Marquesas /*name*/,
  0x57ca7135 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Marquesas /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Pacific/Nauru
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraPacific_Nauru[] ACE_TIME_PROGMEM = {
  //             12:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    48 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNamePacific_Nauru[] ACE_TIME_PROGMEM = "\x0e" "Nauru";

const extended::Info::ZoneInfo kZonePacific_Nauru ACE_TIME_PROGMEM = {
  kZoneNamePacific_Nauru /*name*/,
  0x8acc41ae /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Nauru /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Pacific/Niue
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraPacific_Niue[] ACE_TIME_PROGMEM = {
  //             -11:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -44 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNamePacific_Niue[] ACE_TIME_PROGMEM = "\x0e" "Niue";

const extended::Info::ZoneInfo kZonePacific_Niue ACE_TIME_PROGMEM = {
  kZoneNamePacific_Niue /*name*/,
  0x233ca014 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Niue /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Pacific/Norfolk
// Eras: 3
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraPacific_Norfolk[] ACE_TIME_PROGMEM = {
  //             11:30    -    %z    2015 Oct  4 02:00s
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    46 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -85 /*untilYearTiny*/,
    10 /*untilMonth*/,
    4 /*untilDay*/,
    8 /*untilTimeCode*/,
    16 /*untilTimeModifier (kSuffixS + minute=0)*/,
  },
  //             11:00    -    %z    2019 Jul
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    44 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -81 /*untilYearTiny*/,
    7 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             11:00    AN    %z
  {
    &kZonePolicyAN /*zonePolicy*/,
    "" /*format*/,
    44 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNamePacific_Norfolk[] ACE_TIME_PROGMEM = "\x0e" "Norfolk";

const extended::Info::ZoneInfo kZonePacific_Norfolk ACE_TIME_PROGMEM = {
  kZoneNamePacific_Norfolk /*name*/,
  0x8f4eb4be /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  3 /*numEras*/,
  kZoneEraPacific_Norfolk /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Pacific/Noumea
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraPacific_Noumea[] ACE_TIME_PROGMEM = {
  //             11:00    NC    %z
  {
    &kZonePolicyNC /*zonePolicy*/,
    "" /*format*/,
    44 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNamePacific_Noumea[] ACE_TIME_PROGMEM = "\x0e" "Noumea";

const extended::Info::ZoneInfo kZonePacific_Noumea ACE_TIME_PROGMEM = {
  kZoneNamePacific_Noumea /*name*/,
  0xe551b788 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Noumea /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Pacific/Pago_Pago
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraPacific_Pago_Pago[] ACE_TIME_PROGMEM = {
  //             -11:00    -    SST
  {
    nullptr /*zonePolicy*/,
    "SST" /*format*/,
    -44 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNamePacific_Pago_Pago[] ACE_TIME_PROGMEM = "\x0e" "Pago_Pago";

const extended::Info::ZoneInfo kZonePacific_Pago_Pago ACE_TIME_PROGMEM = {
  kZoneNamePacific_Pago_Pago /*name*/,
  0x603aebd0 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Pago_Pago /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Pacific/Palau
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraPacific_Palau[] ACE_TIME_PROGMEM = {
  //               9:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    36 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNamePacific_Palau[] ACE_TIME_PROGMEM = "\x0e" "Palau";

const extended::Info::ZoneInfo kZonePacific_Palau ACE_TIME_PROGMEM = {
  kZoneNamePacific_Palau /*name*/,
  0x8af04a36 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Palau /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Pacific/Pitcairn
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraPacific_Pitcairn[] ACE_TIME_PROGMEM = {
  //             -8:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -32 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNamePacific_Pitcairn[] ACE_TIME_PROGMEM = "\x0e" "Pitcairn";

const extended::Info::ZoneInfo kZonePacific_Pitcairn ACE_TIME_PROGMEM = {
  kZoneNamePacific_Pitcairn /*name*/,
  0x8837d8bd /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Pitcairn /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Pacific/Port_Moresby
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraPacific_Port_Moresby[] ACE_TIME_PROGMEM = {
  //             10:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    40 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNamePacific_Port_Moresby[] ACE_TIME_PROGMEM = "\x0e" "Port_Moresby";

const extended::Info::ZoneInfo kZonePacific_Port_Moresby ACE_TIME_PROGMEM = {
  kZoneNamePacific_Port_Moresby /*name*/,
  0xa7ba7f68 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Port_Moresby /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Pacific/Rarotonga
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraPacific_Rarotonga[] ACE_TIME_PROGMEM = {
  //             -10:00    Cook    %z
  {
    &kZonePolicyCook /*zonePolicy*/,
    "" /*format*/,
    -40 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNamePacific_Rarotonga[] ACE_TIME_PROGMEM = "\x0e" "Rarotonga";

const extended::Info::ZoneInfo kZonePacific_Rarotonga ACE_TIME_PROGMEM = {
  kZoneNamePacific_Rarotonga /*name*/,
  0x9981a3b0 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Rarotonga /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Pacific/Tahiti
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraPacific_Tahiti[] ACE_TIME_PROGMEM = {
  //             -10:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    -40 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNamePacific_Tahiti[] ACE_TIME_PROGMEM = "\x0e" "Tahiti";

const extended::Info::ZoneInfo kZonePacific_Tahiti ACE_TIME_PROGMEM = {
  kZoneNamePacific_Tahiti /*name*/,
  0xf24c2446 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Tahiti /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Pacific/Tarawa
// Eras: 1
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraPacific_Tarawa[] ACE_TIME_PROGMEM = {
  //              12:00    -    %z
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    48 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNamePacific_Tarawa[] ACE_TIME_PROGMEM = "\x0e" "Tarawa";

const extended::Info::ZoneInfo kZonePacific_Tarawa ACE_TIME_PROGMEM = {
  kZoneNamePacific_Tarawa /*name*/,
  0xf2517e63 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Tarawa /*eras*/,
  nullptr /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Zone name: Pacific/Tongatapu
// Eras: 2
//---------------------------------------------------------------------------

static const extended::Info::ZoneEra kZoneEraPacific_Tongatapu[] ACE_TIME_PROGMEM = {
  //             13:00    -    %z    1999
  {
    nullptr /*zonePolicy*/,
    "" /*format*/,
    52 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    -101 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },
  //             13:00    Tonga    %z
  {
    &kZonePolicyTonga /*zonePolicy*/,
    "" /*format*/,
    52 /*offsetCode*/,
    4 /*deltaCode (((offsetMinute=0) << 4) + ((deltaMinutes=0)/15 + 4))*/,
    127 /*untilYearTiny*/,
    1 /*untilMonth*/,
    1 /*untilDay*/,
    0 /*untilTimeCode*/,
    0 /*untilTimeModifier (kSuffixW + minute=0)*/,
  },

};

static const char kZoneNamePacific_Tongatapu[] ACE_TIME_PROGMEM = "\x0e" "Tongatapu";

const extended::Info::ZoneInfo kZonePacific_Tongatapu ACE_TIME_PROGMEM = {
  kZoneNamePacific_Tongatapu /*name*/,
  0x262ca836 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  2 /*numEras*/,
  kZoneEraPacific_Tongatapu /*eras*/,
  nullptr /*targetInfo*/,
};



//---------------------------------------------------------------------------
// Links: 257
//---------------------------------------------------------------------------

//---------------------------------------------------------------------------
// Link name: Africa/Accra -> Africa/Abidjan
//---------------------------------------------------------------------------

static const char kZoneNameAfrica_Accra[] ACE_TIME_PROGMEM = "\x01" "Accra";

const extended::Info::ZoneInfo kZoneAfrica_Accra ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Accra /*name*/,
  0x77d5b054 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Abidjan /*eras*/,
  &kZoneAfrica_Abidjan /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Africa/Addis_Ababa -> Africa/Nairobi
//---------------------------------------------------------------------------

static const char kZoneNameAfrica_Addis_Ababa[] ACE_TIME_PROGMEM = "\x01" "Addis_Ababa";

const extended::Info::ZoneInfo kZoneAfrica_Addis_Ababa ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Addis_Ababa /*name*/,
  0x05ae1e65 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Nairobi /*eras*/,
  &kZoneAfrica_Nairobi /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Africa/Asmara -> Africa/Nairobi
//---------------------------------------------------------------------------

static const char kZoneNameAfrica_Asmara[] ACE_TIME_PROGMEM = "\x01" "Asmara";

const extended::Info::ZoneInfo kZoneAfrica_Asmara ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Asmara /*name*/,
  0x73b278ef /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Nairobi /*eras*/,
  &kZoneAfrica_Nairobi /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Africa/Asmera -> Africa/Nairobi
//---------------------------------------------------------------------------

static const char kZoneNameAfrica_Asmera[] ACE_TIME_PROGMEM = "\x01" "Asmera";

const extended::Info::ZoneInfo kZoneAfrica_Asmera ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Asmera /*name*/,
  0x73b289f3 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Nairobi /*eras*/,
  &kZoneAfrica_Nairobi /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Africa/Bamako -> Africa/Abidjan
//---------------------------------------------------------------------------

static const char kZoneNameAfrica_Bamako[] ACE_TIME_PROGMEM = "\x01" "Bamako";

const extended::Info::ZoneInfo kZoneAfrica_Bamako ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Bamako /*name*/,
  0x74c1e7a5 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Abidjan /*eras*/,
  &kZoneAfrica_Abidjan /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Africa/Bangui -> Africa/Lagos
//---------------------------------------------------------------------------

static const char kZoneNameAfrica_Bangui[] ACE_TIME_PROGMEM = "\x01" "Bangui";

const extended::Info::ZoneInfo kZoneAfrica_Bangui ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Bangui /*name*/,
  0x74c28ed0 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Lagos /*eras*/,
  &kZoneAfrica_Lagos /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Africa/Banjul -> Africa/Abidjan
//---------------------------------------------------------------------------

static const char kZoneNameAfrica_Banjul[] ACE_TIME_PROGMEM = "\x01" "Banjul";

const extended::Info::ZoneInfo kZoneAfrica_Banjul ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Banjul /*name*/,
  0x74c29b96 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Abidjan /*eras*/,
  &kZoneAfrica_Abidjan /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Africa/Blantyre -> Africa/Maputo
//---------------------------------------------------------------------------

static const char kZoneNameAfrica_Blantyre[] ACE_TIME_PROGMEM = "\x01" "Blantyre";

const extended::Info::ZoneInfo kZoneAfrica_Blantyre ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Blantyre /*name*/,
  0xe08d813b /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Maputo /*eras*/,
  &kZoneAfrica_Maputo /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Africa/Brazzaville -> Africa/Lagos
//---------------------------------------------------------------------------

static const char kZoneNameAfrica_Brazzaville[] ACE_TIME_PROGMEM = "\x01" "Brazzaville";

const extended::Info::ZoneInfo kZoneAfrica_Brazzaville ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Brazzaville /*name*/,
  0x39cda760 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Lagos /*eras*/,
  &kZoneAfrica_Lagos /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Africa/Bujumbura -> Africa/Maputo
//---------------------------------------------------------------------------

static const char kZoneNameAfrica_Bujumbura[] ACE_TIME_PROGMEM = "\x01" "Bujumbura";

const extended::Info::ZoneInfo kZoneAfrica_Bujumbura ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Bujumbura /*name*/,
  0x05232a47 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Maputo /*eras*/,
  &kZoneAfrica_Maputo /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Africa/Conakry -> Africa/Abidjan
//---------------------------------------------------------------------------

static const char kZoneNameAfrica_Conakry[] ACE_TIME_PROGMEM = "\x01" "Conakry";

const extended::Info::ZoneInfo kZoneAfrica_Conakry ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Conakry /*name*/,
  0x7ab36b31 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Abidjan /*eras*/,
  &kZoneAfrica_Abidjan /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Africa/Dakar -> Africa/Abidjan
//---------------------------------------------------------------------------

static const char kZoneNameAfrica_Dakar[] ACE_TIME_PROGMEM = "\x01" "Dakar";

const extended::Info::ZoneInfo kZoneAfrica_Dakar ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Dakar /*name*/,
  0x780b00fd /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Abidjan /*eras*/,
  &kZoneAfrica_Abidjan /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Africa/Dar_es_Salaam -> Africa/Nairobi
//---------------------------------------------------------------------------

static const char kZoneNameAfrica_Dar_es_Salaam[] ACE_TIME_PROGMEM = "\x01" "Dar_es_Salaam";

const extended::Info::ZoneInfo kZoneAfrica_Dar_es_Salaam ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Dar_es_Salaam /*name*/,
  0xa04c47b6 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Nairobi /*eras*/,
  &kZoneAfrica_Nairobi /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Africa/Djibouti -> Africa/Nairobi
//---------------------------------------------------------------------------

static const char kZoneNameAfrica_Djibouti[] ACE_TIME_PROGMEM = "\x01" "Djibouti";

const extended::Info::ZoneInfo kZoneAfrica_Djibouti ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Djibouti /*name*/,
  0x30ea01d4 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Nairobi /*eras*/,
  &kZoneAfrica_Nairobi /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Africa/Douala -> Africa/Lagos
//---------------------------------------------------------------------------

static const char kZoneNameAfrica_Douala[] ACE_TIME_PROGMEM = "\x01" "Douala";

const extended::Info::ZoneInfo kZoneAfrica_Douala ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Douala /*name*/,
  0x7a6df310 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Lagos /*eras*/,
  &kZoneAfrica_Lagos /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Africa/Freetown -> Africa/Abidjan
//---------------------------------------------------------------------------

static const char kZoneNameAfrica_Freetown[] ACE_TIME_PROGMEM = "\x01" "Freetown";

const extended::Info::ZoneInfo kZoneAfrica_Freetown ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Freetown /*name*/,
  0x6823dd64 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Abidjan /*eras*/,
  &kZoneAfrica_Abidjan /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Africa/Gaborone -> Africa/Maputo
//---------------------------------------------------------------------------

static const char kZoneNameAfrica_Gaborone[] ACE_TIME_PROGMEM = "\x01" "Gaborone";

const extended::Info::ZoneInfo kZoneAfrica_Gaborone ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Gaborone /*name*/,
  0x317c0aa7 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Maputo /*eras*/,
  &kZoneAfrica_Maputo /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Africa/Harare -> Africa/Maputo
//---------------------------------------------------------------------------

static const char kZoneNameAfrica_Harare[] ACE_TIME_PROGMEM = "\x01" "Harare";

const extended::Info::ZoneInfo kZoneAfrica_Harare ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Harare /*name*/,
  0x82c39a2d /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Maputo /*eras*/,
  &kZoneAfrica_Maputo /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Africa/Kampala -> Africa/Nairobi
//---------------------------------------------------------------------------

static const char kZoneNameAfrica_Kampala[] ACE_TIME_PROGMEM = "\x01" "Kampala";

const extended::Info::ZoneInfo kZoneAfrica_Kampala ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Kampala /*name*/,
  0xc1d30e31 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Nairobi /*eras*/,
  &kZoneAfrica_Nairobi /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Africa/Kigali -> Africa/Maputo
//---------------------------------------------------------------------------

static const char kZoneNameAfrica_Kigali[] ACE_TIME_PROGMEM = "\x01" "Kigali";

const extended::Info::ZoneInfo kZoneAfrica_Kigali ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Kigali /*name*/,
  0x8a4dcf2b /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Maputo /*eras*/,
  &kZoneAfrica_Maputo /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Africa/Kinshasa -> Africa/Lagos
//---------------------------------------------------------------------------

static const char kZoneNameAfrica_Kinshasa[] ACE_TIME_PROGMEM = "\x01" "Kinshasa";

const extended::Info::ZoneInfo kZoneAfrica_Kinshasa ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Kinshasa /*name*/,
  0x6695d70c /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Lagos /*eras*/,
  &kZoneAfrica_Lagos /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Africa/Libreville -> Africa/Lagos
//---------------------------------------------------------------------------

static const char kZoneNameAfrica_Libreville[] ACE_TIME_PROGMEM = "\x01" "Libreville";

const extended::Info::ZoneInfo kZoneAfrica_Libreville ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Libreville /*name*/,
  0x01d96de4 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Lagos /*eras*/,
  &kZoneAfrica_Lagos /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Africa/Lome -> Africa/Abidjan
//---------------------------------------------------------------------------

static const char kZoneNameAfrica_Lome[] ACE_TIME_PROGMEM = "\x01" "Lome";

const extended::Info::ZoneInfo kZoneAfrica_Lome ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Lome /*name*/,
  0xd51c3a07 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Abidjan /*eras*/,
  &kZoneAfrica_Abidjan /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Africa/Luanda -> Africa/Lagos
//---------------------------------------------------------------------------

static const char kZoneNameAfrica_Luanda[] ACE_TIME_PROGMEM = "\x01" "Luanda";

const extended::Info::ZoneInfo kZoneAfrica_Luanda ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Luanda /*name*/,
  0x8d7909cf /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Lagos /*eras*/,
  &kZoneAfrica_Lagos /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Africa/Lubumbashi -> Africa/Maputo
//---------------------------------------------------------------------------

static const char kZoneNameAfrica_Lubumbashi[] ACE_TIME_PROGMEM = "\x01" "Lubumbashi";

const extended::Info::ZoneInfo kZoneAfrica_Lubumbashi ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Lubumbashi /*name*/,
  0x6fd88566 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Maputo /*eras*/,
  &kZoneAfrica_Maputo /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Africa/Lusaka -> Africa/Maputo
//---------------------------------------------------------------------------

static const char kZoneNameAfrica_Lusaka[] ACE_TIME_PROGMEM = "\x01" "Lusaka";

const extended::Info::ZoneInfo kZoneAfrica_Lusaka ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Lusaka /*name*/,
  0x8d82b23b /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Maputo /*eras*/,
  &kZoneAfrica_Maputo /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Africa/Malabo -> Africa/Lagos
//---------------------------------------------------------------------------

static const char kZoneNameAfrica_Malabo[] ACE_TIME_PROGMEM = "\x01" "Malabo";

const extended::Info::ZoneInfo kZoneAfrica_Malabo ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Malabo /*name*/,
  0x8e6a1906 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Lagos /*eras*/,
  &kZoneAfrica_Lagos /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Africa/Maseru -> Africa/Johannesburg
//---------------------------------------------------------------------------

static const char kZoneNameAfrica_Maseru[] ACE_TIME_PROGMEM = "\x01" "Maseru";

const extended::Info::ZoneInfo kZoneAfrica_Maseru ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Maseru /*name*/,
  0x8e6e02c7 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Johannesburg /*eras*/,
  &kZoneAfrica_Johannesburg /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Africa/Mbabane -> Africa/Johannesburg
//---------------------------------------------------------------------------

static const char kZoneNameAfrica_Mbabane[] ACE_TIME_PROGMEM = "\x01" "Mbabane";

const extended::Info::ZoneInfo kZoneAfrica_Mbabane ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Mbabane /*name*/,
  0x5d3bdd40 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Johannesburg /*eras*/,
  &kZoneAfrica_Johannesburg /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Africa/Mogadishu -> Africa/Nairobi
//---------------------------------------------------------------------------

static const char kZoneNameAfrica_Mogadishu[] ACE_TIME_PROGMEM = "\x01" "Mogadishu";

const extended::Info::ZoneInfo kZoneAfrica_Mogadishu ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Mogadishu /*name*/,
  0x66bc159b /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Nairobi /*eras*/,
  &kZoneAfrica_Nairobi /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Africa/Niamey -> Africa/Lagos
//---------------------------------------------------------------------------

static const char kZoneNameAfrica_Niamey[] ACE_TIME_PROGMEM = "\x01" "Niamey";

const extended::Info::ZoneInfo kZoneAfrica_Niamey ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Niamey /*name*/,
  0x914a30fd /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Lagos /*eras*/,
  &kZoneAfrica_Lagos /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Africa/Nouakchott -> Africa/Abidjan
//---------------------------------------------------------------------------

static const char kZoneNameAfrica_Nouakchott[] ACE_TIME_PROGMEM = "\x01" "Nouakchott";

const extended::Info::ZoneInfo kZoneAfrica_Nouakchott ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Nouakchott /*name*/,
  0x3dc49dba /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Abidjan /*eras*/,
  &kZoneAfrica_Abidjan /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Africa/Ouagadougou -> Africa/Abidjan
//---------------------------------------------------------------------------

static const char kZoneNameAfrica_Ouagadougou[] ACE_TIME_PROGMEM = "\x01" "Ouagadougou";

const extended::Info::ZoneInfo kZoneAfrica_Ouagadougou ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Ouagadougou /*name*/,
  0x04d7219a /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Abidjan /*eras*/,
  &kZoneAfrica_Abidjan /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Africa/Porto-Novo -> Africa/Lagos
//---------------------------------------------------------------------------

static const char kZoneNameAfrica_Porto_Novo[] ACE_TIME_PROGMEM = "\x01" "Porto-Novo";

const extended::Info::ZoneInfo kZoneAfrica_Porto_Novo ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Porto_Novo /*name*/,
  0x3d1bf95d /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Lagos /*eras*/,
  &kZoneAfrica_Lagos /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Africa/Timbuktu -> Africa/Abidjan
//---------------------------------------------------------------------------

static const char kZoneNameAfrica_Timbuktu[] ACE_TIME_PROGMEM = "\x01" "Timbuktu";

const extended::Info::ZoneInfo kZoneAfrica_Timbuktu ACE_TIME_PROGMEM = {
  kZoneNameAfrica_Timbuktu /*name*/,
  0xb164d56f /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Abidjan /*eras*/,
  &kZoneAfrica_Abidjan /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: America/Anguilla -> America/Puerto_Rico
//---------------------------------------------------------------------------

static const char kZoneNameAmerica_Anguilla[] ACE_TIME_PROGMEM = "\x02" "Anguilla";

const extended::Info::ZoneInfo kZoneAmerica_Anguilla ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Anguilla /*name*/,
  0xafe31333 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Puerto_Rico /*eras*/,
  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: America/Antigua -> America/Puerto_Rico
//---------------------------------------------------------------------------

static const char kZoneNameAmerica_Antigua[] ACE_TIME_PROGMEM = "\x02" "Antigua";

const extended::Info::ZoneInfo kZoneAmerica_Antigua ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Antigua /*name*/,
  0xc067a32f /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Puerto_Rico /*eras*/,
  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: America/Argentina/ComodRivadavia -> America/Argentina/Catamarca
//---------------------------------------------------------------------------

static const char kZoneNameAmerica_Argentina_ComodRivadavia[] ACE_TIME_PROGMEM = "\x02" "\x04" "ComodRivadavia";

const extended::Info::ZoneInfo kZoneAmerica_Argentina_ComodRivadavia ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Argentina_ComodRivadavia /*name*/,
  0x22758877 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  6 /*numEras*/,
  kZoneEraAmerica_Argentina_Catamarca /*eras*/,
  &kZoneAmerica_Argentina_Catamarca /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: America/Aruba -> America/Puerto_Rico
//---------------------------------------------------------------------------

static const char kZoneNameAmerica_Aruba[] ACE_TIME_PROGMEM = "\x02" "Aruba";

const extended::Info::ZoneInfo kZoneAmerica_Aruba ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Aruba /*name*/,
  0x97cf8651 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Puerto_Rico /*eras*/,
  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: America/Atikokan -> America/Panama
//---------------------------------------------------------------------------

static const char kZoneNameAmerica_Atikokan[] ACE_TIME_PROGMEM = "\x02" "Atikokan";

const extended::Info::ZoneInfo kZoneAmerica_Atikokan ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Atikokan /*name*/,
  0x81b92098 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Panama /*eras*/,
  &kZoneAmerica_Panama /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: America/Atka -> America/Adak
//---------------------------------------------------------------------------

static const char kZoneNameAmerica_Atka[] ACE_TIME_PROGMEM = "\x02" "Atka";

const extended::Info::ZoneInfo kZoneAmerica_Atka ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Atka /*name*/,
  0x97fe8f27 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Adak /*eras*/,
  &kZoneAmerica_Adak /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: America/Blanc-Sablon -> America/Puerto_Rico
//---------------------------------------------------------------------------

static const char kZoneNameAmerica_Blanc_Sablon[] ACE_TIME_PROGMEM = "\x02" "Blanc-Sablon";

const extended::Info::ZoneInfo kZoneAmerica_Blanc_Sablon ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Blanc_Sablon /*name*/,
  0x6e299892 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Puerto_Rico /*eras*/,
  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: America/Buenos_Aires -> America/Argentina/Buenos_Aires
//---------------------------------------------------------------------------

static const char kZoneNameAmerica_Buenos_Aires[] ACE_TIME_PROGMEM = "\x02" "Buenos_Aires";

const extended::Info::ZoneInfo kZoneAmerica_Buenos_Aires ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Buenos_Aires /*name*/,
  0x67d79a05 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  3 /*numEras*/,
  kZoneEraAmerica_Argentina_Buenos_Aires /*eras*/,
  &kZoneAmerica_Argentina_Buenos_Aires /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: America/Catamarca -> America/Argentina/Catamarca
//---------------------------------------------------------------------------

static const char kZoneNameAmerica_Catamarca[] ACE_TIME_PROGMEM = "\x02" "Catamarca";

const extended::Info::ZoneInfo kZoneAmerica_Catamarca ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Catamarca /*name*/,
  0x5036e963 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  6 /*numEras*/,
  kZoneEraAmerica_Argentina_Catamarca /*eras*/,
  &kZoneAmerica_Argentina_Catamarca /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: America/Cayman -> America/Panama
//---------------------------------------------------------------------------

static const char kZoneNameAmerica_Cayman[] ACE_TIME_PROGMEM = "\x02" "Cayman";

const extended::Info::ZoneInfo kZoneAmerica_Cayman ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Cayman /*name*/,
  0x953961df /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Panama /*eras*/,
  &kZoneAmerica_Panama /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: America/Coral_Harbour -> America/Panama
//---------------------------------------------------------------------------

static const char kZoneNameAmerica_Coral_Harbour[] ACE_TIME_PROGMEM = "\x02" "Coral_Harbour";

const extended::Info::ZoneInfo kZoneAmerica_Coral_Harbour ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Coral_Harbour /*name*/,
  0xabcb7569 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Panama /*eras*/,
  &kZoneAmerica_Panama /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: America/Cordoba -> America/Argentina/Cordoba
//---------------------------------------------------------------------------

static const char kZoneNameAmerica_Cordoba[] ACE_TIME_PROGMEM = "\x02" "Cordoba";

const extended::Info::ZoneInfo kZoneAmerica_Cordoba ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Cordoba /*name*/,
  0x5c8a7600 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  3 /*numEras*/,
  kZoneEraAmerica_Argentina_Cordoba /*eras*/,
  &kZoneAmerica_Argentina_Cordoba /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: America/Creston -> America/Phoenix
//---------------------------------------------------------------------------

static const char kZoneNameAmerica_Creston[] ACE_TIME_PROGMEM = "\x02" "Creston";

const extended::Info::ZoneInfo kZoneAmerica_Creston ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Creston /*name*/,
  0x62a70204 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Phoenix /*eras*/,
  &kZoneAmerica_Phoenix /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: America/Curacao -> America/Puerto_Rico
//---------------------------------------------------------------------------

static const char kZoneNameAmerica_Curacao[] ACE_TIME_PROGMEM = "\x02" "Curacao";

const extended::Info::ZoneInfo kZoneAmerica_Curacao ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Curacao /*name*/,
  0x6a879184 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Puerto_Rico /*eras*/,
  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: America/Dominica -> America/Puerto_Rico
//---------------------------------------------------------------------------

static const char kZoneNameAmerica_Dominica[] ACE_TIME_PROGMEM = "\x02" "Dominica";

const extended::Info::ZoneInfo kZoneAmerica_Dominica ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Dominica /*name*/,
  0xcecb4c4a /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Puerto_Rico /*eras*/,
  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: America/Ensenada -> America/Tijuana
//---------------------------------------------------------------------------

static const char kZoneNameAmerica_Ensenada[] ACE_TIME_PROGMEM = "\x02" "Ensenada";

const extended::Info::ZoneInfo kZoneAmerica_Ensenada ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Ensenada /*name*/,
  0x7bc95445 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  4 /*numEras*/,
  kZoneEraAmerica_Tijuana /*eras*/,
  &kZoneAmerica_Tijuana /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: America/Fort_Wayne -> America/Indiana/Indianapolis
//---------------------------------------------------------------------------

static const char kZoneNameAmerica_Fort_Wayne[] ACE_TIME_PROGMEM = "\x02" "Fort_Wayne";

const extended::Info::ZoneInfo kZoneAmerica_Fort_Wayne ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Fort_Wayne /*name*/,
  0x7eaaaf24 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  2 /*numEras*/,
  kZoneEraAmerica_Indiana_Indianapolis /*eras*/,
  &kZoneAmerica_Indiana_Indianapolis /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: America/Godthab -> America/Nuuk
//---------------------------------------------------------------------------

static const char kZoneNameAmerica_Godthab[] ACE_TIME_PROGMEM = "\x02" "Godthab";

const extended::Info::ZoneInfo kZoneAmerica_Godthab ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Godthab /*name*/,
  0x8f7eba1f /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  3 /*numEras*/,
  kZoneEraAmerica_Nuuk /*eras*/,
  &kZoneAmerica_Nuuk /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: America/Grenada -> America/Puerto_Rico
//---------------------------------------------------------------------------

static const char kZoneNameAmerica_Grenada[] ACE_TIME_PROGMEM = "\x02" "Grenada";

const extended::Info::ZoneInfo kZoneAmerica_Grenada ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Grenada /*name*/,
  0x968ce4d8 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Puerto_Rico /*eras*/,
  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: America/Guadeloupe -> America/Puerto_Rico
//---------------------------------------------------------------------------

static const char kZoneNameAmerica_Guadeloupe[] ACE_TIME_PROGMEM = "\x02" "Guadeloupe";

const extended::Info::ZoneInfo kZoneAmerica_Guadeloupe ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Guadeloupe /*name*/,
  0xcd1f8a31 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Puerto_Rico /*eras*/,
  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: America/Indianapolis -> America/Indiana/Indianapolis
//---------------------------------------------------------------------------

static const char kZoneNameAmerica_Indianapolis[] ACE_TIME_PROGMEM = "\x02" "Indianapolis";

const extended::Info::ZoneInfo kZoneAmerica_Indianapolis ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Indianapolis /*name*/,
  0x6a009ae1 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  2 /*numEras*/,
  kZoneEraAmerica_Indiana_Indianapolis /*eras*/,
  &kZoneAmerica_Indiana_Indianapolis /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: America/Jujuy -> America/Argentina/Jujuy
//---------------------------------------------------------------------------

static const char kZoneNameAmerica_Jujuy[] ACE_TIME_PROGMEM = "\x02" "Jujuy";

const extended::Info::ZoneInfo kZoneAmerica_Jujuy ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Jujuy /*name*/,
  0x9873dbbd /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  4 /*numEras*/,
  kZoneEraAmerica_Argentina_Jujuy /*eras*/,
  &kZoneAmerica_Argentina_Jujuy /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: America/Knox_IN -> America/Indiana/Knox
//---------------------------------------------------------------------------

static const char kZoneNameAmerica_Knox_IN[] ACE_TIME_PROGMEM = "\x02" "Knox_IN";

const extended::Info::ZoneInfo kZoneAmerica_Knox_IN ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Knox_IN /*name*/,
  0xc1db9a1c /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  2 /*numEras*/,
  kZoneEraAmerica_Indiana_Knox /*eras*/,
  &kZoneAmerica_Indiana_Knox /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: America/Kralendijk -> America/Puerto_Rico
//---------------------------------------------------------------------------

static const char kZoneNameAmerica_Kralendijk[] ACE_TIME_PROGMEM = "\x02" "Kralendijk";

const extended::Info::ZoneInfo kZoneAmerica_Kralendijk ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Kralendijk /*name*/,
  0xe7c456c5 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Puerto_Rico /*eras*/,
  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: America/Louisville -> America/Kentucky/Louisville
//---------------------------------------------------------------------------

static const char kZoneNameAmerica_Louisville[] ACE_TIME_PROGMEM = "\x02" "Louisville";

const extended::Info::ZoneInfo kZoneAmerica_Louisville ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Louisville /*name*/,
  0x3dcb47ee /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Kentucky_Louisville /*eras*/,
  &kZoneAmerica_Kentucky_Louisville /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: America/Lower_Princes -> America/Puerto_Rico
//---------------------------------------------------------------------------

static const char kZoneNameAmerica_Lower_Princes[] ACE_TIME_PROGMEM = "\x02" "Lower_Princes";

const extended::Info::ZoneInfo kZoneAmerica_Lower_Princes ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Lower_Princes /*name*/,
  0x6ae45b62 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Puerto_Rico /*eras*/,
  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: America/Marigot -> America/Puerto_Rico
//---------------------------------------------------------------------------

static const char kZoneNameAmerica_Marigot[] ACE_TIME_PROGMEM = "\x02" "Marigot";

const extended::Info::ZoneInfo kZoneAmerica_Marigot ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Marigot /*name*/,
  0x3dab3a59 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Puerto_Rico /*eras*/,
  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: America/Mendoza -> America/Argentina/Mendoza
//---------------------------------------------------------------------------

static const char kZoneNameAmerica_Mendoza[] ACE_TIME_PROGMEM = "\x02" "Mendoza";

const extended::Info::ZoneInfo kZoneAmerica_Mendoza ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Mendoza /*name*/,
  0x46b4e054 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  6 /*numEras*/,
  kZoneEraAmerica_Argentina_Mendoza /*eras*/,
  &kZoneAmerica_Argentina_Mendoza /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: America/Montreal -> America/Toronto
//---------------------------------------------------------------------------

static const char kZoneNameAmerica_Montreal[] ACE_TIME_PROGMEM = "\x02" "Montreal";

const extended::Info::ZoneInfo kZoneAmerica_Montreal ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Montreal /*name*/,
  0x203a1ea8 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Toronto /*eras*/,
  &kZoneAmerica_Toronto /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: America/Montserrat -> America/Puerto_Rico
//---------------------------------------------------------------------------

static const char kZoneNameAmerica_Montserrat[] ACE_TIME_PROGMEM = "\x02" "Montserrat";

const extended::Info::ZoneInfo kZoneAmerica_Montserrat ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Montserrat /*name*/,
  0x199b0a35 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Puerto_Rico /*eras*/,
  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: America/Nassau -> America/Toronto
//---------------------------------------------------------------------------

static const char kZoneNameAmerica_Nassau[] ACE_TIME_PROGMEM = "\x02" "Nassau";

const extended::Info::ZoneInfo kZoneAmerica_Nassau ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Nassau /*name*/,
  0xaedef011 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Toronto /*eras*/,
  &kZoneAmerica_Toronto /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: America/Nipigon -> America/Toronto
//---------------------------------------------------------------------------

static const char kZoneNameAmerica_Nipigon[] ACE_TIME_PROGMEM = "\x02" "Nipigon";

const extended::Info::ZoneInfo kZoneAmerica_Nipigon ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Nipigon /*name*/,
  0x9d2a8b1a /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Toronto /*eras*/,
  &kZoneAmerica_Toronto /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: America/Pangnirtung -> America/Iqaluit
//---------------------------------------------------------------------------

static const char kZoneNameAmerica_Pangnirtung[] ACE_TIME_PROGMEM = "\x02" "Pangnirtung";

const extended::Info::ZoneInfo kZoneAmerica_Pangnirtung ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Pangnirtung /*name*/,
  0x2d999193 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  3 /*numEras*/,
  kZoneEraAmerica_Iqaluit /*eras*/,
  &kZoneAmerica_Iqaluit /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: America/Port_of_Spain -> America/Puerto_Rico
//---------------------------------------------------------------------------

static const char kZoneNameAmerica_Port_of_Spain[] ACE_TIME_PROGMEM = "\x02" "Port_of_Spain";

const extended::Info::ZoneInfo kZoneAmerica_Port_of_Spain ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Port_of_Spain /*name*/,
  0xd8b28d59 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Puerto_Rico /*eras*/,
  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: America/Porto_Acre -> America/Rio_Branco
//---------------------------------------------------------------------------

static const char kZoneNameAmerica_Porto_Acre[] ACE_TIME_PROGMEM = "\x02" "Porto_Acre";

const extended::Info::ZoneInfo kZoneAmerica_Porto_Acre ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Porto_Acre /*name*/,
  0xcce5bf54 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  3 /*numEras*/,
  kZoneEraAmerica_Rio_Branco /*eras*/,
  &kZoneAmerica_Rio_Branco /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: America/Rainy_River -> America/Winnipeg
//---------------------------------------------------------------------------

static const char kZoneNameAmerica_Rainy_River[] ACE_TIME_PROGMEM = "\x02" "Rainy_River";

const extended::Info::ZoneInfo kZoneAmerica_Rainy_River ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Rainy_River /*name*/,
  0x9cd58a10 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  2 /*numEras*/,
  kZoneEraAmerica_Winnipeg /*eras*/,
  &kZoneAmerica_Winnipeg /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: America/Rosario -> America/Argentina/Cordoba
//---------------------------------------------------------------------------

static const char kZoneNameAmerica_Rosario[] ACE_TIME_PROGMEM = "\x02" "Rosario";

const extended::Info::ZoneInfo kZoneAmerica_Rosario ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Rosario /*name*/,
  0xdf448665 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  3 /*numEras*/,
  kZoneEraAmerica_Argentina_Cordoba /*eras*/,
  &kZoneAmerica_Argentina_Cordoba /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: America/Santa_Isabel -> America/Tijuana
//---------------------------------------------------------------------------

static const char kZoneNameAmerica_Santa_Isabel[] ACE_TIME_PROGMEM = "\x02" "Santa_Isabel";

const extended::Info::ZoneInfo kZoneAmerica_Santa_Isabel ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Santa_Isabel /*name*/,
  0xfd18a56c /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  4 /*numEras*/,
  kZoneEraAmerica_Tijuana /*eras*/,
  &kZoneAmerica_Tijuana /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: America/Shiprock -> America/Denver
//---------------------------------------------------------------------------

static const char kZoneNameAmerica_Shiprock[] ACE_TIME_PROGMEM = "\x02" "Shiprock";

const extended::Info::ZoneInfo kZoneAmerica_Shiprock ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Shiprock /*name*/,
  0x82fb7049 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Denver /*eras*/,
  &kZoneAmerica_Denver /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: America/St_Barthelemy -> America/Puerto_Rico
//---------------------------------------------------------------------------

static const char kZoneNameAmerica_St_Barthelemy[] ACE_TIME_PROGMEM = "\x02" "St_Barthelemy";

const extended::Info::ZoneInfo kZoneAmerica_St_Barthelemy ACE_TIME_PROGMEM = {
  kZoneNameAmerica_St_Barthelemy /*name*/,
  0x054e6a79 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Puerto_Rico /*eras*/,
  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: America/St_Kitts -> America/Puerto_Rico
//---------------------------------------------------------------------------

static const char kZoneNameAmerica_St_Kitts[] ACE_TIME_PROGMEM = "\x02" "St_Kitts";

const extended::Info::ZoneInfo kZoneAmerica_St_Kitts ACE_TIME_PROGMEM = {
  kZoneNameAmerica_St_Kitts /*name*/,
  0x04c0507b /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Puerto_Rico /*eras*/,
  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: America/St_Lucia -> America/Puerto_Rico
//---------------------------------------------------------------------------

static const char kZoneNameAmerica_St_Lucia[] ACE_TIME_PROGMEM = "\x02" "St_Lucia";

const extended::Info::ZoneInfo kZoneAmerica_St_Lucia ACE_TIME_PROGMEM = {
  kZoneNameAmerica_St_Lucia /*name*/,
  0x04d8b3ba /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Puerto_Rico /*eras*/,
  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: America/St_Thomas -> America/Puerto_Rico
//---------------------------------------------------------------------------

static const char kZoneNameAmerica_St_Thomas[] ACE_TIME_PROGMEM = "\x02" "St_Thomas";

const extended::Info::ZoneInfo kZoneAmerica_St_Thomas ACE_TIME_PROGMEM = {
  kZoneNameAmerica_St_Thomas /*name*/,
  0xb1b3d778 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Puerto_Rico /*eras*/,
  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: America/St_Vincent -> America/Puerto_Rico
//---------------------------------------------------------------------------

static const char kZoneNameAmerica_St_Vincent[] ACE_TIME_PROGMEM = "\x02" "St_Vincent";

const extended::Info::ZoneInfo kZoneAmerica_St_Vincent ACE_TIME_PROGMEM = {
  kZoneNameAmerica_St_Vincent /*name*/,
  0x8460e523 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Puerto_Rico /*eras*/,
  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: America/Thunder_Bay -> America/Toronto
//---------------------------------------------------------------------------

static const char kZoneNameAmerica_Thunder_Bay[] ACE_TIME_PROGMEM = "\x02" "Thunder_Bay";

const extended::Info::ZoneInfo kZoneAmerica_Thunder_Bay ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Thunder_Bay /*name*/,
  0xf962e71b /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Toronto /*eras*/,
  &kZoneAmerica_Toronto /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: America/Tortola -> America/Puerto_Rico
//---------------------------------------------------------------------------

static const char kZoneNameAmerica_Tortola[] ACE_TIME_PROGMEM = "\x02" "Tortola";

const extended::Info::ZoneInfo kZoneAmerica_Tortola ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Tortola /*name*/,
  0x7931462b /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Puerto_Rico /*eras*/,
  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: America/Virgin -> America/Puerto_Rico
//---------------------------------------------------------------------------

static const char kZoneNameAmerica_Virgin[] ACE_TIME_PROGMEM = "\x02" "Virgin";

const extended::Info::ZoneInfo kZoneAmerica_Virgin ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Virgin /*name*/,
  0xc2183ab5 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Puerto_Rico /*eras*/,
  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: America/Yellowknife -> America/Edmonton
//---------------------------------------------------------------------------

static const char kZoneNameAmerica_Yellowknife[] ACE_TIME_PROGMEM = "\x02" "Yellowknife";

const extended::Info::ZoneInfo kZoneAmerica_Yellowknife ACE_TIME_PROGMEM = {
  kZoneNameAmerica_Yellowknife /*name*/,
  0x0f76c76f /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Edmonton /*eras*/,
  &kZoneAmerica_Edmonton /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Antarctica/DumontDUrville -> Pacific/Port_Moresby
//---------------------------------------------------------------------------

static const char kZoneNameAntarctica_DumontDUrville[] ACE_TIME_PROGMEM = "\x03" "DumontDUrville";

const extended::Info::ZoneInfo kZoneAntarctica_DumontDUrville ACE_TIME_PROGMEM = {
  kZoneNameAntarctica_DumontDUrville /*name*/,
  0x5a3c656c /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Port_Moresby /*eras*/,
  &kZonePacific_Port_Moresby /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Antarctica/McMurdo -> Pacific/Auckland
//---------------------------------------------------------------------------

static const char kZoneNameAntarctica_McMurdo[] ACE_TIME_PROGMEM = "\x03" "McMurdo";

const extended::Info::ZoneInfo kZoneAntarctica_McMurdo ACE_TIME_PROGMEM = {
  kZoneNameAntarctica_McMurdo /*name*/,
  0x6eeb5585 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Auckland /*eras*/,
  &kZonePacific_Auckland /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Antarctica/South_Pole -> Pacific/Auckland
//---------------------------------------------------------------------------

static const char kZoneNameAntarctica_South_Pole[] ACE_TIME_PROGMEM = "\x03" "South_Pole";

const extended::Info::ZoneInfo kZoneAntarctica_South_Pole ACE_TIME_PROGMEM = {
  kZoneNameAntarctica_South_Pole /*name*/,
  0xcd96b290 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Auckland /*eras*/,
  &kZonePacific_Auckland /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Antarctica/Syowa -> Asia/Riyadh
//---------------------------------------------------------------------------

static const char kZoneNameAntarctica_Syowa[] ACE_TIME_PROGMEM = "\x03" "Syowa";

const extended::Info::ZoneInfo kZoneAntarctica_Syowa ACE_TIME_PROGMEM = {
  kZoneNameAntarctica_Syowa /*name*/,
  0xe330c7e1 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Riyadh /*eras*/,
  &kZoneAsia_Riyadh /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Arctic/Longyearbyen -> Europe/Berlin
//---------------------------------------------------------------------------

static const char kZoneNameArctic_Longyearbyen[] ACE_TIME_PROGMEM = "Arctic/Longyearbyen";

const extended::Info::ZoneInfo kZoneArctic_Longyearbyen ACE_TIME_PROGMEM = {
  kZoneNameArctic_Longyearbyen /*name*/,
  0xd23e7859 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Berlin /*eras*/,
  &kZoneEurope_Berlin /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Asia/Aden -> Asia/Riyadh
//---------------------------------------------------------------------------

static const char kZoneNameAsia_Aden[] ACE_TIME_PROGMEM = "\x05" "Aden";

const extended::Info::ZoneInfo kZoneAsia_Aden ACE_TIME_PROGMEM = {
  kZoneNameAsia_Aden /*name*/,
  0x1fa7084a /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Riyadh /*eras*/,
  &kZoneAsia_Riyadh /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Asia/Ashkhabad -> Asia/Ashgabat
//---------------------------------------------------------------------------

static const char kZoneNameAsia_Ashkhabad[] ACE_TIME_PROGMEM = "\x05" "Ashkhabad";

const extended::Info::ZoneInfo kZoneAsia_Ashkhabad ACE_TIME_PROGMEM = {
  kZoneNameAsia_Ashkhabad /*name*/,
  0x15454f09 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Ashgabat /*eras*/,
  &kZoneAsia_Ashgabat /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Asia/Bahrain -> Asia/Qatar
//---------------------------------------------------------------------------

static const char kZoneNameAsia_Bahrain[] ACE_TIME_PROGMEM = "\x05" "Bahrain";

const extended::Info::ZoneInfo kZoneAsia_Bahrain ACE_TIME_PROGMEM = {
  kZoneNameAsia_Bahrain /*name*/,
  0x9d078487 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Qatar /*eras*/,
  &kZoneAsia_Qatar /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Asia/Brunei -> Asia/Kuching
//---------------------------------------------------------------------------

static const char kZoneNameAsia_Brunei[] ACE_TIME_PROGMEM = "\x05" "Brunei";

const extended::Info::ZoneInfo kZoneAsia_Brunei ACE_TIME_PROGMEM = {
  kZoneNameAsia_Brunei /*name*/,
  0xa8e595f7 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Kuching /*eras*/,
  &kZoneAsia_Kuching /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Asia/Calcutta -> Asia/Kolkata
//---------------------------------------------------------------------------

static const char kZoneNameAsia_Calcutta[] ACE_TIME_PROGMEM = "\x05" "Calcutta";

const extended::Info::ZoneInfo kZoneAsia_Calcutta ACE_TIME_PROGMEM = {
  kZoneNameAsia_Calcutta /*name*/,
  0x328a44c3 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Kolkata /*eras*/,
  &kZoneAsia_Kolkata /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Asia/Choibalsan -> Asia/Ulaanbaatar
//---------------------------------------------------------------------------

static const char kZoneNameAsia_Choibalsan[] ACE_TIME_PROGMEM = "\x05" "Choibalsan";

const extended::Info::ZoneInfo kZoneAsia_Choibalsan ACE_TIME_PROGMEM = {
  kZoneNameAsia_Choibalsan /*name*/,
  0x928aa4a6 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Ulaanbaatar /*eras*/,
  &kZoneAsia_Ulaanbaatar /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Asia/Chongqing -> Asia/Shanghai
//---------------------------------------------------------------------------

static const char kZoneNameAsia_Chongqing[] ACE_TIME_PROGMEM = "\x05" "Chongqing";

const extended::Info::ZoneInfo kZoneAsia_Chongqing ACE_TIME_PROGMEM = {
  kZoneNameAsia_Chongqing /*name*/,
  0xf937fb90 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Shanghai /*eras*/,
  &kZoneAsia_Shanghai /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Asia/Chungking -> Asia/Shanghai
//---------------------------------------------------------------------------

static const char kZoneNameAsia_Chungking[] ACE_TIME_PROGMEM = "\x05" "Chungking";

const extended::Info::ZoneInfo kZoneAsia_Chungking ACE_TIME_PROGMEM = {
  kZoneNameAsia_Chungking /*name*/,
  0xc7121dd0 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Shanghai /*eras*/,
  &kZoneAsia_Shanghai /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Asia/Dacca -> Asia/Dhaka
//---------------------------------------------------------------------------

static const char kZoneNameAsia_Dacca[] ACE_TIME_PROGMEM = "\x05" "Dacca";

const extended::Info::ZoneInfo kZoneAsia_Dacca ACE_TIME_PROGMEM = {
  kZoneNameAsia_Dacca /*name*/,
  0x14bcac5e /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  2 /*numEras*/,
  kZoneEraAsia_Dhaka /*eras*/,
  &kZoneAsia_Dhaka /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Asia/Harbin -> Asia/Shanghai
//---------------------------------------------------------------------------

static const char kZoneNameAsia_Harbin[] ACE_TIME_PROGMEM = "\x05" "Harbin";

const extended::Info::ZoneInfo kZoneAsia_Harbin ACE_TIME_PROGMEM = {
  kZoneNameAsia_Harbin /*name*/,
  0xb5af1186 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Shanghai /*eras*/,
  &kZoneAsia_Shanghai /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Asia/Istanbul -> Europe/Istanbul
//---------------------------------------------------------------------------

static const char kZoneNameAsia_Istanbul[] ACE_TIME_PROGMEM = "\x05" "Istanbul";

const extended::Info::ZoneInfo kZoneAsia_Istanbul ACE_TIME_PROGMEM = {
  kZoneNameAsia_Istanbul /*name*/,
  0x382e7894 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  9 /*numEras*/,
  kZoneEraEurope_Istanbul /*eras*/,
  &kZoneEurope_Istanbul /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Asia/Kashgar -> Asia/Urumqi
//---------------------------------------------------------------------------

static const char kZoneNameAsia_Kashgar[] ACE_TIME_PROGMEM = "\x05" "Kashgar";

const extended::Info::ZoneInfo kZoneAsia_Kashgar ACE_TIME_PROGMEM = {
  kZoneNameAsia_Kashgar /*name*/,
  0x52955193 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Urumqi /*eras*/,
  &kZoneAsia_Urumqi /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Asia/Katmandu -> Asia/Kathmandu
//---------------------------------------------------------------------------

static const char kZoneNameAsia_Katmandu[] ACE_TIME_PROGMEM = "\x05" "Katmandu";

const extended::Info::ZoneInfo kZoneAsia_Katmandu ACE_TIME_PROGMEM = {
  kZoneNameAsia_Katmandu /*name*/,
  0xa7ec12c7 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Kathmandu /*eras*/,
  &kZoneAsia_Kathmandu /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Asia/Kuala_Lumpur -> Asia/Singapore
//---------------------------------------------------------------------------

static const char kZoneNameAsia_Kuala_Lumpur[] ACE_TIME_PROGMEM = "\x05" "Kuala_Lumpur";

const extended::Info::ZoneInfo kZoneAsia_Kuala_Lumpur ACE_TIME_PROGMEM = {
  kZoneNameAsia_Kuala_Lumpur /*name*/,
  0x014763c4 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Singapore /*eras*/,
  &kZoneAsia_Singapore /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Asia/Kuwait -> Asia/Riyadh
//---------------------------------------------------------------------------

static const char kZoneNameAsia_Kuwait[] ACE_TIME_PROGMEM = "\x05" "Kuwait";

const extended::Info::ZoneInfo kZoneAsia_Kuwait ACE_TIME_PROGMEM = {
  kZoneNameAsia_Kuwait /*name*/,
  0xbe1b2f27 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Riyadh /*eras*/,
  &kZoneAsia_Riyadh /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Asia/Macao -> Asia/Macau
//---------------------------------------------------------------------------

static const char kZoneNameAsia_Macao[] ACE_TIME_PROGMEM = "\x05" "Macao";

const extended::Info::ZoneInfo kZoneAsia_Macao ACE_TIME_PROGMEM = {
  kZoneNameAsia_Macao /*name*/,
  0x155f88b3 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Macau /*eras*/,
  &kZoneAsia_Macau /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Asia/Muscat -> Asia/Dubai
//---------------------------------------------------------------------------

static const char kZoneNameAsia_Muscat[] ACE_TIME_PROGMEM = "\x05" "Muscat";

const extended::Info::ZoneInfo kZoneAsia_Muscat ACE_TIME_PROGMEM = {
  kZoneNameAsia_Muscat /*name*/,
  0xc2c3565f /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Dubai /*eras*/,
  &kZoneAsia_Dubai /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Asia/Phnom_Penh -> Asia/Bangkok
//---------------------------------------------------------------------------

static const char kZoneNameAsia_Phnom_Penh[] ACE_TIME_PROGMEM = "\x05" "Phnom_Penh";

const extended::Info::ZoneInfo kZoneAsia_Phnom_Penh ACE_TIME_PROGMEM = {
  kZoneNameAsia_Phnom_Penh /*name*/,
  0xc224945e /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Bangkok /*eras*/,
  &kZoneAsia_Bangkok /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Asia/Rangoon -> Asia/Yangon
//---------------------------------------------------------------------------

static const char kZoneNameAsia_Rangoon[] ACE_TIME_PROGMEM = "\x05" "Rangoon";

const extended::Info::ZoneInfo kZoneAsia_Rangoon ACE_TIME_PROGMEM = {
  kZoneNameAsia_Rangoon /*name*/,
  0x6d1217c6 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Yangon /*eras*/,
  &kZoneAsia_Yangon /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Asia/Saigon -> Asia/Ho_Chi_Minh
//---------------------------------------------------------------------------

static const char kZoneNameAsia_Saigon[] ACE_TIME_PROGMEM = "\x05" "Saigon";

const extended::Info::ZoneInfo kZoneAsia_Saigon ACE_TIME_PROGMEM = {
  kZoneNameAsia_Saigon /*name*/,
  0xcf52f713 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Ho_Chi_Minh /*eras*/,
  &kZoneAsia_Ho_Chi_Minh /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Asia/Tel_Aviv -> Asia/Jerusalem
//---------------------------------------------------------------------------

static const char kZoneNameAsia_Tel_Aviv[] ACE_TIME_PROGMEM = "\x05" "Tel_Aviv";

const extended::Info::ZoneInfo kZoneAsia_Tel_Aviv ACE_TIME_PROGMEM = {
  kZoneNameAsia_Tel_Aviv /*name*/,
  0x166d7c2c /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Jerusalem /*eras*/,
  &kZoneAsia_Jerusalem /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Asia/Thimbu -> Asia/Thimphu
//---------------------------------------------------------------------------

static const char kZoneNameAsia_Thimbu[] ACE_TIME_PROGMEM = "\x05" "Thimbu";

const extended::Info::ZoneInfo kZoneAsia_Thimbu ACE_TIME_PROGMEM = {
  kZoneNameAsia_Thimbu /*name*/,
  0xd226e31b /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Thimphu /*eras*/,
  &kZoneAsia_Thimphu /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Asia/Ujung_Pandang -> Asia/Makassar
//---------------------------------------------------------------------------

static const char kZoneNameAsia_Ujung_Pandang[] ACE_TIME_PROGMEM = "\x05" "Ujung_Pandang";

const extended::Info::ZoneInfo kZoneAsia_Ujung_Pandang ACE_TIME_PROGMEM = {
  kZoneNameAsia_Ujung_Pandang /*name*/,
  0x5d001eb3 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Makassar /*eras*/,
  &kZoneAsia_Makassar /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Asia/Ulan_Bator -> Asia/Ulaanbaatar
//---------------------------------------------------------------------------

static const char kZoneNameAsia_Ulan_Bator[] ACE_TIME_PROGMEM = "\x05" "Ulan_Bator";

const extended::Info::ZoneInfo kZoneAsia_Ulan_Bator ACE_TIME_PROGMEM = {
  kZoneNameAsia_Ulan_Bator /*name*/,
  0x394db4d9 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Ulaanbaatar /*eras*/,
  &kZoneAsia_Ulaanbaatar /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Asia/Vientiane -> Asia/Bangkok
//---------------------------------------------------------------------------

static const char kZoneNameAsia_Vientiane[] ACE_TIME_PROGMEM = "\x05" "Vientiane";

const extended::Info::ZoneInfo kZoneAsia_Vientiane ACE_TIME_PROGMEM = {
  kZoneNameAsia_Vientiane /*name*/,
  0x89d68d75 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Bangkok /*eras*/,
  &kZoneAsia_Bangkok /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Atlantic/Faeroe -> Atlantic/Faroe
//---------------------------------------------------------------------------

static const char kZoneNameAtlantic_Faeroe[] ACE_TIME_PROGMEM = "\x06" "Faeroe";

const extended::Info::ZoneInfo kZoneAtlantic_Faeroe ACE_TIME_PROGMEM = {
  kZoneNameAtlantic_Faeroe /*name*/,
  0x031ec516 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAtlantic_Faroe /*eras*/,
  &kZoneAtlantic_Faroe /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Atlantic/Jan_Mayen -> Europe/Berlin
//---------------------------------------------------------------------------

static const char kZoneNameAtlantic_Jan_Mayen[] ACE_TIME_PROGMEM = "\x06" "Jan_Mayen";

const extended::Info::ZoneInfo kZoneAtlantic_Jan_Mayen ACE_TIME_PROGMEM = {
  kZoneNameAtlantic_Jan_Mayen /*name*/,
  0x5a7535b6 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Berlin /*eras*/,
  &kZoneEurope_Berlin /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Atlantic/Reykjavik -> Africa/Abidjan
//---------------------------------------------------------------------------

static const char kZoneNameAtlantic_Reykjavik[] ACE_TIME_PROGMEM = "\x06" "Reykjavik";

const extended::Info::ZoneInfo kZoneAtlantic_Reykjavik ACE_TIME_PROGMEM = {
  kZoneNameAtlantic_Reykjavik /*name*/,
  0x1c2b4f74 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Abidjan /*eras*/,
  &kZoneAfrica_Abidjan /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Atlantic/St_Helena -> Africa/Abidjan
//---------------------------------------------------------------------------

static const char kZoneNameAtlantic_St_Helena[] ACE_TIME_PROGMEM = "\x06" "St_Helena";

const extended::Info::ZoneInfo kZoneAtlantic_St_Helena ACE_TIME_PROGMEM = {
  kZoneNameAtlantic_St_Helena /*name*/,
  0x451fc5f7 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Abidjan /*eras*/,
  &kZoneAfrica_Abidjan /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Australia/ACT -> Australia/Sydney
//---------------------------------------------------------------------------

static const char kZoneNameAustralia_ACT[] ACE_TIME_PROGMEM = "\x07" "ACT";

const extended::Info::ZoneInfo kZoneAustralia_ACT ACE_TIME_PROGMEM = {
  kZoneNameAustralia_ACT /*name*/,
  0x8a970eb2 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAustralia_Sydney /*eras*/,
  &kZoneAustralia_Sydney /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Australia/Canberra -> Australia/Sydney
//---------------------------------------------------------------------------

static const char kZoneNameAustralia_Canberra[] ACE_TIME_PROGMEM = "\x07" "Canberra";

const extended::Info::ZoneInfo kZoneAustralia_Canberra ACE_TIME_PROGMEM = {
  kZoneNameAustralia_Canberra /*name*/,
  0x2a09ae58 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAustralia_Sydney /*eras*/,
  &kZoneAustralia_Sydney /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Australia/Currie -> Australia/Hobart
//---------------------------------------------------------------------------

static const char kZoneNameAustralia_Currie[] ACE_TIME_PROGMEM = "\x07" "Currie";

const extended::Info::ZoneInfo kZoneAustralia_Currie ACE_TIME_PROGMEM = {
  kZoneNameAustralia_Currie /*name*/,
  0x278b6a24 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAustralia_Hobart /*eras*/,
  &kZoneAustralia_Hobart /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Australia/LHI -> Australia/Lord_Howe
//---------------------------------------------------------------------------

static const char kZoneNameAustralia_LHI[] ACE_TIME_PROGMEM = "\x07" "LHI";

const extended::Info::ZoneInfo kZoneAustralia_LHI ACE_TIME_PROGMEM = {
  kZoneNameAustralia_LHI /*name*/,
  0x8a973e17 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAustralia_Lord_Howe /*eras*/,
  &kZoneAustralia_Lord_Howe /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Australia/NSW -> Australia/Sydney
//---------------------------------------------------------------------------

static const char kZoneNameAustralia_NSW[] ACE_TIME_PROGMEM = "\x07" "NSW";

const extended::Info::ZoneInfo kZoneAustralia_NSW ACE_TIME_PROGMEM = {
  kZoneNameAustralia_NSW /*name*/,
  0x8a974812 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAustralia_Sydney /*eras*/,
  &kZoneAustralia_Sydney /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Australia/North -> Australia/Darwin
//---------------------------------------------------------------------------

static const char kZoneNameAustralia_North[] ACE_TIME_PROGMEM = "\x07" "North";

const extended::Info::ZoneInfo kZoneAustralia_North ACE_TIME_PROGMEM = {
  kZoneNameAustralia_North /*name*/,
  0x8d997165 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAustralia_Darwin /*eras*/,
  &kZoneAustralia_Darwin /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Australia/Queensland -> Australia/Brisbane
//---------------------------------------------------------------------------

static const char kZoneNameAustralia_Queensland[] ACE_TIME_PROGMEM = "\x07" "Queensland";

const extended::Info::ZoneInfo kZoneAustralia_Queensland ACE_TIME_PROGMEM = {
  kZoneNameAustralia_Queensland /*name*/,
  0xd326ed0a /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAustralia_Brisbane /*eras*/,
  &kZoneAustralia_Brisbane /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Australia/South -> Australia/Adelaide
//---------------------------------------------------------------------------

static const char kZoneNameAustralia_South[] ACE_TIME_PROGMEM = "\x07" "South";

const extended::Info::ZoneInfo kZoneAustralia_South ACE_TIME_PROGMEM = {
  kZoneNameAustralia_South /*name*/,
  0x8df3f8ad /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAustralia_Adelaide /*eras*/,
  &kZoneAustralia_Adelaide /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Australia/Tasmania -> Australia/Hobart
//---------------------------------------------------------------------------

static const char kZoneNameAustralia_Tasmania[] ACE_TIME_PROGMEM = "\x07" "Tasmania";

const extended::Info::ZoneInfo kZoneAustralia_Tasmania ACE_TIME_PROGMEM = {
  kZoneNameAustralia_Tasmania /*name*/,
  0xe6d76648 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAustralia_Hobart /*eras*/,
  &kZoneAustralia_Hobart /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Australia/Victoria -> Australia/Melbourne
//---------------------------------------------------------------------------

static const char kZoneNameAustralia_Victoria[] ACE_TIME_PROGMEM = "\x07" "Victoria";

const extended::Info::ZoneInfo kZoneAustralia_Victoria ACE_TIME_PROGMEM = {
  kZoneNameAustralia_Victoria /*name*/,
  0x0260d5db /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAustralia_Melbourne /*eras*/,
  &kZoneAustralia_Melbourne /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Australia/West -> Australia/Perth
//---------------------------------------------------------------------------

static const char kZoneNameAustralia_West[] ACE_TIME_PROGMEM = "\x07" "West";

const extended::Info::ZoneInfo kZoneAustralia_West ACE_TIME_PROGMEM = {
  kZoneNameAustralia_West /*name*/,
  0xdd858a5d /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAustralia_Perth /*eras*/,
  &kZoneAustralia_Perth /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Australia/Yancowinna -> Australia/Broken_Hill
//---------------------------------------------------------------------------

static const char kZoneNameAustralia_Yancowinna[] ACE_TIME_PROGMEM = "\x07" "Yancowinna";

const extended::Info::ZoneInfo kZoneAustralia_Yancowinna ACE_TIME_PROGMEM = {
  kZoneNameAustralia_Yancowinna /*name*/,
  0x90bac131 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  2 /*numEras*/,
  kZoneEraAustralia_Broken_Hill /*eras*/,
  &kZoneAustralia_Broken_Hill /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Brazil/Acre -> America/Rio_Branco
//---------------------------------------------------------------------------

static const char kZoneNameBrazil_Acre[] ACE_TIME_PROGMEM = "\x08" "Acre";

const extended::Info::ZoneInfo kZoneBrazil_Acre ACE_TIME_PROGMEM = {
  kZoneNameBrazil_Acre /*name*/,
  0x66934f93 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  3 /*numEras*/,
  kZoneEraAmerica_Rio_Branco /*eras*/,
  &kZoneAmerica_Rio_Branco /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Brazil/DeNoronha -> America/Noronha
//---------------------------------------------------------------------------

static const char kZoneNameBrazil_DeNoronha[] ACE_TIME_PROGMEM = "\x08" "DeNoronha";

const extended::Info::ZoneInfo kZoneBrazil_DeNoronha ACE_TIME_PROGMEM = {
  kZoneNameBrazil_DeNoronha /*name*/,
  0x9b4cb496 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  5 /*numEras*/,
  kZoneEraAmerica_Noronha /*eras*/,
  &kZoneAmerica_Noronha /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Brazil/East -> America/Sao_Paulo
//---------------------------------------------------------------------------

static const char kZoneNameBrazil_East[] ACE_TIME_PROGMEM = "\x08" "East";

const extended::Info::ZoneInfo kZoneBrazil_East ACE_TIME_PROGMEM = {
  kZoneNameBrazil_East /*name*/,
  0x669578c5 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Sao_Paulo /*eras*/,
  &kZoneAmerica_Sao_Paulo /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Brazil/West -> America/Manaus
//---------------------------------------------------------------------------

static const char kZoneNameBrazil_West[] ACE_TIME_PROGMEM = "\x08" "West";

const extended::Info::ZoneInfo kZoneBrazil_West ACE_TIME_PROGMEM = {
  kZoneNameBrazil_West /*name*/,
  0x669f689b /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Manaus /*eras*/,
  &kZoneAmerica_Manaus /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: CET -> Europe/Brussels
//---------------------------------------------------------------------------

static const char kZoneNameCET[] ACE_TIME_PROGMEM = "CET";

const extended::Info::ZoneInfo kZoneCET ACE_TIME_PROGMEM = {
  kZoneNameCET /*name*/,
  0x0b87d921 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Brussels /*eras*/,
  &kZoneEurope_Brussels /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: CST6CDT -> America/Chicago
//---------------------------------------------------------------------------

static const char kZoneNameCST6CDT[] ACE_TIME_PROGMEM = "CST6CDT";

const extended::Info::ZoneInfo kZoneCST6CDT ACE_TIME_PROGMEM = {
  kZoneNameCST6CDT /*name*/,
  0xf0e87d00 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Chicago /*eras*/,
  &kZoneAmerica_Chicago /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Canada/Atlantic -> America/Halifax
//---------------------------------------------------------------------------

static const char kZoneNameCanada_Atlantic[] ACE_TIME_PROGMEM = "\x09" "Atlantic";

const extended::Info::ZoneInfo kZoneCanada_Atlantic ACE_TIME_PROGMEM = {
  kZoneNameCanada_Atlantic /*name*/,
  0x536b119c /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Halifax /*eras*/,
  &kZoneAmerica_Halifax /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Canada/Central -> America/Winnipeg
//---------------------------------------------------------------------------

static const char kZoneNameCanada_Central[] ACE_TIME_PROGMEM = "\x09" "Central";

const extended::Info::ZoneInfo kZoneCanada_Central ACE_TIME_PROGMEM = {
  kZoneNameCanada_Central /*name*/,
  0x626710f5 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  2 /*numEras*/,
  kZoneEraAmerica_Winnipeg /*eras*/,
  &kZoneAmerica_Winnipeg /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Canada/Eastern -> America/Toronto
//---------------------------------------------------------------------------

static const char kZoneNameCanada_Eastern[] ACE_TIME_PROGMEM = "\x09" "Eastern";

const extended::Info::ZoneInfo kZoneCanada_Eastern ACE_TIME_PROGMEM = {
  kZoneNameCanada_Eastern /*name*/,
  0xf3612d5e /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Toronto /*eras*/,
  &kZoneAmerica_Toronto /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Canada/Mountain -> America/Edmonton
//---------------------------------------------------------------------------

static const char kZoneNameCanada_Mountain[] ACE_TIME_PROGMEM = "\x09" "Mountain";

const extended::Info::ZoneInfo kZoneCanada_Mountain ACE_TIME_PROGMEM = {
  kZoneNameCanada_Mountain /*name*/,
  0xfb8a8217 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Edmonton /*eras*/,
  &kZoneAmerica_Edmonton /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Canada/Newfoundland -> America/St_Johns
//---------------------------------------------------------------------------

static const char kZoneNameCanada_Newfoundland[] ACE_TIME_PROGMEM = "\x09" "Newfoundland";

const extended::Info::ZoneInfo kZoneCanada_Newfoundland ACE_TIME_PROGMEM = {
  kZoneNameCanada_Newfoundland /*name*/,
  0xb396e991 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  2 /*numEras*/,
  kZoneEraAmerica_St_Johns /*eras*/,
  &kZoneAmerica_St_Johns /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Canada/Pacific -> America/Vancouver
//---------------------------------------------------------------------------

static const char kZoneNameCanada_Pacific[] ACE_TIME_PROGMEM = "\x09" "Pacific";

const extended::Info::ZoneInfo kZoneCanada_Pacific ACE_TIME_PROGMEM = {
  kZoneNameCanada_Pacific /*name*/,
  0x40fa3c7b /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Vancouver /*eras*/,
  &kZoneAmerica_Vancouver /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Canada/Saskatchewan -> America/Regina
//---------------------------------------------------------------------------

static const char kZoneNameCanada_Saskatchewan[] ACE_TIME_PROGMEM = "\x09" "Saskatchewan";

const extended::Info::ZoneInfo kZoneCanada_Saskatchewan ACE_TIME_PROGMEM = {
  kZoneNameCanada_Saskatchewan /*name*/,
  0x77311f49 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Regina /*eras*/,
  &kZoneAmerica_Regina /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Canada/Yukon -> America/Whitehorse
//---------------------------------------------------------------------------

static const char kZoneNameCanada_Yukon[] ACE_TIME_PROGMEM = "\x09" "Yukon";

const extended::Info::ZoneInfo kZoneCanada_Yukon ACE_TIME_PROGMEM = {
  kZoneNameCanada_Yukon /*name*/,
  0x78dd35c2 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  2 /*numEras*/,
  kZoneEraAmerica_Whitehorse /*eras*/,
  &kZoneAmerica_Whitehorse /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Chile/Continental -> America/Santiago
//---------------------------------------------------------------------------

static const char kZoneNameChile_Continental[] ACE_TIME_PROGMEM = "Chile/Continental";

const extended::Info::ZoneInfo kZoneChile_Continental ACE_TIME_PROGMEM = {
  kZoneNameChile_Continental /*name*/,
  0x7e2bdb18 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Santiago /*eras*/,
  &kZoneAmerica_Santiago /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Chile/EasterIsland -> Pacific/Easter
//---------------------------------------------------------------------------

static const char kZoneNameChile_EasterIsland[] ACE_TIME_PROGMEM = "Chile/EasterIsland";

const extended::Info::ZoneInfo kZoneChile_EasterIsland ACE_TIME_PROGMEM = {
  kZoneNameChile_EasterIsland /*name*/,
  0xb0982af8 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Easter /*eras*/,
  &kZonePacific_Easter /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Cuba -> America/Havana
//---------------------------------------------------------------------------

static const char kZoneNameCuba[] ACE_TIME_PROGMEM = "Cuba";

const extended::Info::ZoneInfo kZoneCuba ACE_TIME_PROGMEM = {
  kZoneNameCuba /*name*/,
  0x7c83cba0 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Havana /*eras*/,
  &kZoneAmerica_Havana /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: EET -> Europe/Athens
//---------------------------------------------------------------------------

static const char kZoneNameEET[] ACE_TIME_PROGMEM = "EET";

const extended::Info::ZoneInfo kZoneEET ACE_TIME_PROGMEM = {
  kZoneNameEET /*name*/,
  0x0b87e1a3 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Athens /*eras*/,
  &kZoneEurope_Athens /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: EST -> America/Panama
//---------------------------------------------------------------------------

static const char kZoneNameEST[] ACE_TIME_PROGMEM = "EST";

const extended::Info::ZoneInfo kZoneEST ACE_TIME_PROGMEM = {
  kZoneNameEST /*name*/,
  0x0b87e371 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Panama /*eras*/,
  &kZoneAmerica_Panama /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: EST5EDT -> America/New_York
//---------------------------------------------------------------------------

static const char kZoneNameEST5EDT[] ACE_TIME_PROGMEM = "EST5EDT";

const extended::Info::ZoneInfo kZoneEST5EDT ACE_TIME_PROGMEM = {
  kZoneNameEST5EDT /*name*/,
  0x8adc72a3 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_New_York /*eras*/,
  &kZoneAmerica_New_York /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Egypt -> Africa/Cairo
//---------------------------------------------------------------------------

static const char kZoneNameEgypt[] ACE_TIME_PROGMEM = "Egypt";

const extended::Info::ZoneInfo kZoneEgypt ACE_TIME_PROGMEM = {
  kZoneNameEgypt /*name*/,
  0x0d1a278e /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Cairo /*eras*/,
  &kZoneAfrica_Cairo /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Eire -> Europe/Dublin
//---------------------------------------------------------------------------

static const char kZoneNameEire[] ACE_TIME_PROGMEM = "Eire";

const extended::Info::ZoneInfo kZoneEire ACE_TIME_PROGMEM = {
  kZoneNameEire /*name*/,
  0x7c84b36a /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Dublin /*eras*/,
  &kZoneEurope_Dublin /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Etc/GMT+0 -> Etc/GMT
//---------------------------------------------------------------------------

static const char kZoneNameEtc_GMT_PLUS_0[] ACE_TIME_PROGMEM = "\x0a" "GMT+0";

const extended::Info::ZoneInfo kZoneEtc_GMT_PLUS_0 ACE_TIME_PROGMEM = {
  kZoneNameEtc_GMT_PLUS_0 /*name*/,
  0x9d13da13 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEtc_GMT /*eras*/,
  &kZoneEtc_GMT /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Etc/GMT-0 -> Etc/GMT
//---------------------------------------------------------------------------

static const char kZoneNameEtc_GMT_0[] ACE_TIME_PROGMEM = "\x0a" "GMT-0";

const extended::Info::ZoneInfo kZoneEtc_GMT_0 ACE_TIME_PROGMEM = {
  kZoneNameEtc_GMT_0 /*name*/,
  0x9d13da55 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEtc_GMT /*eras*/,
  &kZoneEtc_GMT /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Etc/GMT0 -> Etc/GMT
//---------------------------------------------------------------------------

static const char kZoneNameEtc_GMT0[] ACE_TIME_PROGMEM = "\x0a" "GMT0";

const extended::Info::ZoneInfo kZoneEtc_GMT0 ACE_TIME_PROGMEM = {
  kZoneNameEtc_GMT0 /*name*/,
  0xf53ea988 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEtc_GMT /*eras*/,
  &kZoneEtc_GMT /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Etc/Greenwich -> Etc/GMT
//---------------------------------------------------------------------------

static const char kZoneNameEtc_Greenwich[] ACE_TIME_PROGMEM = "\x0a" "Greenwich";

const extended::Info::ZoneInfo kZoneEtc_Greenwich ACE_TIME_PROGMEM = {
  kZoneNameEtc_Greenwich /*name*/,
  0x26daa98c /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEtc_GMT /*eras*/,
  &kZoneEtc_GMT /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Etc/UCT -> Etc/UTC
//---------------------------------------------------------------------------

static const char kZoneNameEtc_UCT[] ACE_TIME_PROGMEM = "\x0a" "UCT";

const extended::Info::ZoneInfo kZoneEtc_UCT ACE_TIME_PROGMEM = {
  kZoneNameEtc_UCT /*name*/,
  0xd8e3189c /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEtc_UTC /*eras*/,
  &kZoneEtc_UTC /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Etc/Universal -> Etc/UTC
//---------------------------------------------------------------------------

static const char kZoneNameEtc_Universal[] ACE_TIME_PROGMEM = "\x0a" "Universal";

const extended::Info::ZoneInfo kZoneEtc_Universal ACE_TIME_PROGMEM = {
  kZoneNameEtc_Universal /*name*/,
  0x2f8cb9a9 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEtc_UTC /*eras*/,
  &kZoneEtc_UTC /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Etc/Zulu -> Etc/UTC
//---------------------------------------------------------------------------

static const char kZoneNameEtc_Zulu[] ACE_TIME_PROGMEM = "\x0a" "Zulu";

const extended::Info::ZoneInfo kZoneEtc_Zulu ACE_TIME_PROGMEM = {
  kZoneNameEtc_Zulu /*name*/,
  0xf549c240 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEtc_UTC /*eras*/,
  &kZoneEtc_UTC /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Europe/Amsterdam -> Europe/Brussels
//---------------------------------------------------------------------------

static const char kZoneNameEurope_Amsterdam[] ACE_TIME_PROGMEM = "\x0b" "Amsterdam";

const extended::Info::ZoneInfo kZoneEurope_Amsterdam ACE_TIME_PROGMEM = {
  kZoneNameEurope_Amsterdam /*name*/,
  0x109395c2 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Brussels /*eras*/,
  &kZoneEurope_Brussels /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Europe/Belfast -> Europe/London
//---------------------------------------------------------------------------

static const char kZoneNameEurope_Belfast[] ACE_TIME_PROGMEM = "\x0b" "Belfast";

const extended::Info::ZoneInfo kZoneEurope_Belfast ACE_TIME_PROGMEM = {
  kZoneNameEurope_Belfast /*name*/,
  0xd07dd1e5 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_London /*eras*/,
  &kZoneEurope_London /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Europe/Bratislava -> Europe/Prague
//---------------------------------------------------------------------------

static const char kZoneNameEurope_Bratislava[] ACE_TIME_PROGMEM = "\x0b" "Bratislava";

const extended::Info::ZoneInfo kZoneEurope_Bratislava ACE_TIME_PROGMEM = {
  kZoneNameEurope_Bratislava /*name*/,
  0xda493bed /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Prague /*eras*/,
  &kZoneEurope_Prague /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Europe/Busingen -> Europe/Zurich
//---------------------------------------------------------------------------

static const char kZoneNameEurope_Busingen[] ACE_TIME_PROGMEM = "\x0b" "Busingen";

const extended::Info::ZoneInfo kZoneEurope_Busingen ACE_TIME_PROGMEM = {
  kZoneNameEurope_Busingen /*name*/,
  0xc06d2cdf /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Zurich /*eras*/,
  &kZoneEurope_Zurich /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Europe/Copenhagen -> Europe/Berlin
//---------------------------------------------------------------------------

static const char kZoneNameEurope_Copenhagen[] ACE_TIME_PROGMEM = "\x0b" "Copenhagen";

const extended::Info::ZoneInfo kZoneEurope_Copenhagen ACE_TIME_PROGMEM = {
  kZoneNameEurope_Copenhagen /*name*/,
  0xe0ed30bc /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Berlin /*eras*/,
  &kZoneEurope_Berlin /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Europe/Guernsey -> Europe/London
//---------------------------------------------------------------------------

static const char kZoneNameEurope_Guernsey[] ACE_TIME_PROGMEM = "\x0b" "Guernsey";

const extended::Info::ZoneInfo kZoneEurope_Guernsey ACE_TIME_PROGMEM = {
  kZoneNameEurope_Guernsey /*name*/,
  0x3db12c16 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_London /*eras*/,
  &kZoneEurope_London /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Europe/Isle_of_Man -> Europe/London
//---------------------------------------------------------------------------

static const char kZoneNameEurope_Isle_of_Man[] ACE_TIME_PROGMEM = "\x0b" "Isle_of_Man";

const extended::Info::ZoneInfo kZoneEurope_Isle_of_Man ACE_TIME_PROGMEM = {
  kZoneNameEurope_Isle_of_Man /*name*/,
  0xeaf84580 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_London /*eras*/,
  &kZoneEurope_London /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Europe/Jersey -> Europe/London
//---------------------------------------------------------------------------

static const char kZoneNameEurope_Jersey[] ACE_TIME_PROGMEM = "\x0b" "Jersey";

const extended::Info::ZoneInfo kZoneEurope_Jersey ACE_TIME_PROGMEM = {
  kZoneNameEurope_Jersey /*name*/,
  0x570dae76 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_London /*eras*/,
  &kZoneEurope_London /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Europe/Kiev -> Europe/Kyiv
//---------------------------------------------------------------------------

static const char kZoneNameEurope_Kiev[] ACE_TIME_PROGMEM = "\x0b" "Kiev";

const extended::Info::ZoneInfo kZoneEurope_Kiev ACE_TIME_PROGMEM = {
  kZoneNameEurope_Kiev /*name*/,
  0xa2c19eb3 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Kyiv /*eras*/,
  &kZoneEurope_Kyiv /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Europe/Ljubljana -> Europe/Belgrade
//---------------------------------------------------------------------------

static const char kZoneNameEurope_Ljubljana[] ACE_TIME_PROGMEM = "\x0b" "Ljubljana";

const extended::Info::ZoneInfo kZoneEurope_Ljubljana ACE_TIME_PROGMEM = {
  kZoneNameEurope_Ljubljana /*name*/,
  0xbd98cdb7 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Belgrade /*eras*/,
  &kZoneEurope_Belgrade /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Europe/Luxembourg -> Europe/Brussels
//---------------------------------------------------------------------------

static const char kZoneNameEurope_Luxembourg[] ACE_TIME_PROGMEM = "\x0b" "Luxembourg";

const extended::Info::ZoneInfo kZoneEurope_Luxembourg ACE_TIME_PROGMEM = {
  kZoneNameEurope_Luxembourg /*name*/,
  0x1f8bc6ce /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Brussels /*eras*/,
  &kZoneEurope_Brussels /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Europe/Mariehamn -> Europe/Helsinki
//---------------------------------------------------------------------------

static const char kZoneNameEurope_Mariehamn[] ACE_TIME_PROGMEM = "\x0b" "Mariehamn";

const extended::Info::ZoneInfo kZoneEurope_Mariehamn ACE_TIME_PROGMEM = {
  kZoneNameEurope_Mariehamn /*name*/,
  0x0caa6496 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Helsinki /*eras*/,
  &kZoneEurope_Helsinki /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Europe/Monaco -> Europe/Paris
//---------------------------------------------------------------------------

static const char kZoneNameEurope_Monaco[] ACE_TIME_PROGMEM = "\x0b" "Monaco";

const extended::Info::ZoneInfo kZoneEurope_Monaco ACE_TIME_PROGMEM = {
  kZoneNameEurope_Monaco /*name*/,
  0x5ebf9f01 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Paris /*eras*/,
  &kZoneEurope_Paris /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Europe/Nicosia -> Asia/Nicosia
//---------------------------------------------------------------------------

static const char kZoneNameEurope_Nicosia[] ACE_TIME_PROGMEM = "\x0b" "Nicosia";

const extended::Info::ZoneInfo kZoneEurope_Nicosia ACE_TIME_PROGMEM = {
  kZoneNameEurope_Nicosia /*name*/,
  0x74efab8a /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Nicosia /*eras*/,
  &kZoneAsia_Nicosia /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Europe/Oslo -> Europe/Berlin
//---------------------------------------------------------------------------

static const char kZoneNameEurope_Oslo[] ACE_TIME_PROGMEM = "\x0b" "Oslo";

const extended::Info::ZoneInfo kZoneEurope_Oslo ACE_TIME_PROGMEM = {
  kZoneNameEurope_Oslo /*name*/,
  0xa2c3fba1 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Berlin /*eras*/,
  &kZoneEurope_Berlin /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Europe/Podgorica -> Europe/Belgrade
//---------------------------------------------------------------------------

static const char kZoneNameEurope_Podgorica[] ACE_TIME_PROGMEM = "\x0b" "Podgorica";

const extended::Info::ZoneInfo kZoneEurope_Podgorica ACE_TIME_PROGMEM = {
  kZoneNameEurope_Podgorica /*name*/,
  0x1c1a499c /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Belgrade /*eras*/,
  &kZoneEurope_Belgrade /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Europe/San_Marino -> Europe/Rome
//---------------------------------------------------------------------------

static const char kZoneNameEurope_San_Marino[] ACE_TIME_PROGMEM = "\x0b" "San_Marino";

const extended::Info::ZoneInfo kZoneEurope_San_Marino ACE_TIME_PROGMEM = {
  kZoneNameEurope_San_Marino /*name*/,
  0xcef7724b /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Rome /*eras*/,
  &kZoneEurope_Rome /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Europe/Sarajevo -> Europe/Belgrade
//---------------------------------------------------------------------------

static const char kZoneNameEurope_Sarajevo[] ACE_TIME_PROGMEM = "\x0b" "Sarajevo";

const extended::Info::ZoneInfo kZoneEurope_Sarajevo ACE_TIME_PROGMEM = {
  kZoneNameEurope_Sarajevo /*name*/,
  0x6a576c3f /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Belgrade /*eras*/,
  &kZoneEurope_Belgrade /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Europe/Skopje -> Europe/Belgrade
//---------------------------------------------------------------------------

static const char kZoneNameEurope_Skopje[] ACE_TIME_PROGMEM = "\x0b" "Skopje";

const extended::Info::ZoneInfo kZoneEurope_Skopje ACE_TIME_PROGMEM = {
  kZoneNameEurope_Skopje /*name*/,
  0x6c76fdd0 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Belgrade /*eras*/,
  &kZoneEurope_Belgrade /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Europe/Stockholm -> Europe/Berlin
//---------------------------------------------------------------------------

static const char kZoneNameEurope_Stockholm[] ACE_TIME_PROGMEM = "\x0b" "Stockholm";

const extended::Info::ZoneInfo kZoneEurope_Stockholm ACE_TIME_PROGMEM = {
  kZoneNameEurope_Stockholm /*name*/,
  0x5bf6fbb8 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Berlin /*eras*/,
  &kZoneEurope_Berlin /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Europe/Tiraspol -> Europe/Chisinau
//---------------------------------------------------------------------------

static const char kZoneNameEurope_Tiraspol[] ACE_TIME_PROGMEM = "\x0b" "Tiraspol";

const extended::Info::ZoneInfo kZoneEurope_Tiraspol ACE_TIME_PROGMEM = {
  kZoneNameEurope_Tiraspol /*name*/,
  0xbe704472 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Chisinau /*eras*/,
  &kZoneEurope_Chisinau /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Europe/Uzhgorod -> Europe/Kyiv
//---------------------------------------------------------------------------

static const char kZoneNameEurope_Uzhgorod[] ACE_TIME_PROGMEM = "\x0b" "Uzhgorod";

const extended::Info::ZoneInfo kZoneEurope_Uzhgorod ACE_TIME_PROGMEM = {
  kZoneNameEurope_Uzhgorod /*name*/,
  0xb066f5d6 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Kyiv /*eras*/,
  &kZoneEurope_Kyiv /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Europe/Vaduz -> Europe/Zurich
//---------------------------------------------------------------------------

static const char kZoneNameEurope_Vaduz[] ACE_TIME_PROGMEM = "\x0b" "Vaduz";

const extended::Info::ZoneInfo kZoneEurope_Vaduz ACE_TIME_PROGMEM = {
  kZoneNameEurope_Vaduz /*name*/,
  0xfbb81bae /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Zurich /*eras*/,
  &kZoneEurope_Zurich /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Europe/Vatican -> Europe/Rome
//---------------------------------------------------------------------------

static const char kZoneNameEurope_Vatican[] ACE_TIME_PROGMEM = "\x0b" "Vatican";

const extended::Info::ZoneInfo kZoneEurope_Vatican ACE_TIME_PROGMEM = {
  kZoneNameEurope_Vatican /*name*/,
  0xcb485dca /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Rome /*eras*/,
  &kZoneEurope_Rome /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Europe/Zagreb -> Europe/Belgrade
//---------------------------------------------------------------------------

static const char kZoneNameEurope_Zagreb[] ACE_TIME_PROGMEM = "\x0b" "Zagreb";

const extended::Info::ZoneInfo kZoneEurope_Zagreb ACE_TIME_PROGMEM = {
  kZoneNameEurope_Zagreb /*name*/,
  0x7c11c9ff /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Belgrade /*eras*/,
  &kZoneEurope_Belgrade /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Europe/Zaporozhye -> Europe/Kyiv
//---------------------------------------------------------------------------

static const char kZoneNameEurope_Zaporozhye[] ACE_TIME_PROGMEM = "\x0b" "Zaporozhye";

const extended::Info::ZoneInfo kZoneEurope_Zaporozhye ACE_TIME_PROGMEM = {
  kZoneNameEurope_Zaporozhye /*name*/,
  0xeab9767f /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Kyiv /*eras*/,
  &kZoneEurope_Kyiv /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: GB -> Europe/London
//---------------------------------------------------------------------------

static const char kZoneNameGB[] ACE_TIME_PROGMEM = "GB";

const extended::Info::ZoneInfo kZoneGB ACE_TIME_PROGMEM = {
  kZoneNameGB /*name*/,
  0x005973ae /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_London /*eras*/,
  &kZoneEurope_London /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: GB-Eire -> Europe/London
//---------------------------------------------------------------------------

static const char kZoneNameGB_Eire[] ACE_TIME_PROGMEM = "GB-Eire";

const extended::Info::ZoneInfo kZoneGB_Eire ACE_TIME_PROGMEM = {
  kZoneNameGB_Eire /*name*/,
  0xfa70e300 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_London /*eras*/,
  &kZoneEurope_London /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: GMT -> Etc/GMT
//---------------------------------------------------------------------------

static const char kZoneNameGMT[] ACE_TIME_PROGMEM = "GMT";

const extended::Info::ZoneInfo kZoneGMT ACE_TIME_PROGMEM = {
  kZoneNameGMT /*name*/,
  0x0b87eb2d /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEtc_GMT /*eras*/,
  &kZoneEtc_GMT /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: GMT+0 -> Etc/GMT
//---------------------------------------------------------------------------

static const char kZoneNameGMT_PLUS_0[] ACE_TIME_PROGMEM = "GMT+0";

const extended::Info::ZoneInfo kZoneGMT_PLUS_0 ACE_TIME_PROGMEM = {
  kZoneNameGMT_PLUS_0 /*name*/,
  0x0d2f7028 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEtc_GMT /*eras*/,
  &kZoneEtc_GMT /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: GMT-0 -> Etc/GMT
//---------------------------------------------------------------------------

static const char kZoneNameGMT_0[] ACE_TIME_PROGMEM = "GMT-0";

const extended::Info::ZoneInfo kZoneGMT_0 ACE_TIME_PROGMEM = {
  kZoneNameGMT_0 /*name*/,
  0x0d2f706a /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEtc_GMT /*eras*/,
  &kZoneEtc_GMT /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: GMT0 -> Etc/GMT
//---------------------------------------------------------------------------

static const char kZoneNameGMT0[] ACE_TIME_PROGMEM = "GMT0";

const extended::Info::ZoneInfo kZoneGMT0 ACE_TIME_PROGMEM = {
  kZoneNameGMT0 /*name*/,
  0x7c8550fd /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEtc_GMT /*eras*/,
  &kZoneEtc_GMT /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Greenwich -> Etc/GMT
//---------------------------------------------------------------------------

static const char kZoneNameGreenwich[] ACE_TIME_PROGMEM = "Greenwich";

const extended::Info::ZoneInfo kZoneGreenwich ACE_TIME_PROGMEM = {
  kZoneNameGreenwich /*name*/,
  0xc84d4221 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEtc_GMT /*eras*/,
  &kZoneEtc_GMT /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: HST -> Pacific/Honolulu
//---------------------------------------------------------------------------

static const char kZoneNameHST[] ACE_TIME_PROGMEM = "HST";

const extended::Info::ZoneInfo kZoneHST ACE_TIME_PROGMEM = {
  kZoneNameHST /*name*/,
  0x0b87f034 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Honolulu /*eras*/,
  &kZonePacific_Honolulu /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Hongkong -> Asia/Hong_Kong
//---------------------------------------------------------------------------

static const char kZoneNameHongkong[] ACE_TIME_PROGMEM = "Hongkong";

const extended::Info::ZoneInfo kZoneHongkong ACE_TIME_PROGMEM = {
  kZoneNameHongkong /*name*/,
  0x56d36560 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Hong_Kong /*eras*/,
  &kZoneAsia_Hong_Kong /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Iceland -> Africa/Abidjan
//---------------------------------------------------------------------------

static const char kZoneNameIceland[] ACE_TIME_PROGMEM = "Iceland";

const extended::Info::ZoneInfo kZoneIceland ACE_TIME_PROGMEM = {
  kZoneNameIceland /*name*/,
  0xe56a35b5 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Abidjan /*eras*/,
  &kZoneAfrica_Abidjan /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Indian/Antananarivo -> Africa/Nairobi
//---------------------------------------------------------------------------

static const char kZoneNameIndian_Antananarivo[] ACE_TIME_PROGMEM = "\x0c" "Antananarivo";

const extended::Info::ZoneInfo kZoneIndian_Antananarivo ACE_TIME_PROGMEM = {
  kZoneNameIndian_Antananarivo /*name*/,
  0x9ebf5289 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Nairobi /*eras*/,
  &kZoneAfrica_Nairobi /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Indian/Christmas -> Asia/Bangkok
//---------------------------------------------------------------------------

static const char kZoneNameIndian_Christmas[] ACE_TIME_PROGMEM = "\x0c" "Christmas";

const extended::Info::ZoneInfo kZoneIndian_Christmas ACE_TIME_PROGMEM = {
  kZoneNameIndian_Christmas /*name*/,
  0x68c207d5 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Bangkok /*eras*/,
  &kZoneAsia_Bangkok /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Indian/Cocos -> Asia/Yangon
//---------------------------------------------------------------------------

static const char kZoneNameIndian_Cocos[] ACE_TIME_PROGMEM = "\x0c" "Cocos";

const extended::Info::ZoneInfo kZoneIndian_Cocos ACE_TIME_PROGMEM = {
  kZoneNameIndian_Cocos /*name*/,
  0x021e86de /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Yangon /*eras*/,
  &kZoneAsia_Yangon /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Indian/Comoro -> Africa/Nairobi
//---------------------------------------------------------------------------

static const char kZoneNameIndian_Comoro[] ACE_TIME_PROGMEM = "\x0c" "Comoro";

const extended::Info::ZoneInfo kZoneIndian_Comoro ACE_TIME_PROGMEM = {
  kZoneNameIndian_Comoro /*name*/,
  0x45f4deb6 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Nairobi /*eras*/,
  &kZoneAfrica_Nairobi /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Indian/Kerguelen -> Indian/Maldives
//---------------------------------------------------------------------------

static const char kZoneNameIndian_Kerguelen[] ACE_TIME_PROGMEM = "\x0c" "Kerguelen";

const extended::Info::ZoneInfo kZoneIndian_Kerguelen ACE_TIME_PROGMEM = {
  kZoneNameIndian_Kerguelen /*name*/,
  0x4351b389 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraIndian_Maldives /*eras*/,
  &kZoneIndian_Maldives /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Indian/Mahe -> Asia/Dubai
//---------------------------------------------------------------------------

static const char kZoneNameIndian_Mahe[] ACE_TIME_PROGMEM = "\x0c" "Mahe";

const extended::Info::ZoneInfo kZoneIndian_Mahe ACE_TIME_PROGMEM = {
  kZoneNameIndian_Mahe /*name*/,
  0x45e725e2 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Dubai /*eras*/,
  &kZoneAsia_Dubai /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Indian/Mayotte -> Africa/Nairobi
//---------------------------------------------------------------------------

static const char kZoneNameIndian_Mayotte[] ACE_TIME_PROGMEM = "\x0c" "Mayotte";

const extended::Info::ZoneInfo kZoneIndian_Mayotte ACE_TIME_PROGMEM = {
  kZoneNameIndian_Mayotte /*name*/,
  0xe6880bca /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAfrica_Nairobi /*eras*/,
  &kZoneAfrica_Nairobi /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Indian/Reunion -> Asia/Dubai
//---------------------------------------------------------------------------

static const char kZoneNameIndian_Reunion[] ACE_TIME_PROGMEM = "\x0c" "Reunion";

const extended::Info::ZoneInfo kZoneIndian_Reunion ACE_TIME_PROGMEM = {
  kZoneNameIndian_Reunion /*name*/,
  0x7076c047 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Dubai /*eras*/,
  &kZoneAsia_Dubai /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Iran -> Asia/Tehran
//---------------------------------------------------------------------------

static const char kZoneNameIran[] ACE_TIME_PROGMEM = "Iran";

const extended::Info::ZoneInfo kZoneIran ACE_TIME_PROGMEM = {
  kZoneNameIran /*name*/,
  0x7c87090f /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Tehran /*eras*/,
  &kZoneAsia_Tehran /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Israel -> Asia/Jerusalem
//---------------------------------------------------------------------------

static const char kZoneNameIsrael[] ACE_TIME_PROGMEM = "Israel";

const extended::Info::ZoneInfo kZoneIsrael ACE_TIME_PROGMEM = {
  kZoneNameIsrael /*name*/,
  0xba88c9e5 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Jerusalem /*eras*/,
  &kZoneAsia_Jerusalem /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Jamaica -> America/Jamaica
//---------------------------------------------------------------------------

static const char kZoneNameJamaica[] ACE_TIME_PROGMEM = "Jamaica";

const extended::Info::ZoneInfo kZoneJamaica ACE_TIME_PROGMEM = {
  kZoneNameJamaica /*name*/,
  0x2e44fdab /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Jamaica /*eras*/,
  &kZoneAmerica_Jamaica /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Japan -> Asia/Tokyo
//---------------------------------------------------------------------------

static const char kZoneNameJapan[] ACE_TIME_PROGMEM = "Japan";

const extended::Info::ZoneInfo kZoneJapan ACE_TIME_PROGMEM = {
  kZoneNameJapan /*name*/,
  0x0d712f8f /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Tokyo /*eras*/,
  &kZoneAsia_Tokyo /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Kwajalein -> Pacific/Kwajalein
//---------------------------------------------------------------------------

static const char kZoneNameKwajalein[] ACE_TIME_PROGMEM = "Kwajalein";

const extended::Info::ZoneInfo kZoneKwajalein ACE_TIME_PROGMEM = {
  kZoneNameKwajalein /*name*/,
  0x0e57afbb /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Kwajalein /*eras*/,
  &kZonePacific_Kwajalein /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Libya -> Africa/Tripoli
//---------------------------------------------------------------------------

static const char kZoneNameLibya[] ACE_TIME_PROGMEM = "Libya";

const extended::Info::ZoneInfo kZoneLibya ACE_TIME_PROGMEM = {
  kZoneNameLibya /*name*/,
  0x0d998b16 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  3 /*numEras*/,
  kZoneEraAfrica_Tripoli /*eras*/,
  &kZoneAfrica_Tripoli /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: MET -> Europe/Brussels
//---------------------------------------------------------------------------

static const char kZoneNameMET[] ACE_TIME_PROGMEM = "MET";

const extended::Info::ZoneInfo kZoneMET ACE_TIME_PROGMEM = {
  kZoneNameMET /*name*/,
  0x0b8803ab /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Brussels /*eras*/,
  &kZoneEurope_Brussels /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: MST -> America/Phoenix
//---------------------------------------------------------------------------

static const char kZoneNameMST[] ACE_TIME_PROGMEM = "MST";

const extended::Info::ZoneInfo kZoneMST ACE_TIME_PROGMEM = {
  kZoneNameMST /*name*/,
  0x0b880579 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Phoenix /*eras*/,
  &kZoneAmerica_Phoenix /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: MST7MDT -> America/Denver
//---------------------------------------------------------------------------

static const char kZoneNameMST7MDT[] ACE_TIME_PROGMEM = "MST7MDT";

const extended::Info::ZoneInfo kZoneMST7MDT ACE_TIME_PROGMEM = {
  kZoneNameMST7MDT /*name*/,
  0xf2af9375 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Denver /*eras*/,
  &kZoneAmerica_Denver /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Mexico/BajaNorte -> America/Tijuana
//---------------------------------------------------------------------------

static const char kZoneNameMexico_BajaNorte[] ACE_TIME_PROGMEM = "Mexico/BajaNorte";

const extended::Info::ZoneInfo kZoneMexico_BajaNorte ACE_TIME_PROGMEM = {
  kZoneNameMexico_BajaNorte /*name*/,
  0xfcf7150f /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  4 /*numEras*/,
  kZoneEraAmerica_Tijuana /*eras*/,
  &kZoneAmerica_Tijuana /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Mexico/BajaSur -> America/Mazatlan
//---------------------------------------------------------------------------

static const char kZoneNameMexico_BajaSur[] ACE_TIME_PROGMEM = "Mexico/BajaSur";

const extended::Info::ZoneInfo kZoneMexico_BajaSur ACE_TIME_PROGMEM = {
  kZoneNameMexico_BajaSur /*name*/,
  0x08ee3641 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Mazatlan /*eras*/,
  &kZoneAmerica_Mazatlan /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Mexico/General -> America/Mexico_City
//---------------------------------------------------------------------------

static const char kZoneNameMexico_General[] ACE_TIME_PROGMEM = "Mexico/General";

const extended::Info::ZoneInfo kZoneMexico_General ACE_TIME_PROGMEM = {
  kZoneNameMexico_General /*name*/,
  0x93711d57 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  3 /*numEras*/,
  kZoneEraAmerica_Mexico_City /*eras*/,
  &kZoneAmerica_Mexico_City /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: NZ -> Pacific/Auckland
//---------------------------------------------------------------------------

static const char kZoneNameNZ[] ACE_TIME_PROGMEM = "NZ";

const extended::Info::ZoneInfo kZoneNZ ACE_TIME_PROGMEM = {
  kZoneNameNZ /*name*/,
  0x005974ad /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Auckland /*eras*/,
  &kZonePacific_Auckland /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: NZ-CHAT -> Pacific/Chatham
//---------------------------------------------------------------------------

static const char kZoneNameNZ_CHAT[] ACE_TIME_PROGMEM = "NZ-CHAT";

const extended::Info::ZoneInfo kZoneNZ_CHAT ACE_TIME_PROGMEM = {
  kZoneNameNZ_CHAT /*name*/,
  0x4d42afda /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Chatham /*eras*/,
  &kZonePacific_Chatham /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Navajo -> America/Denver
//---------------------------------------------------------------------------

static const char kZoneNameNavajo[] ACE_TIME_PROGMEM = "Navajo";

const extended::Info::ZoneInfo kZoneNavajo ACE_TIME_PROGMEM = {
  kZoneNameNavajo /*name*/,
  0xc4ef0e24 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Denver /*eras*/,
  &kZoneAmerica_Denver /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: PRC -> Asia/Shanghai
//---------------------------------------------------------------------------

static const char kZoneNamePRC[] ACE_TIME_PROGMEM = "PRC";

const extended::Info::ZoneInfo kZonePRC ACE_TIME_PROGMEM = {
  kZoneNamePRC /*name*/,
  0x0b88120a /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Shanghai /*eras*/,
  &kZoneAsia_Shanghai /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: PST8PDT -> America/Los_Angeles
//---------------------------------------------------------------------------

static const char kZoneNamePST8PDT[] ACE_TIME_PROGMEM = "PST8PDT";

const extended::Info::ZoneInfo kZonePST8PDT ACE_TIME_PROGMEM = {
  kZoneNamePST8PDT /*name*/,
  0xd99ee2dc /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Los_Angeles /*eras*/,
  &kZoneAmerica_Los_Angeles /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Pacific/Chuuk -> Pacific/Port_Moresby
//---------------------------------------------------------------------------

static const char kZoneNamePacific_Chuuk[] ACE_TIME_PROGMEM = "\x0e" "Chuuk";

const extended::Info::ZoneInfo kZonePacific_Chuuk ACE_TIME_PROGMEM = {
  kZoneNamePacific_Chuuk /*name*/,
  0x8a090b23 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Port_Moresby /*eras*/,
  &kZonePacific_Port_Moresby /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Pacific/Enderbury -> Pacific/Kanton
//---------------------------------------------------------------------------

static const char kZoneNamePacific_Enderbury[] ACE_TIME_PROGMEM = "\x0e" "Enderbury";

const extended::Info::ZoneInfo kZonePacific_Enderbury ACE_TIME_PROGMEM = {
  kZoneNamePacific_Enderbury /*name*/,
  0x61599a93 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Kanton /*eras*/,
  &kZonePacific_Kanton /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Pacific/Funafuti -> Pacific/Tarawa
//---------------------------------------------------------------------------

static const char kZoneNamePacific_Funafuti[] ACE_TIME_PROGMEM = "\x0e" "Funafuti";

const extended::Info::ZoneInfo kZonePacific_Funafuti ACE_TIME_PROGMEM = {
  kZoneNamePacific_Funafuti /*name*/,
  0xdb402d65 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Tarawa /*eras*/,
  &kZonePacific_Tarawa /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Pacific/Johnston -> Pacific/Honolulu
//---------------------------------------------------------------------------

static const char kZoneNamePacific_Johnston[] ACE_TIME_PROGMEM = "\x0e" "Johnston";

const extended::Info::ZoneInfo kZonePacific_Johnston ACE_TIME_PROGMEM = {
  kZoneNamePacific_Johnston /*name*/,
  0xb15d7b36 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Honolulu /*eras*/,
  &kZonePacific_Honolulu /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Pacific/Majuro -> Pacific/Tarawa
//---------------------------------------------------------------------------

static const char kZoneNamePacific_Majuro[] ACE_TIME_PROGMEM = "\x0e" "Majuro";

const extended::Info::ZoneInfo kZonePacific_Majuro ACE_TIME_PROGMEM = {
  kZoneNamePacific_Majuro /*name*/,
  0xe1f95371 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Tarawa /*eras*/,
  &kZonePacific_Tarawa /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Pacific/Midway -> Pacific/Pago_Pago
//---------------------------------------------------------------------------

static const char kZoneNamePacific_Midway[] ACE_TIME_PROGMEM = "\x0e" "Midway";

const extended::Info::ZoneInfo kZonePacific_Midway ACE_TIME_PROGMEM = {
  kZoneNamePacific_Midway /*name*/,
  0xe286d38e /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Pago_Pago /*eras*/,
  &kZonePacific_Pago_Pago /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Pacific/Pohnpei -> Pacific/Guadalcanal
//---------------------------------------------------------------------------

static const char kZoneNamePacific_Pohnpei[] ACE_TIME_PROGMEM = "\x0e" "Pohnpei";

const extended::Info::ZoneInfo kZonePacific_Pohnpei ACE_TIME_PROGMEM = {
  kZoneNamePacific_Pohnpei /*name*/,
  0x28929f96 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Guadalcanal /*eras*/,
  &kZonePacific_Guadalcanal /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Pacific/Ponape -> Pacific/Guadalcanal
//---------------------------------------------------------------------------

static const char kZoneNamePacific_Ponape[] ACE_TIME_PROGMEM = "\x0e" "Ponape";

const extended::Info::ZoneInfo kZonePacific_Ponape ACE_TIME_PROGMEM = {
  kZoneNamePacific_Ponape /*name*/,
  0xe9f80086 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Guadalcanal /*eras*/,
  &kZonePacific_Guadalcanal /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Pacific/Saipan -> Pacific/Guam
//---------------------------------------------------------------------------

static const char kZoneNamePacific_Saipan[] ACE_TIME_PROGMEM = "\x0e" "Saipan";

const extended::Info::ZoneInfo kZonePacific_Saipan ACE_TIME_PROGMEM = {
  kZoneNamePacific_Saipan /*name*/,
  0xeff7a35f /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  2 /*numEras*/,
  kZoneEraPacific_Guam /*eras*/,
  &kZonePacific_Guam /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Pacific/Samoa -> Pacific/Pago_Pago
//---------------------------------------------------------------------------

static const char kZoneNamePacific_Samoa[] ACE_TIME_PROGMEM = "\x0e" "Samoa";

const extended::Info::ZoneInfo kZonePacific_Samoa ACE_TIME_PROGMEM = {
  kZoneNamePacific_Samoa /*name*/,
  0x8b2699b4 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Pago_Pago /*eras*/,
  &kZonePacific_Pago_Pago /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Pacific/Truk -> Pacific/Port_Moresby
//---------------------------------------------------------------------------

static const char kZoneNamePacific_Truk[] ACE_TIME_PROGMEM = "\x0e" "Truk";

const extended::Info::ZoneInfo kZonePacific_Truk ACE_TIME_PROGMEM = {
  kZoneNamePacific_Truk /*name*/,
  0x234010a9 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Port_Moresby /*eras*/,
  &kZonePacific_Port_Moresby /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Pacific/Wake -> Pacific/Tarawa
//---------------------------------------------------------------------------

static const char kZoneNamePacific_Wake[] ACE_TIME_PROGMEM = "\x0e" "Wake";

const extended::Info::ZoneInfo kZonePacific_Wake ACE_TIME_PROGMEM = {
  kZoneNamePacific_Wake /*name*/,
  0x23416c2b /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Tarawa /*eras*/,
  &kZonePacific_Tarawa /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Pacific/Wallis -> Pacific/Tarawa
//---------------------------------------------------------------------------

static const char kZoneNamePacific_Wallis[] ACE_TIME_PROGMEM = "\x0e" "Wallis";

const extended::Info::ZoneInfo kZonePacific_Wallis ACE_TIME_PROGMEM = {
  kZoneNamePacific_Wallis /*name*/,
  0xf94ddb0f /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Tarawa /*eras*/,
  &kZonePacific_Tarawa /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Pacific/Yap -> Pacific/Port_Moresby
//---------------------------------------------------------------------------

static const char kZoneNamePacific_Yap[] ACE_TIME_PROGMEM = "\x0e" "Yap";

const extended::Info::ZoneInfo kZonePacific_Yap ACE_TIME_PROGMEM = {
  kZoneNamePacific_Yap /*name*/,
  0xbb40138d /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Port_Moresby /*eras*/,
  &kZonePacific_Port_Moresby /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Poland -> Europe/Warsaw
//---------------------------------------------------------------------------

static const char kZoneNamePoland[] ACE_TIME_PROGMEM = "Poland";

const extended::Info::ZoneInfo kZonePoland ACE_TIME_PROGMEM = {
  kZoneNamePoland /*name*/,
  0xca913b23 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Warsaw /*eras*/,
  &kZoneEurope_Warsaw /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Portugal -> Europe/Lisbon
//---------------------------------------------------------------------------

static const char kZoneNamePortugal[] ACE_TIME_PROGMEM = "Portugal";

const extended::Info::ZoneInfo kZonePortugal ACE_TIME_PROGMEM = {
  kZoneNamePortugal /*name*/,
  0xc3274593 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Lisbon /*eras*/,
  &kZoneEurope_Lisbon /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: ROC -> Asia/Taipei
//---------------------------------------------------------------------------

static const char kZoneNameROC[] ACE_TIME_PROGMEM = "ROC";

const extended::Info::ZoneInfo kZoneROC ACE_TIME_PROGMEM = {
  kZoneNameROC /*name*/,
  0x0b881a29 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Taipei /*eras*/,
  &kZoneAsia_Taipei /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: ROK -> Asia/Seoul
//---------------------------------------------------------------------------

static const char kZoneNameROK[] ACE_TIME_PROGMEM = "ROK";

const extended::Info::ZoneInfo kZoneROK ACE_TIME_PROGMEM = {
  kZoneNameROK /*name*/,
  0x0b881a31 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Seoul /*eras*/,
  &kZoneAsia_Seoul /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Singapore -> Asia/Singapore
//---------------------------------------------------------------------------

static const char kZoneNameSingapore[] ACE_TIME_PROGMEM = "Singapore";

const extended::Info::ZoneInfo kZoneSingapore ACE_TIME_PROGMEM = {
  kZoneNameSingapore /*name*/,
  0xa8598c8d /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAsia_Singapore /*eras*/,
  &kZoneAsia_Singapore /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Turkey -> Europe/Istanbul
//---------------------------------------------------------------------------

static const char kZoneNameTurkey[] ACE_TIME_PROGMEM = "Turkey";

const extended::Info::ZoneInfo kZoneTurkey ACE_TIME_PROGMEM = {
  kZoneNameTurkey /*name*/,
  0xd455e469 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  9 /*numEras*/,
  kZoneEraEurope_Istanbul /*eras*/,
  &kZoneEurope_Istanbul /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: UCT -> Etc/UTC
//---------------------------------------------------------------------------

static const char kZoneNameUCT[] ACE_TIME_PROGMEM = "UCT";

const extended::Info::ZoneInfo kZoneUCT ACE_TIME_PROGMEM = {
  kZoneNameUCT /*name*/,
  0x0b882571 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEtc_UTC /*eras*/,
  &kZoneEtc_UTC /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: US/Alaska -> America/Anchorage
//---------------------------------------------------------------------------

static const char kZoneNameUS_Alaska[] ACE_TIME_PROGMEM = "US/Alaska";

const extended::Info::ZoneInfo kZoneUS_Alaska ACE_TIME_PROGMEM = {
  kZoneNameUS_Alaska /*name*/,
  0xfa300bc9 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Anchorage /*eras*/,
  &kZoneAmerica_Anchorage /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: US/Aleutian -> America/Adak
//---------------------------------------------------------------------------

static const char kZoneNameUS_Aleutian[] ACE_TIME_PROGMEM = "US/Aleutian";

const extended::Info::ZoneInfo kZoneUS_Aleutian ACE_TIME_PROGMEM = {
  kZoneNameUS_Aleutian /*name*/,
  0x4fe013ef /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Adak /*eras*/,
  &kZoneAmerica_Adak /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: US/Arizona -> America/Phoenix
//---------------------------------------------------------------------------

static const char kZoneNameUS_Arizona[] ACE_TIME_PROGMEM = "US/Arizona";

const extended::Info::ZoneInfo kZoneUS_Arizona ACE_TIME_PROGMEM = {
  kZoneNameUS_Arizona /*name*/,
  0x4ec52670 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Phoenix /*eras*/,
  &kZoneAmerica_Phoenix /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: US/Central -> America/Chicago
//---------------------------------------------------------------------------

static const char kZoneNameUS_Central[] ACE_TIME_PROGMEM = "US/Central";

const extended::Info::ZoneInfo kZoneUS_Central ACE_TIME_PROGMEM = {
  kZoneNameUS_Central /*name*/,
  0xcabdcb25 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Chicago /*eras*/,
  &kZoneAmerica_Chicago /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: US/East-Indiana -> America/Indiana/Indianapolis
//---------------------------------------------------------------------------

static const char kZoneNameUS_East_Indiana[] ACE_TIME_PROGMEM = "US/East-Indiana";

const extended::Info::ZoneInfo kZoneUS_East_Indiana ACE_TIME_PROGMEM = {
  kZoneNameUS_East_Indiana /*name*/,
  0x6dcf558a /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  2 /*numEras*/,
  kZoneEraAmerica_Indiana_Indianapolis /*eras*/,
  &kZoneAmerica_Indiana_Indianapolis /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: US/Eastern -> America/New_York
//---------------------------------------------------------------------------

static const char kZoneNameUS_Eastern[] ACE_TIME_PROGMEM = "US/Eastern";

const extended::Info::ZoneInfo kZoneUS_Eastern ACE_TIME_PROGMEM = {
  kZoneNameUS_Eastern /*name*/,
  0x5bb7e78e /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_New_York /*eras*/,
  &kZoneAmerica_New_York /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: US/Hawaii -> Pacific/Honolulu
//---------------------------------------------------------------------------

static const char kZoneNameUS_Hawaii[] ACE_TIME_PROGMEM = "US/Hawaii";

const extended::Info::ZoneInfo kZoneUS_Hawaii ACE_TIME_PROGMEM = {
  kZoneNameUS_Hawaii /*name*/,
  0x09c8de2f /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Honolulu /*eras*/,
  &kZonePacific_Honolulu /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: US/Indiana-Starke -> America/Indiana/Knox
//---------------------------------------------------------------------------

static const char kZoneNameUS_Indiana_Starke[] ACE_TIME_PROGMEM = "US/Indiana-Starke";

const extended::Info::ZoneInfo kZoneUS_Indiana_Starke ACE_TIME_PROGMEM = {
  kZoneNameUS_Indiana_Starke /*name*/,
  0x67977be7 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  2 /*numEras*/,
  kZoneEraAmerica_Indiana_Knox /*eras*/,
  &kZoneAmerica_Indiana_Knox /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: US/Michigan -> America/Detroit
//---------------------------------------------------------------------------

static const char kZoneNameUS_Michigan[] ACE_TIME_PROGMEM = "US/Michigan";

const extended::Info::ZoneInfo kZoneUS_Michigan ACE_TIME_PROGMEM = {
  kZoneNameUS_Michigan /*name*/,
  0x766bb7bc /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Detroit /*eras*/,
  &kZoneAmerica_Detroit /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: US/Mountain -> America/Denver
//---------------------------------------------------------------------------

static const char kZoneNameUS_Mountain[] ACE_TIME_PROGMEM = "US/Mountain";

const extended::Info::ZoneInfo kZoneUS_Mountain ACE_TIME_PROGMEM = {
  kZoneNameUS_Mountain /*name*/,
  0x6eb88247 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Denver /*eras*/,
  &kZoneAmerica_Denver /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: US/Pacific -> America/Los_Angeles
//---------------------------------------------------------------------------

static const char kZoneNameUS_Pacific[] ACE_TIME_PROGMEM = "US/Pacific";

const extended::Info::ZoneInfo kZoneUS_Pacific ACE_TIME_PROGMEM = {
  kZoneNameUS_Pacific /*name*/,
  0xa950f6ab /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraAmerica_Los_Angeles /*eras*/,
  &kZoneAmerica_Los_Angeles /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: US/Samoa -> Pacific/Pago_Pago
//---------------------------------------------------------------------------

static const char kZoneNameUS_Samoa[] ACE_TIME_PROGMEM = "US/Samoa";

const extended::Info::ZoneInfo kZoneUS_Samoa ACE_TIME_PROGMEM = {
  kZoneNameUS_Samoa /*name*/,
  0x566821cd /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraPacific_Pago_Pago /*eras*/,
  &kZonePacific_Pago_Pago /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: UTC -> Etc/UTC
//---------------------------------------------------------------------------

static const char kZoneNameUTC[] ACE_TIME_PROGMEM = "UTC";

const extended::Info::ZoneInfo kZoneUTC ACE_TIME_PROGMEM = {
  kZoneNameUTC /*name*/,
  0x0b882791 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEtc_UTC /*eras*/,
  &kZoneEtc_UTC /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Universal -> Etc/UTC
//---------------------------------------------------------------------------

static const char kZoneNameUniversal[] ACE_TIME_PROGMEM = "Universal";

const extended::Info::ZoneInfo kZoneUniversal ACE_TIME_PROGMEM = {
  kZoneNameUniversal /*name*/,
  0xd0ff523e /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEtc_UTC /*eras*/,
  &kZoneEtc_UTC /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: W-SU -> Europe/Moscow
//---------------------------------------------------------------------------

static const char kZoneNameW_SU[] ACE_TIME_PROGMEM = "W-SU";

const extended::Info::ZoneInfo kZoneW_SU ACE_TIME_PROGMEM = {
  kZoneNameW_SU /*name*/,
  0x7c8d8ef1 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  3 /*numEras*/,
  kZoneEraEurope_Moscow /*eras*/,
  &kZoneEurope_Moscow /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: WET -> Europe/Lisbon
//---------------------------------------------------------------------------

static const char kZoneNameWET[] ACE_TIME_PROGMEM = "WET";

const extended::Info::ZoneInfo kZoneWET ACE_TIME_PROGMEM = {
  kZoneNameWET /*name*/,
  0x0b882e35 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEurope_Lisbon /*eras*/,
  &kZoneEurope_Lisbon /*targetInfo*/,
};

//---------------------------------------------------------------------------
// Link name: Zulu -> Etc/UTC
//---------------------------------------------------------------------------

static const char kZoneNameZulu[] ACE_TIME_PROGMEM = "Zulu";

const extended::Info::ZoneInfo kZoneZulu ACE_TIME_PROGMEM = {
  kZoneNameZulu /*name*/,
  0x7c9069b5 /*zoneId*/,
  &kZoneContext /*zoneContext*/,
  1 /*numEras*/,
  kZoneEraEtc_UTC /*eras*/,
  &kZoneEtc_UTC /*targetInfo*/,
};


}
}
