moment-timezone-with-data-10-year-range.js 54 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540
  1. //! moment-timezone.js
  2. //! version : 0.5.28
  3. //! Copyright (c) JS Foundation and other contributors
  4. //! license : MIT
  5. //! github.com/moment/moment-timezone
  6. (function (root, factory) {
  7. "use strict";
  8. /*global define*/
  9. if (typeof module === 'object' && module.exports) {
  10. module.exports = factory(require('moment')); // Node
  11. } else if (typeof define === 'function' && define.amd) {
  12. define(['moment'], factory); // AMD
  13. } else {
  14. factory(root.moment); // Browser
  15. }
  16. }(this, function (moment) {
  17. "use strict";
  18. // Do not load moment-timezone a second time.
  19. // if (moment.tz !== undefined) {
  20. // logError('Moment Timezone ' + moment.tz.version + ' was already loaded ' + (moment.tz.dataVersion ? 'with data from ' : 'without any data') + moment.tz.dataVersion);
  21. // return moment;
  22. // }
  23. var VERSION = "0.5.28",
  24. zones = {},
  25. links = {},
  26. countries = {},
  27. names = {},
  28. guesses = {},
  29. cachedGuess;
  30. if (!moment || typeof moment.version !== 'string') {
  31. logError('Moment Timezone requires Moment.js. See https://momentjs.com/timezone/docs/#/use-it/browser/');
  32. }
  33. var momentVersion = moment.version.split('.'),
  34. major = +momentVersion[0],
  35. minor = +momentVersion[1];
  36. // Moment.js version check
  37. if (major < 2 || (major === 2 && minor < 6)) {
  38. logError('Moment Timezone requires Moment.js >= 2.6.0. You are using Moment.js ' + moment.version + '. See momentjs.com');
  39. }
  40. /************************************
  41. Unpacking
  42. ************************************/
  43. function charCodeToInt(charCode) {
  44. if (charCode > 96) {
  45. return charCode - 87;
  46. } else if (charCode > 64) {
  47. return charCode - 29;
  48. }
  49. return charCode - 48;
  50. }
  51. function unpackBase60(string) {
  52. var i = 0,
  53. parts = string.split('.'),
  54. whole = parts[0],
  55. fractional = parts[1] || '',
  56. multiplier = 1,
  57. num,
  58. out = 0,
  59. sign = 1;
  60. // handle negative numbers
  61. if (string.charCodeAt(0) === 45) {
  62. i = 1;
  63. sign = -1;
  64. }
  65. // handle digits before the decimal
  66. for (i; i < whole.length; i++) {
  67. num = charCodeToInt(whole.charCodeAt(i));
  68. out = 60 * out + num;
  69. }
  70. // handle digits after the decimal
  71. for (i = 0; i < fractional.length; i++) {
  72. multiplier = multiplier / 60;
  73. num = charCodeToInt(fractional.charCodeAt(i));
  74. out += num * multiplier;
  75. }
  76. return out * sign;
  77. }
  78. function arrayToInt (array) {
  79. for (var i = 0; i < array.length; i++) {
  80. array[i] = unpackBase60(array[i]);
  81. }
  82. }
  83. function intToUntil (array, length) {
  84. for (var i = 0; i < length; i++) {
  85. array[i] = Math.round((array[i - 1] || 0) + (array[i] * 60000)); // minutes to milliseconds
  86. }
  87. array[length - 1] = Infinity;
  88. }
  89. function mapIndices (source, indices) {
  90. var out = [], i;
  91. for (i = 0; i < indices.length; i++) {
  92. out[i] = source[indices[i]];
  93. }
  94. return out;
  95. }
  96. function unpack (string) {
  97. var data = string.split('|'),
  98. offsets = data[2].split(' '),
  99. indices = data[3].split(''),
  100. untils = data[4].split(' ');
  101. arrayToInt(offsets);
  102. arrayToInt(indices);
  103. arrayToInt(untils);
  104. intToUntil(untils, indices.length);
  105. return {
  106. name : data[0],
  107. abbrs : mapIndices(data[1].split(' '), indices),
  108. offsets : mapIndices(offsets, indices),
  109. untils : untils,
  110. population : data[5] | 0
  111. };
  112. }
  113. /************************************
  114. Zone object
  115. ************************************/
  116. function Zone (packedString) {
  117. if (packedString) {
  118. this._set(unpack(packedString));
  119. }
  120. }
  121. Zone.prototype = {
  122. _set : function (unpacked) {
  123. this.name = unpacked.name;
  124. this.abbrs = unpacked.abbrs;
  125. this.untils = unpacked.untils;
  126. this.offsets = unpacked.offsets;
  127. this.population = unpacked.population;
  128. },
  129. _index : function (timestamp) {
  130. var target = +timestamp,
  131. untils = this.untils,
  132. i;
  133. for (i = 0; i < untils.length; i++) {
  134. if (target < untils[i]) {
  135. return i;
  136. }
  137. }
  138. },
  139. countries : function () {
  140. var zone_name = this.name;
  141. return Object.keys(countries).filter(function (country_code) {
  142. return countries[country_code].zones.indexOf(zone_name) !== -1;
  143. });
  144. },
  145. parse : function (timestamp) {
  146. var target = +timestamp,
  147. offsets = this.offsets,
  148. untils = this.untils,
  149. max = untils.length - 1,
  150. offset, offsetNext, offsetPrev, i;
  151. for (i = 0; i < max; i++) {
  152. offset = offsets[i];
  153. offsetNext = offsets[i + 1];
  154. offsetPrev = offsets[i ? i - 1 : i];
  155. if (offset < offsetNext && tz.moveAmbiguousForward) {
  156. offset = offsetNext;
  157. } else if (offset > offsetPrev && tz.moveInvalidForward) {
  158. offset = offsetPrev;
  159. }
  160. if (target < untils[i] - (offset * 60000)) {
  161. return offsets[i];
  162. }
  163. }
  164. return offsets[max];
  165. },
  166. abbr : function (mom) {
  167. return this.abbrs[this._index(mom)];
  168. },
  169. offset : function (mom) {
  170. logError("zone.offset has been deprecated in favor of zone.utcOffset");
  171. return this.offsets[this._index(mom)];
  172. },
  173. utcOffset : function (mom) {
  174. return this.offsets[this._index(mom)];
  175. }
  176. };
  177. /************************************
  178. Country object
  179. ************************************/
  180. function Country (country_name, zone_names) {
  181. this.name = country_name;
  182. this.zones = zone_names;
  183. }
  184. /************************************
  185. Current Timezone
  186. ************************************/
  187. function OffsetAt(at) {
  188. var timeString = at.toTimeString();
  189. var abbr = timeString.match(/\([a-z ]+\)/i);
  190. if (abbr && abbr[0]) {
  191. // 17:56:31 GMT-0600 (CST)
  192. // 17:56:31 GMT-0600 (Central Standard Time)
  193. abbr = abbr[0].match(/[A-Z]/g);
  194. abbr = abbr ? abbr.join('') : undefined;
  195. } else {
  196. // 17:56:31 CST
  197. // 17:56:31 GMT+0800 (台北標準時間)
  198. abbr = timeString.match(/[A-Z]{3,5}/g);
  199. abbr = abbr ? abbr[0] : undefined;
  200. }
  201. if (abbr === 'GMT') {
  202. abbr = undefined;
  203. }
  204. this.at = +at;
  205. this.abbr = abbr;
  206. this.offset = at.getTimezoneOffset();
  207. }
  208. function ZoneScore(zone) {
  209. this.zone = zone;
  210. this.offsetScore = 0;
  211. this.abbrScore = 0;
  212. }
  213. ZoneScore.prototype.scoreOffsetAt = function (offsetAt) {
  214. this.offsetScore += Math.abs(this.zone.utcOffset(offsetAt.at) - offsetAt.offset);
  215. if (this.zone.abbr(offsetAt.at).replace(/[^A-Z]/g, '') !== offsetAt.abbr) {
  216. this.abbrScore++;
  217. }
  218. };
  219. function findChange(low, high) {
  220. var mid, diff;
  221. while ((diff = ((high.at - low.at) / 12e4 | 0) * 6e4)) {
  222. mid = new OffsetAt(new Date(low.at + diff));
  223. if (mid.offset === low.offset) {
  224. low = mid;
  225. } else {
  226. high = mid;
  227. }
  228. }
  229. return low;
  230. }
  231. function userOffsets() {
  232. var startYear = new Date().getFullYear() - 2,
  233. last = new OffsetAt(new Date(startYear, 0, 1)),
  234. offsets = [last],
  235. change, next, i;
  236. for (i = 1; i < 48; i++) {
  237. next = new OffsetAt(new Date(startYear, i, 1));
  238. if (next.offset !== last.offset) {
  239. change = findChange(last, next);
  240. offsets.push(change);
  241. offsets.push(new OffsetAt(new Date(change.at + 6e4)));
  242. }
  243. last = next;
  244. }
  245. for (i = 0; i < 4; i++) {
  246. offsets.push(new OffsetAt(new Date(startYear + i, 0, 1)));
  247. offsets.push(new OffsetAt(new Date(startYear + i, 6, 1)));
  248. }
  249. return offsets;
  250. }
  251. function sortZoneScores (a, b) {
  252. if (a.offsetScore !== b.offsetScore) {
  253. return a.offsetScore - b.offsetScore;
  254. }
  255. if (a.abbrScore !== b.abbrScore) {
  256. return a.abbrScore - b.abbrScore;
  257. }
  258. if (a.zone.population !== b.zone.population) {
  259. return b.zone.population - a.zone.population;
  260. }
  261. return b.zone.name.localeCompare(a.zone.name);
  262. }
  263. function addToGuesses (name, offsets) {
  264. var i, offset;
  265. arrayToInt(offsets);
  266. for (i = 0; i < offsets.length; i++) {
  267. offset = offsets[i];
  268. guesses[offset] = guesses[offset] || {};
  269. guesses[offset][name] = true;
  270. }
  271. }
  272. function guessesForUserOffsets (offsets) {
  273. var offsetsLength = offsets.length,
  274. filteredGuesses = {},
  275. out = [],
  276. i, j, guessesOffset;
  277. for (i = 0; i < offsetsLength; i++) {
  278. guessesOffset = guesses[offsets[i].offset] || {};
  279. for (j in guessesOffset) {
  280. if (guessesOffset.hasOwnProperty(j)) {
  281. filteredGuesses[j] = true;
  282. }
  283. }
  284. }
  285. for (i in filteredGuesses) {
  286. if (filteredGuesses.hasOwnProperty(i)) {
  287. out.push(names[i]);
  288. }
  289. }
  290. return out;
  291. }
  292. function rebuildGuess () {
  293. // use Intl API when available and returning valid time zone
  294. try {
  295. var intlName = Intl.DateTimeFormat().resolvedOptions().timeZone;
  296. if (intlName && intlName.length > 3) {
  297. var name = names[normalizeName(intlName)];
  298. if (name) {
  299. return name;
  300. }
  301. logError("Moment Timezone found " + intlName + " from the Intl api, but did not have that data loaded.");
  302. }
  303. } catch (e) {
  304. // Intl unavailable, fall back to manual guessing.
  305. }
  306. var offsets = userOffsets(),
  307. offsetsLength = offsets.length,
  308. guesses = guessesForUserOffsets(offsets),
  309. zoneScores = [],
  310. zoneScore, i, j;
  311. for (i = 0; i < guesses.length; i++) {
  312. zoneScore = new ZoneScore(getZone(guesses[i]), offsetsLength);
  313. for (j = 0; j < offsetsLength; j++) {
  314. zoneScore.scoreOffsetAt(offsets[j]);
  315. }
  316. zoneScores.push(zoneScore);
  317. }
  318. zoneScores.sort(sortZoneScores);
  319. return zoneScores.length > 0 ? zoneScores[0].zone.name : undefined;
  320. }
  321. function guess (ignoreCache) {
  322. if (!cachedGuess || ignoreCache) {
  323. cachedGuess = rebuildGuess();
  324. }
  325. return cachedGuess;
  326. }
  327. /************************************
  328. Global Methods
  329. ************************************/
  330. function normalizeName (name) {
  331. return (name || '').toLowerCase().replace(/\//g, '_');
  332. }
  333. function addZone (packed) {
  334. var i, name, split, normalized;
  335. if (typeof packed === "string") {
  336. packed = [packed];
  337. }
  338. for (i = 0; i < packed.length; i++) {
  339. split = packed[i].split('|');
  340. name = split[0];
  341. normalized = normalizeName(name);
  342. zones[normalized] = packed[i];
  343. names[normalized] = name;
  344. addToGuesses(normalized, split[2].split(' '));
  345. }
  346. }
  347. function getZone (name, caller) {
  348. name = normalizeName(name);
  349. var zone = zones[name];
  350. var link;
  351. if (zone instanceof Zone) {
  352. return zone;
  353. }
  354. if (typeof zone === 'string') {
  355. zone = new Zone(zone);
  356. zones[name] = zone;
  357. return zone;
  358. }
  359. // Pass getZone to prevent recursion more than 1 level deep
  360. if (links[name] && caller !== getZone && (link = getZone(links[name], getZone))) {
  361. zone = zones[name] = new Zone();
  362. zone._set(link);
  363. zone.name = names[name];
  364. return zone;
  365. }
  366. return null;
  367. }
  368. function getNames () {
  369. var i, out = [];
  370. for (i in names) {
  371. if (names.hasOwnProperty(i) && (zones[i] || zones[links[i]]) && names[i]) {
  372. out.push(names[i]);
  373. }
  374. }
  375. return out.sort();
  376. }
  377. function getCountryNames () {
  378. return Object.keys(countries);
  379. }
  380. function addLink (aliases) {
  381. var i, alias, normal0, normal1;
  382. if (typeof aliases === "string") {
  383. aliases = [aliases];
  384. }
  385. for (i = 0; i < aliases.length; i++) {
  386. alias = aliases[i].split('|');
  387. normal0 = normalizeName(alias[0]);
  388. normal1 = normalizeName(alias[1]);
  389. links[normal0] = normal1;
  390. names[normal0] = alias[0];
  391. links[normal1] = normal0;
  392. names[normal1] = alias[1];
  393. }
  394. }
  395. function addCountries (data) {
  396. var i, country_code, country_zones, split;
  397. if (!data || !data.length) return;
  398. for (i = 0; i < data.length; i++) {
  399. split = data[i].split('|');
  400. country_code = split[0].toUpperCase();
  401. country_zones = split[1].split(' ');
  402. countries[country_code] = new Country(
  403. country_code,
  404. country_zones
  405. );
  406. }
  407. }
  408. function getCountry (name) {
  409. name = name.toUpperCase();
  410. return countries[name] || null;
  411. }
  412. function zonesForCountry(country, with_offset) {
  413. country = getCountry(country);
  414. if (!country) return null;
  415. var zones = country.zones.sort();
  416. if (with_offset) {
  417. return zones.map(function (zone_name) {
  418. var zone = getZone(zone_name);
  419. return {
  420. name: zone_name,
  421. offset: zone.utcOffset(new Date())
  422. };
  423. });
  424. }
  425. return zones;
  426. }
  427. function loadData (data) {
  428. addZone(data.zones);
  429. addLink(data.links);
  430. addCountries(data.countries);
  431. tz.dataVersion = data.version;
  432. }
  433. function zoneExists (name) {
  434. if (!zoneExists.didShowError) {
  435. zoneExists.didShowError = true;
  436. logError("moment.tz.zoneExists('" + name + "') has been deprecated in favor of !moment.tz.zone('" + name + "')");
  437. }
  438. return !!getZone(name);
  439. }
  440. function needsOffset (m) {
  441. var isUnixTimestamp = (m._f === 'X' || m._f === 'x');
  442. return !!(m._a && (m._tzm === undefined) && !isUnixTimestamp);
  443. }
  444. function logError (message) {
  445. if (typeof console !== 'undefined' && typeof console.error === 'function') {
  446. console.error(message);
  447. }
  448. }
  449. /************************************
  450. moment.tz namespace
  451. ************************************/
  452. function tz (input) {
  453. var args = Array.prototype.slice.call(arguments, 0, -1),
  454. name = arguments[arguments.length - 1],
  455. zone = getZone(name),
  456. out = moment.utc.apply(null, args);
  457. if (zone && !moment.isMoment(input) && needsOffset(out)) {
  458. out.add(zone.parse(out), 'minutes');
  459. }
  460. out.tz(name);
  461. return out;
  462. }
  463. tz.version = VERSION;
  464. tz.dataVersion = '';
  465. tz._zones = zones;
  466. tz._links = links;
  467. tz._names = names;
  468. tz._countries = countries;
  469. tz.add = addZone;
  470. tz.link = addLink;
  471. tz.load = loadData;
  472. tz.zone = getZone;
  473. tz.zoneExists = zoneExists; // deprecated in 0.1.0
  474. tz.guess = guess;
  475. tz.names = getNames;
  476. tz.Zone = Zone;
  477. tz.unpack = unpack;
  478. tz.unpackBase60 = unpackBase60;
  479. tz.needsOffset = needsOffset;
  480. tz.moveInvalidForward = true;
  481. tz.moveAmbiguousForward = false;
  482. tz.countries = getCountryNames;
  483. tz.zonesForCountry = zonesForCountry;
  484. /************************************
  485. Interface with Moment.js
  486. ************************************/
  487. var fn = moment.fn;
  488. moment.tz = tz;
  489. moment.defaultZone = null;
  490. moment.updateOffset = function (mom, keepTime) {
  491. var zone = moment.defaultZone,
  492. offset;
  493. if (mom._z === undefined) {
  494. if (zone && needsOffset(mom) && !mom._isUTC) {
  495. mom._d = moment.utc(mom._a)._d;
  496. mom.utc().add(zone.parse(mom), 'minutes');
  497. }
  498. mom._z = zone;
  499. }
  500. if (mom._z) {
  501. offset = mom._z.utcOffset(mom);
  502. if (Math.abs(offset) < 16) {
  503. offset = offset / 60;
  504. }
  505. if (mom.utcOffset !== undefined) {
  506. var z = mom._z;
  507. mom.utcOffset(-offset, keepTime);
  508. mom._z = z;
  509. } else {
  510. mom.zone(offset, keepTime);
  511. }
  512. }
  513. };
  514. fn.tz = function (name, keepTime) {
  515. if (name) {
  516. if (typeof name !== 'string') {
  517. throw new Error('Time zone name must be a string, got ' + name + ' [' + typeof name + ']');
  518. }
  519. this._z = getZone(name);
  520. if (this._z) {
  521. moment.updateOffset(this, keepTime);
  522. } else {
  523. logError("Moment Timezone has no data for " + name + ". See http://momentjs.com/timezone/docs/#/data-loading/.");
  524. }
  525. return this;
  526. }
  527. if (this._z) { return this._z.name; }
  528. };
  529. function abbrWrap (old) {
  530. return function () {
  531. if (this._z) { return this._z.abbr(this); }
  532. return old.call(this);
  533. };
  534. }
  535. function resetZoneWrap (old) {
  536. return function () {
  537. this._z = null;
  538. return old.apply(this, arguments);
  539. };
  540. }
  541. function resetZoneWrap2 (old) {
  542. return function () {
  543. if (arguments.length > 0) this._z = null;
  544. return old.apply(this, arguments);
  545. };
  546. }
  547. fn.zoneName = abbrWrap(fn.zoneName);
  548. fn.zoneAbbr = abbrWrap(fn.zoneAbbr);
  549. fn.utc = resetZoneWrap(fn.utc);
  550. fn.local = resetZoneWrap(fn.local);
  551. fn.utcOffset = resetZoneWrap2(fn.utcOffset);
  552. moment.tz.setDefault = function(name) {
  553. if (major < 2 || (major === 2 && minor < 9)) {
  554. logError('Moment Timezone setDefault() requires Moment.js >= 2.9.0. You are using Moment.js ' + moment.version + '.');
  555. }
  556. moment.defaultZone = name ? getZone(name) : null;
  557. return moment;
  558. };
  559. // Cloning a moment should include the _z property.
  560. var momentProperties = moment.momentProperties;
  561. if (Object.prototype.toString.call(momentProperties) === '[object Array]') {
  562. // moment 2.8.1+
  563. momentProperties.push('_z');
  564. momentProperties.push('_a');
  565. } else if (momentProperties) {
  566. // moment 2.7.0
  567. momentProperties._z = null;
  568. }
  569. loadData({
  570. "version": "2019c",
  571. "zones": [
  572. "Africa/Abidjan|GMT|0|0||48e5",
  573. "Africa/Nairobi|EAT|-30|0||47e5",
  574. "Africa/Algiers|CET|-10|0||26e5",
  575. "Africa/Lagos|WAT|-10|0||17e6",
  576. "Africa/Maputo|CAT|-20|0||26e5",
  577. "Africa/Cairo|EET|-20|0||15e6",
  578. "Africa/Casablanca|+00 +01|0 -10|010101010101010101010101010101|1O9e0 uM0 e00 Dc0 11A0 s00 e00 IM0 WM0 mo0 gM0 LA0 WM0 jA0 e00 28M0 e00 2600 e00 28M0 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0|32e5",
  579. "Europe/Paris|CET CEST|-10 -20|01010101010101010101010|1O9d0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|11e6",
  580. "Africa/Johannesburg|SAST|-20|0||84e5",
  581. "Africa/Khartoum|EAT CAT|-30 -20|01|1Usl0|51e5",
  582. "Africa/Sao_Tome|GMT WAT|0 -10|010|1UQN0 2q00|",
  583. "Africa/Windhoek|CAT WAT|-20 -10|0101010|1Oc00 11B0 1nX0 11B0 1nX0 11B0|32e4",
  584. "America/Adak|HST HDT|a0 90|01010101010101010101010|1O100 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|326",
  585. "America/Anchorage|AKST AKDT|90 80|01010101010101010101010|1O0X0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|30e4",
  586. "America/Santo_Domingo|AST|40|0||29e5",
  587. "America/Fortaleza|-03|30|0||34e5",
  588. "America/Asuncion|-03 -04|30 40|01010101010101010101010|1O6r0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0|28e5",
  589. "America/Panama|EST|50|0||15e5",
  590. "America/Mexico_City|CST CDT|60 50|01010101010101010101010|1Oc80 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|20e6",
  591. "America/Managua|CST|60|0||22e5",
  592. "America/La_Paz|-04|40|0||19e5",
  593. "America/Lima|-05|50|0||11e6",
  594. "America/Denver|MST MDT|70 60|01010101010101010101010|1O0V0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|26e5",
  595. "America/Campo_Grande|-03 -04|30 40|0101010101|1NTf0 1zd0 On0 1zd0 On0 1zd0 On0 1HB0 FX0|77e4",
  596. "America/Cancun|CST EST|60 50|01|1NKU0|63e4",
  597. "America/Caracas|-0430 -04|4u 40|01|1QMT0|29e5",
  598. "America/Chicago|CST CDT|60 50|01010101010101010101010|1O0U0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|92e5",
  599. "America/Chihuahua|MST MDT|70 60|01010101010101010101010|1Oc90 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|81e4",
  600. "America/Phoenix|MST|70|0||42e5",
  601. "America/Los_Angeles|PST PDT|80 70|01010101010101010101010|1O0W0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|15e6",
  602. "America/New_York|EST EDT|50 40|01010101010101010101010|1O0T0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|21e6",
  603. "America/Fort_Nelson|PST MST|80 70|01|1O0W0|39e2",
  604. "America/Halifax|AST ADT|40 30|01010101010101010101010|1O0S0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|39e4",
  605. "America/Godthab|-03 -02|30 20|01010101010101010101010|1O9d0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|17e3",
  606. "America/Grand_Turk|EST EDT AST|50 40 40|0121010101010101010|1O0T0 1zb0 5Ip0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|37e2",
  607. "America/Havana|CST CDT|50 40|01010101010101010101010|1O0R0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0|21e5",
  608. "America/Metlakatla|PST AKST AKDT|80 90 80|01212120121212121212121|1PAa0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 uM0 jB0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|14e2",
  609. "America/Miquelon|-03 -02|30 20|01010101010101010101010|1O0R0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|61e2",
  610. "America/Montevideo|-02 -03|20 30|01|1O0Q0|17e5",
  611. "America/Noronha|-02|20|0||30e2",
  612. "America/Port-au-Prince|EST EDT|50 40|010101010101010101010|1O0T0 1zb0 3iN0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e5",
  613. "Antarctica/Palmer|-03 -04|30 40|010|1QSr0 Ap0|40",
  614. "America/Santiago|-03 -04|30 40|010101010101010101010|1QSr0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1zb0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0|62e5",
  615. "America/Sao_Paulo|-02 -03|20 30|0101010101|1NTe0 1zd0 On0 1zd0 On0 1zd0 On0 1HB0 FX0|20e6",
  616. "Atlantic/Azores|-01 +00|10 0|01010101010101010101010|1O9d0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|25e4",
  617. "America/St_Johns|NST NDT|3u 2u|01010101010101010101010|1O0Ru 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|11e4",
  618. "Antarctica/Casey|+08 +11|-80 -b0|010|1RWg0 3m10|10",
  619. "Asia/Bangkok|+07|-70|0||15e6",
  620. "Asia/Vladivostok|+10|-a0|0||60e4",
  621. "Pacific/Bougainville|+11|-b0|0||18e4",
  622. "Asia/Tashkent|+05|-50|0||23e5",
  623. "Pacific/Auckland|NZDT NZST|-d0 -c0|01010101010101010101010|1ObO0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00|14e5",
  624. "Asia/Baghdad|+03|-30|0||66e5",
  625. "Antarctica/Troll|+00 +02|0 -20|01010101010101010101010|1O9d0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|40",
  626. "Asia/Dhaka|+06|-60|0||16e6",
  627. "Asia/Amman|EET EEST|-20 -30|01010101010101010101010|1O8m0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0|25e5",
  628. "Asia/Kamchatka|+12|-c0|0||18e4",
  629. "Asia/Baku|+04 +05|-40 -50|010|1O9c0 1o00|27e5",
  630. "Asia/Barnaul|+06 +07|-60 -70|01|1QyI0|",
  631. "Asia/Beirut|EET EEST|-20 -30|01010101010101010101010|1O9a0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0|22e5",
  632. "Asia/Kuala_Lumpur|+08|-80|0||71e5",
  633. "Asia/Kolkata|IST|-5u|0||15e6",
  634. "Asia/Chita|+08 +09|-80 -90|01|1QyG0|33e4",
  635. "Asia/Ulaanbaatar|+08 +09|-80 -90|01010|1O8G0 1cJ0 1cP0 1cJ0|12e5",
  636. "Asia/Shanghai|CST|-80|0||23e6",
  637. "Asia/Colombo|+0530|-5u|0||22e5",
  638. "Asia/Damascus|EET EEST|-20 -30|01010101010101010101010|1O8m0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0|26e5",
  639. "Asia/Yakutsk|+09|-90|0||28e4",
  640. "Asia/Dubai|+04|-40|0||39e5",
  641. "Asia/Famagusta|EET EEST +03|-20 -30 -30|0101201010101010101010|1O9d0 1o00 11A0 15U0 2Ks0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|",
  642. "Asia/Gaza|EET EEST|-20 -30|01010101010101010101010|1O8K0 1nz0 1220 1qL0 WN0 1qL0 WN0 1qL0 11c0 1oo0 11c0 1rc0 Wo0 1rc0 Wo0 1rc0 11c0 1oo0 11c0 1oo0 11c0 1oo0|18e5",
  643. "Asia/Hong_Kong|HKT|-80|0||73e5",
  644. "Asia/Hovd|+07 +08|-70 -80|01010|1O8H0 1cJ0 1cP0 1cJ0|81e3",
  645. "Europe/Istanbul|EET EEST +03|-20 -30 -30|01012|1O9d0 1tA0 U00 15w0|13e6",
  646. "Asia/Jakarta|WIB|-70|0||31e6",
  647. "Asia/Jayapura|WIT|-90|0||26e4",
  648. "Asia/Jerusalem|IST IDT|-20 -30|01010101010101010101010|1O8o0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0|81e4",
  649. "Asia/Kabul|+0430|-4u|0||46e5",
  650. "Asia/Karachi|PKT|-50|0||24e6",
  651. "Asia/Kathmandu|+0545|-5J|0||12e5",
  652. "Asia/Magadan|+10 +11|-a0 -b0|01|1QJQ0|95e3",
  653. "Asia/Makassar|WITA|-80|0||15e5",
  654. "Asia/Manila|PST|-80|0||24e6",
  655. "Europe/Athens|EET EEST|-20 -30|01010101010101010101010|1O9d0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|35e5",
  656. "Asia/Novosibirsk|+06 +07|-60 -70|01|1Rmk0|15e5",
  657. "Asia/Pyongyang|KST KST|-90 -8u|010|1P4D0 6BA0|29e5",
  658. "Asia/Qyzylorda|+06 +05|-60 -50|01|1Xei0|73e4",
  659. "Asia/Rangoon|+0630|-6u|0||48e5",
  660. "Asia/Sakhalin|+10 +11|-a0 -b0|01|1QyE0|58e4",
  661. "Asia/Seoul|KST|-90|0||23e6",
  662. "Asia/Tehran|+0330 +0430|-3u -4u|01010101010101010101010|1O6ku 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0|14e6",
  663. "Asia/Tokyo|JST|-90|0||38e6",
  664. "Asia/Tomsk|+06 +07|-60 -70|01|1QXU0|10e5",
  665. "Europe/Lisbon|WET WEST|0 -10|01010101010101010101010|1O9d0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|27e5",
  666. "Atlantic/Cape_Verde|-01|10|0||50e4",
  667. "Australia/Sydney|AEDT AEST|-b0 -a0|01010101010101010101010|1ObQ0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0|40e5",
  668. "Australia/Adelaide|ACDT ACST|-au -9u|01010101010101010101010|1ObQu 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0|11e5",
  669. "Australia/Brisbane|AEST|-a0|0||20e5",
  670. "Australia/Darwin|ACST|-9u|0||12e4",
  671. "Australia/Eucla|+0845|-8J|0||368",
  672. "Australia/Lord_Howe|+11 +1030|-b0 -au|01010101010101010101010|1ObP0 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu|347",
  673. "Australia/Perth|AWST|-80|0||18e5",
  674. "Pacific/Easter|-05 -06|50 60|010101010101010101010|1QSr0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1zb0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0|30e2",
  675. "Europe/Dublin|GMT IST|0 -10|01010101010101010101010|1O9d0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5",
  676. "Etc/GMT-1|+01|-10|0||",
  677. "Pacific/Fakaofo|+13|-d0|0||483",
  678. "Pacific/Kiritimati|+14|-e0|0||51e2",
  679. "Etc/GMT-2|+02|-20|0||",
  680. "Pacific/Tahiti|-10|a0|0||18e4",
  681. "Pacific/Niue|-11|b0|0||12e2",
  682. "Etc/GMT+12|-12|c0|0||",
  683. "Pacific/Galapagos|-06|60|0||25e3",
  684. "Etc/GMT+7|-07|70|0||",
  685. "Pacific/Pitcairn|-08|80|0||56",
  686. "Pacific/Gambier|-09|90|0||125",
  687. "Etc/UTC|UTC|0|0||",
  688. "Europe/Ulyanovsk|+03 +04|-30 -40|01|1QyL0|13e5",
  689. "Europe/London|GMT BST|0 -10|01010101010101010101010|1O9d0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|10e6",
  690. "Europe/Chisinau|EET EEST|-20 -30|01010101010101010101010|1O9c0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|67e4",
  691. "Europe/Moscow|MSK|-30|0||16e6",
  692. "Europe/Saratov|+03 +04|-30 -40|01|1Sfz0|",
  693. "Europe/Volgograd|+03 +04|-30 -40|01|1WQL0|10e5",
  694. "Pacific/Honolulu|HST|a0|0||37e4",
  695. "MET|MET MEST|-10 -20|01010101010101010101010|1O9d0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|",
  696. "Pacific/Chatham|+1345 +1245|-dJ -cJ|01010101010101010101010|1ObO0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00|600",
  697. "Pacific/Apia|+14 +13|-e0 -d0|01010101010101010101010|1ObO0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00|37e3",
  698. "Pacific/Fiji|+13 +12|-d0 -c0|01010101010101010101010|1NF20 1SM0 uM0 1VA0 s00 1VA0 s00 1VA0 s00 20o0 pc0 20o0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0|88e4",
  699. "Pacific/Guam|ChST|-a0|0||17e4",
  700. "Pacific/Marquesas|-0930|9u|0||86e2",
  701. "Pacific/Pago_Pago|SST|b0|0||37e2",
  702. "Pacific/Norfolk|+1130 +11 +12|-bu -b0 -c0|012121212121212|1PoCu 9Jcu 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0|25e4",
  703. "Pacific/Tongatapu|+13 +14|-d0 -e0|010|1S4d0 s00|75e3"
  704. ],
  705. "links": [
  706. "Africa/Abidjan|Africa/Accra",
  707. "Africa/Abidjan|Africa/Bamako",
  708. "Africa/Abidjan|Africa/Banjul",
  709. "Africa/Abidjan|Africa/Bissau",
  710. "Africa/Abidjan|Africa/Conakry",
  711. "Africa/Abidjan|Africa/Dakar",
  712. "Africa/Abidjan|Africa/Freetown",
  713. "Africa/Abidjan|Africa/Lome",
  714. "Africa/Abidjan|Africa/Monrovia",
  715. "Africa/Abidjan|Africa/Nouakchott",
  716. "Africa/Abidjan|Africa/Ouagadougou",
  717. "Africa/Abidjan|Africa/Timbuktu",
  718. "Africa/Abidjan|America/Danmarkshavn",
  719. "Africa/Abidjan|Atlantic/Reykjavik",
  720. "Africa/Abidjan|Atlantic/St_Helena",
  721. "Africa/Abidjan|Etc/GMT",
  722. "Africa/Abidjan|Etc/GMT+0",
  723. "Africa/Abidjan|Etc/GMT-0",
  724. "Africa/Abidjan|Etc/GMT0",
  725. "Africa/Abidjan|Etc/Greenwich",
  726. "Africa/Abidjan|GMT",
  727. "Africa/Abidjan|GMT+0",
  728. "Africa/Abidjan|GMT-0",
  729. "Africa/Abidjan|GMT0",
  730. "Africa/Abidjan|Greenwich",
  731. "Africa/Abidjan|Iceland",
  732. "Africa/Algiers|Africa/Tunis",
  733. "Africa/Cairo|Africa/Tripoli",
  734. "Africa/Cairo|Egypt",
  735. "Africa/Cairo|Europe/Kaliningrad",
  736. "Africa/Cairo|Libya",
  737. "Africa/Casablanca|Africa/El_Aaiun",
  738. "Africa/Johannesburg|Africa/Maseru",
  739. "Africa/Johannesburg|Africa/Mbabane",
  740. "Africa/Lagos|Africa/Bangui",
  741. "Africa/Lagos|Africa/Brazzaville",
  742. "Africa/Lagos|Africa/Douala",
  743. "Africa/Lagos|Africa/Kinshasa",
  744. "Africa/Lagos|Africa/Libreville",
  745. "Africa/Lagos|Africa/Luanda",
  746. "Africa/Lagos|Africa/Malabo",
  747. "Africa/Lagos|Africa/Ndjamena",
  748. "Africa/Lagos|Africa/Niamey",
  749. "Africa/Lagos|Africa/Porto-Novo",
  750. "Africa/Maputo|Africa/Blantyre",
  751. "Africa/Maputo|Africa/Bujumbura",
  752. "Africa/Maputo|Africa/Gaborone",
  753. "Africa/Maputo|Africa/Harare",
  754. "Africa/Maputo|Africa/Kigali",
  755. "Africa/Maputo|Africa/Lubumbashi",
  756. "Africa/Maputo|Africa/Lusaka",
  757. "Africa/Nairobi|Africa/Addis_Ababa",
  758. "Africa/Nairobi|Africa/Asmara",
  759. "Africa/Nairobi|Africa/Asmera",
  760. "Africa/Nairobi|Africa/Dar_es_Salaam",
  761. "Africa/Nairobi|Africa/Djibouti",
  762. "Africa/Nairobi|Africa/Juba",
  763. "Africa/Nairobi|Africa/Kampala",
  764. "Africa/Nairobi|Africa/Mogadishu",
  765. "Africa/Nairobi|Indian/Antananarivo",
  766. "Africa/Nairobi|Indian/Comoro",
  767. "Africa/Nairobi|Indian/Mayotte",
  768. "America/Adak|America/Atka",
  769. "America/Adak|US/Aleutian",
  770. "America/Anchorage|America/Juneau",
  771. "America/Anchorage|America/Nome",
  772. "America/Anchorage|America/Sitka",
  773. "America/Anchorage|America/Yakutat",
  774. "America/Anchorage|US/Alaska",
  775. "America/Campo_Grande|America/Cuiaba",
  776. "America/Chicago|America/Indiana/Knox",
  777. "America/Chicago|America/Indiana/Tell_City",
  778. "America/Chicago|America/Knox_IN",
  779. "America/Chicago|America/Matamoros",
  780. "America/Chicago|America/Menominee",
  781. "America/Chicago|America/North_Dakota/Beulah",
  782. "America/Chicago|America/North_Dakota/Center",
  783. "America/Chicago|America/North_Dakota/New_Salem",
  784. "America/Chicago|America/Rainy_River",
  785. "America/Chicago|America/Rankin_Inlet",
  786. "America/Chicago|America/Resolute",
  787. "America/Chicago|America/Winnipeg",
  788. "America/Chicago|CST6CDT",
  789. "America/Chicago|Canada/Central",
  790. "America/Chicago|US/Central",
  791. "America/Chicago|US/Indiana-Starke",
  792. "America/Chihuahua|America/Mazatlan",
  793. "America/Chihuahua|Mexico/BajaSur",
  794. "America/Denver|America/Boise",
  795. "America/Denver|America/Cambridge_Bay",
  796. "America/Denver|America/Edmonton",
  797. "America/Denver|America/Inuvik",
  798. "America/Denver|America/Ojinaga",
  799. "America/Denver|America/Shiprock",
  800. "America/Denver|America/Yellowknife",
  801. "America/Denver|Canada/Mountain",
  802. "America/Denver|MST7MDT",
  803. "America/Denver|Navajo",
  804. "America/Denver|US/Mountain",
  805. "America/Fortaleza|America/Araguaina",
  806. "America/Fortaleza|America/Argentina/Buenos_Aires",
  807. "America/Fortaleza|America/Argentina/Catamarca",
  808. "America/Fortaleza|America/Argentina/ComodRivadavia",
  809. "America/Fortaleza|America/Argentina/Cordoba",
  810. "America/Fortaleza|America/Argentina/Jujuy",
  811. "America/Fortaleza|America/Argentina/La_Rioja",
  812. "America/Fortaleza|America/Argentina/Mendoza",
  813. "America/Fortaleza|America/Argentina/Rio_Gallegos",
  814. "America/Fortaleza|America/Argentina/Salta",
  815. "America/Fortaleza|America/Argentina/San_Juan",
  816. "America/Fortaleza|America/Argentina/San_Luis",
  817. "America/Fortaleza|America/Argentina/Tucuman",
  818. "America/Fortaleza|America/Argentina/Ushuaia",
  819. "America/Fortaleza|America/Bahia",
  820. "America/Fortaleza|America/Belem",
  821. "America/Fortaleza|America/Buenos_Aires",
  822. "America/Fortaleza|America/Catamarca",
  823. "America/Fortaleza|America/Cayenne",
  824. "America/Fortaleza|America/Cordoba",
  825. "America/Fortaleza|America/Jujuy",
  826. "America/Fortaleza|America/Maceio",
  827. "America/Fortaleza|America/Mendoza",
  828. "America/Fortaleza|America/Paramaribo",
  829. "America/Fortaleza|America/Recife",
  830. "America/Fortaleza|America/Rosario",
  831. "America/Fortaleza|America/Santarem",
  832. "America/Fortaleza|Antarctica/Rothera",
  833. "America/Fortaleza|Atlantic/Stanley",
  834. "America/Fortaleza|Etc/GMT+3",
  835. "America/Halifax|America/Glace_Bay",
  836. "America/Halifax|America/Goose_Bay",
  837. "America/Halifax|America/Moncton",
  838. "America/Halifax|America/Thule",
  839. "America/Halifax|Atlantic/Bermuda",
  840. "America/Halifax|Canada/Atlantic",
  841. "America/Havana|Cuba",
  842. "America/La_Paz|America/Boa_Vista",
  843. "America/La_Paz|America/Guyana",
  844. "America/La_Paz|America/Manaus",
  845. "America/La_Paz|America/Porto_Velho",
  846. "America/La_Paz|Brazil/West",
  847. "America/La_Paz|Etc/GMT+4",
  848. "America/Lima|America/Bogota",
  849. "America/Lima|America/Eirunepe",
  850. "America/Lima|America/Guayaquil",
  851. "America/Lima|America/Porto_Acre",
  852. "America/Lima|America/Rio_Branco",
  853. "America/Lima|Brazil/Acre",
  854. "America/Lima|Etc/GMT+5",
  855. "America/Los_Angeles|America/Dawson",
  856. "America/Los_Angeles|America/Ensenada",
  857. "America/Los_Angeles|America/Santa_Isabel",
  858. "America/Los_Angeles|America/Tijuana",
  859. "America/Los_Angeles|America/Vancouver",
  860. "America/Los_Angeles|America/Whitehorse",
  861. "America/Los_Angeles|Canada/Pacific",
  862. "America/Los_Angeles|Canada/Yukon",
  863. "America/Los_Angeles|Mexico/BajaNorte",
  864. "America/Los_Angeles|PST8PDT",
  865. "America/Los_Angeles|US/Pacific",
  866. "America/Los_Angeles|US/Pacific-New",
  867. "America/Managua|America/Belize",
  868. "America/Managua|America/Costa_Rica",
  869. "America/Managua|America/El_Salvador",
  870. "America/Managua|America/Guatemala",
  871. "America/Managua|America/Regina",
  872. "America/Managua|America/Swift_Current",
  873. "America/Managua|America/Tegucigalpa",
  874. "America/Managua|Canada/Saskatchewan",
  875. "America/Mexico_City|America/Bahia_Banderas",
  876. "America/Mexico_City|America/Merida",
  877. "America/Mexico_City|America/Monterrey",
  878. "America/Mexico_City|Mexico/General",
  879. "America/New_York|America/Detroit",
  880. "America/New_York|America/Fort_Wayne",
  881. "America/New_York|America/Indiana/Indianapolis",
  882. "America/New_York|America/Indiana/Marengo",
  883. "America/New_York|America/Indiana/Petersburg",
  884. "America/New_York|America/Indiana/Vevay",
  885. "America/New_York|America/Indiana/Vincennes",
  886. "America/New_York|America/Indiana/Winamac",
  887. "America/New_York|America/Indianapolis",
  888. "America/New_York|America/Iqaluit",
  889. "America/New_York|America/Kentucky/Louisville",
  890. "America/New_York|America/Kentucky/Monticello",
  891. "America/New_York|America/Louisville",
  892. "America/New_York|America/Montreal",
  893. "America/New_York|America/Nassau",
  894. "America/New_York|America/Nipigon",
  895. "America/New_York|America/Pangnirtung",
  896. "America/New_York|America/Thunder_Bay",
  897. "America/New_York|America/Toronto",
  898. "America/New_York|Canada/Eastern",
  899. "America/New_York|EST5EDT",
  900. "America/New_York|US/East-Indiana",
  901. "America/New_York|US/Eastern",
  902. "America/New_York|US/Michigan",
  903. "America/Noronha|Atlantic/South_Georgia",
  904. "America/Noronha|Brazil/DeNoronha",
  905. "America/Noronha|Etc/GMT+2",
  906. "America/Panama|America/Atikokan",
  907. "America/Panama|America/Cayman",
  908. "America/Panama|America/Coral_Harbour",
  909. "America/Panama|America/Jamaica",
  910. "America/Panama|EST",
  911. "America/Panama|Jamaica",
  912. "America/Phoenix|America/Creston",
  913. "America/Phoenix|America/Dawson_Creek",
  914. "America/Phoenix|America/Hermosillo",
  915. "America/Phoenix|MST",
  916. "America/Phoenix|US/Arizona",
  917. "America/Santiago|Chile/Continental",
  918. "America/Santo_Domingo|America/Anguilla",
  919. "America/Santo_Domingo|America/Antigua",
  920. "America/Santo_Domingo|America/Aruba",
  921. "America/Santo_Domingo|America/Barbados",
  922. "America/Santo_Domingo|America/Blanc-Sablon",
  923. "America/Santo_Domingo|America/Curacao",
  924. "America/Santo_Domingo|America/Dominica",
  925. "America/Santo_Domingo|America/Grenada",
  926. "America/Santo_Domingo|America/Guadeloupe",
  927. "America/Santo_Domingo|America/Kralendijk",
  928. "America/Santo_Domingo|America/Lower_Princes",
  929. "America/Santo_Domingo|America/Marigot",
  930. "America/Santo_Domingo|America/Martinique",
  931. "America/Santo_Domingo|America/Montserrat",
  932. "America/Santo_Domingo|America/Port_of_Spain",
  933. "America/Santo_Domingo|America/Puerto_Rico",
  934. "America/Santo_Domingo|America/St_Barthelemy",
  935. "America/Santo_Domingo|America/St_Kitts",
  936. "America/Santo_Domingo|America/St_Lucia",
  937. "America/Santo_Domingo|America/St_Thomas",
  938. "America/Santo_Domingo|America/St_Vincent",
  939. "America/Santo_Domingo|America/Tortola",
  940. "America/Santo_Domingo|America/Virgin",
  941. "America/Sao_Paulo|Brazil/East",
  942. "America/St_Johns|Canada/Newfoundland",
  943. "Antarctica/Palmer|America/Punta_Arenas",
  944. "Asia/Baghdad|Antarctica/Syowa",
  945. "Asia/Baghdad|Asia/Aden",
  946. "Asia/Baghdad|Asia/Bahrain",
  947. "Asia/Baghdad|Asia/Kuwait",
  948. "Asia/Baghdad|Asia/Qatar",
  949. "Asia/Baghdad|Asia/Riyadh",
  950. "Asia/Baghdad|Etc/GMT-3",
  951. "Asia/Baghdad|Europe/Kirov",
  952. "Asia/Baghdad|Europe/Minsk",
  953. "Asia/Bangkok|Antarctica/Davis",
  954. "Asia/Bangkok|Asia/Ho_Chi_Minh",
  955. "Asia/Bangkok|Asia/Krasnoyarsk",
  956. "Asia/Bangkok|Asia/Novokuznetsk",
  957. "Asia/Bangkok|Asia/Phnom_Penh",
  958. "Asia/Bangkok|Asia/Saigon",
  959. "Asia/Bangkok|Asia/Vientiane",
  960. "Asia/Bangkok|Etc/GMT-7",
  961. "Asia/Bangkok|Indian/Christmas",
  962. "Asia/Dhaka|Antarctica/Vostok",
  963. "Asia/Dhaka|Asia/Almaty",
  964. "Asia/Dhaka|Asia/Bishkek",
  965. "Asia/Dhaka|Asia/Dacca",
  966. "Asia/Dhaka|Asia/Kashgar",
  967. "Asia/Dhaka|Asia/Omsk",
  968. "Asia/Dhaka|Asia/Qostanay",
  969. "Asia/Dhaka|Asia/Thimbu",
  970. "Asia/Dhaka|Asia/Thimphu",
  971. "Asia/Dhaka|Asia/Urumqi",
  972. "Asia/Dhaka|Etc/GMT-6",
  973. "Asia/Dhaka|Indian/Chagos",
  974. "Asia/Dubai|Asia/Muscat",
  975. "Asia/Dubai|Asia/Tbilisi",
  976. "Asia/Dubai|Asia/Yerevan",
  977. "Asia/Dubai|Etc/GMT-4",
  978. "Asia/Dubai|Europe/Samara",
  979. "Asia/Dubai|Indian/Mahe",
  980. "Asia/Dubai|Indian/Mauritius",
  981. "Asia/Dubai|Indian/Reunion",
  982. "Asia/Gaza|Asia/Hebron",
  983. "Asia/Hong_Kong|Hongkong",
  984. "Asia/Jakarta|Asia/Pontianak",
  985. "Asia/Jerusalem|Asia/Tel_Aviv",
  986. "Asia/Jerusalem|Israel",
  987. "Asia/Kamchatka|Asia/Anadyr",
  988. "Asia/Kamchatka|Etc/GMT-12",
  989. "Asia/Kamchatka|Kwajalein",
  990. "Asia/Kamchatka|Pacific/Funafuti",
  991. "Asia/Kamchatka|Pacific/Kwajalein",
  992. "Asia/Kamchatka|Pacific/Majuro",
  993. "Asia/Kamchatka|Pacific/Nauru",
  994. "Asia/Kamchatka|Pacific/Tarawa",
  995. "Asia/Kamchatka|Pacific/Wake",
  996. "Asia/Kamchatka|Pacific/Wallis",
  997. "Asia/Kathmandu|Asia/Katmandu",
  998. "Asia/Kolkata|Asia/Calcutta",
  999. "Asia/Kuala_Lumpur|Asia/Brunei",
  1000. "Asia/Kuala_Lumpur|Asia/Irkutsk",
  1001. "Asia/Kuala_Lumpur|Asia/Kuching",
  1002. "Asia/Kuala_Lumpur|Asia/Singapore",
  1003. "Asia/Kuala_Lumpur|Etc/GMT-8",
  1004. "Asia/Kuala_Lumpur|Singapore",
  1005. "Asia/Makassar|Asia/Ujung_Pandang",
  1006. "Asia/Rangoon|Asia/Yangon",
  1007. "Asia/Rangoon|Indian/Cocos",
  1008. "Asia/Seoul|ROK",
  1009. "Asia/Shanghai|Asia/Chongqing",
  1010. "Asia/Shanghai|Asia/Chungking",
  1011. "Asia/Shanghai|Asia/Harbin",
  1012. "Asia/Shanghai|Asia/Macao",
  1013. "Asia/Shanghai|Asia/Macau",
  1014. "Asia/Shanghai|Asia/Taipei",
  1015. "Asia/Shanghai|PRC",
  1016. "Asia/Shanghai|ROC",
  1017. "Asia/Tashkent|Antarctica/Mawson",
  1018. "Asia/Tashkent|Asia/Aqtau",
  1019. "Asia/Tashkent|Asia/Aqtobe",
  1020. "Asia/Tashkent|Asia/Ashgabat",
  1021. "Asia/Tashkent|Asia/Ashkhabad",
  1022. "Asia/Tashkent|Asia/Atyrau",
  1023. "Asia/Tashkent|Asia/Dushanbe",
  1024. "Asia/Tashkent|Asia/Oral",
  1025. "Asia/Tashkent|Asia/Samarkand",
  1026. "Asia/Tashkent|Asia/Yekaterinburg",
  1027. "Asia/Tashkent|Etc/GMT-5",
  1028. "Asia/Tashkent|Indian/Kerguelen",
  1029. "Asia/Tashkent|Indian/Maldives",
  1030. "Asia/Tehran|Iran",
  1031. "Asia/Tokyo|Japan",
  1032. "Asia/Ulaanbaatar|Asia/Choibalsan",
  1033. "Asia/Ulaanbaatar|Asia/Ulan_Bator",
  1034. "Asia/Vladivostok|Antarctica/DumontDUrville",
  1035. "Asia/Vladivostok|Asia/Ust-Nera",
  1036. "Asia/Vladivostok|Etc/GMT-10",
  1037. "Asia/Vladivostok|Pacific/Chuuk",
  1038. "Asia/Vladivostok|Pacific/Port_Moresby",
  1039. "Asia/Vladivostok|Pacific/Truk",
  1040. "Asia/Vladivostok|Pacific/Yap",
  1041. "Asia/Yakutsk|Asia/Dili",
  1042. "Asia/Yakutsk|Asia/Khandyga",
  1043. "Asia/Yakutsk|Etc/GMT-9",
  1044. "Asia/Yakutsk|Pacific/Palau",
  1045. "Atlantic/Azores|America/Scoresbysund",
  1046. "Atlantic/Cape_Verde|Etc/GMT+1",
  1047. "Australia/Adelaide|Australia/Broken_Hill",
  1048. "Australia/Adelaide|Australia/South",
  1049. "Australia/Adelaide|Australia/Yancowinna",
  1050. "Australia/Brisbane|Australia/Lindeman",
  1051. "Australia/Brisbane|Australia/Queensland",
  1052. "Australia/Darwin|Australia/North",
  1053. "Australia/Lord_Howe|Australia/LHI",
  1054. "Australia/Perth|Australia/West",
  1055. "Australia/Sydney|Australia/ACT",
  1056. "Australia/Sydney|Australia/Canberra",
  1057. "Australia/Sydney|Australia/Currie",
  1058. "Australia/Sydney|Australia/Hobart",
  1059. "Australia/Sydney|Australia/Melbourne",
  1060. "Australia/Sydney|Australia/NSW",
  1061. "Australia/Sydney|Australia/Tasmania",
  1062. "Australia/Sydney|Australia/Victoria",
  1063. "Etc/UTC|Etc/UCT",
  1064. "Etc/UTC|Etc/Universal",
  1065. "Etc/UTC|Etc/Zulu",
  1066. "Etc/UTC|UCT",
  1067. "Etc/UTC|UTC",
  1068. "Etc/UTC|Universal",
  1069. "Etc/UTC|Zulu",
  1070. "Europe/Athens|Asia/Nicosia",
  1071. "Europe/Athens|EET",
  1072. "Europe/Athens|Europe/Bucharest",
  1073. "Europe/Athens|Europe/Helsinki",
  1074. "Europe/Athens|Europe/Kiev",
  1075. "Europe/Athens|Europe/Mariehamn",
  1076. "Europe/Athens|Europe/Nicosia",
  1077. "Europe/Athens|Europe/Riga",
  1078. "Europe/Athens|Europe/Sofia",
  1079. "Europe/Athens|Europe/Tallinn",
  1080. "Europe/Athens|Europe/Uzhgorod",
  1081. "Europe/Athens|Europe/Vilnius",
  1082. "Europe/Athens|Europe/Zaporozhye",
  1083. "Europe/Chisinau|Europe/Tiraspol",
  1084. "Europe/Dublin|Eire",
  1085. "Europe/Istanbul|Asia/Istanbul",
  1086. "Europe/Istanbul|Turkey",
  1087. "Europe/Lisbon|Atlantic/Canary",
  1088. "Europe/Lisbon|Atlantic/Faeroe",
  1089. "Europe/Lisbon|Atlantic/Faroe",
  1090. "Europe/Lisbon|Atlantic/Madeira",
  1091. "Europe/Lisbon|Portugal",
  1092. "Europe/Lisbon|WET",
  1093. "Europe/London|Europe/Belfast",
  1094. "Europe/London|Europe/Guernsey",
  1095. "Europe/London|Europe/Isle_of_Man",
  1096. "Europe/London|Europe/Jersey",
  1097. "Europe/London|GB",
  1098. "Europe/London|GB-Eire",
  1099. "Europe/Moscow|Europe/Simferopol",
  1100. "Europe/Moscow|W-SU",
  1101. "Europe/Paris|Africa/Ceuta",
  1102. "Europe/Paris|Arctic/Longyearbyen",
  1103. "Europe/Paris|Atlantic/Jan_Mayen",
  1104. "Europe/Paris|CET",
  1105. "Europe/Paris|Europe/Amsterdam",
  1106. "Europe/Paris|Europe/Andorra",
  1107. "Europe/Paris|Europe/Belgrade",
  1108. "Europe/Paris|Europe/Berlin",
  1109. "Europe/Paris|Europe/Bratislava",
  1110. "Europe/Paris|Europe/Brussels",
  1111. "Europe/Paris|Europe/Budapest",
  1112. "Europe/Paris|Europe/Busingen",
  1113. "Europe/Paris|Europe/Copenhagen",
  1114. "Europe/Paris|Europe/Gibraltar",
  1115. "Europe/Paris|Europe/Ljubljana",
  1116. "Europe/Paris|Europe/Luxembourg",
  1117. "Europe/Paris|Europe/Madrid",
  1118. "Europe/Paris|Europe/Malta",
  1119. "Europe/Paris|Europe/Monaco",
  1120. "Europe/Paris|Europe/Oslo",
  1121. "Europe/Paris|Europe/Podgorica",
  1122. "Europe/Paris|Europe/Prague",
  1123. "Europe/Paris|Europe/Rome",
  1124. "Europe/Paris|Europe/San_Marino",
  1125. "Europe/Paris|Europe/Sarajevo",
  1126. "Europe/Paris|Europe/Skopje",
  1127. "Europe/Paris|Europe/Stockholm",
  1128. "Europe/Paris|Europe/Tirane",
  1129. "Europe/Paris|Europe/Vaduz",
  1130. "Europe/Paris|Europe/Vatican",
  1131. "Europe/Paris|Europe/Vienna",
  1132. "Europe/Paris|Europe/Warsaw",
  1133. "Europe/Paris|Europe/Zagreb",
  1134. "Europe/Paris|Europe/Zurich",
  1135. "Europe/Paris|Poland",
  1136. "Europe/Ulyanovsk|Europe/Astrakhan",
  1137. "Pacific/Auckland|Antarctica/McMurdo",
  1138. "Pacific/Auckland|Antarctica/South_Pole",
  1139. "Pacific/Auckland|NZ",
  1140. "Pacific/Bougainville|Antarctica/Macquarie",
  1141. "Pacific/Bougainville|Asia/Srednekolymsk",
  1142. "Pacific/Bougainville|Etc/GMT-11",
  1143. "Pacific/Bougainville|Pacific/Efate",
  1144. "Pacific/Bougainville|Pacific/Guadalcanal",
  1145. "Pacific/Bougainville|Pacific/Kosrae",
  1146. "Pacific/Bougainville|Pacific/Noumea",
  1147. "Pacific/Bougainville|Pacific/Pohnpei",
  1148. "Pacific/Bougainville|Pacific/Ponape",
  1149. "Pacific/Chatham|NZ-CHAT",
  1150. "Pacific/Easter|Chile/EasterIsland",
  1151. "Pacific/Fakaofo|Etc/GMT-13",
  1152. "Pacific/Fakaofo|Pacific/Enderbury",
  1153. "Pacific/Galapagos|Etc/GMT+6",
  1154. "Pacific/Gambier|Etc/GMT+9",
  1155. "Pacific/Guam|Pacific/Saipan",
  1156. "Pacific/Honolulu|HST",
  1157. "Pacific/Honolulu|Pacific/Johnston",
  1158. "Pacific/Honolulu|US/Hawaii",
  1159. "Pacific/Kiritimati|Etc/GMT-14",
  1160. "Pacific/Niue|Etc/GMT+11",
  1161. "Pacific/Pago_Pago|Pacific/Midway",
  1162. "Pacific/Pago_Pago|Pacific/Samoa",
  1163. "Pacific/Pago_Pago|US/Samoa",
  1164. "Pacific/Pitcairn|Etc/GMT+8",
  1165. "Pacific/Tahiti|Etc/GMT+10",
  1166. "Pacific/Tahiti|Pacific/Rarotonga"
  1167. ],
  1168. "countries": [
  1169. "AD|Europe/Andorra",
  1170. "AE|Asia/Dubai",
  1171. "AF|Asia/Kabul",
  1172. "AG|America/Port_of_Spain America/Antigua",
  1173. "AI|America/Port_of_Spain America/Anguilla",
  1174. "AL|Europe/Tirane",
  1175. "AM|Asia/Yerevan",
  1176. "AO|Africa/Lagos Africa/Luanda",
  1177. "AQ|Antarctica/Casey Antarctica/Davis Antarctica/DumontDUrville Antarctica/Mawson Antarctica/Palmer Antarctica/Rothera Antarctica/Syowa Antarctica/Troll Antarctica/Vostok Pacific/Auckland Antarctica/McMurdo",
  1178. "AR|America/Argentina/Buenos_Aires America/Argentina/Cordoba America/Argentina/Salta America/Argentina/Jujuy America/Argentina/Tucuman America/Argentina/Catamarca America/Argentina/La_Rioja America/Argentina/San_Juan America/Argentina/Mendoza America/Argentina/San_Luis America/Argentina/Rio_Gallegos America/Argentina/Ushuaia",
  1179. "AS|Pacific/Pago_Pago",
  1180. "AT|Europe/Vienna",
  1181. "AU|Australia/Lord_Howe Antarctica/Macquarie Australia/Hobart Australia/Currie Australia/Melbourne Australia/Sydney Australia/Broken_Hill Australia/Brisbane Australia/Lindeman Australia/Adelaide Australia/Darwin Australia/Perth Australia/Eucla",
  1182. "AW|America/Curacao America/Aruba",
  1183. "AX|Europe/Helsinki Europe/Mariehamn",
  1184. "AZ|Asia/Baku",
  1185. "BA|Europe/Belgrade Europe/Sarajevo",
  1186. "BB|America/Barbados",
  1187. "BD|Asia/Dhaka",
  1188. "BE|Europe/Brussels",
  1189. "BF|Africa/Abidjan Africa/Ouagadougou",
  1190. "BG|Europe/Sofia",
  1191. "BH|Asia/Qatar Asia/Bahrain",
  1192. "BI|Africa/Maputo Africa/Bujumbura",
  1193. "BJ|Africa/Lagos Africa/Porto-Novo",
  1194. "BL|America/Port_of_Spain America/St_Barthelemy",
  1195. "BM|Atlantic/Bermuda",
  1196. "BN|Asia/Brunei",
  1197. "BO|America/La_Paz",
  1198. "BQ|America/Curacao America/Kralendijk",
  1199. "BR|America/Noronha America/Belem America/Fortaleza America/Recife America/Araguaina America/Maceio America/Bahia America/Sao_Paulo America/Campo_Grande America/Cuiaba America/Santarem America/Porto_Velho America/Boa_Vista America/Manaus America/Eirunepe America/Rio_Branco",
  1200. "BS|America/Nassau",
  1201. "BT|Asia/Thimphu",
  1202. "BW|Africa/Maputo Africa/Gaborone",
  1203. "BY|Europe/Minsk",
  1204. "BZ|America/Belize",
  1205. "CA|America/St_Johns America/Halifax America/Glace_Bay America/Moncton America/Goose_Bay America/Blanc-Sablon America/Toronto America/Nipigon America/Thunder_Bay America/Iqaluit America/Pangnirtung America/Atikokan America/Winnipeg America/Rainy_River America/Resolute America/Rankin_Inlet America/Regina America/Swift_Current America/Edmonton America/Cambridge_Bay America/Yellowknife America/Inuvik America/Creston America/Dawson_Creek America/Fort_Nelson America/Vancouver America/Whitehorse America/Dawson",
  1206. "CC|Indian/Cocos",
  1207. "CD|Africa/Maputo Africa/Lagos Africa/Kinshasa Africa/Lubumbashi",
  1208. "CF|Africa/Lagos Africa/Bangui",
  1209. "CG|Africa/Lagos Africa/Brazzaville",
  1210. "CH|Europe/Zurich",
  1211. "CI|Africa/Abidjan",
  1212. "CK|Pacific/Rarotonga",
  1213. "CL|America/Santiago America/Punta_Arenas Pacific/Easter",
  1214. "CM|Africa/Lagos Africa/Douala",
  1215. "CN|Asia/Shanghai Asia/Urumqi",
  1216. "CO|America/Bogota",
  1217. "CR|America/Costa_Rica",
  1218. "CU|America/Havana",
  1219. "CV|Atlantic/Cape_Verde",
  1220. "CW|America/Curacao",
  1221. "CX|Indian/Christmas",
  1222. "CY|Asia/Nicosia Asia/Famagusta",
  1223. "CZ|Europe/Prague",
  1224. "DE|Europe/Zurich Europe/Berlin Europe/Busingen",
  1225. "DJ|Africa/Nairobi Africa/Djibouti",
  1226. "DK|Europe/Copenhagen",
  1227. "DM|America/Port_of_Spain America/Dominica",
  1228. "DO|America/Santo_Domingo",
  1229. "DZ|Africa/Algiers",
  1230. "EC|America/Guayaquil Pacific/Galapagos",
  1231. "EE|Europe/Tallinn",
  1232. "EG|Africa/Cairo",
  1233. "EH|Africa/El_Aaiun",
  1234. "ER|Africa/Nairobi Africa/Asmara",
  1235. "ES|Europe/Madrid Africa/Ceuta Atlantic/Canary",
  1236. "ET|Africa/Nairobi Africa/Addis_Ababa",
  1237. "FI|Europe/Helsinki",
  1238. "FJ|Pacific/Fiji",
  1239. "FK|Atlantic/Stanley",
  1240. "FM|Pacific/Chuuk Pacific/Pohnpei Pacific/Kosrae",
  1241. "FO|Atlantic/Faroe",
  1242. "FR|Europe/Paris",
  1243. "GA|Africa/Lagos Africa/Libreville",
  1244. "GB|Europe/London",
  1245. "GD|America/Port_of_Spain America/Grenada",
  1246. "GE|Asia/Tbilisi",
  1247. "GF|America/Cayenne",
  1248. "GG|Europe/London Europe/Guernsey",
  1249. "GH|Africa/Accra",
  1250. "GI|Europe/Gibraltar",
  1251. "GL|America/Godthab America/Danmarkshavn America/Scoresbysund America/Thule",
  1252. "GM|Africa/Abidjan Africa/Banjul",
  1253. "GN|Africa/Abidjan Africa/Conakry",
  1254. "GP|America/Port_of_Spain America/Guadeloupe",
  1255. "GQ|Africa/Lagos Africa/Malabo",
  1256. "GR|Europe/Athens",
  1257. "GS|Atlantic/South_Georgia",
  1258. "GT|America/Guatemala",
  1259. "GU|Pacific/Guam",
  1260. "GW|Africa/Bissau",
  1261. "GY|America/Guyana",
  1262. "HK|Asia/Hong_Kong",
  1263. "HN|America/Tegucigalpa",
  1264. "HR|Europe/Belgrade Europe/Zagreb",
  1265. "HT|America/Port-au-Prince",
  1266. "HU|Europe/Budapest",
  1267. "ID|Asia/Jakarta Asia/Pontianak Asia/Makassar Asia/Jayapura",
  1268. "IE|Europe/Dublin",
  1269. "IL|Asia/Jerusalem",
  1270. "IM|Europe/London Europe/Isle_of_Man",
  1271. "IN|Asia/Kolkata",
  1272. "IO|Indian/Chagos",
  1273. "IQ|Asia/Baghdad",
  1274. "IR|Asia/Tehran",
  1275. "IS|Atlantic/Reykjavik",
  1276. "IT|Europe/Rome",
  1277. "JE|Europe/London Europe/Jersey",
  1278. "JM|America/Jamaica",
  1279. "JO|Asia/Amman",
  1280. "JP|Asia/Tokyo",
  1281. "KE|Africa/Nairobi",
  1282. "KG|Asia/Bishkek",
  1283. "KH|Asia/Bangkok Asia/Phnom_Penh",
  1284. "KI|Pacific/Tarawa Pacific/Enderbury Pacific/Kiritimati",
  1285. "KM|Africa/Nairobi Indian/Comoro",
  1286. "KN|America/Port_of_Spain America/St_Kitts",
  1287. "KP|Asia/Pyongyang",
  1288. "KR|Asia/Seoul",
  1289. "KW|Asia/Riyadh Asia/Kuwait",
  1290. "KY|America/Panama America/Cayman",
  1291. "KZ|Asia/Almaty Asia/Qyzylorda Asia/Qostanay Asia/Aqtobe Asia/Aqtau Asia/Atyrau Asia/Oral",
  1292. "LA|Asia/Bangkok Asia/Vientiane",
  1293. "LB|Asia/Beirut",
  1294. "LC|America/Port_of_Spain America/St_Lucia",
  1295. "LI|Europe/Zurich Europe/Vaduz",
  1296. "LK|Asia/Colombo",
  1297. "LR|Africa/Monrovia",
  1298. "LS|Africa/Johannesburg Africa/Maseru",
  1299. "LT|Europe/Vilnius",
  1300. "LU|Europe/Luxembourg",
  1301. "LV|Europe/Riga",
  1302. "LY|Africa/Tripoli",
  1303. "MA|Africa/Casablanca",
  1304. "MC|Europe/Monaco",
  1305. "MD|Europe/Chisinau",
  1306. "ME|Europe/Belgrade Europe/Podgorica",
  1307. "MF|America/Port_of_Spain America/Marigot",
  1308. "MG|Africa/Nairobi Indian/Antananarivo",
  1309. "MH|Pacific/Majuro Pacific/Kwajalein",
  1310. "MK|Europe/Belgrade Europe/Skopje",
  1311. "ML|Africa/Abidjan Africa/Bamako",
  1312. "MM|Asia/Yangon",
  1313. "MN|Asia/Ulaanbaatar Asia/Hovd Asia/Choibalsan",
  1314. "MO|Asia/Macau",
  1315. "MP|Pacific/Guam Pacific/Saipan",
  1316. "MQ|America/Martinique",
  1317. "MR|Africa/Abidjan Africa/Nouakchott",
  1318. "MS|America/Port_of_Spain America/Montserrat",
  1319. "MT|Europe/Malta",
  1320. "MU|Indian/Mauritius",
  1321. "MV|Indian/Maldives",
  1322. "MW|Africa/Maputo Africa/Blantyre",
  1323. "MX|America/Mexico_City America/Cancun America/Merida America/Monterrey America/Matamoros America/Mazatlan America/Chihuahua America/Ojinaga America/Hermosillo America/Tijuana America/Bahia_Banderas",
  1324. "MY|Asia/Kuala_Lumpur Asia/Kuching",
  1325. "MZ|Africa/Maputo",
  1326. "NA|Africa/Windhoek",
  1327. "NC|Pacific/Noumea",
  1328. "NE|Africa/Lagos Africa/Niamey",
  1329. "NF|Pacific/Norfolk",
  1330. "NG|Africa/Lagos",
  1331. "NI|America/Managua",
  1332. "NL|Europe/Amsterdam",
  1333. "NO|Europe/Oslo",
  1334. "NP|Asia/Kathmandu",
  1335. "NR|Pacific/Nauru",
  1336. "NU|Pacific/Niue",
  1337. "NZ|Pacific/Auckland Pacific/Chatham",
  1338. "OM|Asia/Dubai Asia/Muscat",
  1339. "PA|America/Panama",
  1340. "PE|America/Lima",
  1341. "PF|Pacific/Tahiti Pacific/Marquesas Pacific/Gambier",
  1342. "PG|Pacific/Port_Moresby Pacific/Bougainville",
  1343. "PH|Asia/Manila",
  1344. "PK|Asia/Karachi",
  1345. "PL|Europe/Warsaw",
  1346. "PM|America/Miquelon",
  1347. "PN|Pacific/Pitcairn",
  1348. "PR|America/Puerto_Rico",
  1349. "PS|Asia/Gaza Asia/Hebron",
  1350. "PT|Europe/Lisbon Atlantic/Madeira Atlantic/Azores",
  1351. "PW|Pacific/Palau",
  1352. "PY|America/Asuncion",
  1353. "QA|Asia/Qatar",
  1354. "RE|Indian/Reunion",
  1355. "RO|Europe/Bucharest",
  1356. "RS|Europe/Belgrade",
  1357. "RU|Europe/Kaliningrad Europe/Moscow Europe/Simferopol Europe/Kirov Europe/Astrakhan Europe/Volgograd Europe/Saratov Europe/Ulyanovsk Europe/Samara Asia/Yekaterinburg Asia/Omsk Asia/Novosibirsk Asia/Barnaul Asia/Tomsk Asia/Novokuznetsk Asia/Krasnoyarsk Asia/Irkutsk Asia/Chita Asia/Yakutsk Asia/Khandyga Asia/Vladivostok Asia/Ust-Nera Asia/Magadan Asia/Sakhalin Asia/Srednekolymsk Asia/Kamchatka Asia/Anadyr",
  1358. "RW|Africa/Maputo Africa/Kigali",
  1359. "SA|Asia/Riyadh",
  1360. "SB|Pacific/Guadalcanal",
  1361. "SC|Indian/Mahe",
  1362. "SD|Africa/Khartoum",
  1363. "SE|Europe/Stockholm",
  1364. "SG|Asia/Singapore",
  1365. "SH|Africa/Abidjan Atlantic/St_Helena",
  1366. "SI|Europe/Belgrade Europe/Ljubljana",
  1367. "SJ|Europe/Oslo Arctic/Longyearbyen",
  1368. "SK|Europe/Prague Europe/Bratislava",
  1369. "SL|Africa/Abidjan Africa/Freetown",
  1370. "SM|Europe/Rome Europe/San_Marino",
  1371. "SN|Africa/Abidjan Africa/Dakar",
  1372. "SO|Africa/Nairobi Africa/Mogadishu",
  1373. "SR|America/Paramaribo",
  1374. "SS|Africa/Juba",
  1375. "ST|Africa/Sao_Tome",
  1376. "SV|America/El_Salvador",
  1377. "SX|America/Curacao America/Lower_Princes",
  1378. "SY|Asia/Damascus",
  1379. "SZ|Africa/Johannesburg Africa/Mbabane",
  1380. "TC|America/Grand_Turk",
  1381. "TD|Africa/Ndjamena",
  1382. "TF|Indian/Reunion Indian/Kerguelen",
  1383. "TG|Africa/Abidjan Africa/Lome",
  1384. "TH|Asia/Bangkok",
  1385. "TJ|Asia/Dushanbe",
  1386. "TK|Pacific/Fakaofo",
  1387. "TL|Asia/Dili",
  1388. "TM|Asia/Ashgabat",
  1389. "TN|Africa/Tunis",
  1390. "TO|Pacific/Tongatapu",
  1391. "TR|Europe/Istanbul",
  1392. "TT|America/Port_of_Spain",
  1393. "TV|Pacific/Funafuti",
  1394. "TW|Asia/Taipei",
  1395. "TZ|Africa/Nairobi Africa/Dar_es_Salaam",
  1396. "UA|Europe/Simferopol Europe/Kiev Europe/Uzhgorod Europe/Zaporozhye",
  1397. "UG|Africa/Nairobi Africa/Kampala",
  1398. "UM|Pacific/Pago_Pago Pacific/Wake Pacific/Honolulu Pacific/Midway",
  1399. "US|America/New_York America/Detroit America/Kentucky/Louisville America/Kentucky/Monticello America/Indiana/Indianapolis America/Indiana/Vincennes America/Indiana/Winamac America/Indiana/Marengo America/Indiana/Petersburg America/Indiana/Vevay America/Chicago America/Indiana/Tell_City America/Indiana/Knox America/Menominee America/North_Dakota/Center America/North_Dakota/New_Salem America/North_Dakota/Beulah America/Denver America/Boise America/Phoenix America/Los_Angeles America/Anchorage America/Juneau America/Sitka America/Metlakatla America/Yakutat America/Nome America/Adak Pacific/Honolulu",
  1400. "UY|America/Montevideo",
  1401. "UZ|Asia/Samarkand Asia/Tashkent",
  1402. "VA|Europe/Rome Europe/Vatican",
  1403. "VC|America/Port_of_Spain America/St_Vincent",
  1404. "VE|America/Caracas",
  1405. "VG|America/Port_of_Spain America/Tortola",
  1406. "VI|America/Port_of_Spain America/St_Thomas",
  1407. "VN|Asia/Bangkok Asia/Ho_Chi_Minh",
  1408. "VU|Pacific/Efate",
  1409. "WF|Pacific/Wallis",
  1410. "WS|Pacific/Apia",
  1411. "YE|Asia/Riyadh Asia/Aden",
  1412. "YT|Africa/Nairobi Indian/Mayotte",
  1413. "ZA|Africa/Johannesburg",
  1414. "ZM|Africa/Maputo Africa/Lusaka",
  1415. "ZW|Africa/Maputo Africa/Harare"
  1416. ]
  1417. });
  1418. return moment;
  1419. }));