// 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/zonedbc/tzfiles
//     --output_dir /home/brian/src/AceTimeSuite/libraries/AceTimeLib/src/zonedbc
//     --tz_version 2025b
//     --action zonedb
//     --language arduino
//     --scope complete
//     --db_namespace zonedbc
//     --zi_namespace complete::Info
//     --start_year 1800
//     --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: [1800,2200]
// Accurate Years: [-32767,32767]
//
// Original Years:  [1844,2087]
// Generated Years: [1844,2087]
// Lower/Upper Truncated: [False,False]
//
// Estimator Years: [1800,2090]
// Max Buffer Size: 8
//
// Records:
//   Infos: 597
//   Eras: 1956
//   Policies: 134
//   Rules: 2235
//
// Memory (8-bits):
//   Context: 16
//   Rules: 26820
//   Policies: 402
//   Eras: 29340
//   Zones: 4420
//   Links: 3341
//   Registry: 1194
//   Formats: 486
//   Letters: 160
//   Fragments: 150
//   Names: 5660 (original: 9094)
//   TOTAL: 71989
//
// Memory (32-bits):
//   Context: 24
//   Rules: 26820
//   Policies: 1072
//   Eras: 39120
//   Zones: 8160
//   Links: 6168
//   Registry: 2388
//   Formats: 486
//   Letters: 216
//   Fragments: 178
//   Names: 5660 (original: 9094)
//   TOTAL: 90292
//
// DO NOT EDIT

#ifndef ACE_TIME_ZONEDBC_ZONE_POLICIES_H
#define ACE_TIME_ZONEDBC_ZONE_POLICIES_H

#include <zoneinfo/infos.h>

namespace ace_time {
namespace zonedbc {

//---------------------------------------------------------------------------
// Supported policies: 134
//---------------------------------------------------------------------------

extern const complete::Info::ZonePolicy kZonePolicyAN;
extern const complete::Info::ZonePolicy kZonePolicyAQ;
extern const complete::Info::ZonePolicy kZonePolicyAS;
extern const complete::Info::ZonePolicy kZonePolicyAT;
extern const complete::Info::ZonePolicy kZonePolicyAV;
extern const complete::Info::ZonePolicy kZonePolicyAW;
extern const complete::Info::ZonePolicy kZonePolicyAlbania;
extern const complete::Info::ZonePolicy kZonePolicyAlgeria;
extern const complete::Info::ZonePolicy kZonePolicyArg;
extern const complete::Info::ZonePolicy kZonePolicyArmenia;
extern const complete::Info::ZonePolicy kZonePolicyAus;
extern const complete::Info::ZonePolicy kZonePolicyAustria;
extern const complete::Info::ZonePolicy kZonePolicyAzer;
extern const complete::Info::ZonePolicy kZonePolicyBarb;
extern const complete::Info::ZonePolicy kZonePolicyBelgium;
extern const complete::Info::ZonePolicy kZonePolicyBelize;
extern const complete::Info::ZonePolicy kZonePolicyBermuda;
extern const complete::Info::ZonePolicy kZonePolicyBrazil;
extern const complete::Info::ZonePolicy kZonePolicyBulg;
extern const complete::Info::ZonePolicy kZonePolicyC_Eur;
extern const complete::Info::ZonePolicy kZonePolicyCA;
extern const complete::Info::ZonePolicy kZonePolicyCO;
extern const complete::Info::ZonePolicy kZonePolicyCR;
extern const complete::Info::ZonePolicy kZonePolicyCanada;
extern const complete::Info::ZonePolicy kZonePolicyChatham;
extern const complete::Info::ZonePolicy kZonePolicyChicago;
extern const complete::Info::ZonePolicy kZonePolicyChile;
extern const complete::Info::ZonePolicy kZonePolicyCook;
extern const complete::Info::ZonePolicy kZonePolicyCuba;
extern const complete::Info::ZonePolicy kZonePolicyCyprus;
extern const complete::Info::ZonePolicy kZonePolicyCzech;
extern const complete::Info::ZonePolicy kZonePolicyDR;
extern const complete::Info::ZonePolicy kZonePolicyDenver;
extern const complete::Info::ZonePolicy kZonePolicyDetroit;
extern const complete::Info::ZonePolicy kZonePolicyDhaka;
extern const complete::Info::ZonePolicy kZonePolicyE_Eur;
extern const complete::Info::ZonePolicy kZonePolicyE_EurAsia;
extern const complete::Info::ZonePolicy kZonePolicyEU;
extern const complete::Info::ZonePolicy kZonePolicyEUAsia;
extern const complete::Info::ZonePolicy kZonePolicyEcuador;
extern const complete::Info::ZonePolicy kZonePolicyEdm;
extern const complete::Info::ZonePolicy kZonePolicyEgypt;
extern const complete::Info::ZonePolicy kZonePolicyEgyptAsia;
extern const complete::Info::ZonePolicy kZonePolicyEire;
extern const complete::Info::ZonePolicy kZonePolicyFalk;
extern const complete::Info::ZonePolicy kZonePolicyFiji;
extern const complete::Info::ZonePolicy kZonePolicyFinland;
extern const complete::Info::ZonePolicy kZonePolicyFrance;
extern const complete::Info::ZonePolicy kZonePolicyGB_Eire;
extern const complete::Info::ZonePolicy kZonePolicyGermany;
extern const complete::Info::ZonePolicy kZonePolicyGreece;
extern const complete::Info::ZonePolicy kZonePolicyGuam;
extern const complete::Info::ZonePolicy kZonePolicyGuat;
extern const complete::Info::ZonePolicy kZonePolicyHK;
extern const complete::Info::ZonePolicy kZonePolicyHaiti;
extern const complete::Info::ZonePolicy kZonePolicyHalifax;
extern const complete::Info::ZonePolicy kZonePolicyHoliday;
extern const complete::Info::ZonePolicy kZonePolicyHond;
extern const complete::Info::ZonePolicy kZonePolicyHungary;
extern const complete::Info::ZonePolicy kZonePolicyIndianapolis;
extern const complete::Info::ZonePolicy kZonePolicyIran;
extern const complete::Info::ZonePolicy kZonePolicyIraq;
extern const complete::Info::ZonePolicy kZonePolicyItaly;
extern const complete::Info::ZonePolicy kZonePolicyJapan;
extern const complete::Info::ZonePolicy kZonePolicyJordan;
extern const complete::Info::ZonePolicy kZonePolicyKyrgyz;
extern const complete::Info::ZonePolicy kZonePolicyLH;
extern const complete::Info::ZonePolicy kZonePolicyLatvia;
extern const complete::Info::ZonePolicy kZonePolicyLebanon;
extern const complete::Info::ZonePolicy kZonePolicyLibya;
extern const complete::Info::ZonePolicy kZonePolicyLouisville;
extern const complete::Info::ZonePolicy kZonePolicyMacau;
extern const complete::Info::ZonePolicy kZonePolicyMalta;
extern const complete::Info::ZonePolicy kZonePolicyMarengo;
extern const complete::Info::ZonePolicy kZonePolicyMauritius;
extern const complete::Info::ZonePolicy kZonePolicyMenominee;
extern const complete::Info::ZonePolicy kZonePolicyMexico;
extern const complete::Info::ZonePolicy kZonePolicyMoldova;
extern const complete::Info::ZonePolicy kZonePolicyMoncton;
extern const complete::Info::ZonePolicy kZonePolicyMongol;
extern const complete::Info::ZonePolicy kZonePolicyMorocco;
extern const complete::Info::ZonePolicy kZonePolicyNBorneo;
extern const complete::Info::ZonePolicy kZonePolicyNC;
extern const complete::Info::ZonePolicy kZonePolicyNT_YK;
extern const complete::Info::ZonePolicy kZonePolicyNYC;
extern const complete::Info::ZonePolicy kZonePolicyNZ;
extern const complete::Info::ZonePolicy kZonePolicyNamibia;
extern const complete::Info::ZonePolicy kZonePolicyNic;
extern const complete::Info::ZonePolicy kZonePolicyPRC;
extern const complete::Info::ZonePolicy kZonePolicyPakistan;
extern const complete::Info::ZonePolicy kZonePolicyPalestine;
extern const complete::Info::ZonePolicy kZonePolicyPara;
extern const complete::Info::ZonePolicy kZonePolicyPerry;
extern const complete::Info::ZonePolicy kZonePolicyPeru;
extern const complete::Info::ZonePolicy kZonePolicyPhil;
extern const complete::Info::ZonePolicy kZonePolicyPike;
extern const complete::Info::ZonePolicy kZonePolicyPoland;
extern const complete::Info::ZonePolicy kZonePolicyPort;
extern const complete::Info::ZonePolicy kZonePolicyPulaski;
extern const complete::Info::ZonePolicy kZonePolicyROK;
extern const complete::Info::ZonePolicy kZonePolicyRegina;
extern const complete::Info::ZonePolicy kZonePolicyRomania;
extern const complete::Info::ZonePolicy kZonePolicyRussia;
extern const complete::Info::ZonePolicy kZonePolicyRussiaAsia;
extern const complete::Info::ZonePolicy kZonePolicySA;
extern const complete::Info::ZonePolicy kZonePolicySalv;
extern const complete::Info::ZonePolicy kZonePolicySanLuis;
extern const complete::Info::ZonePolicy kZonePolicyShang;
extern const complete::Info::ZonePolicy kZonePolicySovietZone;
extern const complete::Info::ZonePolicy kZonePolicySpain;
extern const complete::Info::ZonePolicy kZonePolicySpainAfrica;
extern const complete::Info::ZonePolicy kZonePolicyStJohns;
extern const complete::Info::ZonePolicy kZonePolicyStarke;
extern const complete::Info::ZonePolicy kZonePolicySudan;
extern const complete::Info::ZonePolicy kZonePolicySwift;
extern const complete::Info::ZonePolicy kZonePolicySwiss;
extern const complete::Info::ZonePolicy kZonePolicySyria;
extern const complete::Info::ZonePolicy kZonePolicyTaiwan;
extern const complete::Info::ZonePolicy kZonePolicyThule;
extern const complete::Info::ZonePolicy kZonePolicyTonga;
extern const complete::Info::ZonePolicy kZonePolicyToronto;
extern const complete::Info::ZonePolicy kZonePolicyTroll;
extern const complete::Info::ZonePolicy kZonePolicyTunisia;
extern const complete::Info::ZonePolicy kZonePolicyTurkey;
extern const complete::Info::ZonePolicy kZonePolicyUS;
extern const complete::Info::ZonePolicy kZonePolicyUruguay;
extern const complete::Info::ZonePolicy kZonePolicyVanc;
extern const complete::Info::ZonePolicy kZonePolicyVanuatu;
extern const complete::Info::ZonePolicy kZonePolicyVincennes;
extern const complete::Info::ZonePolicy kZonePolicyW_Eur;
extern const complete::Info::ZonePolicy kZonePolicyWS;
extern const complete::Info::ZonePolicy kZonePolicyWinn;
extern const complete::Info::ZonePolicy kZonePolicyYukon;
extern const complete::Info::ZonePolicy kZonePolicyZion;


//---------------------------------------------------------------------------
// Unsupported policies: 0
//---------------------------------------------------------------------------



//---------------------------------------------------------------------------
// Notable zone policies: 27
//---------------------------------------------------------------------------

// Barb {SAVE '0:30' different from 1:00}
// Belize {
//   LETTER '-0530' not single character,
//   LETTER 'CDT' not single character,
//   LETTER 'CPT' not single character,
//   LETTER 'CST' not single character,
//   LETTER 'CWT' not single character,
//   SAVE '0:30' different from 1:00,
// }
// CA {AT '2:01' not multiple of :15 min}
// Cook {SAVE '0:30' different from 1:00}
// DR {
//   LETTER '-0430' not single character,
//   LETTER 'EDT' not single character,
//   LETTER 'EST' not single character,
//   SAVE '0:30' different from 1:00,
// }
// Eire {SAVE '-1:00' is a negative DST}
// France {SAVE '2:00' different from 1:00}
// GB-Eire {
//   LETTER 'BDST' not single character,
//   LETTER 'BST' not single character,
//   LETTER 'GMT' not single character,
//   SAVE '2:00' different from 1:00,
// }
// Germany {SAVE '2:00' different from 1:00}
// Guam {
//   AT '0:01' not multiple of :15 min,
//   AT '2:01' not multiple of :15 min,
// }
// LH {SAVE '0:30' different from 1:00}
// Louisville {AT '0:01' not multiple of :15 min}
// Moncton {AT '0:01' not multiple of :15 min}
// Morocco {SAVE '-1:00' is a negative DST}
// NBorneo {SAVE '0:20' different from 1:00}
// NZ {SAVE '0:30' different from 1:00}
// Namibia {
//   LETTER 'CAT' not single character,
//   LETTER 'WAT' not single character,
//   SAVE '-1:00' is a negative DST,
// }
// Palestine {AT '0:01' not multiple of :15 min}
// Port {SAVE '2:00' different from 1:00}
// Russia {
//   LETTER '+05' not single character,
//   LETTER 'MDST' not single character,
//   LETTER 'MMT' not single character,
//   LETTER 'MSD' not single character,
//   LETTER 'MSK' not single character,
//   LETTER 'MST' not single character,
//   SAVE '2:00' different from 1:00,
// }
// SovietZone {SAVE '2:00' different from 1:00}
// Spain {SAVE '2:00' different from 1:00}
// StJohns {
//   AT '0:01' not multiple of :15 min,
//   LETTER 'DD' not single character,
//   SAVE '2:00' different from 1:00,
// }
// Troll {
//   LETTER '+00' not single character,
//   LETTER '+02' not single character,
//   SAVE '2:00' different from 1:00,
// }
// Uruguay {
//   SAVE '0:30' different from 1:00,
//   SAVE '1:30' different from 1:00,
// }
// Yukon {
//   LETTER 'DD' not single character,
//   SAVE '2:00' different from 1:00,
// }
// Zion {
//   LETTER 'DD' not single character,
//   SAVE '2:00' different from 1:00,
// }


}
}

#endif
