From bcc00304c70a6d642e4e89e037b0a5adf33f14e7 Mon Sep 17 00:00:00 2001 From: Derick Rethans Date: Tue, 29 Nov 2022 18:25:15 +0000 Subject: [PATCH 01/50] Updated to version 2022.7 (2022g) --- ext/date/lib/timezonedb.h | 5131 ++++++++++++++++++++----------------- 1 file changed, 2709 insertions(+), 2422 deletions(-) diff --git a/ext/date/lib/timezonedb.h b/ext/date/lib/timezonedb.h index 671a7238e4c8b..2b4f626f23ec4 100644 --- a/ext/date/lib/timezonedb.h +++ b/ext/date/lib/timezonedb.h @@ -4,7 +4,7 @@ #endif #ifdef TIMELIB_SUPPORT_SLIM_FILE -const timelib_tzdb_index_entry timezonedb_idx_builtin[596] = { +const timelib_tzdb_index_entry timezonedb_idx_builtin[597] = { { (char*) "Africa/Abidjan" , 0x000000 }, { (char*) "Africa/Accra" , 0x00008E }, { (char*) "Africa/Addis_Ababa" , 0x000356 }, @@ -83,528 +83,529 @@ const timelib_tzdb_index_entry timezonedb_idx_builtin[596] = { { (char*) "America/Atka" , 0x0076F5 }, { (char*) "America/Bahia" , 0x007ACA }, { (char*) "America/Bahia_Banderas" , 0x007D85 }, - { (char*) "America/Barbados" , 0x008089 }, - { (char*) "America/Belem" , 0x0081AB }, - { (char*) "America/Belize" , 0x008353 }, - { (char*) "America/Blanc-Sablon" , 0x008774 }, - { (char*) "America/Boa_Vista" , 0x008869 }, - { (char*) "America/Bogota" , 0x008A2A }, - { (char*) "America/Boise" , 0x008AE9 }, - { (char*) "America/Buenos_Aires" , 0x008EFC }, - { (char*) "America/Cambridge_Bay" , 0x0091CC }, - { (char*) "America/Campo_Grande" , 0x0094EC }, - { (char*) "America/Cancun" , 0x0098C2 }, - { (char*) "America/Caracas" , 0x009B03 }, - { (char*) "America/Catamarca" , 0x009BCD }, - { (char*) "America/Cayenne" , 0x009E9D }, - { (char*) "America/Cayman" , 0x009F40 }, - { (char*) "America/Chicago" , 0x009FE1 }, - { (char*) "America/Chihuahua" , 0x00A6DB }, - { (char*) "America/Coral_Harbour" , 0x00A9C0 }, - { (char*) "America/Cordoba" , 0x00AA61 }, - { (char*) "America/Costa_Rica" , 0x00AD31 }, - { (char*) "America/Creston" , 0x00AE25 }, - { (char*) "America/Cuiaba" , 0x00AEE1 }, - { (char*) "America/Curacao" , 0x00B29E }, - { (char*) "America/Danmarkshavn" , 0x00B341 }, - { (char*) "America/Dawson" , 0x00B526 }, - { (char*) "America/Dawson_Creek" , 0x00B949 }, - { (char*) "America/Denver" , 0x00BC20 }, - { (char*) "America/Detroit" , 0x00C053 }, - { (char*) "America/Dominica" , 0x00C3FB }, - { (char*) "America/Edmonton" , 0x00C489 }, - { (char*) "America/Eirunepe" , 0x00C87C }, - { (char*) "America/El_Salvador" , 0x00CA4B }, - { (char*) "America/Ensenada" , 0x00CB07 }, - { (char*) "America/Fort_Nelson" , 0x00CF14 }, - { (char*) "America/Fort_Wayne" , 0x00D4DC }, - { (char*) "America/Fortaleza" , 0x00D6FB }, - { (char*) "America/Glace_Bay" , 0x00D911 }, - { (char*) "America/Godthab" , 0x00DCA8 }, - { (char*) "America/Goose_Bay" , 0x00DE85 }, - { (char*) "America/Grand_Turk" , 0x00E4DD }, - { (char*) "America/Grenada" , 0x00E83E }, - { (char*) "America/Guadeloupe" , 0x00E8CC }, - { (char*) "America/Guatemala" , 0x00E95A }, - { (char*) "America/Guayaquil" , 0x00EA3A }, - { (char*) "America/Guyana" , 0x00EB0B }, - { (char*) "America/Halifax" , 0x00EBCC }, - { (char*) "America/Havana" , 0x00F27E }, - { (char*) "America/Hermosillo" , 0x00F6E7 }, - { (char*) "America/Indiana/Indianapolis" , 0x00F830 }, - { (char*) "America/Indiana/Knox" , 0x00FA68 }, - { (char*) "America/Indiana/Marengo" , 0x00FE81 }, - { (char*) "America/Indiana/Petersburg" , 0x0100DB }, - { (char*) "America/Indiana/Tell_City" , 0x0103A5 }, - { (char*) "America/Indiana/Vevay" , 0x0105CF }, - { (char*) "America/Indiana/Vincennes" , 0x010766 }, - { (char*) "America/Indiana/Winamac" , 0x0109BC }, - { (char*) "America/Indianapolis" , 0x010C42 }, - { (char*) "America/Inuvik" , 0x010E61 }, - { (char*) "America/Iqaluit" , 0x01113E }, - { (char*) "America/Jamaica" , 0x01144C }, - { (char*) "America/Jujuy" , 0x0115AB }, - { (char*) "America/Juneau" , 0x011869 }, - { (char*) "America/Kentucky/Louisville" , 0x011C4F }, - { (char*) "America/Kentucky/Monticello" , 0x012153 }, - { (char*) "America/Knox_IN" , 0x01253F }, - { (char*) "America/Kralendijk" , 0x012943 }, - { (char*) "America/La_Paz" , 0x012A00 }, - { (char*) "America/Lima" , 0x012AB6 }, - { (char*) "America/Los_Angeles" , 0x012BDD }, - { (char*) "America/Louisville" , 0x0130FE }, - { (char*) "America/Lower_Princes" , 0x0135E4 }, - { (char*) "America/Maceio" , 0x0136A1 }, - { (char*) "America/Managua" , 0x0138B3 }, - { (char*) "America/Manaus" , 0x0139E6 }, - { (char*) "America/Marigot" , 0x013B9D }, - { (char*) "America/Martinique" , 0x013C5A }, - { (char*) "America/Matamoros" , 0x013D18 }, - { (char*) "America/Mazatlan" , 0x013F17 }, - { (char*) "America/Mendoza" , 0x014226 }, - { (char*) "America/Menominee" , 0x0144F6 }, - { (char*) "America/Merida" , 0x0148B6 }, - { (char*) "America/Metlakatla" , 0x014B70 }, - { (char*) "America/Mexico_City" , 0x014DE6 }, - { (char*) "America/Miquelon" , 0x015103 }, - { (char*) "America/Moncton" , 0x015335 }, - { (char*) "America/Monterrey" , 0x01592E }, - { (char*) "America/Montevideo" , 0x015C03 }, - { (char*) "America/Montreal" , 0x015FD8 }, - { (char*) "America/Montserrat" , 0x016699 }, - { (char*) "America/Nassau" , 0x016727 }, - { (char*) "America/New_York" , 0x016B21 }, - { (char*) "America/Nipigon" , 0x017211 }, - { (char*) "America/Nome" , 0x0178D2 }, - { (char*) "America/Noronha" , 0x017CBA }, - { (char*) "America/North_Dakota/Beulah" , 0x017EBA }, - { (char*) "America/North_Dakota/Center" , 0x0182EE }, - { (char*) "America/North_Dakota/New_Salem" , 0x0186ED }, - { (char*) "America/Nuuk" , 0x018AF2 }, - { (char*) "America/Ojinaga" , 0x018CE5 }, - { (char*) "America/Panama" , 0x018FCC }, - { (char*) "America/Pangnirtung" , 0x01906D }, - { (char*) "America/Paramaribo" , 0x019394 }, - { (char*) "America/Phoenix" , 0x01945B }, - { (char*) "America/Port-au-Prince" , 0x019574 }, - { (char*) "America/Port_of_Spain" , 0x0197B5 }, - { (char*) "America/Porto_Acre" , 0x019843 }, - { (char*) "America/Porto_Velho" , 0x0199F1 }, - { (char*) "America/Puerto_Rico" , 0x019B8F }, - { (char*) "America/Punta_Arenas" , 0x019C4C }, - { (char*) "America/Rainy_River" , 0x01A12E }, - { (char*) "America/Rankin_Inlet" , 0x01A648 }, - { (char*) "America/Recife" , 0x01A91E }, - { (char*) "America/Regina" , 0x01AB18 }, - { (char*) "America/Resolute" , 0x01ADB7 }, - { (char*) "America/Rio_Branco" , 0x01B08E }, - { (char*) "America/Rosario" , 0x01B240 }, - { (char*) "America/Santa_Isabel" , 0x01B510 }, - { (char*) "America/Santarem" , 0x01B91D }, - { (char*) "America/Santiago" , 0x01BACD }, - { (char*) "America/Santo_Domingo" , 0x01C035 }, - { (char*) "America/Sao_Paulo" , 0x01C17E }, - { (char*) "America/Scoresbysund" , 0x01C578 }, - { (char*) "America/Shiprock" , 0x01C780 }, - { (char*) "America/Sitka" , 0x01CB9E }, - { (char*) "America/St_Barthelemy" , 0x01CF79 }, - { (char*) "America/St_Johns" , 0x01D036 }, - { (char*) "America/St_Kitts" , 0x01D7BA }, - { (char*) "America/St_Lucia" , 0x01D848 }, - { (char*) "America/St_Thomas" , 0x01D8E9 }, - { (char*) "America/St_Vincent" , 0x01D977 }, - { (char*) "America/Swift_Current" , 0x01DA18 }, - { (char*) "America/Tegucigalpa" , 0x01DBA6 }, - { (char*) "America/Thule" , 0x01DC74 }, - { (char*) "America/Thunder_Bay" , 0x01DE55 }, - { (char*) "America/Tijuana" , 0x01E516 }, - { (char*) "America/Toronto" , 0x01E944 }, - { (char*) "America/Tortola" , 0x01F022 }, - { (char*) "America/Vancouver" , 0x01F0B0 }, - { (char*) "America/Virgin" , 0x01F607 }, - { (char*) "America/Whitehorse" , 0x01F6C4 }, - { (char*) "America/Winnipeg" , 0x01FAE7 }, - { (char*) "America/Yakutat" , 0x02001E }, - { (char*) "America/Yellowknife" , 0x0203EC }, - { (char*) "Antarctica/Casey" , 0x0206E8 }, - { (char*) "Antarctica/Davis" , 0x0207EC }, - { (char*) "Antarctica/DumontDUrville" , 0x0208C2 }, - { (char*) "Antarctica/Macquarie" , 0x020976 }, - { (char*) "Antarctica/Mawson" , 0x020D62 }, - { (char*) "Antarctica/McMurdo" , 0x020E0C }, - { (char*) "Antarctica/Palmer" , 0x02113E }, - { (char*) "Antarctica/Rothera" , 0x0214C7 }, - { (char*) "Antarctica/South_Pole" , 0x02155E }, - { (char*) "Antarctica/Syowa" , 0x02197D }, - { (char*) "Antarctica/Troll" , 0x021A13 }, - { (char*) "Antarctica/Vostok" , 0x021AD5 }, - { (char*) "Arctic/Longyearbyen" , 0x021B6C }, - { (char*) "Asia/Aden" , 0x021E39 }, - { (char*) "Asia/Almaty" , 0x021ECA }, - { (char*) "Asia/Amman" , 0x02214E }, - { (char*) "Asia/Anadyr" , 0x0224FA }, - { (char*) "Asia/Aqtau" , 0x022800 }, - { (char*) "Asia/Aqtobe" , 0x022A7F }, - { (char*) "Asia/Ashgabat" , 0x022CFF }, - { (char*) "Asia/Ashkhabad" , 0x022E82 }, - { (char*) "Asia/Atyrau" , 0x023005 }, - { (char*) "Asia/Baghdad" , 0x02328E }, - { (char*) "Asia/Bahrain" , 0x023510 }, - { (char*) "Asia/Baku" , 0x0235C9 }, - { (char*) "Asia/Bangkok" , 0x0238BD }, - { (char*) "Asia/Barnaul" , 0x023961 }, - { (char*) "Asia/Beirut" , 0x023C6C }, - { (char*) "Asia/Bishkek" , 0x023F54 }, - { (char*) "Asia/Brunei" , 0x0241CA }, - { (char*) "Asia/Calcutta" , 0x024270 }, - { (char*) "Asia/Chita" , 0x024358 }, - { (char*) "Asia/Choibalsan" , 0x024666 }, - { (char*) "Asia/Chongqing" , 0x0248EF }, - { (char*) "Asia/Chungking" , 0x024A84 }, - { (char*) "Asia/Colombo" , 0x024C19 }, - { (char*) "Asia/Dacca" , 0x024D1C }, - { (char*) "Asia/Damascus" , 0x024E0F }, - { (char*) "Asia/Dhaka" , 0x0252ED }, - { (char*) "Asia/Dili" , 0x0253E0 }, - { (char*) "Asia/Dubai" , 0x025496 }, - { (char*) "Asia/Dushanbe" , 0x025527 }, - { (char*) "Asia/Famagusta" , 0x0256A1 }, - { (char*) "Asia/Gaza" , 0x025A68 }, - { (char*) "Asia/Harbin" , 0x025F68 }, - { (char*) "Asia/Hebron" , 0x0260FD }, - { (char*) "Asia/Ho_Chi_Minh" , 0x02660E }, - { (char*) "Asia/Hong_Kong" , 0x026706 }, - { (char*) "Asia/Hovd" , 0x026A19 }, - { (char*) "Asia/Irkutsk" , 0x026CA2 }, - { (char*) "Asia/Istanbul" , 0x026FC0 }, - { (char*) "Asia/Jakarta" , 0x02747C }, - { (char*) "Asia/Jayapura" , 0x02758D }, - { (char*) "Asia/Jerusalem" , 0x02767A }, - { (char*) "Asia/Kabul" , 0x027AB8 }, - { (char*) "Asia/Kamchatka" , 0x027B63 }, - { (char*) "Asia/Karachi" , 0x027E58 }, - { (char*) "Asia/Kashgar" , 0x027F6E }, - { (char*) "Asia/Kathmandu" , 0x027FFF }, - { (char*) "Asia/Katmandu" , 0x0280AC }, - { (char*) "Asia/Khandyga" , 0x028159 }, - { (char*) "Asia/Kolkata" , 0x02848A }, - { (char*) "Asia/Krasnoyarsk" , 0x028572 }, - { (char*) "Asia/Kuala_Lumpur" , 0x02887C }, - { (char*) "Asia/Kuching" , 0x02899C }, - { (char*) "Asia/Kuwait" , 0x028AF6 }, - { (char*) "Asia/Macao" , 0x028B87 }, - { (char*) "Asia/Macau" , 0x028EAA }, - { (char*) "Asia/Magadan" , 0x0291CD }, - { (char*) "Asia/Makassar" , 0x0294D8 }, - { (char*) "Asia/Manila" , 0x0295EB }, - { (char*) "Asia/Muscat" , 0x0296E5 }, - { (char*) "Asia/Nicosia" , 0x029776 }, - { (char*) "Asia/Novokuznetsk" , 0x0299EA }, - { (char*) "Asia/Novosibirsk" , 0x029CDD }, - { (char*) "Asia/Omsk" , 0x029FEE }, - { (char*) "Asia/Oral" , 0x02A2EC }, - { (char*) "Asia/Phnom_Penh" , 0x02A578 }, - { (char*) "Asia/Pontianak" , 0x02A64C }, - { (char*) "Asia/Pyongyang" , 0x02A765 }, - { (char*) "Asia/Qatar" , 0x02A828 }, - { (char*) "Asia/Qostanay" , 0x02A8CC }, - { (char*) "Asia/Qyzylorda" , 0x02AB59 }, - { (char*) "Asia/Rangoon" , 0x02ADF2 }, - { (char*) "Asia/Riyadh" , 0x02AEB9 }, - { (char*) "Asia/Saigon" , 0x02AF4A }, - { (char*) "Asia/Sakhalin" , 0x02B042 }, - { (char*) "Asia/Samarkand" , 0x02B359 }, - { (char*) "Asia/Seoul" , 0x02B4E4 }, - { (char*) "Asia/Shanghai" , 0x02B68F }, - { (char*) "Asia/Singapore" , 0x02B830 }, - { (char*) "Asia/Srednekolymsk" , 0x02B93C }, - { (char*) "Asia/Taipei" , 0x02BC50 }, - { (char*) "Asia/Tashkent" , 0x02BE5B }, - { (char*) "Asia/Tbilisi" , 0x02BFE6 }, - { (char*) "Asia/Tehran" , 0x02C267 }, - { (char*) "Asia/Tel_Aviv" , 0x02C59F }, - { (char*) "Asia/Thimbu" , 0x02C9DD }, - { (char*) "Asia/Thimphu" , 0x02CA83 }, - { (char*) "Asia/Tokyo" , 0x02CB29 }, - { (char*) "Asia/Tomsk" , 0x02CC0A }, - { (char*) "Asia/Ujung_Pandang" , 0x02CF15 }, - { (char*) "Asia/Ulaanbaatar" , 0x02CFDF }, - { (char*) "Asia/Ulan_Bator" , 0x02D252 }, - { (char*) "Asia/Urumqi" , 0x02D4B0 }, - { (char*) "Asia/Ust-Nera" , 0x02D54E }, - { (char*) "Asia/Vientiane" , 0x02D871 }, - { (char*) "Asia/Vladivostok" , 0x02D957 }, - { (char*) "Asia/Yakutsk" , 0x02DC5C }, - { (char*) "Asia/Yangon" , 0x02DF60 }, - { (char*) "Asia/Yekaterinburg" , 0x02E027 }, - { (char*) "Asia/Yerevan" , 0x02E339 }, - { (char*) "Atlantic/Azores" , 0x02E609 }, - { (char*) "Atlantic/Bermuda" , 0x02EBC8 }, - { (char*) "Atlantic/Canary" , 0x02EFD4 }, - { (char*) "Atlantic/Cape_Verde" , 0x02F1CC }, - { (char*) "Atlantic/Faeroe" , 0x02F287 }, - { (char*) "Atlantic/Faroe" , 0x02F44C }, - { (char*) "Atlantic/Jan_Mayen" , 0x02F611 }, - { (char*) "Atlantic/Madeira" , 0x02F8DE }, - { (char*) "Atlantic/Reykjavik" , 0x02FEA6 }, - { (char*) "Atlantic/South_Georgia" , 0x0301A3 }, - { (char*) "Atlantic/St_Helena" , 0x030233 }, - { (char*) "Atlantic/Stanley" , 0x0302D4 }, - { (char*) "Australia/ACT" , 0x0305F5 }, - { (char*) "Australia/Adelaide" , 0x030989 }, - { (char*) "Australia/Brisbane" , 0x030D3D }, - { (char*) "Australia/Broken_Hill" , 0x030E81 }, - { (char*) "Australia/Canberra" , 0x031256 }, - { (char*) "Australia/Currie" , 0x0315EA }, - { (char*) "Australia/Darwin" , 0x0319E1 }, - { (char*) "Australia/Eucla" , 0x031AE9 }, - { (char*) "Australia/Hobart" , 0x031C48 }, - { (char*) "Australia/LHI" , 0x032047 }, - { (char*) "Australia/Lindeman" , 0x032307 }, - { (char*) "Australia/Lord_Howe" , 0x032477 }, - { (char*) "Australia/Melbourne" , 0x032747 }, - { (char*) "Australia/North" , 0x032AE3 }, - { (char*) "Australia/NSW" , 0x032BD9 }, - { (char*) "Australia/Perth" , 0x032F6D }, - { (char*) "Australia/Queensland" , 0x0330C9 }, - { (char*) "Australia/South" , 0x0331F6 }, - { (char*) "Australia/Sydney" , 0x03359B }, - { (char*) "Australia/Tasmania" , 0x03394B }, - { (char*) "Australia/Victoria" , 0x033D42 }, - { (char*) "Australia/West" , 0x0340D6 }, - { (char*) "Australia/Yancowinna" , 0x034214 }, - { (char*) "Brazil/Acre" , 0x0345CD }, - { (char*) "Brazil/DeNoronha" , 0x03477B }, - { (char*) "Brazil/East" , 0x03496B }, - { (char*) "Brazil/West" , 0x034D2F }, - { (char*) "Canada/Atlantic" , 0x034ED7 }, - { (char*) "Canada/Central" , 0x03556B }, - { (char*) "Canada/Eastern" , 0x035A85 }, - { (char*) "Canada/Mountain" , 0x036146 }, - { (char*) "Canada/Newfoundland" , 0x03651C }, - { (char*) "Canada/Pacific" , 0x036C7E }, - { (char*) "Canada/Saskatchewan" , 0x0371BC }, - { (char*) "Canada/Yukon" , 0x037446 }, - { (char*) "CET" , 0x037857 }, - { (char*) "Chile/Continental" , 0x037AD0 }, - { (char*) "Chile/EasterIsland" , 0x038026 }, - { (char*) "CST6CDT" , 0x0384C8 }, - { (char*) "Cuba" , 0x03888B }, - { (char*) "EET" , 0x038CF4 }, - { (char*) "Egypt" , 0x038EF1 }, - { (char*) "Eire" , 0x0393F9 }, - { (char*) "EST" , 0x0399DD }, - { (char*) "EST5EDT" , 0x039A58 }, - { (char*) "Etc/GMT" , 0x039E1B }, - { (char*) "Etc/GMT+0" , 0x039E96 }, - { (char*) "Etc/GMT+1" , 0x039F11 }, - { (char*) "Etc/GMT+10" , 0x039F8E }, - { (char*) "Etc/GMT+11" , 0x03A00C }, - { (char*) "Etc/GMT+12" , 0x03A08A }, - { (char*) "Etc/GMT+2" , 0x03A108 }, - { (char*) "Etc/GMT+3" , 0x03A185 }, - { (char*) "Etc/GMT+4" , 0x03A202 }, - { (char*) "Etc/GMT+5" , 0x03A27F }, - { (char*) "Etc/GMT+6" , 0x03A2FC }, - { (char*) "Etc/GMT+7" , 0x03A379 }, - { (char*) "Etc/GMT+8" , 0x03A3F6 }, - { (char*) "Etc/GMT+9" , 0x03A473 }, - { (char*) "Etc/GMT-0" , 0x03A4F0 }, - { (char*) "Etc/GMT-1" , 0x03A56B }, - { (char*) "Etc/GMT-10" , 0x03A5E9 }, - { (char*) "Etc/GMT-11" , 0x03A668 }, - { (char*) "Etc/GMT-12" , 0x03A6E7 }, - { (char*) "Etc/GMT-13" , 0x03A766 }, - { (char*) "Etc/GMT-14" , 0x03A7E5 }, - { (char*) "Etc/GMT-2" , 0x03A864 }, - { (char*) "Etc/GMT-3" , 0x03A8E2 }, - { (char*) "Etc/GMT-4" , 0x03A960 }, - { (char*) "Etc/GMT-5" , 0x03A9DE }, - { (char*) "Etc/GMT-6" , 0x03AA5C }, - { (char*) "Etc/GMT-7" , 0x03AADA }, - { (char*) "Etc/GMT-8" , 0x03AB58 }, - { (char*) "Etc/GMT-9" , 0x03ABD6 }, - { (char*) "Etc/GMT0" , 0x03AC54 }, - { (char*) "Etc/Greenwich" , 0x03ACCF }, - { (char*) "Etc/UCT" , 0x03AD4A }, - { (char*) "Etc/Universal" , 0x03ADC5 }, - { (char*) "Etc/UTC" , 0x03AE40 }, - { (char*) "Etc/Zulu" , 0x03AEBB }, - { (char*) "Europe/Amsterdam" , 0x03AF36 }, - { (char*) "Europe/Andorra" , 0x03B371 }, - { (char*) "Europe/Astrakhan" , 0x03B502 }, - { (char*) "Europe/Athens" , 0x03B7F6 }, - { (char*) "Europe/Belfast" , 0x03BAAC }, - { (char*) "Europe/Belgrade" , 0x03C0F7 }, - { (char*) "Europe/Berlin" , 0x03C2E1 }, - { (char*) "Europe/Bratislava" , 0x03C5C2 }, - { (char*) "Europe/Brussels" , 0x03C8A1 }, - { (char*) "Europe/Bucharest" , 0x03CCFC }, - { (char*) "Europe/Budapest" , 0x03CF9D }, - { (char*) "Europe/Busingen" , 0x03D2A7 }, - { (char*) "Europe/Chisinau" , 0x03D4AC }, - { (char*) "Europe/Copenhagen" , 0x03D7AB }, - { (char*) "Europe/Dublin" , 0x03DA26 }, - { (char*) "Europe/Gibraltar" , 0x03E00A }, - { (char*) "Europe/Guernsey" , 0x03E4DA }, - { (char*) "Europe/Helsinki" , 0x03EB31 }, - { (char*) "Europe/Isle_of_Man" , 0x03ED1E }, - { (char*) "Europe/Istanbul" , 0x03F369 }, - { (char*) "Europe/Jersey" , 0x03F825 }, - { (char*) "Europe/Kaliningrad" , 0x03FE7C }, - { (char*) "Europe/Kiev" , 0x040224 }, - { (char*) "Europe/Kirov" , 0x04045E }, - { (char*) "Europe/Kyiv" , 0x040745 }, - { (char*) "Europe/Lisbon" , 0x040993 }, - { (char*) "Europe/Ljubljana" , 0x040F60 }, - { (char*) "Europe/London" , 0x04114A }, - { (char*) "Europe/Luxembourg" , 0x041795 }, - { (char*) "Europe/Madrid" , 0x041BE0 }, - { (char*) "Europe/Malta" , 0x041F7D }, - { (char*) "Europe/Mariehamn" , 0x042329 }, - { (char*) "Europe/Minsk" , 0x042516 }, - { (char*) "Europe/Monaco" , 0x04284A }, - { (char*) "Europe/Moscow" , 0x042CB0 }, - { (char*) "Europe/Nicosia" , 0x04305C }, - { (char*) "Europe/Oslo" , 0x0432BD }, - { (char*) "Europe/Paris" , 0x04356D }, - { (char*) "Europe/Podgorica" , 0x0439CA }, - { (char*) "Europe/Prague" , 0x043BB4 }, - { (char*) "Europe/Riga" , 0x043E93 }, - { (char*) "Europe/Rome" , 0x044155 }, - { (char*) "Europe/Samara" , 0x044514 }, - { (char*) "Europe/San_Marino" , 0x044815 }, - { (char*) "Europe/Sarajevo" , 0x044BD4 }, - { (char*) "Europe/Saratov" , 0x044DBE }, - { (char*) "Europe/Simferopol" , 0x0450B0 }, - { (char*) "Europe/Skopje" , 0x045423 }, - { (char*) "Europe/Sofia" , 0x04560D }, - { (char*) "Europe/Stockholm" , 0x045869 }, - { (char*) "Europe/Tallinn" , 0x045A66 }, - { (char*) "Europe/Tirane" , 0x045D15 }, - { (char*) "Europe/Tiraspol" , 0x045F7D }, - { (char*) "Europe/Ulyanovsk" , 0x04627C }, - { (char*) "Europe/Uzhgorod" , 0x046592 }, - { (char*) "Europe/Vaduz" , 0x0467CC }, - { (char*) "Europe/Vatican" , 0x0469B6 }, - { (char*) "Europe/Vienna" , 0x046D75 }, - { (char*) "Europe/Vilnius" , 0x047013 }, - { (char*) "Europe/Volgograd" , 0x0472C3 }, - { (char*) "Europe/Warsaw" , 0x0475C0 }, - { (char*) "Europe/Zagreb" , 0x047967 }, - { (char*) "Europe/Zaporozhye" , 0x047B51 }, - { (char*) "Europe/Zurich" , 0x047D8B }, - { (char*) "Factory" , 0x047F88 }, - { (char*) "GB" , 0x048005 }, - { (char*) "GB-Eire" , 0x048650 }, - { (char*) "GMT" , 0x048C9B }, - { (char*) "GMT+0" , 0x048D16 }, - { (char*) "GMT-0" , 0x048D91 }, - { (char*) "GMT0" , 0x048E0C }, - { (char*) "Greenwich" , 0x048E87 }, - { (char*) "Hongkong" , 0x048F02 }, - { (char*) "HST" , 0x049215 }, - { (char*) "Iceland" , 0x049291 }, - { (char*) "Indian/Antananarivo" , 0x04931F }, - { (char*) "Indian/Chagos" , 0x0493CB }, - { (char*) "Indian/Christmas" , 0x04946F }, - { (char*) "Indian/Cocos" , 0x049500 }, - { (char*) "Indian/Comoro" , 0x049598 }, - { (char*) "Indian/Kerguelen" , 0x049627 }, - { (char*) "Indian/Mahe" , 0x0496B8 }, - { (char*) "Indian/Maldives" , 0x049749 }, - { (char*) "Indian/Mauritius" , 0x0497ED }, - { (char*) "Indian/Mayotte" , 0x0498AC }, - { (char*) "Indian/Reunion" , 0x04993B }, - { (char*) "Iran" , 0x0499CC }, - { (char*) "Israel" , 0x049D04 }, - { (char*) "Jamaica" , 0x04A142 }, - { (char*) "Japan" , 0x04A2A1 }, - { (char*) "Kwajalein" , 0x04A382 }, - { (char*) "Libya" , 0x04A469 }, - { (char*) "MET" , 0x04A624 }, - { (char*) "Mexico/BajaNorte" , 0x04A89D }, - { (char*) "Mexico/BajaSur" , 0x04ACAA }, - { (char*) "Mexico/General" , 0x04AF84 }, - { (char*) "MST" , 0x04B295 }, - { (char*) "MST7MDT" , 0x04B310 }, - { (char*) "Navajo" , 0x04B6D3 }, - { (char*) "NZ" , 0x04BAF1 }, - { (char*) "NZ-CHAT" , 0x04BF10 }, - { (char*) "Pacific/Apia" , 0x04C244 }, - { (char*) "Pacific/Auckland" , 0x04C3E7 }, - { (char*) "Pacific/Bougainville" , 0x04C81E }, - { (char*) "Pacific/Chatham" , 0x04C8FF }, - { (char*) "Pacific/Chuuk" , 0x04CC42 }, - { (char*) "Pacific/Easter" , 0x04CD20 }, - { (char*) "Pacific/Efate" , 0x04D1CF }, - { (char*) "Pacific/Enderbury" , 0x04D331 }, - { (char*) "Pacific/Fakaofo" , 0x04D3E9 }, - { (char*) "Pacific/Fiji" , 0x04D48E }, - { (char*) "Pacific/Funafuti" , 0x04D626 }, - { (char*) "Pacific/Galapagos" , 0x04D6B8 }, - { (char*) "Pacific/Gambier" , 0x04D784 }, - { (char*) "Pacific/Guadalcanal" , 0x04D823 }, - { (char*) "Pacific/Guam" , 0x04D8B5 }, - { (char*) "Pacific/Honolulu" , 0x04DA1F }, - { (char*) "Pacific/Johnston" , 0x04DB0E }, - { (char*) "Pacific/Kanton" , 0x04DBF7 }, - { (char*) "Pacific/Kiritimati" , 0x04DCBE }, - { (char*) "Pacific/Kosrae" , 0x04DD84 }, - { (char*) "Pacific/Kwajalein" , 0x04DE88 }, - { (char*) "Pacific/Majuro" , 0x04DF78 }, - { (char*) "Pacific/Marquesas" , 0x04E07B }, - { (char*) "Pacific/Midway" , 0x04E123 }, - { (char*) "Pacific/Nauru" , 0x04E1E6 }, - { (char*) "Pacific/Niue" , 0x04E2A9 }, - { (char*) "Pacific/Norfolk" , 0x04E34F }, - { (char*) "Pacific/Noumea" , 0x04E452 }, - { (char*) "Pacific/Pago_Pago" , 0x04E524 }, - { (char*) "Pacific/Palau" , 0x04E5C2 }, - { (char*) "Pacific/Pitcairn" , 0x04E662 }, - { (char*) "Pacific/Pohnpei" , 0x04E707 }, - { (char*) "Pacific/Ponape" , 0x04E7F7 }, - { (char*) "Pacific/Port_Moresby" , 0x04E889 }, - { (char*) "Pacific/Rarotonga" , 0x04E94C }, - { (char*) "Pacific/Saipan" , 0x04EAEE }, - { (char*) "Pacific/Samoa" , 0x04EC4F }, - { (char*) "Pacific/Tahiti" , 0x04ECED }, - { (char*) "Pacific/Tarawa" , 0x04ED8D }, - { (char*) "Pacific/Tongatapu" , 0x04EE2E }, - { (char*) "Pacific/Truk" , 0x04EF27 }, - { (char*) "Pacific/Wake" , 0x04EFCD }, - { (char*) "Pacific/Wallis" , 0x04F06A }, - { (char*) "Pacific/Yap" , 0x04F0FC }, - { (char*) "Poland" , 0x04F1A2 }, - { (char*) "Portugal" , 0x04F549 }, - { (char*) "PRC" , 0x04FB03 }, - { (char*) "PST8PDT" , 0x04FC98 }, - { (char*) "ROC" , 0x05005B }, - { (char*) "ROK" , 0x050266 }, - { (char*) "Singapore" , 0x050411 }, - { (char*) "Turkey" , 0x05051D }, - { (char*) "UCT" , 0x0509D9 }, - { (char*) "Universal" , 0x050A54 }, - { (char*) "US/Alaska" , 0x050ACF }, - { (char*) "US/Aleutian" , 0x050EAC }, - { (char*) "US/Arizona" , 0x051281 }, - { (char*) "US/Central" , 0x05137D }, - { (char*) "US/East-Indiana" , 0x051A63 }, - { (char*) "US/Eastern" , 0x051C82 }, - { (char*) "US/Hawaii" , 0x05235E }, - { (char*) "US/Indiana-Starke" , 0x052447 }, - { (char*) "US/Michigan" , 0x05284B }, - { (char*) "US/Mountain" , 0x052BDA }, - { (char*) "US/Pacific" , 0x052FF8 }, - { (char*) "US/Samoa" , 0x053512 }, - { (char*) "UTC" , 0x0535B0 }, - { (char*) "W-SU" , 0x05362B }, - { (char*) "WET" , 0x0539C3 }, - { (char*) "Zulu" , 0x053BBD }, + { (char*) "America/Barbados" , 0x00807A }, + { (char*) "America/Belem" , 0x00819C }, + { (char*) "America/Belize" , 0x008344 }, + { (char*) "America/Blanc-Sablon" , 0x008765 }, + { (char*) "America/Boa_Vista" , 0x00885A }, + { (char*) "America/Bogota" , 0x008A1B }, + { (char*) "America/Boise" , 0x008ADA }, + { (char*) "America/Buenos_Aires" , 0x008EED }, + { (char*) "America/Cambridge_Bay" , 0x0091BD }, + { (char*) "America/Campo_Grande" , 0x009550 }, + { (char*) "America/Cancun" , 0x009926 }, + { (char*) "America/Caracas" , 0x009B4F }, + { (char*) "America/Catamarca" , 0x009C19 }, + { (char*) "America/Cayenne" , 0x009EE9 }, + { (char*) "America/Cayman" , 0x009F8C }, + { (char*) "America/Chicago" , 0x00A02D }, + { (char*) "America/Chihuahua" , 0x00A727 }, + { (char*) "America/Ciudad_Juarez" , 0x00A9FC }, + { (char*) "America/Coral_Harbour" , 0x00ACF2 }, + { (char*) "America/Cordoba" , 0x00AD93 }, + { (char*) "America/Costa_Rica" , 0x00B063 }, + { (char*) "America/Creston" , 0x00B157 }, + { (char*) "America/Cuiaba" , 0x00B213 }, + { (char*) "America/Curacao" , 0x00B5D0 }, + { (char*) "America/Danmarkshavn" , 0x00B673 }, + { (char*) "America/Dawson" , 0x00B858 }, + { (char*) "America/Dawson_Creek" , 0x00BC7B }, + { (char*) "America/Denver" , 0x00BF52 }, + { (char*) "America/Detroit" , 0x00C385 }, + { (char*) "America/Dominica" , 0x00C72D }, + { (char*) "America/Edmonton" , 0x00C7BB }, + { (char*) "America/Eirunepe" , 0x00CBAE }, + { (char*) "America/El_Salvador" , 0x00CD7D }, + { (char*) "America/Ensenada" , 0x00CE39 }, + { (char*) "America/Fort_Nelson" , 0x00D246 }, + { (char*) "America/Fort_Wayne" , 0x00D80E }, + { (char*) "America/Fortaleza" , 0x00DA2D }, + { (char*) "America/Glace_Bay" , 0x00DC43 }, + { (char*) "America/Godthab" , 0x00DFDA }, + { (char*) "America/Goose_Bay" , 0x00E389 }, + { (char*) "America/Grand_Turk" , 0x00E9E1 }, + { (char*) "America/Grenada" , 0x00ED42 }, + { (char*) "America/Guadeloupe" , 0x00EDD0 }, + { (char*) "America/Guatemala" , 0x00EE5E }, + { (char*) "America/Guayaquil" , 0x00EF3E }, + { (char*) "America/Guyana" , 0x00F00F }, + { (char*) "America/Halifax" , 0x00F0D0 }, + { (char*) "America/Havana" , 0x00F782 }, + { (char*) "America/Hermosillo" , 0x00FBEB }, + { (char*) "America/Indiana/Indianapolis" , 0x00FD1B }, + { (char*) "America/Indiana/Knox" , 0x00FF53 }, + { (char*) "America/Indiana/Marengo" , 0x01036C }, + { (char*) "America/Indiana/Petersburg" , 0x0105C6 }, + { (char*) "America/Indiana/Tell_City" , 0x010890 }, + { (char*) "America/Indiana/Vevay" , 0x010ABA }, + { (char*) "America/Indiana/Vincennes" , 0x010C51 }, + { (char*) "America/Indiana/Winamac" , 0x010EA7 }, + { (char*) "America/Indianapolis" , 0x01112D }, + { (char*) "America/Inuvik" , 0x01134C }, + { (char*) "America/Iqaluit" , 0x01169D }, + { (char*) "America/Jamaica" , 0x011A19 }, + { (char*) "America/Jujuy" , 0x011B78 }, + { (char*) "America/Juneau" , 0x011E36 }, + { (char*) "America/Kentucky/Louisville" , 0x01221C }, + { (char*) "America/Kentucky/Monticello" , 0x012720 }, + { (char*) "America/Knox_IN" , 0x012B0C }, + { (char*) "America/Kralendijk" , 0x012F10 }, + { (char*) "America/La_Paz" , 0x012FCD }, + { (char*) "America/Lima" , 0x013083 }, + { (char*) "America/Los_Angeles" , 0x0131AA }, + { (char*) "America/Louisville" , 0x0136CB }, + { (char*) "America/Lower_Princes" , 0x013BB1 }, + { (char*) "America/Maceio" , 0x013C6E }, + { (char*) "America/Managua" , 0x013E80 }, + { (char*) "America/Manaus" , 0x013FB3 }, + { (char*) "America/Marigot" , 0x01416A }, + { (char*) "America/Martinique" , 0x014227 }, + { (char*) "America/Matamoros" , 0x0142E5 }, + { (char*) "America/Mazatlan" , 0x0144D2 }, + { (char*) "America/Mendoza" , 0x0147DE }, + { (char*) "America/Menominee" , 0x014AAE }, + { (char*) "America/Merida" , 0x014E6E }, + { (char*) "America/Metlakatla" , 0x015119 }, + { (char*) "America/Mexico_City" , 0x01538F }, + { (char*) "America/Miquelon" , 0x0156AE }, + { (char*) "America/Moncton" , 0x0158E0 }, + { (char*) "America/Monterrey" , 0x015ED9 }, + { (char*) "America/Montevideo" , 0x01619F }, + { (char*) "America/Montreal" , 0x016574 }, + { (char*) "America/Montserrat" , 0x016C35 }, + { (char*) "America/Nassau" , 0x016CC3 }, + { (char*) "America/New_York" , 0x0170BD }, + { (char*) "America/Nipigon" , 0x0177AD }, + { (char*) "America/Nome" , 0x017E6E }, + { (char*) "America/Noronha" , 0x018256 }, + { (char*) "America/North_Dakota/Beulah" , 0x018456 }, + { (char*) "America/North_Dakota/Center" , 0x01888A }, + { (char*) "America/North_Dakota/New_Salem" , 0x018C89 }, + { (char*) "America/Nuuk" , 0x01908E }, + { (char*) "America/Ojinaga" , 0x019453 }, + { (char*) "America/Panama" , 0x019740 }, + { (char*) "America/Pangnirtung" , 0x0197E1 }, + { (char*) "America/Paramaribo" , 0x019B44 }, + { (char*) "America/Phoenix" , 0x019C0B }, + { (char*) "America/Port-au-Prince" , 0x019D24 }, + { (char*) "America/Port_of_Spain" , 0x019F65 }, + { (char*) "America/Porto_Acre" , 0x019FF3 }, + { (char*) "America/Porto_Velho" , 0x01A1A1 }, + { (char*) "America/Puerto_Rico" , 0x01A33F }, + { (char*) "America/Punta_Arenas" , 0x01A3FC }, + { (char*) "America/Rainy_River" , 0x01A8DE }, + { (char*) "America/Rankin_Inlet" , 0x01ADF8 }, + { (char*) "America/Recife" , 0x01B141 }, + { (char*) "America/Regina" , 0x01B33B }, + { (char*) "America/Resolute" , 0x01B5DA }, + { (char*) "America/Rio_Branco" , 0x01B924 }, + { (char*) "America/Rosario" , 0x01BAD6 }, + { (char*) "America/Santa_Isabel" , 0x01BDA6 }, + { (char*) "America/Santarem" , 0x01C1B3 }, + { (char*) "America/Santiago" , 0x01C363 }, + { (char*) "America/Santo_Domingo" , 0x01C8CB }, + { (char*) "America/Sao_Paulo" , 0x01CA14 }, + { (char*) "America/Scoresbysund" , 0x01CE0E }, + { (char*) "America/Shiprock" , 0x01D016 }, + { (char*) "America/Sitka" , 0x01D434 }, + { (char*) "America/St_Barthelemy" , 0x01D80F }, + { (char*) "America/St_Johns" , 0x01D8CC }, + { (char*) "America/St_Kitts" , 0x01E050 }, + { (char*) "America/St_Lucia" , 0x01E0DE }, + { (char*) "America/St_Thomas" , 0x01E17F }, + { (char*) "America/St_Vincent" , 0x01E20D }, + { (char*) "America/Swift_Current" , 0x01E2AE }, + { (char*) "America/Tegucigalpa" , 0x01E43C }, + { (char*) "America/Thule" , 0x01E50A }, + { (char*) "America/Thunder_Bay" , 0x01E6EB }, + { (char*) "America/Tijuana" , 0x01EDAC }, + { (char*) "America/Toronto" , 0x01F1C8 }, + { (char*) "America/Tortola" , 0x01F8A6 }, + { (char*) "America/Vancouver" , 0x01F934 }, + { (char*) "America/Virgin" , 0x01FE8B }, + { (char*) "America/Whitehorse" , 0x01FF48 }, + { (char*) "America/Winnipeg" , 0x02036B }, + { (char*) "America/Yakutat" , 0x0208A2 }, + { (char*) "America/Yellowknife" , 0x020C70 }, + { (char*) "Antarctica/Casey" , 0x020FDF }, + { (char*) "Antarctica/Davis" , 0x0210E3 }, + { (char*) "Antarctica/DumontDUrville" , 0x0211B9 }, + { (char*) "Antarctica/Macquarie" , 0x02126D }, + { (char*) "Antarctica/Mawson" , 0x021659 }, + { (char*) "Antarctica/McMurdo" , 0x021703 }, + { (char*) "Antarctica/Palmer" , 0x021A35 }, + { (char*) "Antarctica/Rothera" , 0x021DBE }, + { (char*) "Antarctica/South_Pole" , 0x021E55 }, + { (char*) "Antarctica/Syowa" , 0x022274 }, + { (char*) "Antarctica/Troll" , 0x02230A }, + { (char*) "Antarctica/Vostok" , 0x0223CC }, + { (char*) "Arctic/Longyearbyen" , 0x022463 }, + { (char*) "Asia/Aden" , 0x022730 }, + { (char*) "Asia/Almaty" , 0x0227C1 }, + { (char*) "Asia/Amman" , 0x022A45 }, + { (char*) "Asia/Anadyr" , 0x022DF1 }, + { (char*) "Asia/Aqtau" , 0x0230F7 }, + { (char*) "Asia/Aqtobe" , 0x023376 }, + { (char*) "Asia/Ashgabat" , 0x0235F6 }, + { (char*) "Asia/Ashkhabad" , 0x023779 }, + { (char*) "Asia/Atyrau" , 0x0238FC }, + { (char*) "Asia/Baghdad" , 0x023B85 }, + { (char*) "Asia/Bahrain" , 0x023E07 }, + { (char*) "Asia/Baku" , 0x023EC0 }, + { (char*) "Asia/Bangkok" , 0x0241B4 }, + { (char*) "Asia/Barnaul" , 0x024258 }, + { (char*) "Asia/Beirut" , 0x024563 }, + { (char*) "Asia/Bishkek" , 0x02484B }, + { (char*) "Asia/Brunei" , 0x024AC1 }, + { (char*) "Asia/Calcutta" , 0x024B67 }, + { (char*) "Asia/Chita" , 0x024C4F }, + { (char*) "Asia/Choibalsan" , 0x024F5D }, + { (char*) "Asia/Chongqing" , 0x0251E6 }, + { (char*) "Asia/Chungking" , 0x02537B }, + { (char*) "Asia/Colombo" , 0x025510 }, + { (char*) "Asia/Dacca" , 0x025613 }, + { (char*) "Asia/Damascus" , 0x025706 }, + { (char*) "Asia/Dhaka" , 0x025BE4 }, + { (char*) "Asia/Dili" , 0x025CD7 }, + { (char*) "Asia/Dubai" , 0x025D8D }, + { (char*) "Asia/Dushanbe" , 0x025E1E }, + { (char*) "Asia/Famagusta" , 0x025F98 }, + { (char*) "Asia/Gaza" , 0x02635F }, + { (char*) "Asia/Harbin" , 0x02685F }, + { (char*) "Asia/Hebron" , 0x0269F4 }, + { (char*) "Asia/Ho_Chi_Minh" , 0x026F05 }, + { (char*) "Asia/Hong_Kong" , 0x026FFD }, + { (char*) "Asia/Hovd" , 0x027310 }, + { (char*) "Asia/Irkutsk" , 0x027599 }, + { (char*) "Asia/Istanbul" , 0x0278B7 }, + { (char*) "Asia/Jakarta" , 0x027D73 }, + { (char*) "Asia/Jayapura" , 0x027E84 }, + { (char*) "Asia/Jerusalem" , 0x027F71 }, + { (char*) "Asia/Kabul" , 0x0283AF }, + { (char*) "Asia/Kamchatka" , 0x02845A }, + { (char*) "Asia/Karachi" , 0x02874F }, + { (char*) "Asia/Kashgar" , 0x028865 }, + { (char*) "Asia/Kathmandu" , 0x0288F6 }, + { (char*) "Asia/Katmandu" , 0x0289A3 }, + { (char*) "Asia/Khandyga" , 0x028A50 }, + { (char*) "Asia/Kolkata" , 0x028D81 }, + { (char*) "Asia/Krasnoyarsk" , 0x028E69 }, + { (char*) "Asia/Kuala_Lumpur" , 0x029173 }, + { (char*) "Asia/Kuching" , 0x029293 }, + { (char*) "Asia/Kuwait" , 0x0293ED }, + { (char*) "Asia/Macao" , 0x02947E }, + { (char*) "Asia/Macau" , 0x0297A1 }, + { (char*) "Asia/Magadan" , 0x029AC4 }, + { (char*) "Asia/Makassar" , 0x029DCF }, + { (char*) "Asia/Manila" , 0x029EE2 }, + { (char*) "Asia/Muscat" , 0x029FDC }, + { (char*) "Asia/Nicosia" , 0x02A06D }, + { (char*) "Asia/Novokuznetsk" , 0x02A2E1 }, + { (char*) "Asia/Novosibirsk" , 0x02A5D4 }, + { (char*) "Asia/Omsk" , 0x02A8E5 }, + { (char*) "Asia/Oral" , 0x02ABE3 }, + { (char*) "Asia/Phnom_Penh" , 0x02AE6F }, + { (char*) "Asia/Pontianak" , 0x02AF43 }, + { (char*) "Asia/Pyongyang" , 0x02B05C }, + { (char*) "Asia/Qatar" , 0x02B11F }, + { (char*) "Asia/Qostanay" , 0x02B1C3 }, + { (char*) "Asia/Qyzylorda" , 0x02B450 }, + { (char*) "Asia/Rangoon" , 0x02B6E9 }, + { (char*) "Asia/Riyadh" , 0x02B7B0 }, + { (char*) "Asia/Saigon" , 0x02B841 }, + { (char*) "Asia/Sakhalin" , 0x02B939 }, + { (char*) "Asia/Samarkand" , 0x02BC50 }, + { (char*) "Asia/Seoul" , 0x02BDDB }, + { (char*) "Asia/Shanghai" , 0x02BF86 }, + { (char*) "Asia/Singapore" , 0x02C127 }, + { (char*) "Asia/Srednekolymsk" , 0x02C233 }, + { (char*) "Asia/Taipei" , 0x02C547 }, + { (char*) "Asia/Tashkent" , 0x02C752 }, + { (char*) "Asia/Tbilisi" , 0x02C8DD }, + { (char*) "Asia/Tehran" , 0x02CB5E }, + { (char*) "Asia/Tel_Aviv" , 0x02CE96 }, + { (char*) "Asia/Thimbu" , 0x02D2D4 }, + { (char*) "Asia/Thimphu" , 0x02D37A }, + { (char*) "Asia/Tokyo" , 0x02D420 }, + { (char*) "Asia/Tomsk" , 0x02D501 }, + { (char*) "Asia/Ujung_Pandang" , 0x02D80C }, + { (char*) "Asia/Ulaanbaatar" , 0x02D8D6 }, + { (char*) "Asia/Ulan_Bator" , 0x02DB49 }, + { (char*) "Asia/Urumqi" , 0x02DDA7 }, + { (char*) "Asia/Ust-Nera" , 0x02DE45 }, + { (char*) "Asia/Vientiane" , 0x02E168 }, + { (char*) "Asia/Vladivostok" , 0x02E24E }, + { (char*) "Asia/Yakutsk" , 0x02E553 }, + { (char*) "Asia/Yangon" , 0x02E857 }, + { (char*) "Asia/Yekaterinburg" , 0x02E91E }, + { (char*) "Asia/Yerevan" , 0x02EC30 }, + { (char*) "Atlantic/Azores" , 0x02EF00 }, + { (char*) "Atlantic/Bermuda" , 0x02F4BF }, + { (char*) "Atlantic/Canary" , 0x02F8CB }, + { (char*) "Atlantic/Cape_Verde" , 0x02FAC3 }, + { (char*) "Atlantic/Faeroe" , 0x02FB7E }, + { (char*) "Atlantic/Faroe" , 0x02FD43 }, + { (char*) "Atlantic/Jan_Mayen" , 0x02FF08 }, + { (char*) "Atlantic/Madeira" , 0x0301D5 }, + { (char*) "Atlantic/Reykjavik" , 0x03079D }, + { (char*) "Atlantic/South_Georgia" , 0x030A9A }, + { (char*) "Atlantic/St_Helena" , 0x030B2A }, + { (char*) "Atlantic/Stanley" , 0x030BCB }, + { (char*) "Australia/ACT" , 0x030EEC }, + { (char*) "Australia/Adelaide" , 0x031280 }, + { (char*) "Australia/Brisbane" , 0x031634 }, + { (char*) "Australia/Broken_Hill" , 0x031778 }, + { (char*) "Australia/Canberra" , 0x031B4D }, + { (char*) "Australia/Currie" , 0x031EE1 }, + { (char*) "Australia/Darwin" , 0x0322D8 }, + { (char*) "Australia/Eucla" , 0x0323E0 }, + { (char*) "Australia/Hobart" , 0x03253F }, + { (char*) "Australia/LHI" , 0x03293E }, + { (char*) "Australia/Lindeman" , 0x032BFE }, + { (char*) "Australia/Lord_Howe" , 0x032D6E }, + { (char*) "Australia/Melbourne" , 0x03303E }, + { (char*) "Australia/North" , 0x0333DA }, + { (char*) "Australia/NSW" , 0x0334D0 }, + { (char*) "Australia/Perth" , 0x033864 }, + { (char*) "Australia/Queensland" , 0x0339C0 }, + { (char*) "Australia/South" , 0x033AED }, + { (char*) "Australia/Sydney" , 0x033E92 }, + { (char*) "Australia/Tasmania" , 0x034242 }, + { (char*) "Australia/Victoria" , 0x034639 }, + { (char*) "Australia/West" , 0x0349CD }, + { (char*) "Australia/Yancowinna" , 0x034B0B }, + { (char*) "Brazil/Acre" , 0x034EC4 }, + { (char*) "Brazil/DeNoronha" , 0x035072 }, + { (char*) "Brazil/East" , 0x035262 }, + { (char*) "Brazil/West" , 0x035626 }, + { (char*) "Canada/Atlantic" , 0x0357CE }, + { (char*) "Canada/Central" , 0x035E62 }, + { (char*) "Canada/Eastern" , 0x03637C }, + { (char*) "Canada/Mountain" , 0x036A3D }, + { (char*) "Canada/Newfoundland" , 0x036E13 }, + { (char*) "Canada/Pacific" , 0x037575 }, + { (char*) "Canada/Saskatchewan" , 0x037AB3 }, + { (char*) "Canada/Yukon" , 0x037D3D }, + { (char*) "CET" , 0x03814E }, + { (char*) "Chile/Continental" , 0x0383C7 }, + { (char*) "Chile/EasterIsland" , 0x03891D }, + { (char*) "CST6CDT" , 0x038DBF }, + { (char*) "Cuba" , 0x039182 }, + { (char*) "EET" , 0x0395EB }, + { (char*) "Egypt" , 0x0397E8 }, + { (char*) "Eire" , 0x039CF0 }, + { (char*) "EST" , 0x03A2D4 }, + { (char*) "EST5EDT" , 0x03A34F }, + { (char*) "Etc/GMT" , 0x03A712 }, + { (char*) "Etc/GMT+0" , 0x03A78D }, + { (char*) "Etc/GMT+1" , 0x03A808 }, + { (char*) "Etc/GMT+10" , 0x03A885 }, + { (char*) "Etc/GMT+11" , 0x03A903 }, + { (char*) "Etc/GMT+12" , 0x03A981 }, + { (char*) "Etc/GMT+2" , 0x03A9FF }, + { (char*) "Etc/GMT+3" , 0x03AA7C }, + { (char*) "Etc/GMT+4" , 0x03AAF9 }, + { (char*) "Etc/GMT+5" , 0x03AB76 }, + { (char*) "Etc/GMT+6" , 0x03ABF3 }, + { (char*) "Etc/GMT+7" , 0x03AC70 }, + { (char*) "Etc/GMT+8" , 0x03ACED }, + { (char*) "Etc/GMT+9" , 0x03AD6A }, + { (char*) "Etc/GMT-0" , 0x03ADE7 }, + { (char*) "Etc/GMT-1" , 0x03AE62 }, + { (char*) "Etc/GMT-10" , 0x03AEE0 }, + { (char*) "Etc/GMT-11" , 0x03AF5F }, + { (char*) "Etc/GMT-12" , 0x03AFDE }, + { (char*) "Etc/GMT-13" , 0x03B05D }, + { (char*) "Etc/GMT-14" , 0x03B0DC }, + { (char*) "Etc/GMT-2" , 0x03B15B }, + { (char*) "Etc/GMT-3" , 0x03B1D9 }, + { (char*) "Etc/GMT-4" , 0x03B257 }, + { (char*) "Etc/GMT-5" , 0x03B2D5 }, + { (char*) "Etc/GMT-6" , 0x03B353 }, + { (char*) "Etc/GMT-7" , 0x03B3D1 }, + { (char*) "Etc/GMT-8" , 0x03B44F }, + { (char*) "Etc/GMT-9" , 0x03B4CD }, + { (char*) "Etc/GMT0" , 0x03B54B }, + { (char*) "Etc/Greenwich" , 0x03B5C6 }, + { (char*) "Etc/UCT" , 0x03B641 }, + { (char*) "Etc/Universal" , 0x03B6BC }, + { (char*) "Etc/UTC" , 0x03B737 }, + { (char*) "Etc/Zulu" , 0x03B7B2 }, + { (char*) "Europe/Amsterdam" , 0x03B82D }, + { (char*) "Europe/Andorra" , 0x03BC68 }, + { (char*) "Europe/Astrakhan" , 0x03BDF9 }, + { (char*) "Europe/Athens" , 0x03C0ED }, + { (char*) "Europe/Belfast" , 0x03C3A3 }, + { (char*) "Europe/Belgrade" , 0x03C9EE }, + { (char*) "Europe/Berlin" , 0x03CBD8 }, + { (char*) "Europe/Bratislava" , 0x03CEB9 }, + { (char*) "Europe/Brussels" , 0x03D198 }, + { (char*) "Europe/Bucharest" , 0x03D5F3 }, + { (char*) "Europe/Budapest" , 0x03D894 }, + { (char*) "Europe/Busingen" , 0x03DB9E }, + { (char*) "Europe/Chisinau" , 0x03DDA3 }, + { (char*) "Europe/Copenhagen" , 0x03E0A2 }, + { (char*) "Europe/Dublin" , 0x03E31D }, + { (char*) "Europe/Gibraltar" , 0x03E901 }, + { (char*) "Europe/Guernsey" , 0x03EDD1 }, + { (char*) "Europe/Helsinki" , 0x03F428 }, + { (char*) "Europe/Isle_of_Man" , 0x03F615 }, + { (char*) "Europe/Istanbul" , 0x03FC60 }, + { (char*) "Europe/Jersey" , 0x04011C }, + { (char*) "Europe/Kaliningrad" , 0x040773 }, + { (char*) "Europe/Kiev" , 0x040B1B }, + { (char*) "Europe/Kirov" , 0x040D55 }, + { (char*) "Europe/Kyiv" , 0x04103C }, + { (char*) "Europe/Lisbon" , 0x04128A }, + { (char*) "Europe/Ljubljana" , 0x041857 }, + { (char*) "Europe/London" , 0x041A41 }, + { (char*) "Europe/Luxembourg" , 0x04208C }, + { (char*) "Europe/Madrid" , 0x0424D7 }, + { (char*) "Europe/Malta" , 0x042874 }, + { (char*) "Europe/Mariehamn" , 0x042C20 }, + { (char*) "Europe/Minsk" , 0x042E0D }, + { (char*) "Europe/Monaco" , 0x043141 }, + { (char*) "Europe/Moscow" , 0x0435A7 }, + { (char*) "Europe/Nicosia" , 0x043953 }, + { (char*) "Europe/Oslo" , 0x043BB4 }, + { (char*) "Europe/Paris" , 0x043E64 }, + { (char*) "Europe/Podgorica" , 0x0442C1 }, + { (char*) "Europe/Prague" , 0x0444AB }, + { (char*) "Europe/Riga" , 0x04478A }, + { (char*) "Europe/Rome" , 0x044A4C }, + { (char*) "Europe/Samara" , 0x044E0B }, + { (char*) "Europe/San_Marino" , 0x04510C }, + { (char*) "Europe/Sarajevo" , 0x0454CB }, + { (char*) "Europe/Saratov" , 0x0456B5 }, + { (char*) "Europe/Simferopol" , 0x0459A7 }, + { (char*) "Europe/Skopje" , 0x045D1A }, + { (char*) "Europe/Sofia" , 0x045F04 }, + { (char*) "Europe/Stockholm" , 0x046160 }, + { (char*) "Europe/Tallinn" , 0x04635D }, + { (char*) "Europe/Tirane" , 0x04660C }, + { (char*) "Europe/Tiraspol" , 0x046874 }, + { (char*) "Europe/Ulyanovsk" , 0x046B73 }, + { (char*) "Europe/Uzhgorod" , 0x046E89 }, + { (char*) "Europe/Vaduz" , 0x0470C3 }, + { (char*) "Europe/Vatican" , 0x0472AD }, + { (char*) "Europe/Vienna" , 0x04766C }, + { (char*) "Europe/Vilnius" , 0x04790A }, + { (char*) "Europe/Volgograd" , 0x047BBA }, + { (char*) "Europe/Warsaw" , 0x047EB7 }, + { (char*) "Europe/Zagreb" , 0x04825E }, + { (char*) "Europe/Zaporozhye" , 0x048448 }, + { (char*) "Europe/Zurich" , 0x048682 }, + { (char*) "Factory" , 0x04887F }, + { (char*) "GB" , 0x0488FC }, + { (char*) "GB-Eire" , 0x048F47 }, + { (char*) "GMT" , 0x049592 }, + { (char*) "GMT+0" , 0x04960D }, + { (char*) "GMT-0" , 0x049688 }, + { (char*) "GMT0" , 0x049703 }, + { (char*) "Greenwich" , 0x04977E }, + { (char*) "Hongkong" , 0x0497F9 }, + { (char*) "HST" , 0x049B0C }, + { (char*) "Iceland" , 0x049B88 }, + { (char*) "Indian/Antananarivo" , 0x049C16 }, + { (char*) "Indian/Chagos" , 0x049CC2 }, + { (char*) "Indian/Christmas" , 0x049D66 }, + { (char*) "Indian/Cocos" , 0x049DF7 }, + { (char*) "Indian/Comoro" , 0x049E8F }, + { (char*) "Indian/Kerguelen" , 0x049F1E }, + { (char*) "Indian/Mahe" , 0x049FAF }, + { (char*) "Indian/Maldives" , 0x04A040 }, + { (char*) "Indian/Mauritius" , 0x04A0E4 }, + { (char*) "Indian/Mayotte" , 0x04A1A3 }, + { (char*) "Indian/Reunion" , 0x04A232 }, + { (char*) "Iran" , 0x04A2C3 }, + { (char*) "Israel" , 0x04A5FB }, + { (char*) "Jamaica" , 0x04AA39 }, + { (char*) "Japan" , 0x04AB98 }, + { (char*) "Kwajalein" , 0x04AC79 }, + { (char*) "Libya" , 0x04AD60 }, + { (char*) "MET" , 0x04AF1B }, + { (char*) "Mexico/BajaNorte" , 0x04B194 }, + { (char*) "Mexico/BajaSur" , 0x04B5A1 }, + { (char*) "Mexico/General" , 0x04B87B }, + { (char*) "MST" , 0x04BB8C }, + { (char*) "MST7MDT" , 0x04BC07 }, + { (char*) "Navajo" , 0x04BFCA }, + { (char*) "NZ" , 0x04C3E8 }, + { (char*) "NZ-CHAT" , 0x04C807 }, + { (char*) "Pacific/Apia" , 0x04CB3B }, + { (char*) "Pacific/Auckland" , 0x04CCDE }, + { (char*) "Pacific/Bougainville" , 0x04D115 }, + { (char*) "Pacific/Chatham" , 0x04D1F6 }, + { (char*) "Pacific/Chuuk" , 0x04D539 }, + { (char*) "Pacific/Easter" , 0x04D617 }, + { (char*) "Pacific/Efate" , 0x04DAC6 }, + { (char*) "Pacific/Enderbury" , 0x04DC28 }, + { (char*) "Pacific/Fakaofo" , 0x04DCE0 }, + { (char*) "Pacific/Fiji" , 0x04DD85 }, + { (char*) "Pacific/Funafuti" , 0x04DF1D }, + { (char*) "Pacific/Galapagos" , 0x04DFAF }, + { (char*) "Pacific/Gambier" , 0x04E07B }, + { (char*) "Pacific/Guadalcanal" , 0x04E11A }, + { (char*) "Pacific/Guam" , 0x04E1AC }, + { (char*) "Pacific/Honolulu" , 0x04E316 }, + { (char*) "Pacific/Johnston" , 0x04E405 }, + { (char*) "Pacific/Kanton" , 0x04E4EE }, + { (char*) "Pacific/Kiritimati" , 0x04E5B5 }, + { (char*) "Pacific/Kosrae" , 0x04E67B }, + { (char*) "Pacific/Kwajalein" , 0x04E77F }, + { (char*) "Pacific/Majuro" , 0x04E86F }, + { (char*) "Pacific/Marquesas" , 0x04E972 }, + { (char*) "Pacific/Midway" , 0x04EA1A }, + { (char*) "Pacific/Nauru" , 0x04EADD }, + { (char*) "Pacific/Niue" , 0x04EBA0 }, + { (char*) "Pacific/Norfolk" , 0x04EC46 }, + { (char*) "Pacific/Noumea" , 0x04ED49 }, + { (char*) "Pacific/Pago_Pago" , 0x04EE1B }, + { (char*) "Pacific/Palau" , 0x04EEB9 }, + { (char*) "Pacific/Pitcairn" , 0x04EF59 }, + { (char*) "Pacific/Pohnpei" , 0x04EFFE }, + { (char*) "Pacific/Ponape" , 0x04F0EE }, + { (char*) "Pacific/Port_Moresby" , 0x04F180 }, + { (char*) "Pacific/Rarotonga" , 0x04F243 }, + { (char*) "Pacific/Saipan" , 0x04F3E5 }, + { (char*) "Pacific/Samoa" , 0x04F546 }, + { (char*) "Pacific/Tahiti" , 0x04F5E4 }, + { (char*) "Pacific/Tarawa" , 0x04F684 }, + { (char*) "Pacific/Tongatapu" , 0x04F725 }, + { (char*) "Pacific/Truk" , 0x04F81E }, + { (char*) "Pacific/Wake" , 0x04F8C4 }, + { (char*) "Pacific/Wallis" , 0x04F961 }, + { (char*) "Pacific/Yap" , 0x04F9F3 }, + { (char*) "Poland" , 0x04FA99 }, + { (char*) "Portugal" , 0x04FE40 }, + { (char*) "PRC" , 0x0503FA }, + { (char*) "PST8PDT" , 0x05058F }, + { (char*) "ROC" , 0x050952 }, + { (char*) "ROK" , 0x050B5D }, + { (char*) "Singapore" , 0x050D08 }, + { (char*) "Turkey" , 0x050E14 }, + { (char*) "UCT" , 0x0512D0 }, + { (char*) "Universal" , 0x05134B }, + { (char*) "US/Alaska" , 0x0513C6 }, + { (char*) "US/Aleutian" , 0x0517A3 }, + { (char*) "US/Arizona" , 0x051B78 }, + { (char*) "US/Central" , 0x051C74 }, + { (char*) "US/East-Indiana" , 0x05235A }, + { (char*) "US/Eastern" , 0x052579 }, + { (char*) "US/Hawaii" , 0x052C55 }, + { (char*) "US/Indiana-Starke" , 0x052D3E }, + { (char*) "US/Michigan" , 0x053142 }, + { (char*) "US/Mountain" , 0x0534D1 }, + { (char*) "US/Pacific" , 0x0538EF }, + { (char*) "US/Samoa" , 0x053E09 }, + { (char*) "UTC" , 0x053EA7 }, + { (char*) "W-SU" , 0x053F22 }, + { (char*) "WET" , 0x0542BA }, + { (char*) "Zulu" , 0x0544B4 }, }; -const unsigned char timelib_timezone_db_data_builtin[343096] = { +const unsigned char timelib_timezone_db_data_builtin[345391] = { /* Africa/Abidjan */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -2853,9 +2854,8 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0x8F, 0x80, 0x00, 0x10, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x14, 0x4C, 0x4D, 0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x50, 0x53, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x0A, 0x43, 0x53, 0x54, 0x36, 0x0A, 0x00, 0xA9, 0x11, 0x40, 0x00, 0x72, 0x0F, 0x38, -0x00, 0x00, 0x00, 0x20, 0x43, 0x65, 0x6E, 0x74, 0x72, 0x61, 0x6C, 0x20, 0x54, 0x69, 0x6D, 0x65, -0x20, 0x2D, 0x20, 0x42, 0x61, 0x68, 0x69, 0x61, 0x20, 0x64, 0x65, 0x20, 0x42, 0x61, 0x6E, 0x64, -0x65, 0x72, 0x61, 0x73, +0x00, 0x00, 0x00, 0x11, 0x42, 0x61, 0x68, 0x69, 0x61, 0x20, 0x64, 0x65, 0x20, 0x42, 0x61, 0x6E, +0x64, 0x65, 0x72, 0x61, 0x73, /* America/Barbados */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -3033,7 +3033,7 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0x5E, 0x9C, 0x34, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0x98, 0x58, 0x55, 0x70, 0x00, -0x00, 0x00, 0x00, 0x2A, 0x03, 0x73, 0x50, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xBE, 0x5D, 0x40, 0x01, +0x00, 0x00, 0x00, 0x2A, 0x03, 0x73, 0x50, 0x00, 0x00, 0x00, 0x00, 0x2B, 0x74, 0x89, 0x40, 0x01, 0x03, 0x02, 0x03, 0xFF, 0xFF, 0xBA, 0x90, 0x00, 0x00, 0xFF, 0xFF, 0xBA, 0x90, 0x00, 0x04, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x08, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x34, 0x00, 0x2D, 0x30, 0x35, 0x00, 0x0A, 0x3C, 0x2D, 0x30, 0x35, @@ -3161,10 +3161,17 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x25, 0xFF, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0xF2, 0xCD, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x89, 0x0C, 0x90, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x61, 0x18, 0x00, 0xFF, -0xFF, 0xFF, 0xFF, 0xF7, 0x2F, 0x5A, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x28, 0x85, 0xF0, 0x00, +0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x61, 0x18, 0x00, 0x00, +0x00, 0x00, 0x00, 0x04, 0x61, 0x19, 0x90, 0x00, 0x00, 0x00, 0x00, 0x05, 0x50, 0xFC, 0x80, 0x00, +0x00, 0x00, 0x00, 0x06, 0x40, 0xFB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x07, 0x30, 0xDE, 0x80, 0x00, +0x00, 0x00, 0x00, 0x08, 0x20, 0xDD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x09, 0x10, 0xC0, 0x80, 0x00, +0x00, 0x00, 0x00, 0x0A, 0x00, 0xBF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xF0, 0xA2, 0x80, 0x00, +0x00, 0x00, 0x00, 0x0B, 0xE0, 0xA1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xD9, 0xBF, 0x00, 0x00, +0x00, 0x00, 0x00, 0x0D, 0xC0, 0x83, 0x90, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xB9, 0xA1, 0x00, 0x00, +0x00, 0x00, 0x00, 0x0F, 0xA9, 0xA0, 0x10, 0x00, 0x00, 0x00, 0x00, 0x10, 0x99, 0x83, 0x00, 0x00, +0x00, 0x00, 0x00, 0x11, 0x89, 0x82, 0x10, 0x00, 0x00, 0x00, 0x00, 0x12, 0x79, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x64, 0x10, 0x00, 0x00, 0x00, 0x00, 0x14, 0x59, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x49, 0x46, 0x10, 0x00, 0x00, 0x00, 0x00, 0x16, 0x39, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x29, 0x28, 0x10, 0x00, 0x00, 0x00, 0x00, 0x18, 0x22, 0x45, 0x80, 0x00, @@ -3193,20 +3200,20 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0x00, 0x00, 0x00, 0x41, 0x84, 0x9B, 0x80, 0x00, 0x00, 0x00, 0x00, 0x42, 0x4F, 0xB0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x7D, 0x80, 0x00, 0x00, 0x00, 0x00, 0x44, 0x2F, 0x92, 0x90, 0x00, 0x00, 0x00, 0x00, 0x45, 0x44, 0x5F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x45, 0xF3, 0xC5, 0x10, 0x03, -0x01, 0x02, 0x03, 0x04, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x07, 0x06, 0x08, 0x07, -0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x08, 0xFF, -0xFF, 0x9D, 0x90, 0x00, 0x0C, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x10, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, -0x15, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x19, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x1D, 0xFF, 0xFF, 0xB9, -0xB0, 0x00, 0x21, 0x2D, 0x30, 0x30, 0x00, 0x4D, 0x57, 0x54, 0x00, 0x4D, 0x50, 0x54, 0x00, 0x4D, -0x53, 0x54, 0x00, 0x4D, 0x44, 0x44, 0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, -0x43, 0x53, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x0A, 0x4D, 0x53, 0x54, 0x37, 0x4D, 0x44, 0x54, -0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, 0x31, 0x2E, 0x30, 0x0A, -0x00, 0xF2, 0xC9, 0xDC, 0x00, 0x72, 0x5C, 0x42, 0x00, 0x00, 0x00, 0x14, 0x4D, 0x6F, 0x75, 0x6E, -0x74, 0x61, 0x69, 0x6E, 0x20, 0x2D, 0x20, 0x4E, 0x55, 0x20, 0x28, 0x77, 0x65, 0x73, 0x74, 0x29, - +0x01, 0x02, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x06, 0x05, 0x07, 0x06, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x08, 0xFF, 0xFF, 0x9D, +0x90, 0x00, 0x0C, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x10, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x14, 0xFF, +0xFF, 0xAB, 0xA0, 0x00, 0x18, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x1C, 0x2D, 0x30, 0x30, 0x00, 0x4D, +0x57, 0x54, 0x00, 0x4D, 0x50, 0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x43, +0x44, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x0A, 0x4D, 0x53, 0x54, 0x37, +0x4D, 0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, 0x31, +0x2E, 0x30, 0x0A, 0x00, 0xF2, 0xC9, 0xDC, 0x00, 0x72, 0x5C, 0x42, 0x00, 0x00, 0x00, 0x14, 0x4D, +0x6F, 0x75, 0x6E, 0x74, 0x61, 0x69, 0x6E, 0x20, 0x2D, 0x20, 0x4E, 0x55, 0x20, 0x28, 0x77, 0x65, +0x73, 0x74, 0x29, /* America/Campo_Grande */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x42, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -3306,10 +3313,8 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0xFF, 0xAB, 0xA0, 0x00, 0x04, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x08, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x0C, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x10, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x45, 0x44, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x0A, 0x45, 0x53, 0x54, 0x35, -0x0A, 0x00, 0xA9, 0x7F, 0xED, 0x00, 0x8E, 0x43, 0x45, 0x00, 0x00, 0x00, 0x24, 0x45, 0x61, 0x73, -0x74, 0x65, 0x72, 0x6E, 0x20, 0x53, 0x74, 0x61, 0x6E, 0x64, 0x61, 0x72, 0x64, 0x20, 0x54, 0x69, -0x6D, 0x65, 0x20, 0x2D, 0x20, 0x51, 0x75, 0x69, 0x6E, 0x74, 0x61, 0x6E, 0x61, 0x20, 0x52, 0x6F, -0x6F, +0x0A, 0x00, 0xA9, 0x7F, 0xED, 0x00, 0x8E, 0x43, 0x45, 0x00, 0x00, 0x00, 0x0C, 0x51, 0x75, 0x69, +0x6E, 0x74, 0x61, 0x6E, 0x61, 0x20, 0x52, 0x6F, 0x6F, /* America/Caracas */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x56, 0x45, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -3558,11 +3563,60 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0x00, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x08, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x0C, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x10, 0x4C, 0x4D, 0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x0A, 0x43, 0x53, -0x54, 0x36, 0x0A, 0x00, 0xB5, 0x05, 0x25, 0x00, 0x70, 0xC9, 0xB2, 0x00, 0x00, 0x00, 0x26, 0x4D, -0x6F, 0x75, 0x6E, 0x74, 0x61, 0x69, 0x6E, 0x20, 0x54, 0x69, 0x6D, 0x65, 0x20, 0x2D, 0x20, 0x43, +0x54, 0x36, 0x0A, 0x00, 0xB5, 0x05, 0x25, 0x00, 0x70, 0xC9, 0xB2, 0x00, 0x00, 0x00, 0x16, 0x43, 0x68, 0x69, 0x68, 0x75, 0x61, 0x68, 0x75, 0x61, 0x20, 0x28, 0x6D, 0x6F, 0x73, 0x74, 0x20, 0x61, 0x72, 0x65, 0x61, 0x73, 0x29, +/* America/Ciudad_Juarez */ +0x50, 0x48, 0x50, 0x32, 0x01, 0x4D, 0x58, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0xFF, +0xFF, 0xFF, 0xFF, 0xA5, 0xB6, 0xE8, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xAF, 0xF2, 0x6E, 0xE0, 0xFF, +0xFF, 0xFF, 0xFF, 0xB6, 0x66, 0x56, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0x43, 0xD2, 0x60, 0xFF, +0xFF, 0xFF, 0xFF, 0xB8, 0x0C, 0x36, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0xFD, 0x86, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x31, 0x67, 0x76, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x73, 0x08, 0x70, 0x00, +0x00, 0x00, 0x00, 0x33, 0x47, 0x58, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0xEA, 0x70, 0x00, +0x00, 0x00, 0x00, 0x35, 0x27, 0x48, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0xDA, 0x80, 0x00, +0x00, 0x00, 0x00, 0x37, 0x07, 0x2A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0xF7, 0x00, 0x00, +0x00, 0x00, 0x00, 0x38, 0xE7, 0x0C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0xD9, 0x00, 0x00, +0x00, 0x00, 0x00, 0x3A, 0xF5, 0x12, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xB6, 0xD1, 0x00, 0x00, +0x00, 0x00, 0x00, 0x3C, 0xB0, 0x0A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x9D, 0x00, 0x00, +0x00, 0x00, 0x00, 0x3E, 0x8F, 0xEC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x7F, 0x00, 0x00, +0x00, 0x00, 0x00, 0x40, 0x6F, 0xCE, 0x90, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x9B, 0x80, 0x00, +0x00, 0x00, 0x00, 0x42, 0x4F, 0xB0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x7D, 0x80, 0x00, +0x00, 0x00, 0x00, 0x44, 0x2F, 0x92, 0x90, 0x00, 0x00, 0x00, 0x00, 0x45, 0x44, 0x5F, 0x80, 0x00, +0x00, 0x00, 0x00, 0x46, 0x0F, 0x74, 0x90, 0x00, 0x00, 0x00, 0x00, 0x47, 0x24, 0x41, 0x80, 0x00, +0x00, 0x00, 0x00, 0x47, 0xF8, 0x91, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, 0x04, 0x23, 0x80, 0x00, +0x00, 0x00, 0x00, 0x49, 0xD8, 0x73, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xE4, 0x05, 0x80, 0x00, +0x00, 0x00, 0x00, 0x4B, 0x9C, 0xA5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4C, 0xD6, 0x5C, 0x80, 0x00, +0x00, 0x00, 0x00, 0x4D, 0x7C, 0x87, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4E, 0xB6, 0x3E, 0x80, 0x00, +0x00, 0x00, 0x00, 0x4F, 0x5C, 0x69, 0x90, 0x00, 0x00, 0x00, 0x00, 0x50, 0x96, 0x20, 0x80, 0x00, +0x00, 0x00, 0x00, 0x51, 0x3C, 0x4B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x52, 0x76, 0x02, 0x80, 0x00, +0x00, 0x00, 0x00, 0x53, 0x1C, 0x2D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x54, 0x55, 0xE4, 0x80, 0x00, +0x00, 0x00, 0x00, 0x54, 0xFC, 0x0F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, 0x35, 0xC6, 0x80, 0x00, +0x00, 0x00, 0x00, 0x56, 0xE5, 0x2C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x58, 0x1E, 0xE3, 0x00, 0x00, +0x00, 0x00, 0x00, 0x58, 0xC5, 0x0E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x59, 0xFE, 0xC5, 0x00, 0x00, +0x00, 0x00, 0x00, 0x5A, 0xA4, 0xF0, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5B, 0xDE, 0xA7, 0x00, 0x00, +0x00, 0x00, 0x00, 0x5C, 0x84, 0xD2, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5D, 0xBE, 0x89, 0x00, 0x00, +0x00, 0x00, 0x00, 0x5E, 0x64, 0xB4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x9E, 0x6B, 0x00, 0x00, +0x00, 0x00, 0x00, 0x60, 0x4D, 0xD0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x61, 0x87, 0x87, 0x80, 0x00, +0x00, 0x00, 0x00, 0x62, 0x2D, 0xB2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x63, 0x5E, 0x2F, 0x00, 0x00, +0x00, 0x00, 0x00, 0x63, 0x86, 0xF1, 0x60, 0x01, 0x02, 0x01, 0x03, 0x01, 0x02, 0x04, 0x02, 0x04, +0x02, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, +0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, +0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, +0x01, 0x03, 0x02, 0x01, 0xFF, 0xFF, 0x9C, 0x2C, 0x00, 0x00, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x04, +0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x08, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x0C, 0xFF, 0xFF, 0xB9, 0xB0, +0x01, 0x10, 0x4C, 0x4D, 0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x4D, 0x44, +0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x0A, 0x4D, 0x53, 0x54, 0x37, 0x4D, 0x44, 0x54, 0x2C, 0x4D, +0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, 0x31, 0x2E, 0x30, 0x0A, 0x00, 0xB9, +0xC0, 0x15, 0x00, 0x70, 0x2D, 0x72, 0x00, 0x00, 0x00, 0x1C, 0x43, 0x68, 0x69, 0x68, 0x75, 0x61, +0x68, 0x75, 0x61, 0x20, 0x28, 0x55, 0x53, 0x20, 0x62, 0x6F, 0x72, 0x64, 0x65, 0x72, 0x20, 0x2D, +0x20, 0x77, 0x65, 0x73, 0x74, 0x29, + /* America/Coral_Harbour */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -4432,9 +4486,9 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0xFF, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0C, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x80, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x4D, 0x7C, 0x50, 0x00, 0x00, 0x00, 0x00, 0x14, 0x33, 0xFA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x15, 0x23, 0xEB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x16, 0x13, 0xDC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x17, 0x03, 0xCD, 0x90, 0x00, @@ -4451,14 +4505,43 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0x00, 0x00, 0x00, 0x2A, 0xC5, 0x07, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xB4, 0xF8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xA4, 0xE9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x94, 0xDA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x84, 0xCB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x74, 0xBC, 0x90, 0x00, -0x00, 0x00, 0x00, 0x30, 0x64, 0xAD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0xD9, 0x10, 0x01, +0x00, 0x00, 0x00, 0x30, 0x64, 0xAD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0xD9, 0x10, 0x00, +0x00, 0x00, 0x00, 0x32, 0x72, 0xB4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x33, 0x3D, 0xBB, 0x10, 0x00, +0x00, 0x00, 0x00, 0x34, 0x52, 0x96, 0x10, 0x00, 0x00, 0x00, 0x00, 0x35, 0x1D, 0x9D, 0x10, 0x00, +0x00, 0x00, 0x00, 0x36, 0x32, 0x78, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0xFD, 0x7F, 0x10, 0x00, +0x00, 0x00, 0x00, 0x38, 0x1B, 0x94, 0x90, 0x00, 0x00, 0x00, 0x00, 0x38, 0xDD, 0x61, 0x10, 0x00, +0x00, 0x00, 0x00, 0x39, 0xFB, 0x76, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xBD, 0x43, 0x10, 0x00, +0x00, 0x00, 0x00, 0x3B, 0xDB, 0x58, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xA6, 0x5F, 0x90, 0x00, +0x00, 0x00, 0x00, 0x3D, 0xBB, 0x3A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x86, 0x41, 0x90, 0x00, +0x00, 0x00, 0x00, 0x3F, 0x9B, 0x1C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x40, 0x66, 0x23, 0x90, 0x00, +0x00, 0x00, 0x00, 0x41, 0x84, 0x39, 0x10, 0x00, 0x00, 0x00, 0x00, 0x42, 0x46, 0x05, 0x90, 0x00, +0x00, 0x00, 0x00, 0x43, 0x64, 0x1B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x44, 0x25, 0xE7, 0x90, 0x00, +0x00, 0x00, 0x00, 0x45, 0x43, 0xFD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x46, 0x05, 0xC9, 0x90, 0x00, +0x00, 0x00, 0x00, 0x47, 0x23, 0xDF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x47, 0xEE, 0xE6, 0x10, 0x00, +0x00, 0x00, 0x00, 0x49, 0x03, 0xC1, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, 0xCE, 0xC8, 0x10, 0x00, +0x00, 0x00, 0x00, 0x4A, 0xE3, 0xA3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4B, 0xAE, 0xAA, 0x10, 0x00, +0x00, 0x00, 0x00, 0x4C, 0xCC, 0xBF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x8E, 0x8C, 0x10, 0x00, +0x00, 0x00, 0x00, 0x4E, 0xAC, 0xA1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x6E, 0x6E, 0x10, 0x00, +0x00, 0x00, 0x00, 0x50, 0x8C, 0x83, 0x90, 0x00, 0x00, 0x00, 0x00, 0x51, 0x57, 0x8A, 0x90, 0x00, +0x00, 0x00, 0x00, 0x52, 0x6C, 0x65, 0x90, 0x00, 0x00, 0x00, 0x00, 0x53, 0x37, 0x6C, 0x90, 0x00, +0x00, 0x00, 0x00, 0x54, 0x4C, 0x47, 0x90, 0x00, 0x00, 0x00, 0x00, 0x55, 0x17, 0x4E, 0x90, 0x00, +0x00, 0x00, 0x00, 0x56, 0x2C, 0x29, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, 0xF7, 0x30, 0x90, 0x00, +0x00, 0x00, 0x00, 0x58, 0x15, 0x46, 0x10, 0x00, 0x00, 0x00, 0x00, 0x58, 0xD7, 0x12, 0x90, 0x00, +0x00, 0x00, 0x00, 0x59, 0xF5, 0x28, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xB6, 0xF4, 0x90, 0x00, +0x00, 0x00, 0x00, 0x5B, 0xD5, 0x0A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5C, 0xA0, 0x11, 0x10, 0x00, +0x00, 0x00, 0x00, 0x5D, 0xB4, 0xEC, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x7F, 0xF3, 0x10, 0x00, +0x00, 0x00, 0x00, 0x5F, 0x94, 0xCE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x60, 0x5F, 0xD5, 0x10, 0x00, +0x00, 0x00, 0x00, 0x61, 0x7D, 0xEA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x62, 0x3F, 0xB7, 0x10, 0x00, +0x00, 0x00, 0x00, 0x63, 0x5D, 0xCC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x64, 0x1F, 0x99, 0x10, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0xFF, 0xFF, 0xCF, 0x80, 0x00, 0x00, 0xFF, 0xFF, 0xD5, 0xD0, 0x00, 0x04, 0xFF, 0xFF, 0xE3, -0xE0, 0x01, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x33, 0x00, 0x2D, 0x30, 0x32, 0x00, 0x0A, -0x3C, 0x2D, 0x30, 0x33, 0x3E, 0x33, 0x3C, 0x2D, 0x30, 0x32, 0x3E, 0x2C, 0x4D, 0x33, 0x2E, 0x35, -0x2E, 0x30, 0x2F, 0x2D, 0x32, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x2D, 0x31, -0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0xFF, 0xFF, 0xCF, 0x80, 0x00, 0x00, 0xFF, 0xFF, 0xD5, +0xD0, 0x00, 0x04, 0xFF, 0xFF, 0xE3, 0xE0, 0x01, 0x08, 0xFF, 0xFF, 0xE3, 0xE0, 0x00, 0x08, 0x4C, +0x4D, 0x54, 0x00, 0x2D, 0x30, 0x33, 0x00, 0x2D, 0x30, 0x32, 0x00, 0x0A, 0x3C, 0x2D, 0x30, 0x32, +0x3E, 0x32, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* America/Goose_Bay */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -4893,9 +4976,8 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0x00, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x08, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x0C, 0xFF, 0xFF, 0x8F, 0x80, 0x00, 0x10, 0x4C, 0x4D, 0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x50, 0x53, 0x54, 0x00, 0x0A, 0x4D, 0x53, 0x54, 0x37, 0x0A, 0x00, 0xB5, -0xAE, 0x6A, 0x00, 0x69, 0x56, 0x25, 0x00, 0x00, 0x00, 0x1F, 0x4D, 0x6F, 0x75, 0x6E, 0x74, 0x61, -0x69, 0x6E, 0x20, 0x53, 0x74, 0x61, 0x6E, 0x64, 0x61, 0x72, 0x64, 0x20, 0x54, 0x69, 0x6D, 0x65, -0x20, 0x2D, 0x20, 0x53, 0x6F, 0x6E, 0x6F, 0x72, 0x61, +0xAE, 0x6A, 0x00, 0x69, 0x56, 0x25, 0x00, 0x00, 0x00, 0x06, 0x53, 0x6F, 0x6E, 0x6F, 0x72, 0x61, + /* America/Indiana/Indianapolis */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x55, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -5280,47 +5362,55 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x15, 0xFF, -0xFF, 0xFF, 0xFF, 0xE0, 0x06, 0x4E, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x2F, 0x68, 0x80, 0xFF, -0xFF, 0xFF, 0xFF, 0xF8, 0x28, 0x94, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x89, 0x90, 0x20, 0x00, -0x00, 0x00, 0x00, 0x13, 0x69, 0x64, 0x10, 0x00, 0x00, 0x00, 0x00, 0x14, 0x59, 0x47, 0x00, 0x00, -0x00, 0x00, 0x00, 0x15, 0x49, 0x46, 0x10, 0x00, 0x00, 0x00, 0x00, 0x16, 0x39, 0x29, 0x00, 0x00, -0x00, 0x00, 0x00, 0x17, 0x29, 0x28, 0x10, 0x00, 0x00, 0x00, 0x00, 0x18, 0x22, 0x45, 0x80, 0x00, -0x00, 0x00, 0x00, 0x19, 0x09, 0x0A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x02, 0x27, 0x80, 0x00, -0x00, 0x00, 0x00, 0x1A, 0xF2, 0x26, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xE2, 0x09, 0x80, 0x00, -0x00, 0x00, 0x00, 0x1C, 0xD2, 0x08, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xC1, 0xEB, 0x80, 0x00, -0x00, 0x00, 0x00, 0x1E, 0xB1, 0xEA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xA1, 0xCD, 0x80, 0x00, -0x00, 0x00, 0x00, 0x20, 0x76, 0x1D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x21, 0x81, 0xAF, 0x80, 0x00, -0x00, 0x00, 0x00, 0x22, 0x55, 0xFF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x23, 0x6A, 0xCC, 0x00, 0x00, -0x00, 0x00, 0x00, 0x24, 0x35, 0xE1, 0x10, 0x00, 0x00, 0x00, 0x00, 0x25, 0x4A, 0xAE, 0x00, 0x00, -0x00, 0x00, 0x00, 0x26, 0x15, 0xC3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x27, 0x2A, 0x90, 0x00, 0x00, -0x00, 0x00, 0x00, 0x27, 0xFE, 0xDF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, 0x0A, 0x72, 0x00, 0x00, -0x00, 0x00, 0x00, 0x29, 0xDE, 0xC1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xEA, 0x54, 0x00, 0x00, -0x00, 0x00, 0x00, 0x2B, 0xBE, 0xA3, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xD3, 0x70, 0x80, 0x00, -0x00, 0x00, 0x00, 0x2D, 0x9E, 0x85, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2E, 0xB3, 0x52, 0x80, 0x00, -0x00, 0x00, 0x00, 0x2F, 0x7E, 0x67, 0x90, 0x00, 0x00, 0x00, 0x00, 0x30, 0x93, 0x34, 0x80, 0x00, -0x00, 0x00, 0x00, 0x31, 0x67, 0x84, 0x10, 0x00, 0x00, 0x00, 0x00, 0x32, 0x73, 0x16, 0x80, 0x00, -0x00, 0x00, 0x00, 0x33, 0x47, 0x66, 0x10, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0xF8, 0x80, 0x00, -0x00, 0x00, 0x00, 0x35, 0x27, 0x48, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0xDA, 0x80, 0x00, -0x00, 0x00, 0x00, 0x37, 0x07, 0x2A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0xF7, 0x00, 0x00, -0x00, 0x00, 0x00, 0x38, 0xE7, 0x0C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0xD9, 0x00, 0x00, -0x00, 0x00, 0x00, 0x3A, 0xC6, 0xEE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0xBB, 0x00, 0x00, -0x00, 0x00, 0x00, 0x3C, 0xB0, 0x0A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x9D, 0x00, 0x00, -0x00, 0x00, 0x00, 0x3E, 0x8F, 0xEC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x7F, 0x00, 0x00, -0x00, 0x00, 0x00, 0x40, 0x6F, 0xCE, 0x90, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x9B, 0x80, 0x00, -0x00, 0x00, 0x00, 0x42, 0x4F, 0xB0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x7D, 0x80, 0x00, -0x00, 0x00, 0x00, 0x44, 0x2F, 0x92, 0x90, 0x00, 0x00, 0x00, 0x00, 0x45, 0x44, 0x5F, 0x80, 0x00, -0x00, 0x00, 0x00, 0x45, 0xF3, 0xC5, 0x10, 0x02, 0x01, 0x02, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, -0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, -0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, -0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, -0x03, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x04, 0xFF, 0xFF, -0x8F, 0x80, 0x00, 0x09, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x0D, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x11, -0x2D, 0x30, 0x30, 0x00, 0x50, 0x44, 0x44, 0x54, 0x00, 0x50, 0x53, 0x54, 0x00, 0x4D, 0x53, 0x54, -0x00, 0x4D, 0x44, 0x54, 0x00, 0x0A, 0x4D, 0x53, 0x54, 0x37, 0x4D, 0x44, 0x54, 0x2C, 0x4D, 0x33, -0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, 0x31, 0x2E, 0x30, 0x0A, 0x00, 0xF1, 0x9F, -0x5C, 0x00, 0x46, 0x9F, 0x6D, 0x00, 0x00, 0x00, 0x14, 0x4D, 0x6F, 0x75, 0x6E, 0x74, 0x61, 0x69, -0x6E, 0x20, 0x2D, 0x20, 0x4E, 0x54, 0x20, 0x28, 0x77, 0x65, 0x73, 0x74, 0x29, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0xFF, +0xFF, 0xFF, 0xFF, 0xE0, 0x06, 0x4E, 0x80, 0x00, 0x00, 0x00, 0x00, 0x04, 0x61, 0x27, 0xA0, 0x00, +0x00, 0x00, 0x00, 0x05, 0x51, 0x0A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x06, 0x41, 0x09, 0xA0, 0x00, +0x00, 0x00, 0x00, 0x07, 0x30, 0xEC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x08, 0x20, 0xEB, 0xA0, 0x00, +0x00, 0x00, 0x00, 0x09, 0x10, 0xCE, 0x90, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0xCD, 0xA0, 0x00, +0x00, 0x00, 0x00, 0x0A, 0xF0, 0xB0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xE0, 0xAF, 0xA0, 0x00, +0x00, 0x00, 0x00, 0x0C, 0xD9, 0xCD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x0D, 0xC0, 0x91, 0xA0, 0x00, +0x00, 0x00, 0x00, 0x0E, 0xB9, 0xAF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xA9, 0xAE, 0x20, 0x00, +0x00, 0x00, 0x00, 0x10, 0x99, 0x91, 0x10, 0x00, 0x00, 0x00, 0x00, 0x11, 0x89, 0x90, 0x20, 0x00, +0x00, 0x00, 0x00, 0x12, 0x79, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x64, 0x10, 0x00, +0x00, 0x00, 0x00, 0x14, 0x59, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x49, 0x46, 0x10, 0x00, +0x00, 0x00, 0x00, 0x16, 0x39, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x29, 0x28, 0x10, 0x00, +0x00, 0x00, 0x00, 0x18, 0x22, 0x45, 0x80, 0x00, 0x00, 0x00, 0x00, 0x19, 0x09, 0x0A, 0x10, 0x00, +0x00, 0x00, 0x00, 0x1A, 0x02, 0x27, 0x80, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xF2, 0x26, 0x90, 0x00, +0x00, 0x00, 0x00, 0x1B, 0xE2, 0x09, 0x80, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xD2, 0x08, 0x90, 0x00, +0x00, 0x00, 0x00, 0x1D, 0xC1, 0xEB, 0x80, 0x00, 0x00, 0x00, 0x00, 0x1E, 0xB1, 0xEA, 0x90, 0x00, +0x00, 0x00, 0x00, 0x1F, 0xA1, 0xCD, 0x80, 0x00, 0x00, 0x00, 0x00, 0x20, 0x76, 0x1D, 0x10, 0x00, +0x00, 0x00, 0x00, 0x21, 0x81, 0xAF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x22, 0x55, 0xFF, 0x10, 0x00, +0x00, 0x00, 0x00, 0x23, 0x6A, 0xCC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x35, 0xE1, 0x10, 0x00, +0x00, 0x00, 0x00, 0x25, 0x4A, 0xAE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x26, 0x15, 0xC3, 0x10, 0x00, +0x00, 0x00, 0x00, 0x27, 0x2A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0xFE, 0xDF, 0x90, 0x00, +0x00, 0x00, 0x00, 0x29, 0x0A, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x29, 0xDE, 0xC1, 0x90, 0x00, +0x00, 0x00, 0x00, 0x2A, 0xEA, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xBE, 0xA3, 0x90, 0x00, +0x00, 0x00, 0x00, 0x2C, 0xD3, 0x70, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x9E, 0x85, 0x90, 0x00, +0x00, 0x00, 0x00, 0x2E, 0xB3, 0x52, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x7E, 0x67, 0x90, 0x00, +0x00, 0x00, 0x00, 0x30, 0x93, 0x34, 0x80, 0x00, 0x00, 0x00, 0x00, 0x31, 0x67, 0x84, 0x10, 0x00, +0x00, 0x00, 0x00, 0x32, 0x73, 0x16, 0x80, 0x00, 0x00, 0x00, 0x00, 0x33, 0x47, 0x66, 0x10, 0x00, +0x00, 0x00, 0x00, 0x34, 0x52, 0xF8, 0x80, 0x00, 0x00, 0x00, 0x00, 0x35, 0x27, 0x48, 0x10, 0x00, +0x00, 0x00, 0x00, 0x36, 0x32, 0xDA, 0x80, 0x00, 0x00, 0x00, 0x00, 0x37, 0x07, 0x2A, 0x10, 0x00, +0x00, 0x00, 0x00, 0x38, 0x1B, 0xF7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0xE7, 0x0C, 0x10, 0x00, +0x00, 0x00, 0x00, 0x39, 0xFB, 0xD9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xC6, 0xEE, 0x10, 0x00, +0x00, 0x00, 0x00, 0x3B, 0xDB, 0xBB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xB0, 0x0A, 0x90, 0x00, +0x00, 0x00, 0x00, 0x3D, 0xBB, 0x9D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x8F, 0xEC, 0x90, 0x00, +0x00, 0x00, 0x00, 0x3F, 0x9B, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x6F, 0xCE, 0x90, 0x00, +0x00, 0x00, 0x00, 0x41, 0x84, 0x9B, 0x80, 0x00, 0x00, 0x00, 0x00, 0x42, 0x4F, 0xB0, 0x90, 0x00, +0x00, 0x00, 0x00, 0x43, 0x64, 0x7D, 0x80, 0x00, 0x00, 0x00, 0x00, 0x44, 0x2F, 0x92, 0x90, 0x00, +0x00, 0x00, 0x00, 0x45, 0x44, 0x5F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x45, 0xF3, 0xC5, 0x10, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x9D, +0x90, 0x01, 0x04, 0xFF, 0xFF, 0x8F, 0x80, 0x00, 0x08, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x0C, 0xFF, +0xFF, 0xAB, 0xA0, 0x01, 0x10, 0x2D, 0x30, 0x30, 0x00, 0x50, 0x44, 0x54, 0x00, 0x50, 0x53, 0x54, +0x00, 0x4D, 0x53, 0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x0A, 0x4D, 0x53, 0x54, 0x37, 0x4D, 0x44, +0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, 0x31, 0x2E, 0x30, +0x0A, 0x00, 0xF1, 0x9F, 0x5C, 0x00, 0x46, 0x9F, 0x6D, 0x00, 0x00, 0x00, 0x14, 0x4D, 0x6F, 0x75, +0x6E, 0x74, 0x61, 0x69, 0x6E, 0x20, 0x2D, 0x20, 0x4E, 0x54, 0x20, 0x28, 0x77, 0x65, 0x73, 0x74, +0x29, /* America/Iqaluit */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -5328,10 +5418,17 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x21, 0xFF, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4A, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x1C, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0xA1, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xFB, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x2F, 0x3E, 0x50, 0xFF, -0xFF, 0xFF, 0xFF, 0xF8, 0x28, 0x69, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x47, 0xF0, 0x00, +0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xFB, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x04, 0x60, 0xFD, 0x70, 0x00, +0x00, 0x00, 0x00, 0x05, 0x50, 0xE0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x06, 0x40, 0xDF, 0x70, 0x00, +0x00, 0x00, 0x00, 0x07, 0x30, 0xC2, 0x60, 0x00, 0x00, 0x00, 0x00, 0x08, 0x20, 0xC1, 0x70, 0x00, +0x00, 0x00, 0x00, 0x09, 0x10, 0xA4, 0x60, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0xA3, 0x70, 0x00, +0x00, 0x00, 0x00, 0x0A, 0xF0, 0x86, 0x60, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xE0, 0x85, 0x70, 0x00, +0x00, 0x00, 0x00, 0x0C, 0xD9, 0xA2, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0D, 0xC0, 0x67, 0x70, 0x00, +0x00, 0x00, 0x00, 0x0E, 0xB9, 0x84, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xA9, 0x83, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x10, 0x99, 0x66, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x11, 0x89, 0x65, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x12, 0x79, 0x48, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x47, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x14, 0x59, 0x2A, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x15, 0x49, 0x29, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x39, 0x0C, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x17, 0x29, 0x0B, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x18, 0x22, 0x29, 0x60, 0x00, 0x00, 0x00, 0x00, 0x19, 0x08, 0xED, 0xF0, 0x00, @@ -5358,20 +5455,20 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x62, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x40, 0x6F, 0xB2, 0x70, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x7F, 0x60, 0x00, 0x00, 0x00, 0x00, 0x42, 0x4F, 0x94, 0x70, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x61, 0x60, 0x00, 0x00, 0x00, 0x00, 0x44, 0x2F, 0x76, 0x70, 0x00, -0x00, 0x00, 0x00, 0x45, 0x44, 0x43, 0x60, 0x00, 0x00, 0x00, 0x00, 0x45, 0xF3, 0xA8, 0xF0, 0x05, -0x01, 0x02, 0x03, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, -0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, -0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x06, 0x07, 0x02, 0x04, 0x02, -0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0xFF, 0xFF, 0xD5, -0xD0, 0x01, 0x0C, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x11, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x15, 0xFF, -0xFF, 0xAB, 0xA0, 0x00, 0x19, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x1D, 0x2D, 0x30, 0x30, 0x00, 0x45, -0x50, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x45, 0x44, 0x44, 0x54, 0x00, 0x45, 0x44, 0x54, 0x00, -0x45, 0x57, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x0A, 0x45, 0x53, 0x54, -0x35, 0x45, 0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, -0x31, 0x2E, 0x30, 0x0A, 0x00, 0xEA, 0x94, 0x15, 0x00, 0xAA, 0x2F, 0xB5, 0x00, 0x00, 0x00, 0x1E, -0x45, 0x61, 0x73, 0x74, 0x65, 0x72, 0x6E, 0x20, 0x2D, 0x20, 0x4E, 0x55, 0x20, 0x28, 0x6D, 0x6F, -0x73, 0x74, 0x20, 0x65, 0x61, 0x73, 0x74, 0x20, 0x61, 0x72, 0x65, 0x61, 0x73, 0x29, +0x00, 0x00, 0x00, 0x45, 0x44, 0x43, 0x60, 0x00, 0x00, 0x00, 0x00, 0x45, 0xF3, 0xA8, 0xF0, 0x04, +0x01, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x05, 0x06, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, +0xFF, 0xC7, 0xC0, 0x01, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, +0x0C, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x10, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x14, 0xFF, 0xFF, 0xB9, +0xB0, 0x01, 0x18, 0x2D, 0x30, 0x30, 0x00, 0x45, 0x50, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x45, +0x44, 0x54, 0x00, 0x45, 0x57, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x0A, +0x45, 0x53, 0x54, 0x35, 0x45, 0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, +0x31, 0x31, 0x2E, 0x31, 0x2E, 0x30, 0x0A, 0x00, 0xEA, 0x94, 0x15, 0x00, 0xAA, 0x2F, 0xB5, 0x00, +0x00, 0x00, 0x19, 0x45, 0x61, 0x73, 0x74, 0x65, 0x72, 0x6E, 0x20, 0x2D, 0x20, 0x4E, 0x55, 0x20, +0x28, 0x6D, 0x6F, 0x73, 0x74, 0x20, 0x61, 0x72, 0x65, 0x61, 0x73, 0x29, /* America/Jamaica */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4A, 0x4D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -6097,10 +6194,9 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x0A, 0x43, 0x53, 0x54, 0x36, 0x43, 0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, 0x31, 0x2E, 0x30, 0x0A, 0x00, 0xB0, 0xBF, 0x65, 0x00, 0x7D, 0xE2, 0x90, 0x00, 0x00, 0x00, -0x3E, 0x43, 0x65, 0x6E, 0x74, 0x72, 0x61, 0x6C, 0x20, 0x54, 0x69, 0x6D, 0x65, 0x20, 0x55, 0x53, -0x20, 0x2D, 0x20, 0x43, 0x6F, 0x61, 0x68, 0x75, 0x69, 0x6C, 0x61, 0x2C, 0x20, 0x4E, 0x75, 0x65, -0x76, 0x6F, 0x20, 0x4C, 0x65, 0x6F, 0x6E, 0x2C, 0x20, 0x54, 0x61, 0x6D, 0x61, 0x75, 0x6C, 0x69, -0x70, 0x61, 0x73, 0x20, 0x28, 0x55, 0x53, 0x20, 0x62, 0x6F, 0x72, 0x64, 0x65, 0x72, 0x29, +0x2C, 0x43, 0x6F, 0x61, 0x68, 0x75, 0x69, 0x6C, 0x61, 0x2C, 0x20, 0x4E, 0x75, 0x65, 0x76, 0x6F, +0x20, 0x4C, 0x65, 0x6F, 0x6E, 0x2C, 0x20, 0x54, 0x61, 0x6D, 0x61, 0x75, 0x6C, 0x69, 0x70, 0x61, +0x73, 0x20, 0x28, 0x55, 0x53, 0x20, 0x62, 0x6F, 0x72, 0x64, 0x65, 0x72, 0x29, /* America/Mazatlan */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4D, 0x58, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -6148,10 +6244,10 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0x00, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x08, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x0C, 0xFF, 0xFF, 0x8F, 0x80, 0x00, 0x10, 0x4C, 0x4D, 0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x50, 0x53, 0x54, 0x00, 0x0A, 0x4D, 0x53, 0x54, 0x37, 0x0A, 0x00, 0xAC, -0xC1, 0x42, 0x00, 0x70, 0x47, 0x7D, 0x00, 0x00, 0x00, 0x35, 0x4D, 0x6F, 0x75, 0x6E, 0x74, 0x61, -0x69, 0x6E, 0x20, 0x54, 0x69, 0x6D, 0x65, 0x20, 0x2D, 0x20, 0x42, 0x61, 0x6A, 0x61, 0x20, 0x43, +0xC1, 0x42, 0x00, 0x70, 0x47, 0x7D, 0x00, 0x00, 0x00, 0x32, 0x42, 0x61, 0x6A, 0x61, 0x20, 0x43, 0x61, 0x6C, 0x69, 0x66, 0x6F, 0x72, 0x6E, 0x69, 0x61, 0x20, 0x53, 0x75, 0x72, 0x2C, 0x20, 0x4E, -0x61, 0x79, 0x61, 0x72, 0x69, 0x74, 0x2C, 0x20, 0x53, 0x69, 0x6E, 0x61, 0x6C, 0x6F, 0x61, +0x61, 0x79, 0x61, 0x72, 0x69, 0x74, 0x20, 0x28, 0x6D, 0x6F, 0x73, 0x74, 0x20, 0x61, 0x72, 0x65, +0x61, 0x73, 0x29, 0x2C, 0x20, 0x53, 0x69, 0x6E, 0x61, 0x6C, 0x6F, 0x61, /* America/Mendoza */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -6306,9 +6402,8 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0xFF, 0xFF, 0xAB, 0xFC, 0x00, 0x00, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x0A, 0x43, 0x53, 0x54, 0x36, 0x0A, 0x00, 0xA9, -0x52, 0x5A, 0x00, 0x89, 0xE9, 0xFD, 0x00, 0x00, 0x00, 0x20, 0x43, 0x65, 0x6E, 0x74, 0x72, 0x61, -0x6C, 0x20, 0x54, 0x69, 0x6D, 0x65, 0x20, 0x2D, 0x20, 0x43, 0x61, 0x6D, 0x70, 0x65, 0x63, 0x68, -0x65, 0x2C, 0x20, 0x59, 0x75, 0x63, 0x61, 0x74, 0x61, 0x6E, +0x52, 0x5A, 0x00, 0x89, 0xE9, 0xFD, 0x00, 0x00, 0x00, 0x11, 0x43, 0x61, 0x6D, 0x70, 0x65, 0x63, +0x68, 0x65, 0x2C, 0x20, 0x59, 0x75, 0x63, 0x61, 0x74, 0x61, 0x6E, /* America/Metlakatla */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x55, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -6402,7 +6497,7 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0x10, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x14, 0x4C, 0x4D, 0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x43, 0x57, 0x54, 0x00, 0x0A, 0x43, 0x53, 0x54, 0x36, 0x0A, 0x00, 0xA6, 0xEE, 0x60, 0x00, 0x7B, 0x5E, 0x07, 0x00, 0x00, 0x00, -0x0C, 0x43, 0x65, 0x6E, 0x74, 0x72, 0x61, 0x6C, 0x20, 0x54, 0x69, 0x6D, 0x65, +0x0E, 0x43, 0x65, 0x6E, 0x74, 0x72, 0x61, 0x6C, 0x20, 0x4D, 0x65, 0x78, 0x69, 0x63, 0x6F, /* America/Miquelon */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x50, 0x4D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -6581,12 +6676,11 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0xFF, 0xFF, 0xA1, 0xF4, 0x00, 0x00, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x0A, 0x43, -0x53, 0x54, 0x36, 0x0A, 0x00, 0xB0, 0x7E, 0x4A, 0x00, 0x79, 0x96, 0x4D, 0x00, 0x00, 0x00, 0x45, -0x43, 0x65, 0x6E, 0x74, 0x72, 0x61, 0x6C, 0x20, 0x54, 0x69, 0x6D, 0x65, 0x20, 0x2D, 0x20, 0x44, -0x75, 0x72, 0x61, 0x6E, 0x67, 0x6F, 0x3B, 0x20, 0x43, 0x6F, 0x61, 0x68, 0x75, 0x69, 0x6C, 0x61, -0x2C, 0x20, 0x4E, 0x75, 0x65, 0x76, 0x6F, 0x20, 0x4C, 0x65, 0x6F, 0x6E, 0x2C, 0x20, 0x54, 0x61, -0x6D, 0x61, 0x75, 0x6C, 0x69, 0x70, 0x61, 0x73, 0x20, 0x28, 0x6D, 0x6F, 0x73, 0x74, 0x20, 0x61, -0x72, 0x65, 0x61, 0x73, 0x29, +0x53, 0x54, 0x36, 0x0A, 0x00, 0xB0, 0x7E, 0x4A, 0x00, 0x79, 0x96, 0x4D, 0x00, 0x00, 0x00, 0x36, +0x44, 0x75, 0x72, 0x61, 0x6E, 0x67, 0x6F, 0x3B, 0x20, 0x43, 0x6F, 0x61, 0x68, 0x75, 0x69, 0x6C, +0x61, 0x2C, 0x20, 0x4E, 0x75, 0x65, 0x76, 0x6F, 0x20, 0x4C, 0x65, 0x6F, 0x6E, 0x2C, 0x20, 0x54, +0x61, 0x6D, 0x61, 0x75, 0x6C, 0x69, 0x70, 0x61, 0x73, 0x20, 0x28, 0x6D, 0x6F, 0x73, 0x74, 0x20, +0x61, 0x72, 0x65, 0x61, 0x73, 0x29, /* America/Montevideo */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x55, 0x59, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -7372,9 +7466,9 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0x50, 0x48, 0x50, 0x32, 0x01, 0x47, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0xFF, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0C, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x80, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x4D, 0x7C, 0x50, 0x00, 0x00, 0x00, 0x00, 0x14, 0x33, 0xFA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x15, 0x23, 0xEB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x16, 0x13, 0xDC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x17, 0x03, 0xCD, 0x90, 0x00, @@ -7391,16 +7485,45 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0x00, 0x00, 0x00, 0x2A, 0xC5, 0x07, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xB4, 0xF8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xA4, 0xE9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x94, 0xDA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x84, 0xCB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x74, 0xBC, 0x90, 0x00, -0x00, 0x00, 0x00, 0x30, 0x64, 0xAD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0xD9, 0x10, 0x01, +0x00, 0x00, 0x00, 0x30, 0x64, 0xAD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0xD9, 0x10, 0x00, +0x00, 0x00, 0x00, 0x32, 0x72, 0xB4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x33, 0x3D, 0xBB, 0x10, 0x00, +0x00, 0x00, 0x00, 0x34, 0x52, 0x96, 0x10, 0x00, 0x00, 0x00, 0x00, 0x35, 0x1D, 0x9D, 0x10, 0x00, +0x00, 0x00, 0x00, 0x36, 0x32, 0x78, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0xFD, 0x7F, 0x10, 0x00, +0x00, 0x00, 0x00, 0x38, 0x1B, 0x94, 0x90, 0x00, 0x00, 0x00, 0x00, 0x38, 0xDD, 0x61, 0x10, 0x00, +0x00, 0x00, 0x00, 0x39, 0xFB, 0x76, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xBD, 0x43, 0x10, 0x00, +0x00, 0x00, 0x00, 0x3B, 0xDB, 0x58, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xA6, 0x5F, 0x90, 0x00, +0x00, 0x00, 0x00, 0x3D, 0xBB, 0x3A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x86, 0x41, 0x90, 0x00, +0x00, 0x00, 0x00, 0x3F, 0x9B, 0x1C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x40, 0x66, 0x23, 0x90, 0x00, +0x00, 0x00, 0x00, 0x41, 0x84, 0x39, 0x10, 0x00, 0x00, 0x00, 0x00, 0x42, 0x46, 0x05, 0x90, 0x00, +0x00, 0x00, 0x00, 0x43, 0x64, 0x1B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x44, 0x25, 0xE7, 0x90, 0x00, +0x00, 0x00, 0x00, 0x45, 0x43, 0xFD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x46, 0x05, 0xC9, 0x90, 0x00, +0x00, 0x00, 0x00, 0x47, 0x23, 0xDF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x47, 0xEE, 0xE6, 0x10, 0x00, +0x00, 0x00, 0x00, 0x49, 0x03, 0xC1, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, 0xCE, 0xC8, 0x10, 0x00, +0x00, 0x00, 0x00, 0x4A, 0xE3, 0xA3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4B, 0xAE, 0xAA, 0x10, 0x00, +0x00, 0x00, 0x00, 0x4C, 0xCC, 0xBF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x8E, 0x8C, 0x10, 0x00, +0x00, 0x00, 0x00, 0x4E, 0xAC, 0xA1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x6E, 0x6E, 0x10, 0x00, +0x00, 0x00, 0x00, 0x50, 0x8C, 0x83, 0x90, 0x00, 0x00, 0x00, 0x00, 0x51, 0x57, 0x8A, 0x90, 0x00, +0x00, 0x00, 0x00, 0x52, 0x6C, 0x65, 0x90, 0x00, 0x00, 0x00, 0x00, 0x53, 0x37, 0x6C, 0x90, 0x00, +0x00, 0x00, 0x00, 0x54, 0x4C, 0x47, 0x90, 0x00, 0x00, 0x00, 0x00, 0x55, 0x17, 0x4E, 0x90, 0x00, +0x00, 0x00, 0x00, 0x56, 0x2C, 0x29, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, 0xF7, 0x30, 0x90, 0x00, +0x00, 0x00, 0x00, 0x58, 0x15, 0x46, 0x10, 0x00, 0x00, 0x00, 0x00, 0x58, 0xD7, 0x12, 0x90, 0x00, +0x00, 0x00, 0x00, 0x59, 0xF5, 0x28, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xB6, 0xF4, 0x90, 0x00, +0x00, 0x00, 0x00, 0x5B, 0xD5, 0x0A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5C, 0xA0, 0x11, 0x10, 0x00, +0x00, 0x00, 0x00, 0x5D, 0xB4, 0xEC, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x7F, 0xF3, 0x10, 0x00, +0x00, 0x00, 0x00, 0x5F, 0x94, 0xCE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x60, 0x5F, 0xD5, 0x10, 0x00, +0x00, 0x00, 0x00, 0x61, 0x7D, 0xEA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x62, 0x3F, 0xB7, 0x10, 0x00, +0x00, 0x00, 0x00, 0x63, 0x5D, 0xCC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x64, 0x1F, 0x99, 0x10, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0xFF, 0xFF, 0xCF, 0x80, 0x00, 0x00, 0xFF, 0xFF, 0xD5, 0xD0, 0x00, 0x04, 0xFF, 0xFF, 0xE3, -0xE0, 0x01, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x33, 0x00, 0x2D, 0x30, 0x32, 0x00, 0x0A, -0x3C, 0x2D, 0x30, 0x33, 0x3E, 0x33, 0x3C, 0x2D, 0x30, 0x32, 0x3E, 0x2C, 0x4D, 0x33, 0x2E, 0x35, -0x2E, 0x30, 0x2F, 0x2D, 0x32, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x2D, 0x31, -0x0A, 0x00, 0xEB, 0x43, 0xDD, 0x00, 0xC3, 0xB8, 0x2A, 0x00, 0x00, 0x00, 0x16, 0x47, 0x72, 0x65, -0x65, 0x6E, 0x6C, 0x61, 0x6E, 0x64, 0x20, 0x28, 0x6D, 0x6F, 0x73, 0x74, 0x20, 0x61, 0x72, 0x65, -0x61, 0x73, 0x29, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0xFF, 0xFF, 0xCF, 0x80, 0x00, 0x00, 0xFF, 0xFF, 0xD5, +0xD0, 0x00, 0x04, 0xFF, 0xFF, 0xE3, 0xE0, 0x01, 0x08, 0xFF, 0xFF, 0xE3, 0xE0, 0x00, 0x08, 0x4C, +0x4D, 0x54, 0x00, 0x2D, 0x30, 0x33, 0x00, 0x2D, 0x30, 0x32, 0x00, 0x0A, 0x3C, 0x2D, 0x30, 0x32, +0x3E, 0x32, 0x0A, 0x00, 0xEB, 0x43, 0xDD, 0x00, 0xC3, 0xB8, 0x2A, 0x00, 0x00, 0x00, 0x16, 0x47, +0x72, 0x65, 0x65, 0x6E, 0x6C, 0x61, 0x6E, 0x64, 0x20, 0x28, 0x6D, 0x6F, 0x73, 0x74, 0x20, 0x61, +0x72, 0x65, 0x61, 0x73, 0x29, /* America/Ojinaga */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4D, 0x58, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -7446,10 +7569,10 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0x00, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x08, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x0C, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x10, 0x4C, 0x4D, 0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x0A, 0x43, 0x53, -0x54, 0x36, 0x0A, 0x00, 0xB6, 0x71, 0xBA, 0x00, 0x73, 0x54, 0xBD, 0x00, 0x00, 0x00, 0x28, 0x4D, -0x6F, 0x75, 0x6E, 0x74, 0x61, 0x69, 0x6E, 0x20, 0x54, 0x69, 0x6D, 0x65, 0x20, 0x55, 0x53, 0x20, -0x2D, 0x20, 0x43, 0x68, 0x69, 0x68, 0x75, 0x61, 0x68, 0x75, 0x61, 0x20, 0x28, 0x55, 0x53, 0x20, -0x62, 0x6F, 0x72, 0x64, 0x65, 0x72, 0x29, +0x54, 0x36, 0x43, 0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, +0x2E, 0x31, 0x2E, 0x30, 0x0A, 0x00, 0xB6, 0x71, 0xBA, 0x00, 0x73, 0x54, 0xBD, 0x00, 0x00, 0x00, +0x1C, 0x43, 0x68, 0x69, 0x68, 0x75, 0x61, 0x68, 0x75, 0x61, 0x20, 0x28, 0x55, 0x53, 0x20, 0x62, +0x6F, 0x72, 0x64, 0x65, 0x72, 0x20, 0x2D, 0x20, 0x65, 0x61, 0x73, 0x74, 0x29, /* America/Panama */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x50, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -7465,57 +7588,61 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0x00, /* America/Pangnirtung */ -0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x29, 0xFF, -0xFF, 0xFF, 0xFF, 0xA3, 0xD5, 0x52, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x88, 0xE2, 0x60, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0xFF, -0xFF, 0xFF, 0xFF, 0xF7, 0x2F, 0x30, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x28, 0x5B, 0xC0, 0x00, -0x00, 0x00, 0x00, 0x13, 0x69, 0x39, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x14, 0x59, 0x1C, 0xD0, 0x00, -0x00, 0x00, 0x00, 0x15, 0x49, 0x1B, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x38, 0xFE, 0xD0, 0x00, -0x00, 0x00, 0x00, 0x17, 0x28, 0xFD, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x18, 0x22, 0x1B, 0x50, 0x00, -0x00, 0x00, 0x00, 0x19, 0x08, 0xDF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x01, 0xFD, 0x50, 0x00, -0x00, 0x00, 0x00, 0x1A, 0xF1, 0xFC, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xE1, 0xDF, 0x50, 0x00, -0x00, 0x00, 0x00, 0x1C, 0xD1, 0xDE, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xC1, 0xC1, 0x50, 0x00, -0x00, 0x00, 0x00, 0x1E, 0xB1, 0xC0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xA1, 0xA3, 0x50, 0x00, -0x00, 0x00, 0x00, 0x20, 0x75, 0xF2, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x21, 0x81, 0x85, 0x50, 0x00, -0x00, 0x00, 0x00, 0x22, 0x55, 0xD4, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x23, 0x6A, 0xA1, 0xD0, 0x00, -0x00, 0x00, 0x00, 0x24, 0x35, 0xB6, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x25, 0x4A, 0x83, 0xD0, 0x00, -0x00, 0x00, 0x00, 0x26, 0x15, 0x98, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x27, 0x2A, 0x65, 0xD0, 0x00, -0x00, 0x00, 0x00, 0x27, 0xFE, 0xB5, 0x60, 0x00, 0x00, 0x00, 0x00, 0x29, 0x0A, 0x47, 0xD0, 0x00, -0x00, 0x00, 0x00, 0x29, 0xDE, 0x97, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xEA, 0x29, 0xD0, 0x00, -0x00, 0x00, 0x00, 0x2B, 0xBE, 0x79, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xD3, 0x46, 0x50, 0x00, -0x00, 0x00, 0x00, 0x2D, 0x9E, 0x5B, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2E, 0xB3, 0x28, 0x50, 0x00, -0x00, 0x00, 0x00, 0x2F, 0x7E, 0x3D, 0x60, 0x00, 0x00, 0x00, 0x00, 0x30, 0x93, 0x18, 0x60, 0x00, -0x00, 0x00, 0x00, 0x31, 0x67, 0x67, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x32, 0x72, 0xFA, 0x60, 0x00, -0x00, 0x00, 0x00, 0x33, 0x47, 0x49, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0xDC, 0x60, 0x00, -0x00, 0x00, 0x00, 0x35, 0x27, 0x2B, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0xBE, 0x60, 0x00, -0x00, 0x00, 0x00, 0x37, 0x07, 0x0D, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0xDA, 0xE0, 0x00, -0x00, 0x00, 0x00, 0x38, 0xE6, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0xCA, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x3A, 0xC6, 0xD1, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0x9E, 0xE0, 0x00, -0x00, 0x00, 0x00, 0x3C, 0xAF, 0xEE, 0x70, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x80, 0xE0, 0x00, -0x00, 0x00, 0x00, 0x3E, 0x8F, 0xD0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x62, 0xE0, 0x00, -0x00, 0x00, 0x00, 0x40, 0x6F, 0xB2, 0x70, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x7F, 0x60, 0x00, -0x00, 0x00, 0x00, 0x42, 0x4F, 0x94, 0x70, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x61, 0x60, 0x00, -0x00, 0x00, 0x00, 0x44, 0x2F, 0x76, 0x70, 0x00, 0x00, 0x00, 0x00, 0x45, 0x44, 0x43, 0x60, 0x00, -0x00, 0x00, 0x00, 0x45, 0xF3, 0xA8, 0xF0, 0x03, 0x01, 0x02, 0x03, 0x04, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x06, 0x07, 0x06, 0x07, 0x06, -0x07, 0x06, 0x07, 0x06, 0x08, 0x09, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, -0x07, 0x06, 0x07, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x04, -0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x08, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x0C, 0xFF, 0xFF, 0xE3, 0xE0, -0x01, 0x10, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x15, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x19, 0xFF, 0xFF, -0xB9, 0xB0, 0x00, 0x1D, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x21, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x25, -0x2D, 0x30, 0x30, 0x00, 0x41, 0x57, 0x54, 0x00, 0x41, 0x50, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x44, 0x44, 0x54, 0x00, 0x41, 0x44, 0x54, 0x00, 0x45, 0x44, 0x54, 0x00, 0x45, 0x53, 0x54, -0x00, 0x43, 0x53, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x0A, 0x45, 0x53, 0x54, 0x35, 0x45, 0x44, -0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, 0x31, 0x2E, 0x30, -0x0A, 0x00, 0xEE, 0x3D, 0x95, 0x00, 0xAE, 0x5B, 0x6A, 0x00, 0x00, 0x00, 0x1A, 0x45, 0x61, 0x73, -0x74, 0x65, 0x72, 0x6E, 0x20, 0x2D, 0x20, 0x4E, 0x55, 0x20, 0x28, 0x50, 0x61, 0x6E, 0x67, 0x6E, -0x69, 0x72, 0x74, 0x75, 0x6E, 0x67, 0x29, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4A, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x1C, 0xFF, +0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0xA1, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, +0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xFB, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x04, 0x60, 0xFD, 0x70, 0x00, +0x00, 0x00, 0x00, 0x05, 0x50, 0xE0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x06, 0x40, 0xDF, 0x70, 0x00, +0x00, 0x00, 0x00, 0x07, 0x30, 0xC2, 0x60, 0x00, 0x00, 0x00, 0x00, 0x08, 0x20, 0xC1, 0x70, 0x00, +0x00, 0x00, 0x00, 0x09, 0x10, 0xA4, 0x60, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0xA3, 0x70, 0x00, +0x00, 0x00, 0x00, 0x0A, 0xF0, 0x86, 0x60, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xE0, 0x85, 0x70, 0x00, +0x00, 0x00, 0x00, 0x0C, 0xD9, 0xA2, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0D, 0xC0, 0x67, 0x70, 0x00, +0x00, 0x00, 0x00, 0x0E, 0xB9, 0x84, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xA9, 0x83, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x10, 0x99, 0x66, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x11, 0x89, 0x65, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x12, 0x79, 0x48, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x47, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x14, 0x59, 0x2A, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x15, 0x49, 0x29, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x16, 0x39, 0x0C, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x17, 0x29, 0x0B, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x18, 0x22, 0x29, 0x60, 0x00, 0x00, 0x00, 0x00, 0x19, 0x08, 0xED, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x1A, 0x02, 0x0B, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xF2, 0x0A, 0x70, 0x00, +0x00, 0x00, 0x00, 0x1B, 0xE1, 0xED, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xD1, 0xEC, 0x70, 0x00, +0x00, 0x00, 0x00, 0x1D, 0xC1, 0xCF, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1E, 0xB1, 0xCE, 0x70, 0x00, +0x00, 0x00, 0x00, 0x1F, 0xA1, 0xB1, 0x60, 0x00, 0x00, 0x00, 0x00, 0x20, 0x76, 0x00, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x21, 0x81, 0x93, 0x60, 0x00, 0x00, 0x00, 0x00, 0x22, 0x55, 0xE2, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x23, 0x6A, 0xAF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x24, 0x35, 0xC4, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x25, 0x4A, 0x91, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x26, 0x15, 0xA6, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x27, 0x2A, 0x73, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x27, 0xFE, 0xC3, 0x70, 0x00, +0x00, 0x00, 0x00, 0x29, 0x0A, 0x55, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x29, 0xDE, 0xA5, 0x70, 0x00, +0x00, 0x00, 0x00, 0x2A, 0xEA, 0x37, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xBE, 0x87, 0x70, 0x00, +0x00, 0x00, 0x00, 0x2C, 0xD3, 0x54, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x9E, 0x69, 0x70, 0x00, +0x00, 0x00, 0x00, 0x2E, 0xB3, 0x36, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x7E, 0x4B, 0x70, 0x00, +0x00, 0x00, 0x00, 0x30, 0x93, 0x18, 0x60, 0x00, 0x00, 0x00, 0x00, 0x31, 0x67, 0x67, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x32, 0x72, 0xFA, 0x60, 0x00, 0x00, 0x00, 0x00, 0x33, 0x47, 0x49, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x34, 0x52, 0xDC, 0x60, 0x00, 0x00, 0x00, 0x00, 0x35, 0x27, 0x2B, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x36, 0x32, 0xBE, 0x60, 0x00, 0x00, 0x00, 0x00, 0x37, 0x07, 0x0D, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x38, 0x1B, 0xDA, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x38, 0xE6, 0xFE, 0x00, 0x00, +0x00, 0x00, 0x00, 0x39, 0xFB, 0xCA, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xC6, 0xD1, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x3B, 0xDB, 0x9E, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xAF, 0xEE, 0x70, 0x00, +0x00, 0x00, 0x00, 0x3D, 0xBB, 0x80, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x8F, 0xD0, 0x70, 0x00, +0x00, 0x00, 0x00, 0x3F, 0x9B, 0x62, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x40, 0x6F, 0xB2, 0x70, 0x00, +0x00, 0x00, 0x00, 0x41, 0x84, 0x7F, 0x60, 0x00, 0x00, 0x00, 0x00, 0x42, 0x4F, 0x94, 0x70, 0x00, +0x00, 0x00, 0x00, 0x43, 0x64, 0x61, 0x60, 0x00, 0x00, 0x00, 0x00, 0x44, 0x2F, 0x76, 0x70, 0x00, +0x00, 0x00, 0x00, 0x45, 0x44, 0x43, 0x60, 0x00, 0x00, 0x00, 0x00, 0x45, 0xF3, 0xA8, 0xF0, 0x04, +0x01, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x05, 0x06, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, +0xFF, 0xC7, 0xC0, 0x01, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, +0x0C, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x10, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x14, 0xFF, 0xFF, 0xB9, +0xB0, 0x01, 0x18, 0x2D, 0x30, 0x30, 0x00, 0x45, 0x50, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x45, +0x44, 0x54, 0x00, 0x45, 0x57, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x0A, +0x45, 0x53, 0x54, 0x35, 0x45, 0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, +0x31, 0x31, 0x2E, 0x31, 0x2E, 0x30, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, /* America/Paramaribo */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x53, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -7844,9 +7971,16 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3A, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x15, 0xFF, -0xFF, 0xFF, 0xFF, 0xE7, 0x8C, 0x6E, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x2F, 0x4C, 0x60, 0xFF, -0xFF, 0xFF, 0xFF, 0xF8, 0x28, 0x77, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x56, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, +0xFF, 0xFF, 0xFF, 0xE7, 0x8C, 0x6E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x61, 0x0B, 0x80, 0x00, +0x00, 0x00, 0x00, 0x05, 0x50, 0xEE, 0x70, 0x00, 0x00, 0x00, 0x00, 0x06, 0x40, 0xED, 0x80, 0x00, +0x00, 0x00, 0x00, 0x07, 0x30, 0xD0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x08, 0x20, 0xCF, 0x80, 0x00, +0x00, 0x00, 0x00, 0x09, 0x10, 0xB2, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0xB1, 0x80, 0x00, +0x00, 0x00, 0x00, 0x0A, 0xF0, 0x94, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xE0, 0x93, 0x80, 0x00, +0x00, 0x00, 0x00, 0x0C, 0xD9, 0xB0, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x0D, 0xC0, 0x75, 0x80, 0x00, +0x00, 0x00, 0x00, 0x0E, 0xB9, 0x92, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xA9, 0x92, 0x00, 0x00, +0x00, 0x00, 0x00, 0x10, 0x99, 0x74, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x11, 0x89, 0x74, 0x00, 0x00, +0x00, 0x00, 0x00, 0x12, 0x79, 0x56, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x56, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x59, 0x38, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x15, 0x49, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0x39, 0x1A, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x17, 0x29, 0x1A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x22, 0x37, 0x70, 0x00, 0x00, 0x00, 0x00, 0x19, 0x08, 0xFC, 0x00, 0x00, @@ -7874,17 +8008,17 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0x00, 0x00, 0x00, 0x41, 0x84, 0x8D, 0x70, 0x00, 0x00, 0x00, 0x00, 0x42, 0x4F, 0xA2, 0x80, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x6F, 0x70, 0x00, 0x00, 0x00, 0x00, 0x44, 0x2F, 0x84, 0x80, 0x00, 0x00, 0x00, 0x00, 0x45, 0x44, 0x51, 0x70, 0x00, 0x00, 0x00, 0x00, 0x45, 0xF3, 0xB7, 0x00, 0x02, -0x01, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, -0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, -0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x04, 0x03, 0x02, 0x03, 0x02, -0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, -0xFF, 0xC7, 0xC0, 0x01, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x09, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, -0x0D, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x11, 0x2D, 0x30, 0x30, 0x00, 0x43, 0x44, 0x44, 0x54, 0x00, -0x43, 0x53, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x0A, 0x43, 0x53, 0x54, -0x36, 0x43, 0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, -0x31, 0x2E, 0x30, 0x0A, 0x00, 0xE9, 0x2E, 0x02, 0x00, 0x86, 0x26, 0x8E, 0x00, 0x00, 0x00, 0x16, -0x43, 0x65, 0x6E, 0x74, 0x72, 0x61, 0x6C, 0x20, 0x2D, 0x20, 0x4E, 0x55, 0x20, 0x28, 0x63, 0x65, -0x6E, 0x74, 0x72, 0x61, 0x6C, 0x29, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xB9, +0xB0, 0x01, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x08, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x0C, 0x2D, +0x30, 0x30, 0x00, 0x43, 0x44, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x0A, +0x43, 0x53, 0x54, 0x36, 0x43, 0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, +0x31, 0x31, 0x2E, 0x31, 0x2E, 0x30, 0x0A, 0x00, 0xE9, 0x2E, 0x02, 0x00, 0x86, 0x26, 0x8E, 0x00, +0x00, 0x00, 0x16, 0x43, 0x65, 0x6E, 0x74, 0x72, 0x61, 0x6C, 0x20, 0x2D, 0x20, 0x4E, 0x55, 0x20, +0x28, 0x63, 0x65, 0x6E, 0x74, 0x72, 0x61, 0x6C, 0x29, /* America/Recife */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x42, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -7970,9 +8104,16 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3A, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x15, 0xFF, -0xFF, 0xFF, 0xFF, 0xD5, 0xFB, 0x81, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x2F, 0x4C, 0x60, 0xFF, -0xFF, 0xFF, 0xFF, 0xF8, 0x28, 0x77, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x56, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, +0xFF, 0xFF, 0xFF, 0xD5, 0xFB, 0x81, 0x80, 0x00, 0x00, 0x00, 0x00, 0x04, 0x61, 0x0B, 0x80, 0x00, +0x00, 0x00, 0x00, 0x05, 0x50, 0xEE, 0x70, 0x00, 0x00, 0x00, 0x00, 0x06, 0x40, 0xED, 0x80, 0x00, +0x00, 0x00, 0x00, 0x07, 0x30, 0xD0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x08, 0x20, 0xCF, 0x80, 0x00, +0x00, 0x00, 0x00, 0x09, 0x10, 0xB2, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0xB1, 0x80, 0x00, +0x00, 0x00, 0x00, 0x0A, 0xF0, 0x94, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xE0, 0x93, 0x80, 0x00, +0x00, 0x00, 0x00, 0x0C, 0xD9, 0xB0, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x0D, 0xC0, 0x75, 0x80, 0x00, +0x00, 0x00, 0x00, 0x0E, 0xB9, 0x92, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xA9, 0x92, 0x00, 0x00, +0x00, 0x00, 0x00, 0x10, 0x99, 0x74, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x11, 0x89, 0x74, 0x00, 0x00, +0x00, 0x00, 0x00, 0x12, 0x79, 0x56, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x56, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x59, 0x38, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x15, 0x49, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0x39, 0x1A, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x17, 0x29, 0x1A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x22, 0x37, 0x70, 0x00, 0x00, 0x00, 0x00, 0x19, 0x08, 0xFC, 0x00, 0x00, @@ -8000,17 +8141,17 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0x00, 0x00, 0x00, 0x41, 0x84, 0x8D, 0x70, 0x00, 0x00, 0x00, 0x00, 0x42, 0x4F, 0xA2, 0x80, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x6F, 0x70, 0x00, 0x00, 0x00, 0x00, 0x44, 0x2F, 0x84, 0x80, 0x00, 0x00, 0x00, 0x00, 0x45, 0x44, 0x51, 0x70, 0x00, 0x00, 0x00, 0x00, 0x45, 0xF3, 0xB7, 0x00, 0x02, -0x01, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, -0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, -0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x04, 0x03, 0x02, 0x03, 0x02, -0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x04, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, -0xFF, 0xC7, 0xC0, 0x01, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x09, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, -0x0D, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x11, 0x2D, 0x30, 0x30, 0x00, 0x43, 0x44, 0x44, 0x54, 0x00, -0x43, 0x53, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x0A, 0x43, 0x53, 0x54, -0x36, 0x43, 0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, -0x31, 0x2E, 0x30, 0x0A, 0x00, 0xFB, 0x4E, 0x33, 0x00, 0x81, 0xF5, 0xDB, 0x00, 0x00, 0x00, 0x17, -0x43, 0x65, 0x6E, 0x74, 0x72, 0x61, 0x6C, 0x20, 0x2D, 0x20, 0x4E, 0x55, 0x20, 0x28, 0x52, 0x65, -0x73, 0x6F, 0x6C, 0x75, 0x74, 0x65, 0x29, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xB9, +0xB0, 0x01, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x08, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x0C, 0x2D, +0x30, 0x30, 0x00, 0x43, 0x44, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x0A, +0x43, 0x53, 0x54, 0x36, 0x43, 0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, +0x31, 0x31, 0x2E, 0x31, 0x2E, 0x30, 0x0A, 0x00, 0xFB, 0x4E, 0x33, 0x00, 0x81, 0xF5, 0xDB, 0x00, +0x00, 0x00, 0x17, 0x43, 0x65, 0x6E, 0x74, 0x72, 0x61, 0x6C, 0x20, 0x2D, 0x20, 0x4E, 0x55, 0x20, +0x28, 0x52, 0x65, 0x73, 0x6F, 0x6C, 0x75, 0x74, 0x65, 0x29, /* America/Rio_Branco */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x42, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -8968,9 +9109,8 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0x14, 0x4C, 0x4D, 0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, 0x50, 0x53, 0x54, 0x00, 0x50, 0x44, 0x54, 0x00, 0x50, 0x57, 0x54, 0x00, 0x50, 0x50, 0x54, 0x00, 0x0A, 0x50, 0x53, 0x54, 0x38, 0x50, 0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, 0x31, 0x2E, 0x30, -0x0A, 0x00, 0xBA, 0xF8, 0x95, 0x00, 0x60, 0x1A, 0xDD, 0x00, 0x00, 0x00, 0x21, 0x50, 0x61, 0x63, -0x69, 0x66, 0x69, 0x63, 0x20, 0x54, 0x69, 0x6D, 0x65, 0x20, 0x55, 0x53, 0x20, 0x2D, 0x20, 0x42, -0x61, 0x6A, 0x61, 0x20, 0x43, 0x61, 0x6C, 0x69, 0x66, 0x6F, 0x72, 0x6E, 0x69, 0x61, +0x0A, 0x00, 0xBA, 0xF8, 0x95, 0x00, 0x60, 0x1A, 0xDD, 0x00, 0x00, 0x00, 0x0F, 0x42, 0x61, 0x6A, +0x61, 0x20, 0x43, 0x61, 0x6C, 0x69, 0x66, 0x6F, 0x72, 0x6E, 0x69, 0x61, /* America/Toronto */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -9209,7 +9349,7 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0xFF, 0xFF, 0xFF, 0xA1, 0xA2, 0xD2, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x89, 0x28, 0xB0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x61, 0x34, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x2F, 0x76, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x28, 0xA2, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0xFB, 0x1D, 0x5F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x72, 0x20, 0x00, +0xFF, 0xFF, 0xFF, 0xF8, 0xC5, 0x84, 0x90, 0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x72, 0x20, 0x00, 0x00, 0x00, 0x00, 0x14, 0x59, 0x55, 0x10, 0x00, 0x00, 0x00, 0x00, 0x15, 0x49, 0x54, 0x20, 0x00, 0x00, 0x00, 0x00, 0x16, 0x39, 0x37, 0x10, 0x00, 0x00, 0x00, 0x00, 0x17, 0x29, 0x36, 0x20, 0x00, 0x00, 0x00, 0x00, 0x18, 0x22, 0x53, 0x90, 0x00, 0x00, 0x00, 0x00, 0x19, 0x09, 0x18, 0x20, 0x00, @@ -9421,10 +9561,17 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x19, 0xFF, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4B, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0x2A, 0x18, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x89, 0x0C, 0x90, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x61, 0x18, 0x00, 0xFF, -0xFF, 0xFF, 0xFF, 0xF7, 0x2F, 0x5A, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x28, 0x85, 0xF0, 0x00, +0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x61, 0x18, 0x00, 0x00, +0x00, 0x00, 0x00, 0x04, 0x61, 0x19, 0x90, 0x00, 0x00, 0x00, 0x00, 0x05, 0x50, 0xFC, 0x80, 0x00, +0x00, 0x00, 0x00, 0x06, 0x40, 0xFB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x07, 0x30, 0xDE, 0x80, 0x00, +0x00, 0x00, 0x00, 0x08, 0x20, 0xDD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x09, 0x10, 0xC0, 0x80, 0x00, +0x00, 0x00, 0x00, 0x0A, 0x00, 0xBF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xF0, 0xA2, 0x80, 0x00, +0x00, 0x00, 0x00, 0x0B, 0xE0, 0xA1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xD9, 0xBF, 0x00, 0x00, +0x00, 0x00, 0x00, 0x0D, 0xC0, 0x83, 0x90, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xB9, 0xA1, 0x00, 0x00, +0x00, 0x00, 0x00, 0x0F, 0xA9, 0xA0, 0x10, 0x00, 0x00, 0x00, 0x00, 0x10, 0x99, 0x83, 0x00, 0x00, +0x00, 0x00, 0x00, 0x11, 0x89, 0x82, 0x10, 0x00, 0x00, 0x00, 0x00, 0x12, 0x79, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x64, 0x10, 0x00, 0x00, 0x00, 0x00, 0x14, 0x59, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x49, 0x46, 0x10, 0x00, 0x00, 0x00, 0x00, 0x16, 0x39, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x29, 0x28, 0x10, 0x00, 0x00, 0x00, 0x00, 0x18, 0x22, 0x45, 0x80, 0x00, @@ -9452,18 +9599,18 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0x00, 0x00, 0x00, 0x40, 0x6F, 0xCE, 0x90, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x9B, 0x80, 0x00, 0x00, 0x00, 0x00, 0x42, 0x4F, 0xB0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x7D, 0x80, 0x00, 0x00, 0x00, 0x00, 0x44, 0x2F, 0x92, 0x90, 0x00, 0x00, 0x00, 0x00, 0x45, 0x44, 0x5F, 0x80, 0x00, -0x00, 0x00, 0x00, 0x45, 0xF3, 0xC5, 0x10, 0x03, 0x01, 0x02, 0x03, 0x04, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x04, -0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x08, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x0C, 0xFF, 0xFF, 0xB9, 0xB0, -0x01, 0x10, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x15, 0x2D, 0x30, 0x30, 0x00, 0x4D, 0x57, 0x54, 0x00, -0x4D, 0x50, 0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, 0x4D, 0x44, 0x44, 0x54, 0x00, 0x4D, 0x44, 0x54, -0x00, 0x0A, 0x4D, 0x53, 0x54, 0x37, 0x4D, 0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, -0x2C, 0x4D, 0x31, 0x31, 0x2E, 0x31, 0x2E, 0x30, 0x0A, 0x00, 0xE8, 0x9E, 0xC7, 0x00, 0x64, 0x2C, -0x88, 0x00, 0x00, 0x00, 0x17, 0x4D, 0x6F, 0x75, 0x6E, 0x74, 0x61, 0x69, 0x6E, 0x20, 0x2D, 0x20, -0x4E, 0x54, 0x20, 0x28, 0x63, 0x65, 0x6E, 0x74, 0x72, 0x61, 0x6C, 0x29, +0x00, 0x00, 0x00, 0x45, 0xF3, 0xC5, 0x10, 0x03, 0x01, 0x02, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, +0x03, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x04, 0xFF, 0xFF, +0xAB, 0xA0, 0x01, 0x08, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x0C, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x10, +0x2D, 0x30, 0x30, 0x00, 0x4D, 0x57, 0x54, 0x00, 0x4D, 0x50, 0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, +0x4D, 0x44, 0x54, 0x00, 0x0A, 0x4D, 0x53, 0x54, 0x37, 0x4D, 0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, +0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, 0x31, 0x2E, 0x30, 0x0A, 0x00, 0xE8, 0x9E, 0xC7, +0x00, 0x64, 0x2C, 0x88, 0x00, 0x00, 0x00, 0x17, 0x4D, 0x6F, 0x75, 0x6E, 0x74, 0x61, 0x69, 0x6E, +0x20, 0x2D, 0x20, 0x4E, 0x54, 0x20, 0x28, 0x63, 0x65, 0x6E, 0x74, 0x72, 0x61, 0x6C, 0x29, /* Antarctica/Casey */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x41, 0x51, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -11710,7 +11857,7 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0xFF, 0xFF, 0xFF, 0x7E, 0x36, 0x55, 0xAA, 0xFF, 0xFF, 0xFF, 0xFF, 0x86, 0x83, 0x85, 0xA3, 0xFF, 0xFF, 0xFF, 0xFF, 0xBA, 0x67, 0x4E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x0A, 0xE4, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0xB3, 0xE5, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x91, 0x5F, 0x08, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x48, 0x6D, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x91, 0xF5, 0x08, 0x01, +0xFF, 0xFF, 0xFF, 0xD2, 0x48, 0x6D, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x91, 0xEE, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x05, 0x07, 0x00, 0x00, 0x5F, 0x56, 0x00, 0x00, 0x00, 0x00, 0x61, 0x5D, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x08, 0x00, 0x00, 0x67, 0x20, 0x01, 0x0C, 0x00, 0x00, 0x67, 0x20, 0x00, 0x0C, 0x00, 0x00, 0x69, 0x78, 0x00, 0x12, 0x00, 0x00, 0x7E, 0x90, 0x00, @@ -12544,7 +12691,7 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0xFF, 0xFF, 0xFF, 0x7E, 0x36, 0x53, 0xA3, 0xFF, 0xFF, 0xFF, 0xFF, 0x86, 0x83, 0x85, 0xA3, 0xFF, 0xFF, 0xFF, 0xFF, 0xBA, 0x67, 0x4E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x0A, 0xE4, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0xB3, 0xE5, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x91, 0x5F, 0x08, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x48, 0x6D, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x91, 0xF5, 0x08, 0x01, +0xFF, 0xFF, 0xFF, 0xD2, 0x48, 0x6D, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x91, 0xEE, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x05, 0x07, 0x00, 0x00, 0x61, 0x5D, 0x00, 0x00, 0x00, 0x00, 0x61, 0x5D, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x08, 0x00, 0x00, 0x67, 0x20, 0x01, 0x0C, 0x00, 0x00, 0x67, 0x20, 0x00, 0x0C, 0x00, 0x00, 0x69, 0x78, 0x00, 0x12, 0x00, 0x00, 0x7E, 0x90, 0x00, @@ -15730,7 +15877,7 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0xFF, 0xFF, 0xFF, 0xA1, 0xA2, 0xD2, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x89, 0x28, 0xB0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x61, 0x34, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x2F, 0x76, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x28, 0xA2, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0xFB, 0x1D, 0x5F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x72, 0x20, 0x00, +0xFF, 0xFF, 0xFF, 0xF8, 0xC5, 0x84, 0x90, 0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x72, 0x20, 0x00, 0x00, 0x00, 0x00, 0x14, 0x59, 0x55, 0x10, 0x00, 0x00, 0x00, 0x00, 0x15, 0x49, 0x54, 0x20, 0x00, 0x00, 0x00, 0x00, 0x16, 0x39, 0x37, 0x10, 0x00, 0x00, 0x00, 0x00, 0x17, 0x29, 0x36, 0x20, 0x00, 0x00, 0x00, 0x00, 0x18, 0x22, 0x53, 0x90, 0x00, 0x00, 0x00, 0x00, 0x19, 0x09, 0x18, 0x20, 0x00, @@ -22607,7 +22754,7 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0xFF, 0xFF, 0xFF, 0x7E, 0x36, 0x53, 0xA3, 0xFF, 0xFF, 0xFF, 0xFF, 0x86, 0x83, 0x85, 0xA3, 0xFF, 0xFF, 0xFF, 0xFF, 0xBA, 0x67, 0x4E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x0A, 0xE4, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0xB3, 0xE5, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x91, 0x5F, 0x08, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x48, 0x6D, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x91, 0xF5, 0x08, 0x01, +0xFF, 0xFF, 0xFF, 0xD2, 0x48, 0x6D, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x91, 0xEE, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x05, 0x07, 0x00, 0x00, 0x61, 0x5D, 0x00, 0x00, 0x00, 0x00, 0x61, 0x5D, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x08, 0x00, 0x00, 0x67, 0x20, 0x01, 0x0C, 0x00, 0x00, 0x67, 0x20, 0x00, 0x0C, 0x00, 0x00, 0x69, 0x78, 0x00, 0x12, 0x00, 0x00, 0x7E, 0x90, 0x00, @@ -23543,7 +23690,7 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; #else -const timelib_tzdb_index_entry timezonedb_idx_builtin[596] = { +const timelib_tzdb_index_entry timezonedb_idx_builtin[597] = { { (char*) "Africa/Abidjan" , 0x000000 }, { (char*) "Africa/Accra" , 0x0000A0 }, { (char*) "Africa/Addis_Ababa" , 0x0004D0 }, @@ -23622,528 +23769,529 @@ const timelib_tzdb_index_entry timezonedb_idx_builtin[596] = { { (char*) "America/Atka" , 0x00B430 }, { (char*) "America/Bahia" , 0x00BD70 }, { (char*) "America/Bahia_Banderas" , 0x00C173 }, - { (char*) "America/Barbados" , 0x00C61F }, - { (char*) "America/Belem" , 0x00C7DF }, - { (char*) "America/Belize" , 0x00CA2F }, - { (char*) "America/Blanc-Sablon" , 0x00D089 }, - { (char*) "America/Boa_Vista" , 0x00D1DB }, - { (char*) "America/Bogota" , 0x00D458 }, - { (char*) "America/Boise" , 0x00D54C }, - { (char*) "America/Buenos_Aires" , 0x00DEE2 }, - { (char*) "America/Cambridge_Bay" , 0x00E314 }, - { (char*) "America/Campo_Grande" , 0x00EB58 }, - { (char*) "America/Cancun" , 0x00F10C }, - { (char*) "America/Caracas" , 0x00F47E }, - { (char*) "America/Catamarca" , 0x00F584 }, - { (char*) "America/Cayenne" , 0x00F9B6 }, - { (char*) "America/Cayman" , 0x00FA7A }, - { (char*) "America/Chicago" , 0x00FB3C }, - { (char*) "America/Chihuahua" , 0x010964 }, - { (char*) "America/Coral_Harbour" , 0x010DE4 }, - { (char*) "America/Cordoba" , 0x010EA6 }, - { (char*) "America/Costa_Rica" , 0x0112D8 }, - { (char*) "America/Creston" , 0x011420 }, - { (char*) "America/Cuiaba" , 0x01150E }, - { (char*) "America/Curacao" , 0x011A9F }, - { (char*) "America/Danmarkshavn" , 0x011B65 }, - { (char*) "America/Dawson" , 0x011E45 }, - { (char*) "America/Dawson_Creek" , 0x0124B1 }, - { (char*) "America/Denver" , 0x0128F7 }, - { (char*) "America/Detroit" , 0x0132B4 }, - { (char*) "America/Dominica" , 0x013B8F }, - { (char*) "America/Edmonton" , 0x013C2F }, - { (char*) "America/Eirunepe" , 0x014574 }, - { (char*) "America/El_Salvador" , 0x014811 }, - { (char*) "America/Ensenada" , 0x0148FD }, - { (char*) "America/Fort_Nelson" , 0x01524F }, - { (char*) "America/Fort_Wayne" , 0x015B2F }, - { (char*) "America/Fortaleza" , 0x0161CD }, - { (char*) "America/Glace_Bay" , 0x0164BD }, - { (char*) "America/Godthab" , 0x016D74 }, - { (char*) "America/Goose_Bay" , 0x0174C8 }, - { (char*) "America/Grand_Turk" , 0x01817E }, - { (char*) "America/Grenada" , 0x0188B4 }, - { (char*) "America/Guadeloupe" , 0x018954 }, - { (char*) "America/Guatemala" , 0x0189F4 }, - { (char*) "America/Guayaquil" , 0x018B18 }, - { (char*) "America/Guyana" , 0x018C1E }, - { (char*) "America/Halifax" , 0x018D22 }, - { (char*) "America/Havana" , 0x019AAC }, - { (char*) "America/Hermosillo" , 0x01A428 }, - { (char*) "America/Indiana/Indianapolis" , 0x01A61B }, - { (char*) "America/Indiana/Knox" , 0x01ACD2 }, - { (char*) "America/Indiana/Marengo" , 0x01B67F }, - { (char*) "America/Indiana/Petersburg" , 0x01BD6C }, - { (char*) "America/Indiana/Tell_City" , 0x01C50B }, - { (char*) "America/Indiana/Vevay" , 0x01CBCF }, - { (char*) "America/Indiana/Vincennes" , 0x01D18B }, - { (char*) "America/Indiana/Winamac" , 0x01D861 }, - { (char*) "America/Indianapolis" , 0x01DF85 }, - { (char*) "America/Inuvik" , 0x01E623 }, - { (char*) "America/Iqaluit" , 0x01EDA9 }, - { (char*) "America/Jamaica" , 0x01F5C3 }, - { (char*) "America/Jujuy" , 0x01F7B1 }, - { (char*) "America/Juneau" , 0x01FBC7 }, - { (char*) "America/Kentucky/Louisville" , 0x020518 }, - { (char*) "America/Kentucky/Monticello" , 0x021026 }, - { (char*) "America/Knox_IN" , 0x021986 }, - { (char*) "America/Kralendijk" , 0x02231E }, - { (char*) "America/La_Paz" , 0x022420 }, - { (char*) "America/Lima" , 0x022506 }, - { (char*) "America/Los_Angeles" , 0x02269A }, - { (char*) "America/Louisville" , 0x0231D1 }, - { (char*) "America/Lower_Princes" , 0x023CC1 }, - { (char*) "America/Maceio" , 0x023DC3 }, - { (char*) "America/Managua" , 0x0240B9 }, - { (char*) "America/Manaus" , 0x024273 }, - { (char*) "America/Marigot" , 0x0244DC }, - { (char*) "America/Martinique" , 0x0245DE }, - { (char*) "America/Matamoros" , 0x0246D2 }, - { (char*) "America/Mazatlan" , 0x024CA6 }, - { (char*) "America/Mendoza" , 0x02514F }, - { (char*) "America/Menominee" , 0x025581 }, - { (char*) "America/Merida" , 0x025E8E }, - { (char*) "America/Metlakatla" , 0x0262A6 }, - { (char*) "America/Mexico_City" , 0x026858 }, - { (char*) "America/Miquelon" , 0x026D36 }, - { (char*) "America/Moncton" , 0x0273B6 }, - { (char*) "America/Monterrey" , 0x02802C }, - { (char*) "America/Montevideo" , 0x028451 }, - { (char*) "America/Montreal" , 0x028A35 }, - { (char*) "America/Montserrat" , 0x0297E7 }, - { (char*) "America/Nassau" , 0x029887 }, - { (char*) "America/New_York" , 0x02A1E7 }, - { (char*) "America/Nipigon" , 0x02AFE7 }, - { (char*) "America/Nome" , 0x02BD99 }, - { (char*) "America/Noronha" , 0x02C6F1 }, - { (char*) "America/North_Dakota/Beulah" , 0x02C9CB }, - { (char*) "America/North_Dakota/Center" , 0x02D348 }, - { (char*) "America/North_Dakota/New_Salem" , 0x02DCC5 }, - { (char*) "America/Nuuk" , 0x02E648 }, - { (char*) "America/Ojinaga" , 0x02EDB2 }, - { (char*) "America/Panama" , 0x02F234 }, - { (char*) "America/Pangnirtung" , 0x02F2F6 }, - { (char*) "America/Paramaribo" , 0x02FB4A }, - { (char*) "America/Phoenix" , 0x02FC4E }, - { (char*) "America/Port-au-Prince" , 0x02FDDF }, - { (char*) "America/Port_of_Spain" , 0x030385 }, - { (char*) "America/Porto_Acre" , 0x030425 }, - { (char*) "America/Porto_Velho" , 0x030697 }, - { (char*) "America/Puerto_Rico" , 0x0308DD }, - { (char*) "America/Punta_Arenas" , 0x0309DF }, - { (char*) "America/Rainy_River" , 0x03116D }, - { (char*) "America/Rankin_Inlet" , 0x031CAD }, - { (char*) "America/Recife" , 0x032433 }, - { (char*) "America/Regina" , 0x032707 }, - { (char*) "America/Resolute" , 0x032AFC }, - { (char*) "America/Rio_Branco" , 0x033283 }, - { (char*) "America/Rosario" , 0x0334F9 }, - { (char*) "America/Santa_Isabel" , 0x03392B }, - { (char*) "America/Santarem" , 0x03427D }, - { (char*) "America/Santiago" , 0x0344E0 }, - { (char*) "America/Santo_Domingo" , 0x034ED1 }, - { (char*) "America/Sao_Paulo" , 0x0350A7 }, - { (char*) "America/Scoresbysund" , 0x03567F }, - { (char*) "America/Shiprock" , 0x035E16 }, - { (char*) "America/Sitka" , 0x0367BE }, - { (char*) "America/St_Barthelemy" , 0x0370F6 }, - { (char*) "America/St_Johns" , 0x0371F8 }, - { (char*) "America/St_Kitts" , 0x03806D }, - { (char*) "America/St_Lucia" , 0x03810D }, - { (char*) "America/St_Thomas" , 0x0381CF }, - { (char*) "America/St_Vincent" , 0x03826F }, - { (char*) "America/Swift_Current" , 0x038331 }, - { (char*) "America/Tegucigalpa" , 0x03857F }, - { (char*) "America/Thule" , 0x038687 }, - { (char*) "America/Thunder_Bay" , 0x038C7F }, - { (char*) "America/Tijuana" , 0x039A31 }, - { (char*) "America/Toronto" , 0x03A3A4 }, - { (char*) "America/Tortola" , 0x03B173 }, - { (char*) "America/Vancouver" , 0x03B213 }, - { (char*) "America/Virgin" , 0x03BD84 }, - { (char*) "America/Whitehorse" , 0x03BE86 }, - { (char*) "America/Winnipeg" , 0x03C4F2 }, - { (char*) "America/Yakutat" , 0x03D04F }, - { (char*) "America/Yellowknife" , 0x03D96C }, - { (char*) "Antarctica/Casey" , 0x03E13D }, - { (char*) "Antarctica/Davis" , 0x03E2C0 }, - { (char*) "Antarctica/DumontDUrville" , 0x03E3EC }, - { (char*) "Antarctica/Macquarie" , 0x03E4BC }, - { (char*) "Antarctica/Mawson" , 0x03EDAC }, - { (char*) "Antarctica/McMurdo" , 0x03EE77 }, - { (char*) "Antarctica/Palmer" , 0x03F672 }, - { (char*) "Antarctica/Rothera" , 0x03FC00 }, - { (char*) "Antarctica/South_Pole" , 0x03FCA9 }, - { (char*) "Antarctica/Syowa" , 0x04063A }, - { (char*) "Antarctica/Troll" , 0x0406E2 }, - { (char*) "Antarctica/Vostok" , 0x040B6F }, - { (char*) "Arctic/Longyearbyen" , 0x040C18 }, - { (char*) "Asia/Aden" , 0x04151E }, - { (char*) "Asia/Almaty" , 0x0415C1 }, - { (char*) "Asia/Amman" , 0x0419BB }, - { (char*) "Asia/Anadyr" , 0x041F60 }, - { (char*) "Asia/Aqtau" , 0x042415 }, - { (char*) "Asia/Aqtobe" , 0x0427FF }, - { (char*) "Asia/Ashgabat" , 0x042BFD }, - { (char*) "Asia/Ashkhabad" , 0x042E66 }, - { (char*) "Asia/Atyrau" , 0x0430CF }, - { (char*) "Asia/Baghdad" , 0x0434C1 }, - { (char*) "Asia/Bahrain" , 0x043896 }, - { (char*) "Asia/Baku" , 0x043981 }, - { (char*) "Asia/Bangkok" , 0x043E4A }, - { (char*) "Asia/Barnaul" , 0x043F0F }, - { (char*) "Asia/Beirut" , 0x0443E0 }, - { (char*) "Asia/Bishkek" , 0x044C56 }, - { (char*) "Asia/Brunei" , 0x04502B }, - { (char*) "Asia/Calcutta" , 0x0450F4 }, - { (char*) "Asia/Chita" , 0x04521D }, - { (char*) "Asia/Choibalsan" , 0x0456F4 }, - { (char*) "Asia/Chongqing" , 0x045AB9 }, - { (char*) "Asia/Chungking" , 0x045CF6 }, - { (char*) "Asia/Colombo" , 0x045F33 }, - { (char*) "Asia/Dacca" , 0x0460A5 }, - { (char*) "Asia/Damascus" , 0x0461F4 }, - { (char*) "Asia/Dhaka" , 0x046951 }, - { (char*) "Asia/Dili" , 0x046AA0 }, - { (char*) "Asia/Dubai" , 0x046B81 }, - { (char*) "Asia/Dushanbe" , 0x046C24 }, - { (char*) "Asia/Famagusta" , 0x046E71 }, - { (char*) "Asia/Gaza" , 0x047678 }, - { (char*) "Asia/Harbin" , 0x048004 }, - { (char*) "Asia/Hebron" , 0x048241 }, - { (char*) "Asia/Ho_Chi_Minh" , 0x048BE8 }, - { (char*) "Asia/Hong_Kong" , 0x048D45 }, - { (char*) "Asia/Hovd" , 0x049222 }, - { (char*) "Asia/Irkutsk" , 0x0495C6 }, - { (char*) "Asia/Istanbul" , 0x049AB9 }, - { (char*) "Asia/Jakarta" , 0x04A252 }, - { (char*) "Asia/Jayapura" , 0x04A3EA }, - { (char*) "Asia/Jerusalem" , 0x04A509 }, - { (char*) "Asia/Kabul" , 0x04AE69 }, - { (char*) "Asia/Kamchatka" , 0x04AF37 }, - { (char*) "Asia/Karachi" , 0x04B3D5 }, - { (char*) "Asia/Kashgar" , 0x04B55C }, - { (char*) "Asia/Kathmandu" , 0x04B5FF }, - { (char*) "Asia/Katmandu" , 0x04B6D1 }, - { (char*) "Asia/Khandyga" , 0x04B7A3 }, - { (char*) "Asia/Kolkata" , 0x04BCB6 }, - { (char*) "Asia/Krasnoyarsk" , 0x04BDDF }, - { (char*) "Asia/Kuala_Lumpur" , 0x04C2AD }, - { (char*) "Asia/Kuching" , 0x04C43E }, - { (char*) "Asia/Kuwait" , 0x04C62D }, - { (char*) "Asia/Macao" , 0x04C6D0 }, - { (char*) "Asia/Macau" , 0x04CBA7 }, - { (char*) "Asia/Magadan" , 0x04D07E }, - { (char*) "Asia/Makassar" , 0x04D552 }, - { (char*) "Asia/Manila" , 0x04D6A5 }, - { (char*) "Asia/Muscat" , 0x04D7F9 }, - { (char*) "Asia/Nicosia" , 0x04D89C }, - { (char*) "Asia/Novokuznetsk" , 0x04E08D }, - { (char*) "Asia/Novosibirsk" , 0x04E529 }, - { (char*) "Asia/Omsk" , 0x04EA00 }, - { (char*) "Asia/Oral" , 0x04EEC2 }, - { (char*) "Asia/Phnom_Penh" , 0x04F2BC }, - { (char*) "Asia/Pontianak" , 0x04F3E1 }, - { (char*) "Asia/Pyongyang" , 0x04F564 }, - { (char*) "Asia/Qatar" , 0x04F65D }, - { (char*) "Asia/Qostanay" , 0x04F722 }, - { (char*) "Asia/Qyzylorda" , 0x04FB2D }, - { (char*) "Asia/Rangoon" , 0x04FF49 }, - { (char*) "Asia/Riyadh" , 0x050053 }, - { (char*) "Asia/Saigon" , 0x0500F6 }, - { (char*) "Asia/Sakhalin" , 0x050253 }, - { (char*) "Asia/Samarkand" , 0x05071B }, - { (char*) "Asia/Seoul" , 0x05096B }, - { (char*) "Asia/Shanghai" , 0x050BE0 }, - { (char*) "Asia/Singapore" , 0x050E29 }, - { (char*) "Asia/Srednekolymsk" , 0x050FA6 }, - { (char*) "Asia/Taipei" , 0x05147E }, - { (char*) "Asia/Tashkent" , 0x051783 }, - { (char*) "Asia/Tbilisi" , 0x0519E1 }, - { (char*) "Asia/Tehran" , 0x051DEA }, - { (char*) "Asia/Tel_Aviv" , 0x0522D6 }, - { (char*) "Asia/Thimbu" , 0x052C36 }, - { (char*) "Asia/Thimphu" , 0x052CFF }, - { (char*) "Asia/Tokyo" , 0x052DC8 }, - { (char*) "Asia/Tomsk" , 0x052F09 }, - { (char*) "Asia/Ujung_Pandang" , 0x0533DA }, - { (char*) "Asia/Ulaanbaatar" , 0x0534E4 }, - { (char*) "Asia/Ulan_Bator" , 0x053872 }, - { (char*) "Asia/Urumqi" , 0x053BEB }, - { (char*) "Asia/Ust-Nera" , 0x053C9B }, - { (char*) "Asia/Vientiane" , 0x054191 }, - { (char*) "Asia/Vladivostok" , 0x0542D2 }, - { (char*) "Asia/Yakutsk" , 0x05479B }, - { (char*) "Asia/Yangon" , 0x054C63 }, - { (char*) "Asia/Yekaterinburg" , 0x054D6D }, - { (char*) "Asia/Yerevan" , 0x055254 }, - { (char*) "Atlantic/Azores" , 0x0556D1 }, - { (char*) "Atlantic/Bermuda" , 0x05648D }, - { (char*) "Atlantic/Canary" , 0x056DF5 }, - { (char*) "Atlantic/Cape_Verde" , 0x057578 }, - { (char*) "Atlantic/Faeroe" , 0x057684 }, - { (char*) "Atlantic/Faroe" , 0x057DA7 }, - { (char*) "Atlantic/Jan_Mayen" , 0x0584CA }, - { (char*) "Atlantic/Madeira" , 0x058DD0 }, - { (char*) "Atlantic/Reykjavik" , 0x059B9A }, - { (char*) "Atlantic/South_Georgia" , 0x05A030 }, - { (char*) "Atlantic/St_Helena" , 0x05A0D2 }, - { (char*) "Atlantic/Stanley" , 0x05A194 }, - { (char*) "Australia/ACT" , 0x05A650 }, - { (char*) "Australia/Adelaide" , 0x05AEEA }, - { (char*) "Australia/Brisbane" , 0x05B7A5 }, - { (char*) "Australia/Broken_Hill" , 0x05B96B }, - { (char*) "Australia/Canberra" , 0x05C248 }, - { (char*) "Australia/Currie" , 0x05CAE2 }, - { (char*) "Australia/Darwin" , 0x05D424 }, - { (char*) "Australia/Eucla" , 0x05D587 }, - { (char*) "Australia/Hobart" , 0x05D774 }, - { (char*) "Australia/LHI" , 0x05E0BE }, - { (char*) "Australia/Lindeman" , 0x05E800 }, - { (char*) "Australia/Lord_Howe" , 0x05EA06 }, - { (char*) "Australia/Melbourne" , 0x05F158 }, - { (char*) "Australia/North" , 0x05F9FA }, - { (char*) "Australia/NSW" , 0x05FB4B }, - { (char*) "Australia/Perth" , 0x0603E5 }, - { (char*) "Australia/Queensland" , 0x0605CD }, - { (char*) "Australia/South" , 0x06077C }, - { (char*) "Australia/Sydney" , 0x061028 }, - { (char*) "Australia/Tasmania" , 0x0618DE }, - { (char*) "Australia/Victoria" , 0x062220 }, - { (char*) "Australia/West" , 0x062ABA }, - { (char*) "Australia/Yancowinna" , 0x062C84 }, - { (char*) "Brazil/Acre" , 0x063545 }, - { (char*) "Brazil/DeNoronha" , 0x0637B7 }, - { (char*) "Brazil/East" , 0x063A81 }, - { (char*) "Brazil/West" , 0x064023 }, - { (char*) "Canada/Atlantic" , 0x06427D }, - { (char*) "Canada/Central" , 0x064FE9 }, - { (char*) "Canada/Eastern" , 0x065B29 }, - { (char*) "Canada/Mountain" , 0x0668DB }, - { (char*) "Canada/Newfoundland" , 0x067203 }, - { (char*) "Canada/Pacific" , 0x068056 }, - { (char*) "Canada/Saskatchewan" , 0x068BAE }, - { (char*) "Canada/Yukon" , 0x068F8E }, - { (char*) "CET" , 0x0695E8 }, - { (char*) "Chile/Continental" , 0x069E22 }, - { (char*) "Chile/EasterIsland" , 0x06A801 }, - { (char*) "CST6CDT" , 0x06B0B8 }, - { (char*) "Cuba" , 0x06B9CA }, - { (char*) "EET" , 0x06C346 }, - { (char*) "Egypt" , 0x06CAC6 }, - { (char*) "Eire" , 0x06D275 }, - { (char*) "EST" , 0x06E025 }, - { (char*) "EST5EDT" , 0x06E0A3 }, - { (char*) "Etc/GMT" , 0x06E9B5 }, - { (char*) "Etc/GMT+0" , 0x06EA33 }, - { (char*) "Etc/GMT+1" , 0x06EAB1 }, - { (char*) "Etc/GMT+10" , 0x06EB31 }, - { (char*) "Etc/GMT+11" , 0x06EBB2 }, - { (char*) "Etc/GMT+12" , 0x06EC33 }, - { (char*) "Etc/GMT+2" , 0x06ECB4 }, - { (char*) "Etc/GMT+3" , 0x06ED34 }, - { (char*) "Etc/GMT+4" , 0x06EDB4 }, - { (char*) "Etc/GMT+5" , 0x06EE34 }, - { (char*) "Etc/GMT+6" , 0x06EEB4 }, - { (char*) "Etc/GMT+7" , 0x06EF34 }, - { (char*) "Etc/GMT+8" , 0x06EFB4 }, - { (char*) "Etc/GMT+9" , 0x06F034 }, - { (char*) "Etc/GMT-0" , 0x06F0B4 }, - { (char*) "Etc/GMT-1" , 0x06F132 }, - { (char*) "Etc/GMT-10" , 0x06F1B3 }, - { (char*) "Etc/GMT-11" , 0x06F235 }, - { (char*) "Etc/GMT-12" , 0x06F2B7 }, - { (char*) "Etc/GMT-13" , 0x06F339 }, - { (char*) "Etc/GMT-14" , 0x06F3BB }, - { (char*) "Etc/GMT-2" , 0x06F43D }, - { (char*) "Etc/GMT-3" , 0x06F4BE }, - { (char*) "Etc/GMT-4" , 0x06F53F }, - { (char*) "Etc/GMT-5" , 0x06F5C0 }, - { (char*) "Etc/GMT-6" , 0x06F641 }, - { (char*) "Etc/GMT-7" , 0x06F6C2 }, - { (char*) "Etc/GMT-8" , 0x06F743 }, - { (char*) "Etc/GMT-9" , 0x06F7C4 }, - { (char*) "Etc/GMT0" , 0x06F845 }, - { (char*) "Etc/Greenwich" , 0x06F8C3 }, - { (char*) "Etc/UCT" , 0x06F941 }, - { (char*) "Etc/Universal" , 0x06F9BF }, - { (char*) "Etc/UTC" , 0x06FA3D }, - { (char*) "Etc/Zulu" , 0x06FABB }, - { (char*) "Europe/Amsterdam" , 0x06FB39 }, - { (char*) "Europe/Andorra" , 0x0706A3 }, - { (char*) "Europe/Astrakhan" , 0x070D7D }, - { (char*) "Europe/Athens" , 0x07121A }, - { (char*) "Europe/Belfast" , 0x071AFC }, - { (char*) "Europe/Belgrade" , 0x072958 }, - { (char*) "Europe/Berlin" , 0x0730E4 }, - { (char*) "Europe/Bratislava" , 0x0739FE }, - { (char*) "Europe/Brussels" , 0x074307 }, - { (char*) "Europe/Bucharest" , 0x074E88 }, - { (char*) "Europe/Budapest" , 0x07571C }, - { (char*) "Europe/Busingen" , 0x076068 }, - { (char*) "Europe/Chisinau" , 0x0767F1 }, - { (char*) "Europe/Copenhagen" , 0x077153 }, - { (char*) "Europe/Dublin" , 0x0779B8 }, - { (char*) "Europe/Gibraltar" , 0x078768 }, - { (char*) "Europe/Guernsey" , 0x079370 }, - { (char*) "Europe/Helsinki" , 0x07A210 }, - { (char*) "Europe/Isle_of_Man" , 0x07A988 }, - { (char*) "Europe/Istanbul" , 0x07B7D4 }, - { (char*) "Europe/Jersey" , 0x07BF6D }, - { (char*) "Europe/Kaliningrad" , 0x07CE0D }, - { (char*) "Europe/Kiev" , 0x07D402 }, - { (char*) "Europe/Kirov" , 0x07DC56 }, - { (char*) "Europe/Kyiv" , 0x07E0E3 }, - { (char*) "Europe/Lisbon" , 0x07E94B }, - { (char*) "Europe/Ljubljana" , 0x07F713 }, - { (char*) "Europe/London" , 0x07FE9F }, - { (char*) "Europe/Luxembourg" , 0x080CFB }, - { (char*) "Europe/Madrid" , 0x081889 }, - { (char*) "Europe/Malta" , 0x0822DB }, - { (char*) "Europe/Mariehamn" , 0x082D23 }, - { (char*) "Europe/Minsk" , 0x08349B }, - { (char*) "Europe/Monaco" , 0x0839C2 }, - { (char*) "Europe/Moscow" , 0x08454E }, - { (char*) "Europe/Nicosia" , 0x084B6D }, - { (char*) "Europe/Oslo" , 0x08534B }, - { (char*) "Europe/Paris" , 0x085C0B }, - { (char*) "Europe/Podgorica" , 0x0867A9 }, - { (char*) "Europe/Prague" , 0x086F35 }, - { (char*) "Europe/Riga" , 0x08783E }, - { (char*) "Europe/Rome" , 0x0880E0 }, - { (char*) "Europe/Samara" , 0x088B3D }, - { (char*) "Europe/San_Marino" , 0x089013 }, - { (char*) "Europe/Sarajevo" , 0x089A70 }, - { (char*) "Europe/Saratov" , 0x08A1FC }, - { (char*) "Europe/Simferopol" , 0x08A6A9 }, - { (char*) "Europe/Skopje" , 0x08AC78 }, - { (char*) "Europe/Sofia" , 0x08B404 }, - { (char*) "Europe/Stockholm" , 0x08BC2D }, - { (char*) "Europe/Tallinn" , 0x08C3AE }, - { (char*) "Europe/Tirane" , 0x08CC1E }, - { (char*) "Europe/Tiraspol" , 0x08D44E }, - { (char*) "Europe/Ulyanovsk" , 0x08DDB0 }, - { (char*) "Europe/Uzhgorod" , 0x08E2B3 }, - { (char*) "Europe/Vaduz" , 0x08EB07 }, - { (char*) "Europe/Vatican" , 0x08F273 }, - { (char*) "Europe/Vienna" , 0x08FCD0 }, - { (char*) "Europe/Vilnius" , 0x090574 }, - { (char*) "Europe/Volgograd" , 0x090DF2 }, - { (char*) "Europe/Warsaw" , 0x09128F }, - { (char*) "Europe/Zagreb" , 0x091CF9 }, - { (char*) "Europe/Zaporozhye" , 0x092485 }, - { (char*) "Europe/Zurich" , 0x092CD9 }, - { (char*) "Factory" , 0x09345A }, - { (char*) "GB" , 0x0934DA }, - { (char*) "GB-Eire" , 0x094336 }, - { (char*) "GMT" , 0x095192 }, - { (char*) "GMT+0" , 0x095210 }, - { (char*) "GMT-0" , 0x09528E }, - { (char*) "GMT0" , 0x09530C }, - { (char*) "Greenwich" , 0x09538A }, - { (char*) "Hongkong" , 0x095408 }, - { (char*) "HST" , 0x0958E5 }, - { (char*) "Iceland" , 0x095964 }, - { (char*) "Indian/Antananarivo" , 0x095A04 }, - { (char*) "Indian/Chagos" , 0x095AEB }, - { (char*) "Indian/Christmas" , 0x095BB0 }, - { (char*) "Indian/Cocos" , 0x095C53 }, - { (char*) "Indian/Comoro" , 0x095CFF }, - { (char*) "Indian/Kerguelen" , 0x095DA0 }, - { (char*) "Indian/Mahe" , 0x095E43 }, - { (char*) "Indian/Maldives" , 0x095EE6 }, - { (char*) "Indian/Mauritius" , 0x095FAB }, - { (char*) "Indian/Mayotte" , 0x09609A }, - { (char*) "Indian/Reunion" , 0x09613B }, - { (char*) "Iran" , 0x0961DE }, - { (char*) "Israel" , 0x0966CA }, - { (char*) "Jamaica" , 0x09702A }, - { (char*) "Japan" , 0x097218 }, - { (char*) "Kwajalein" , 0x097359 }, - { (char*) "Libya" , 0x097493 }, - { (char*) "MET" , 0x097710 }, - { (char*) "Mexico/BajaNorte" , 0x097F4A }, - { (char*) "Mexico/BajaSur" , 0x09889C }, - { (char*) "Mexico/General" , 0x098D10 }, - { (char*) "MST" , 0x0991E2 }, - { (char*) "MST7MDT" , 0x099260 }, - { (char*) "Navajo" , 0x099B72 }, - { (char*) "NZ" , 0x09A51A }, - { (char*) "NZ-CHAT" , 0x09AEAB }, - { (char*) "Pacific/Apia" , 0x09B6BD }, - { (char*) "Pacific/Auckland" , 0x09B91F }, - { (char*) "Pacific/Bougainville" , 0x09C2C8 }, - { (char*) "Pacific/Chatham" , 0x09C3DE }, - { (char*) "Pacific/Chuuk" , 0x09CBFF }, - { (char*) "Pacific/Easter" , 0x09CD19 }, - { (char*) "Pacific/Efate" , 0x09D5DD }, - { (char*) "Pacific/Enderbury" , 0x09D7F5 }, - { (char*) "Pacific/Fakaofo" , 0x09D8DD }, - { (char*) "Pacific/Fiji" , 0x09D9A3 }, - { (char*) "Pacific/Funafuti" , 0x09DBE3 }, - { (char*) "Pacific/Galapagos" , 0x09DC87 }, - { (char*) "Pacific/Gambier" , 0x09DD84 }, - { (char*) "Pacific/Guadalcanal" , 0x09DE35 }, - { (char*) "Pacific/Guam" , 0x09DED9 }, - { (char*) "Pacific/Honolulu" , 0x09E0D3 }, - { (char*) "Pacific/Johnston" , 0x09E22E }, - { (char*) "Pacific/Kanton" , 0x09E383 }, - { (char*) "Pacific/Kiritimati" , 0x09E47A }, - { (char*) "Pacific/Kosrae" , 0x09E572 }, - { (char*) "Pacific/Kwajalein" , 0x09E6D5 }, - { (char*) "Pacific/Majuro" , 0x09E818 }, - { (char*) "Pacific/Marquesas" , 0x09E969 }, - { (char*) "Pacific/Midway" , 0x09EA25 }, - { (char*) "Pacific/Nauru" , 0x09EB18 }, - { (char*) "Pacific/Niue" , 0x09EC12 }, - { (char*) "Pacific/Norfolk" , 0x09ECDB }, - { (char*) "Pacific/Noumea" , 0x09F049 }, - { (char*) "Pacific/Pago_Pago" , 0x09F177 }, - { (char*) "Pacific/Palau" , 0x09F232 }, - { (char*) "Pacific/Pitcairn" , 0x09F2E4 }, - { (char*) "Pacific/Pohnpei" , 0x09F3AC }, - { (char*) "Pacific/Ponape" , 0x09F4E7 }, - { (char*) "Pacific/Port_Moresby" , 0x09F58B }, - { (char*) "Pacific/Rarotonga" , 0x09F660 }, - { (char*) "Pacific/Saipan" , 0x09F8B9 }, - { (char*) "Pacific/Samoa" , 0x09FAA5 }, - { (char*) "Pacific/Tahiti" , 0x09FB60 }, - { (char*) "Pacific/Tarawa" , 0x09FC12 }, - { (char*) "Pacific/Tongatapu" , 0x09FCC5 }, - { (char*) "Pacific/Truk" , 0x09FE37 }, - { (char*) "Pacific/Wake" , 0x09FEEF }, - { (char*) "Pacific/Wallis" , 0x09FF9E }, - { (char*) "Pacific/Yap" , 0x0A0042 }, - { (char*) "Poland" , 0x0A00FA }, - { (char*) "Portugal" , 0x0A0B64 }, - { (char*) "PRC" , 0x0A1919 }, - { (char*) "PST8PDT" , 0x0A1B56 }, - { (char*) "ROC" , 0x0A2468 }, - { (char*) "ROK" , 0x0A276D }, - { (char*) "Singapore" , 0x0A29E2 }, - { (char*) "Turkey" , 0x0A2B5F }, - { (char*) "UCT" , 0x0A32F8 }, - { (char*) "Universal" , 0x0A3376 }, - { (char*) "US/Alaska" , 0x0A33F4 }, - { (char*) "US/Aleutian" , 0x0A3D43 }, - { (char*) "US/Arizona" , 0x0A4683 }, - { (char*) "US/Central" , 0x0A47F7 }, - { (char*) "US/East-Indiana" , 0x0A560B }, - { (char*) "US/Eastern" , 0x0A5CA9 }, - { (char*) "US/Hawaii" , 0x0A6A95 }, - { (char*) "US/Indiana-Starke" , 0x0A6BEA }, - { (char*) "US/Michigan" , 0x0A7582 }, - { (char*) "US/Mountain" , 0x0A7E44 }, - { (char*) "US/Pacific" , 0x0A87EC }, - { (char*) "US/Samoa" , 0x0A931C }, - { (char*) "UTC" , 0x0A93D7 }, - { (char*) "W-SU" , 0x0A9455 }, - { (char*) "WET" , 0x0A9A60 }, - { (char*) "Zulu" , 0x0AA1DD }, + { (char*) "America/Barbados" , 0x00C610 }, + { (char*) "America/Belem" , 0x00C7D0 }, + { (char*) "America/Belize" , 0x00CA20 }, + { (char*) "America/Blanc-Sablon" , 0x00D07A }, + { (char*) "America/Boa_Vista" , 0x00D1CC }, + { (char*) "America/Bogota" , 0x00D449 }, + { (char*) "America/Boise" , 0x00D53D }, + { (char*) "America/Buenos_Aires" , 0x00DED3 }, + { (char*) "America/Cambridge_Bay" , 0x00E305 }, + { (char*) "America/Campo_Grande" , 0x00EBF3 }, + { (char*) "America/Cancun" , 0x00F1A7 }, + { (char*) "America/Caracas" , 0x00F501 }, + { (char*) "America/Catamarca" , 0x00F607 }, + { (char*) "America/Cayenne" , 0x00FA39 }, + { (char*) "America/Cayman" , 0x00FAFD }, + { (char*) "America/Chicago" , 0x00FBBF }, + { (char*) "America/Chihuahua" , 0x0109E7 }, + { (char*) "America/Ciudad_Juarez" , 0x010E57 }, + { (char*) "America/Coral_Harbour" , 0x011481 }, + { (char*) "America/Cordoba" , 0x011543 }, + { (char*) "America/Costa_Rica" , 0x011975 }, + { (char*) "America/Creston" , 0x011ABD }, + { (char*) "America/Cuiaba" , 0x011BAB }, + { (char*) "America/Curacao" , 0x01213C }, + { (char*) "America/Danmarkshavn" , 0x012202 }, + { (char*) "America/Dawson" , 0x0124E2 }, + { (char*) "America/Dawson_Creek" , 0x012B4E }, + { (char*) "America/Denver" , 0x012F94 }, + { (char*) "America/Detroit" , 0x013951 }, + { (char*) "America/Dominica" , 0x01422C }, + { (char*) "America/Edmonton" , 0x0142CC }, + { (char*) "America/Eirunepe" , 0x014C11 }, + { (char*) "America/El_Salvador" , 0x014EAE }, + { (char*) "America/Ensenada" , 0x014F9A }, + { (char*) "America/Fort_Nelson" , 0x0158EC }, + { (char*) "America/Fort_Wayne" , 0x0161CC }, + { (char*) "America/Fortaleza" , 0x01686A }, + { (char*) "America/Glace_Bay" , 0x016B5A }, + { (char*) "America/Godthab" , 0x017411 }, + { (char*) "America/Goose_Bay" , 0x0179C5 }, + { (char*) "America/Grand_Turk" , 0x01867B }, + { (char*) "America/Grenada" , 0x018DB1 }, + { (char*) "America/Guadeloupe" , 0x018E51 }, + { (char*) "America/Guatemala" , 0x018EF1 }, + { (char*) "America/Guayaquil" , 0x019015 }, + { (char*) "America/Guyana" , 0x01911B }, + { (char*) "America/Halifax" , 0x01921F }, + { (char*) "America/Havana" , 0x019FA9 }, + { (char*) "America/Hermosillo" , 0x01A925 }, + { (char*) "America/Indiana/Indianapolis" , 0x01AAFF }, + { (char*) "America/Indiana/Knox" , 0x01B1B6 }, + { (char*) "America/Indiana/Marengo" , 0x01BB63 }, + { (char*) "America/Indiana/Petersburg" , 0x01C250 }, + { (char*) "America/Indiana/Tell_City" , 0x01C9EF }, + { (char*) "America/Indiana/Vevay" , 0x01D0B3 }, + { (char*) "America/Indiana/Vincennes" , 0x01D66F }, + { (char*) "America/Indiana/Winamac" , 0x01DD45 }, + { (char*) "America/Indianapolis" , 0x01E469 }, + { (char*) "America/Inuvik" , 0x01EB07 }, + { (char*) "America/Iqaluit" , 0x01F341 }, + { (char*) "America/Jamaica" , 0x01FC00 }, + { (char*) "America/Jujuy" , 0x01FDEE }, + { (char*) "America/Juneau" , 0x020204 }, + { (char*) "America/Kentucky/Louisville" , 0x020B55 }, + { (char*) "America/Kentucky/Monticello" , 0x021663 }, + { (char*) "America/Knox_IN" , 0x021FC3 }, + { (char*) "America/Kralendijk" , 0x02295B }, + { (char*) "America/La_Paz" , 0x022A5D }, + { (char*) "America/Lima" , 0x022B43 }, + { (char*) "America/Los_Angeles" , 0x022CD7 }, + { (char*) "America/Louisville" , 0x02380E }, + { (char*) "America/Lower_Princes" , 0x0242FE }, + { (char*) "America/Maceio" , 0x024400 }, + { (char*) "America/Managua" , 0x0246F6 }, + { (char*) "America/Manaus" , 0x0248B0 }, + { (char*) "America/Marigot" , 0x024B19 }, + { (char*) "America/Martinique" , 0x024C1B }, + { (char*) "America/Matamoros" , 0x024D0F }, + { (char*) "America/Mazatlan" , 0x0252D1 }, + { (char*) "America/Mendoza" , 0x025777 }, + { (char*) "America/Menominee" , 0x025BA9 }, + { (char*) "America/Merida" , 0x0264B6 }, + { (char*) "America/Metlakatla" , 0x0268BF }, + { (char*) "America/Mexico_City" , 0x026E71 }, + { (char*) "America/Miquelon" , 0x027351 }, + { (char*) "America/Moncton" , 0x0279D1 }, + { (char*) "America/Monterrey" , 0x028647 }, + { (char*) "America/Montevideo" , 0x028A5D }, + { (char*) "America/Montreal" , 0x029041 }, + { (char*) "America/Montserrat" , 0x029DF3 }, + { (char*) "America/Nassau" , 0x029E93 }, + { (char*) "America/New_York" , 0x02A7F3 }, + { (char*) "America/Nipigon" , 0x02B5F3 }, + { (char*) "America/Nome" , 0x02C3A5 }, + { (char*) "America/Noronha" , 0x02CCFD }, + { (char*) "America/North_Dakota/Beulah" , 0x02CFD7 }, + { (char*) "America/North_Dakota/Center" , 0x02D954 }, + { (char*) "America/North_Dakota/New_Salem" , 0x02E2D1 }, + { (char*) "America/Nuuk" , 0x02EC54 }, + { (char*) "America/Ojinaga" , 0x02F21E }, + { (char*) "America/Panama" , 0x02F83A }, + { (char*) "America/Pangnirtung" , 0x02F8FC }, + { (char*) "America/Paramaribo" , 0x0301A2 }, + { (char*) "America/Phoenix" , 0x0302A6 }, + { (char*) "America/Port-au-Prince" , 0x030437 }, + { (char*) "America/Port_of_Spain" , 0x0309DD }, + { (char*) "America/Porto_Acre" , 0x030A7D }, + { (char*) "America/Porto_Velho" , 0x030CEF }, + { (char*) "America/Puerto_Rico" , 0x030F35 }, + { (char*) "America/Punta_Arenas" , 0x031037 }, + { (char*) "America/Rainy_River" , 0x0317C5 }, + { (char*) "America/Rankin_Inlet" , 0x032305 }, + { (char*) "America/Recife" , 0x032B39 }, + { (char*) "America/Regina" , 0x032E0D }, + { (char*) "America/Resolute" , 0x033202 }, + { (char*) "America/Rio_Branco" , 0x033A37 }, + { (char*) "America/Rosario" , 0x033CAD }, + { (char*) "America/Santa_Isabel" , 0x0340DF }, + { (char*) "America/Santarem" , 0x034A31 }, + { (char*) "America/Santiago" , 0x034C94 }, + { (char*) "America/Santo_Domingo" , 0x035685 }, + { (char*) "America/Sao_Paulo" , 0x03585B }, + { (char*) "America/Scoresbysund" , 0x035E33 }, + { (char*) "America/Shiprock" , 0x0365CA }, + { (char*) "America/Sitka" , 0x036F72 }, + { (char*) "America/St_Barthelemy" , 0x0378AA }, + { (char*) "America/St_Johns" , 0x0379AC }, + { (char*) "America/St_Kitts" , 0x038821 }, + { (char*) "America/St_Lucia" , 0x0388C1 }, + { (char*) "America/St_Thomas" , 0x038983 }, + { (char*) "America/St_Vincent" , 0x038A23 }, + { (char*) "America/Swift_Current" , 0x038AE5 }, + { (char*) "America/Tegucigalpa" , 0x038D33 }, + { (char*) "America/Thule" , 0x038E3B }, + { (char*) "America/Thunder_Bay" , 0x039433 }, + { (char*) "America/Tijuana" , 0x03A1E5 }, + { (char*) "America/Toronto" , 0x03AB46 }, + { (char*) "America/Tortola" , 0x03B915 }, + { (char*) "America/Vancouver" , 0x03B9B5 }, + { (char*) "America/Virgin" , 0x03C526 }, + { (char*) "America/Whitehorse" , 0x03C628 }, + { (char*) "America/Winnipeg" , 0x03CC94 }, + { (char*) "America/Yakutat" , 0x03D7F1 }, + { (char*) "America/Yellowknife" , 0x03E10E }, + { (char*) "Antarctica/Casey" , 0x03E989 }, + { (char*) "Antarctica/Davis" , 0x03EB0C }, + { (char*) "Antarctica/DumontDUrville" , 0x03EC38 }, + { (char*) "Antarctica/Macquarie" , 0x03ED08 }, + { (char*) "Antarctica/Mawson" , 0x03F5F8 }, + { (char*) "Antarctica/McMurdo" , 0x03F6C3 }, + { (char*) "Antarctica/Palmer" , 0x03FEBE }, + { (char*) "Antarctica/Rothera" , 0x04044C }, + { (char*) "Antarctica/South_Pole" , 0x0404F5 }, + { (char*) "Antarctica/Syowa" , 0x040E86 }, + { (char*) "Antarctica/Troll" , 0x040F2E }, + { (char*) "Antarctica/Vostok" , 0x0413BB }, + { (char*) "Arctic/Longyearbyen" , 0x041464 }, + { (char*) "Asia/Aden" , 0x041D6A }, + { (char*) "Asia/Almaty" , 0x041E0D }, + { (char*) "Asia/Amman" , 0x042207 }, + { (char*) "Asia/Anadyr" , 0x0427AC }, + { (char*) "Asia/Aqtau" , 0x042C61 }, + { (char*) "Asia/Aqtobe" , 0x04304B }, + { (char*) "Asia/Ashgabat" , 0x043449 }, + { (char*) "Asia/Ashkhabad" , 0x0436B2 }, + { (char*) "Asia/Atyrau" , 0x04391B }, + { (char*) "Asia/Baghdad" , 0x043D0D }, + { (char*) "Asia/Bahrain" , 0x0440E2 }, + { (char*) "Asia/Baku" , 0x0441CD }, + { (char*) "Asia/Bangkok" , 0x044696 }, + { (char*) "Asia/Barnaul" , 0x04475B }, + { (char*) "Asia/Beirut" , 0x044C2C }, + { (char*) "Asia/Bishkek" , 0x0454A2 }, + { (char*) "Asia/Brunei" , 0x045877 }, + { (char*) "Asia/Calcutta" , 0x045940 }, + { (char*) "Asia/Chita" , 0x045A69 }, + { (char*) "Asia/Choibalsan" , 0x045F40 }, + { (char*) "Asia/Chongqing" , 0x046305 }, + { (char*) "Asia/Chungking" , 0x046542 }, + { (char*) "Asia/Colombo" , 0x04677F }, + { (char*) "Asia/Dacca" , 0x0468F1 }, + { (char*) "Asia/Damascus" , 0x046A40 }, + { (char*) "Asia/Dhaka" , 0x04719D }, + { (char*) "Asia/Dili" , 0x0472EC }, + { (char*) "Asia/Dubai" , 0x0473CD }, + { (char*) "Asia/Dushanbe" , 0x047470 }, + { (char*) "Asia/Famagusta" , 0x0476BD }, + { (char*) "Asia/Gaza" , 0x047EC4 }, + { (char*) "Asia/Harbin" , 0x048850 }, + { (char*) "Asia/Hebron" , 0x048A8D }, + { (char*) "Asia/Ho_Chi_Minh" , 0x049434 }, + { (char*) "Asia/Hong_Kong" , 0x049591 }, + { (char*) "Asia/Hovd" , 0x049A6E }, + { (char*) "Asia/Irkutsk" , 0x049E12 }, + { (char*) "Asia/Istanbul" , 0x04A305 }, + { (char*) "Asia/Jakarta" , 0x04AA9E }, + { (char*) "Asia/Jayapura" , 0x04AC36 }, + { (char*) "Asia/Jerusalem" , 0x04AD55 }, + { (char*) "Asia/Kabul" , 0x04B6B5 }, + { (char*) "Asia/Kamchatka" , 0x04B783 }, + { (char*) "Asia/Karachi" , 0x04BC21 }, + { (char*) "Asia/Kashgar" , 0x04BDA8 }, + { (char*) "Asia/Kathmandu" , 0x04BE4B }, + { (char*) "Asia/Katmandu" , 0x04BF1D }, + { (char*) "Asia/Khandyga" , 0x04BFEF }, + { (char*) "Asia/Kolkata" , 0x04C502 }, + { (char*) "Asia/Krasnoyarsk" , 0x04C62B }, + { (char*) "Asia/Kuala_Lumpur" , 0x04CAF9 }, + { (char*) "Asia/Kuching" , 0x04CCAA }, + { (char*) "Asia/Kuwait" , 0x04CE99 }, + { (char*) "Asia/Macao" , 0x04CF3C }, + { (char*) "Asia/Macau" , 0x04D413 }, + { (char*) "Asia/Magadan" , 0x04D8EA }, + { (char*) "Asia/Makassar" , 0x04DDBE }, + { (char*) "Asia/Manila" , 0x04DF11 }, + { (char*) "Asia/Muscat" , 0x04E065 }, + { (char*) "Asia/Nicosia" , 0x04E108 }, + { (char*) "Asia/Novokuznetsk" , 0x04E8F9 }, + { (char*) "Asia/Novosibirsk" , 0x04ED95 }, + { (char*) "Asia/Omsk" , 0x04F26C }, + { (char*) "Asia/Oral" , 0x04F72E }, + { (char*) "Asia/Phnom_Penh" , 0x04FB28 }, + { (char*) "Asia/Pontianak" , 0x04FC4D }, + { (char*) "Asia/Pyongyang" , 0x04FDD0 }, + { (char*) "Asia/Qatar" , 0x04FEC9 }, + { (char*) "Asia/Qostanay" , 0x04FF8E }, + { (char*) "Asia/Qyzylorda" , 0x050399 }, + { (char*) "Asia/Rangoon" , 0x0507B5 }, + { (char*) "Asia/Riyadh" , 0x0508BF }, + { (char*) "Asia/Saigon" , 0x050962 }, + { (char*) "Asia/Sakhalin" , 0x050ABF }, + { (char*) "Asia/Samarkand" , 0x050F87 }, + { (char*) "Asia/Seoul" , 0x0511D7 }, + { (char*) "Asia/Shanghai" , 0x05144C }, + { (char*) "Asia/Singapore" , 0x051695 }, + { (char*) "Asia/Srednekolymsk" , 0x051832 }, + { (char*) "Asia/Taipei" , 0x051D0A }, + { (char*) "Asia/Tashkent" , 0x05200F }, + { (char*) "Asia/Tbilisi" , 0x05226D }, + { (char*) "Asia/Tehran" , 0x052676 }, + { (char*) "Asia/Tel_Aviv" , 0x052B62 }, + { (char*) "Asia/Thimbu" , 0x0534C2 }, + { (char*) "Asia/Thimphu" , 0x05358B }, + { (char*) "Asia/Tokyo" , 0x053654 }, + { (char*) "Asia/Tomsk" , 0x053795 }, + { (char*) "Asia/Ujung_Pandang" , 0x053C66 }, + { (char*) "Asia/Ulaanbaatar" , 0x053D70 }, + { (char*) "Asia/Ulan_Bator" , 0x0540FE }, + { (char*) "Asia/Urumqi" , 0x054477 }, + { (char*) "Asia/Ust-Nera" , 0x054527 }, + { (char*) "Asia/Vientiane" , 0x054A1D }, + { (char*) "Asia/Vladivostok" , 0x054B5E }, + { (char*) "Asia/Yakutsk" , 0x055027 }, + { (char*) "Asia/Yangon" , 0x0554EF }, + { (char*) "Asia/Yekaterinburg" , 0x0555F9 }, + { (char*) "Asia/Yerevan" , 0x055AE0 }, + { (char*) "Atlantic/Azores" , 0x055F5D }, + { (char*) "Atlantic/Bermuda" , 0x056D19 }, + { (char*) "Atlantic/Canary" , 0x057681 }, + { (char*) "Atlantic/Cape_Verde" , 0x057E04 }, + { (char*) "Atlantic/Faeroe" , 0x057F10 }, + { (char*) "Atlantic/Faroe" , 0x058633 }, + { (char*) "Atlantic/Jan_Mayen" , 0x058D56 }, + { (char*) "Atlantic/Madeira" , 0x05965C }, + { (char*) "Atlantic/Reykjavik" , 0x05A426 }, + { (char*) "Atlantic/South_Georgia" , 0x05A8BC }, + { (char*) "Atlantic/St_Helena" , 0x05A95E }, + { (char*) "Atlantic/Stanley" , 0x05AA20 }, + { (char*) "Australia/ACT" , 0x05AEDC }, + { (char*) "Australia/Adelaide" , 0x05B776 }, + { (char*) "Australia/Brisbane" , 0x05C031 }, + { (char*) "Australia/Broken_Hill" , 0x05C1F7 }, + { (char*) "Australia/Canberra" , 0x05CAD4 }, + { (char*) "Australia/Currie" , 0x05D36E }, + { (char*) "Australia/Darwin" , 0x05DCB0 }, + { (char*) "Australia/Eucla" , 0x05DE13 }, + { (char*) "Australia/Hobart" , 0x05E000 }, + { (char*) "Australia/LHI" , 0x05E94A }, + { (char*) "Australia/Lindeman" , 0x05F08C }, + { (char*) "Australia/Lord_Howe" , 0x05F292 }, + { (char*) "Australia/Melbourne" , 0x05F9E4 }, + { (char*) "Australia/North" , 0x060286 }, + { (char*) "Australia/NSW" , 0x0603D7 }, + { (char*) "Australia/Perth" , 0x060C71 }, + { (char*) "Australia/Queensland" , 0x060E59 }, + { (char*) "Australia/South" , 0x061008 }, + { (char*) "Australia/Sydney" , 0x0618B4 }, + { (char*) "Australia/Tasmania" , 0x06216A }, + { (char*) "Australia/Victoria" , 0x062AAC }, + { (char*) "Australia/West" , 0x063346 }, + { (char*) "Australia/Yancowinna" , 0x063510 }, + { (char*) "Brazil/Acre" , 0x063DD1 }, + { (char*) "Brazil/DeNoronha" , 0x064043 }, + { (char*) "Brazil/East" , 0x06430D }, + { (char*) "Brazil/West" , 0x0648AF }, + { (char*) "Canada/Atlantic" , 0x064B09 }, + { (char*) "Canada/Central" , 0x065875 }, + { (char*) "Canada/Eastern" , 0x0663B5 }, + { (char*) "Canada/Mountain" , 0x067167 }, + { (char*) "Canada/Newfoundland" , 0x067A8F }, + { (char*) "Canada/Pacific" , 0x0688E2 }, + { (char*) "Canada/Saskatchewan" , 0x06943A }, + { (char*) "Canada/Yukon" , 0x06981A }, + { (char*) "CET" , 0x069E74 }, + { (char*) "Chile/Continental" , 0x06A6AE }, + { (char*) "Chile/EasterIsland" , 0x06B08D }, + { (char*) "CST6CDT" , 0x06B944 }, + { (char*) "Cuba" , 0x06C256 }, + { (char*) "EET" , 0x06CBD2 }, + { (char*) "Egypt" , 0x06D352 }, + { (char*) "Eire" , 0x06DB01 }, + { (char*) "EST" , 0x06E8B1 }, + { (char*) "EST5EDT" , 0x06E92F }, + { (char*) "Etc/GMT" , 0x06F241 }, + { (char*) "Etc/GMT+0" , 0x06F2BF }, + { (char*) "Etc/GMT+1" , 0x06F33D }, + { (char*) "Etc/GMT+10" , 0x06F3BD }, + { (char*) "Etc/GMT+11" , 0x06F43E }, + { (char*) "Etc/GMT+12" , 0x06F4BF }, + { (char*) "Etc/GMT+2" , 0x06F540 }, + { (char*) "Etc/GMT+3" , 0x06F5C0 }, + { (char*) "Etc/GMT+4" , 0x06F640 }, + { (char*) "Etc/GMT+5" , 0x06F6C0 }, + { (char*) "Etc/GMT+6" , 0x06F740 }, + { (char*) "Etc/GMT+7" , 0x06F7C0 }, + { (char*) "Etc/GMT+8" , 0x06F840 }, + { (char*) "Etc/GMT+9" , 0x06F8C0 }, + { (char*) "Etc/GMT-0" , 0x06F940 }, + { (char*) "Etc/GMT-1" , 0x06F9BE }, + { (char*) "Etc/GMT-10" , 0x06FA3F }, + { (char*) "Etc/GMT-11" , 0x06FAC1 }, + { (char*) "Etc/GMT-12" , 0x06FB43 }, + { (char*) "Etc/GMT-13" , 0x06FBC5 }, + { (char*) "Etc/GMT-14" , 0x06FC47 }, + { (char*) "Etc/GMT-2" , 0x06FCC9 }, + { (char*) "Etc/GMT-3" , 0x06FD4A }, + { (char*) "Etc/GMT-4" , 0x06FDCB }, + { (char*) "Etc/GMT-5" , 0x06FE4C }, + { (char*) "Etc/GMT-6" , 0x06FECD }, + { (char*) "Etc/GMT-7" , 0x06FF4E }, + { (char*) "Etc/GMT-8" , 0x06FFCF }, + { (char*) "Etc/GMT-9" , 0x070050 }, + { (char*) "Etc/GMT0" , 0x0700D1 }, + { (char*) "Etc/Greenwich" , 0x07014F }, + { (char*) "Etc/UCT" , 0x0701CD }, + { (char*) "Etc/Universal" , 0x07024B }, + { (char*) "Etc/UTC" , 0x0702C9 }, + { (char*) "Etc/Zulu" , 0x070347 }, + { (char*) "Europe/Amsterdam" , 0x0703C5 }, + { (char*) "Europe/Andorra" , 0x070F2F }, + { (char*) "Europe/Astrakhan" , 0x071609 }, + { (char*) "Europe/Athens" , 0x071AA6 }, + { (char*) "Europe/Belfast" , 0x072388 }, + { (char*) "Europe/Belgrade" , 0x0731E4 }, + { (char*) "Europe/Berlin" , 0x073970 }, + { (char*) "Europe/Bratislava" , 0x07428A }, + { (char*) "Europe/Brussels" , 0x074B93 }, + { (char*) "Europe/Bucharest" , 0x075714 }, + { (char*) "Europe/Budapest" , 0x075FA8 }, + { (char*) "Europe/Busingen" , 0x0768F4 }, + { (char*) "Europe/Chisinau" , 0x07707D }, + { (char*) "Europe/Copenhagen" , 0x0779DF }, + { (char*) "Europe/Dublin" , 0x078244 }, + { (char*) "Europe/Gibraltar" , 0x078FF4 }, + { (char*) "Europe/Guernsey" , 0x079BFC }, + { (char*) "Europe/Helsinki" , 0x07AA9C }, + { (char*) "Europe/Isle_of_Man" , 0x07B214 }, + { (char*) "Europe/Istanbul" , 0x07C060 }, + { (char*) "Europe/Jersey" , 0x07C7F9 }, + { (char*) "Europe/Kaliningrad" , 0x07D699 }, + { (char*) "Europe/Kiev" , 0x07DC8E }, + { (char*) "Europe/Kirov" , 0x07E4E2 }, + { (char*) "Europe/Kyiv" , 0x07E96F }, + { (char*) "Europe/Lisbon" , 0x07F1D7 }, + { (char*) "Europe/Ljubljana" , 0x07FF9F }, + { (char*) "Europe/London" , 0x08072B }, + { (char*) "Europe/Luxembourg" , 0x081587 }, + { (char*) "Europe/Madrid" , 0x082115 }, + { (char*) "Europe/Malta" , 0x082B67 }, + { (char*) "Europe/Mariehamn" , 0x0835AF }, + { (char*) "Europe/Minsk" , 0x083D27 }, + { (char*) "Europe/Monaco" , 0x08424E }, + { (char*) "Europe/Moscow" , 0x084DDA }, + { (char*) "Europe/Nicosia" , 0x0853F9 }, + { (char*) "Europe/Oslo" , 0x085BD7 }, + { (char*) "Europe/Paris" , 0x086497 }, + { (char*) "Europe/Podgorica" , 0x087035 }, + { (char*) "Europe/Prague" , 0x0877C1 }, + { (char*) "Europe/Riga" , 0x0880CA }, + { (char*) "Europe/Rome" , 0x08896C }, + { (char*) "Europe/Samara" , 0x0893C9 }, + { (char*) "Europe/San_Marino" , 0x08989F }, + { (char*) "Europe/Sarajevo" , 0x08A2FC }, + { (char*) "Europe/Saratov" , 0x08AA88 }, + { (char*) "Europe/Simferopol" , 0x08AF35 }, + { (char*) "Europe/Skopje" , 0x08B504 }, + { (char*) "Europe/Sofia" , 0x08BC90 }, + { (char*) "Europe/Stockholm" , 0x08C4B9 }, + { (char*) "Europe/Tallinn" , 0x08CC3A }, + { (char*) "Europe/Tirane" , 0x08D4AA }, + { (char*) "Europe/Tiraspol" , 0x08DCDA }, + { (char*) "Europe/Ulyanovsk" , 0x08E63C }, + { (char*) "Europe/Uzhgorod" , 0x08EB3F }, + { (char*) "Europe/Vaduz" , 0x08F393 }, + { (char*) "Europe/Vatican" , 0x08FAFF }, + { (char*) "Europe/Vienna" , 0x09055C }, + { (char*) "Europe/Vilnius" , 0x090E00 }, + { (char*) "Europe/Volgograd" , 0x09167E }, + { (char*) "Europe/Warsaw" , 0x091B1B }, + { (char*) "Europe/Zagreb" , 0x092585 }, + { (char*) "Europe/Zaporozhye" , 0x092D11 }, + { (char*) "Europe/Zurich" , 0x093565 }, + { (char*) "Factory" , 0x093CE6 }, + { (char*) "GB" , 0x093D66 }, + { (char*) "GB-Eire" , 0x094BC2 }, + { (char*) "GMT" , 0x095A1E }, + { (char*) "GMT+0" , 0x095A9C }, + { (char*) "GMT-0" , 0x095B1A }, + { (char*) "GMT0" , 0x095B98 }, + { (char*) "Greenwich" , 0x095C16 }, + { (char*) "Hongkong" , 0x095C94 }, + { (char*) "HST" , 0x096171 }, + { (char*) "Iceland" , 0x0961F0 }, + { (char*) "Indian/Antananarivo" , 0x096290 }, + { (char*) "Indian/Chagos" , 0x096377 }, + { (char*) "Indian/Christmas" , 0x09643C }, + { (char*) "Indian/Cocos" , 0x0964DF }, + { (char*) "Indian/Comoro" , 0x09658B }, + { (char*) "Indian/Kerguelen" , 0x09662C }, + { (char*) "Indian/Mahe" , 0x0966CF }, + { (char*) "Indian/Maldives" , 0x096772 }, + { (char*) "Indian/Mauritius" , 0x096837 }, + { (char*) "Indian/Mayotte" , 0x096926 }, + { (char*) "Indian/Reunion" , 0x0969C7 }, + { (char*) "Iran" , 0x096A6A }, + { (char*) "Israel" , 0x096F56 }, + { (char*) "Jamaica" , 0x0978B6 }, + { (char*) "Japan" , 0x097AA4 }, + { (char*) "Kwajalein" , 0x097BE5 }, + { (char*) "Libya" , 0x097D1F }, + { (char*) "MET" , 0x097F9C }, + { (char*) "Mexico/BajaNorte" , 0x0987D6 }, + { (char*) "Mexico/BajaSur" , 0x099128 }, + { (char*) "Mexico/General" , 0x09959C }, + { (char*) "MST" , 0x099A6E }, + { (char*) "MST7MDT" , 0x099AEC }, + { (char*) "Navajo" , 0x09A3FE }, + { (char*) "NZ" , 0x09ADA6 }, + { (char*) "NZ-CHAT" , 0x09B737 }, + { (char*) "Pacific/Apia" , 0x09BF49 }, + { (char*) "Pacific/Auckland" , 0x09C1AB }, + { (char*) "Pacific/Bougainville" , 0x09CB54 }, + { (char*) "Pacific/Chatham" , 0x09CC6A }, + { (char*) "Pacific/Chuuk" , 0x09D48B }, + { (char*) "Pacific/Easter" , 0x09D5A5 }, + { (char*) "Pacific/Efate" , 0x09DE69 }, + { (char*) "Pacific/Enderbury" , 0x09E081 }, + { (char*) "Pacific/Fakaofo" , 0x09E169 }, + { (char*) "Pacific/Fiji" , 0x09E22F }, + { (char*) "Pacific/Funafuti" , 0x09E46F }, + { (char*) "Pacific/Galapagos" , 0x09E513 }, + { (char*) "Pacific/Gambier" , 0x09E610 }, + { (char*) "Pacific/Guadalcanal" , 0x09E6C1 }, + { (char*) "Pacific/Guam" , 0x09E765 }, + { (char*) "Pacific/Honolulu" , 0x09E95F }, + { (char*) "Pacific/Johnston" , 0x09EABA }, + { (char*) "Pacific/Kanton" , 0x09EC0F }, + { (char*) "Pacific/Kiritimati" , 0x09ED06 }, + { (char*) "Pacific/Kosrae" , 0x09EDFE }, + { (char*) "Pacific/Kwajalein" , 0x09EF61 }, + { (char*) "Pacific/Majuro" , 0x09F0A4 }, + { (char*) "Pacific/Marquesas" , 0x09F1F5 }, + { (char*) "Pacific/Midway" , 0x09F2B1 }, + { (char*) "Pacific/Nauru" , 0x09F3A4 }, + { (char*) "Pacific/Niue" , 0x09F49E }, + { (char*) "Pacific/Norfolk" , 0x09F567 }, + { (char*) "Pacific/Noumea" , 0x09F8D5 }, + { (char*) "Pacific/Pago_Pago" , 0x09FA03 }, + { (char*) "Pacific/Palau" , 0x09FABE }, + { (char*) "Pacific/Pitcairn" , 0x09FB70 }, + { (char*) "Pacific/Pohnpei" , 0x09FC38 }, + { (char*) "Pacific/Ponape" , 0x09FD73 }, + { (char*) "Pacific/Port_Moresby" , 0x09FE17 }, + { (char*) "Pacific/Rarotonga" , 0x09FEEC }, + { (char*) "Pacific/Saipan" , 0x0A0145 }, + { (char*) "Pacific/Samoa" , 0x0A0331 }, + { (char*) "Pacific/Tahiti" , 0x0A03EC }, + { (char*) "Pacific/Tarawa" , 0x0A049E }, + { (char*) "Pacific/Tongatapu" , 0x0A0551 }, + { (char*) "Pacific/Truk" , 0x0A06C3 }, + { (char*) "Pacific/Wake" , 0x0A077B }, + { (char*) "Pacific/Wallis" , 0x0A082A }, + { (char*) "Pacific/Yap" , 0x0A08CE }, + { (char*) "Poland" , 0x0A0986 }, + { (char*) "Portugal" , 0x0A13F0 }, + { (char*) "PRC" , 0x0A21A5 }, + { (char*) "PST8PDT" , 0x0A23E2 }, + { (char*) "ROC" , 0x0A2CF4 }, + { (char*) "ROK" , 0x0A2FF9 }, + { (char*) "Singapore" , 0x0A326E }, + { (char*) "Turkey" , 0x0A340B }, + { (char*) "UCT" , 0x0A3BA4 }, + { (char*) "Universal" , 0x0A3C22 }, + { (char*) "US/Alaska" , 0x0A3CA0 }, + { (char*) "US/Aleutian" , 0x0A45EF }, + { (char*) "US/Arizona" , 0x0A4F2F }, + { (char*) "US/Central" , 0x0A50A3 }, + { (char*) "US/East-Indiana" , 0x0A5EB7 }, + { (char*) "US/Eastern" , 0x0A6555 }, + { (char*) "US/Hawaii" , 0x0A7341 }, + { (char*) "US/Indiana-Starke" , 0x0A7496 }, + { (char*) "US/Michigan" , 0x0A7E2E }, + { (char*) "US/Mountain" , 0x0A86F0 }, + { (char*) "US/Pacific" , 0x0A9098 }, + { (char*) "US/Samoa" , 0x0A9BC8 }, + { (char*) "UTC" , 0x0A9C83 }, + { (char*) "W-SU" , 0x0A9D01 }, + { (char*) "WET" , 0x0AA30C }, + { (char*) "Zulu" , 0x0AAA89 }, }; -const unsigned char timelib_timezone_db_data_builtin[696923] = { +const unsigned char timelib_timezone_db_data_builtin[699143] = { /* Africa/Abidjan */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -27515,9 +27663,8 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x50, 0x53, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x43, 0x53, 0x54, 0x36, 0x0A, -0x00, 0xA9, 0x11, 0x40, 0x00, 0x72, 0x0F, 0x38, 0x00, 0x00, 0x00, 0x20, 0x43, 0x65, 0x6E, 0x74, -0x72, 0x61, 0x6C, 0x20, 0x54, 0x69, 0x6D, 0x65, 0x20, 0x2D, 0x20, 0x42, 0x61, 0x68, 0x69, 0x61, -0x20, 0x64, 0x65, 0x20, 0x42, 0x61, 0x6E, 0x64, 0x65, 0x72, 0x61, 0x73, +0x00, 0xA9, 0x11, 0x40, 0x00, 0x72, 0x0F, 0x38, 0x00, 0x00, 0x00, 0x11, 0x42, 0x61, 0x68, 0x69, +0x61, 0x20, 0x64, 0x65, 0x20, 0x42, 0x61, 0x6E, 0x64, 0x65, 0x72, 0x61, 0x73, /* America/Barbados */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -27764,7 +27911,7 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x4F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x80, 0x00, 0x00, 0x00, -0x98, 0x58, 0x55, 0x70, 0x2A, 0x03, 0x73, 0x50, 0x2B, 0xBE, 0x5D, 0x40, 0x01, 0x03, 0x02, 0x03, +0x98, 0x58, 0x55, 0x70, 0x2A, 0x03, 0x73, 0x50, 0x2B, 0x74, 0x89, 0x40, 0x01, 0x03, 0x02, 0x03, 0xFF, 0xFF, 0xBA, 0x90, 0x00, 0x00, 0xFF, 0xFF, 0xBA, 0x90, 0x00, 0x04, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x08, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x34, 0x00, 0x2D, 0x30, 0x35, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, @@ -27772,7 +27919,7 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0x5E, 0x9C, 0x34, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0x98, 0x58, 0x55, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x03, 0x73, 0x50, 0x00, 0x00, 0x00, 0x00, -0x2B, 0xBE, 0x5D, 0x40, 0x01, 0x03, 0x02, 0x03, 0xFF, 0xFF, 0xBA, 0x90, 0x00, 0x00, 0xFF, 0xFF, +0x2B, 0x74, 0x89, 0x40, 0x01, 0x03, 0x02, 0x03, 0xFF, 0xFF, 0xBA, 0x90, 0x00, 0x00, 0xFF, 0xFF, 0xBA, 0x90, 0x00, 0x04, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x08, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x34, 0x00, 0x2D, 0x30, 0x35, 0x00, 0x0A, 0x3C, 0x2D, 0x30, 0x35, 0x3E, 0x35, 0x0A, 0x00, 0x90, 0x59, 0x20, 0x00, 0xA1, 0x9D, 0xB2, @@ -28006,138 +28153,148 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { /* America/Cambridge_Bay */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x7B, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x25, 0xA1, 0xF2, 0xCD, 0x80, -0xCB, 0x89, 0x0C, 0x90, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x61, 0x18, 0x00, 0xF7, 0x2F, 0x5A, 0x70, -0xF8, 0x28, 0x85, 0xF0, 0x13, 0x69, 0x64, 0x10, 0x14, 0x59, 0x47, 0x00, 0x15, 0x49, 0x46, 0x10, -0x16, 0x39, 0x29, 0x00, 0x17, 0x29, 0x28, 0x10, 0x18, 0x22, 0x45, 0x80, 0x19, 0x09, 0x0A, 0x10, -0x1A, 0x02, 0x27, 0x80, 0x1A, 0xF2, 0x26, 0x90, 0x1B, 0xE2, 0x09, 0x80, 0x1C, 0xD2, 0x08, 0x90, -0x1D, 0xC1, 0xEB, 0x80, 0x1E, 0xB1, 0xEA, 0x90, 0x1F, 0xA1, 0xCD, 0x80, 0x20, 0x76, 0x1D, 0x10, -0x21, 0x81, 0xAF, 0x80, 0x22, 0x55, 0xFF, 0x10, 0x23, 0x6A, 0xCC, 0x00, 0x24, 0x35, 0xE1, 0x10, -0x25, 0x4A, 0xAE, 0x00, 0x26, 0x15, 0xC3, 0x10, 0x27, 0x2A, 0x90, 0x00, 0x27, 0xFE, 0xDF, 0x90, -0x29, 0x0A, 0x72, 0x00, 0x29, 0xDE, 0xC1, 0x90, 0x2A, 0xEA, 0x54, 0x00, 0x2B, 0xBE, 0xA3, 0x90, -0x2C, 0xD3, 0x70, 0x80, 0x2D, 0x9E, 0x85, 0x90, 0x2E, 0xB3, 0x52, 0x80, 0x2F, 0x7E, 0x67, 0x90, -0x30, 0x93, 0x34, 0x80, 0x31, 0x67, 0x84, 0x10, 0x32, 0x73, 0x16, 0x80, 0x33, 0x47, 0x66, 0x10, -0x34, 0x52, 0xF8, 0x80, 0x35, 0x27, 0x48, 0x10, 0x36, 0x32, 0xDA, 0x80, 0x37, 0x07, 0x2A, 0x10, -0x38, 0x1B, 0xF7, 0x00, 0x38, 0xE6, 0xFE, 0x00, 0x39, 0xFB, 0xCA, 0xF0, 0x3A, 0x04, 0xE9, 0x50, -0x3A, 0xC6, 0xEE, 0x10, 0x3B, 0xDB, 0xBB, 0x00, 0x3C, 0xB0, 0x0A, 0x90, 0x3D, 0xBB, 0x9D, 0x00, -0x3E, 0x8F, 0xEC, 0x90, 0x3F, 0x9B, 0x7F, 0x00, 0x40, 0x6F, 0xCE, 0x90, 0x41, 0x84, 0x9B, 0x80, -0x42, 0x4F, 0xB0, 0x90, 0x43, 0x64, 0x7D, 0x80, 0x44, 0x2F, 0x92, 0x90, 0x45, 0x44, 0x5F, 0x80, -0x45, 0xF3, 0xC5, 0x10, 0x47, 0x2D, 0x7C, 0x00, 0x47, 0xD3, 0xA7, 0x10, 0x49, 0x0D, 0x5E, 0x00, -0x49, 0xB3, 0x89, 0x10, 0x4A, 0xED, 0x40, 0x00, 0x4B, 0x9C, 0xA5, 0x90, 0x4C, 0xD6, 0x5C, 0x80, -0x4D, 0x7C, 0x87, 0x90, 0x4E, 0xB6, 0x3E, 0x80, 0x4F, 0x5C, 0x69, 0x90, 0x50, 0x96, 0x20, 0x80, -0x51, 0x3C, 0x4B, 0x90, 0x52, 0x76, 0x02, 0x80, 0x53, 0x1C, 0x2D, 0x90, 0x54, 0x55, 0xE4, 0x80, -0x54, 0xFC, 0x0F, 0x90, 0x56, 0x35, 0xC6, 0x80, 0x56, 0xE5, 0x2C, 0x10, 0x58, 0x1E, 0xE3, 0x00, -0x58, 0xC5, 0x0E, 0x10, 0x59, 0xFE, 0xC5, 0x00, 0x5A, 0xA4, 0xF0, 0x10, 0x5B, 0xDE, 0xA7, 0x00, -0x5C, 0x84, 0xD2, 0x10, 0x5D, 0xBE, 0x89, 0x00, 0x5E, 0x64, 0xB4, 0x10, 0x5F, 0x9E, 0x6B, 0x00, -0x60, 0x4D, 0xD0, 0x90, 0x61, 0x87, 0x87, 0x80, 0x62, 0x2D, 0xB2, 0x90, 0x63, 0x67, 0x69, 0x80, -0x64, 0x0D, 0x94, 0x90, 0x65, 0x47, 0x4B, 0x80, 0x65, 0xED, 0x76, 0x90, 0x67, 0x27, 0x2D, 0x80, -0x67, 0xCD, 0x58, 0x90, 0x69, 0x07, 0x0F, 0x80, 0x69, 0xAD, 0x3A, 0x90, 0x6A, 0xE6, 0xF1, 0x80, -0x6B, 0x96, 0x57, 0x10, 0x6C, 0xD0, 0x0E, 0x00, 0x6D, 0x76, 0x39, 0x10, 0x6E, 0xAF, 0xF0, 0x00, -0x6F, 0x56, 0x1B, 0x10, 0x70, 0x8F, 0xD2, 0x00, 0x71, 0x35, 0xFD, 0x10, 0x72, 0x6F, 0xB4, 0x00, -0x73, 0x15, 0xDF, 0x10, 0x74, 0x4F, 0x96, 0x00, 0x74, 0xFE, 0xFB, 0x90, 0x76, 0x38, 0xB2, 0x80, -0x76, 0xDE, 0xDD, 0x90, 0x78, 0x18, 0x94, 0x80, 0x78, 0xBE, 0xBF, 0x90, 0x79, 0xF8, 0x76, 0x80, -0x7A, 0x9E, 0xA1, 0x90, 0x7B, 0xD8, 0x58, 0x80, 0x7C, 0x7E, 0x83, 0x90, 0x7D, 0xB8, 0x3A, 0x80, -0x7E, 0x5E, 0x65, 0x90, 0x7F, 0x98, 0x1C, 0x80, 0x03, 0x01, 0x02, 0x03, 0x04, 0x03, 0x05, 0x03, -0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, -0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, -0x05, 0x03, 0x05, 0x03, 0x05, 0x07, 0x06, 0x08, 0x07, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x04, 0xFF, -0xFF, 0xAB, 0xA0, 0x01, 0x08, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x0C, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, -0x10, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x15, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x19, 0xFF, 0xFF, 0xAB, -0xA0, 0x00, 0x1D, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x21, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x15, 0xFF, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x89, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x20, 0xA1, 0xF2, 0xCD, 0x80, +0xCB, 0x89, 0x0C, 0x90, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x61, 0x18, 0x00, 0x04, 0x61, 0x19, 0x90, +0x05, 0x50, 0xFC, 0x80, 0x06, 0x40, 0xFB, 0x90, 0x07, 0x30, 0xDE, 0x80, 0x08, 0x20, 0xDD, 0x90, +0x09, 0x10, 0xC0, 0x80, 0x0A, 0x00, 0xBF, 0x90, 0x0A, 0xF0, 0xA2, 0x80, 0x0B, 0xE0, 0xA1, 0x90, +0x0C, 0xD9, 0xBF, 0x00, 0x0D, 0xC0, 0x83, 0x90, 0x0E, 0xB9, 0xA1, 0x00, 0x0F, 0xA9, 0xA0, 0x10, +0x10, 0x99, 0x83, 0x00, 0x11, 0x89, 0x82, 0x10, 0x12, 0x79, 0x65, 0x00, 0x13, 0x69, 0x64, 0x10, +0x14, 0x59, 0x47, 0x00, 0x15, 0x49, 0x46, 0x10, 0x16, 0x39, 0x29, 0x00, 0x17, 0x29, 0x28, 0x10, +0x18, 0x22, 0x45, 0x80, 0x19, 0x09, 0x0A, 0x10, 0x1A, 0x02, 0x27, 0x80, 0x1A, 0xF2, 0x26, 0x90, +0x1B, 0xE2, 0x09, 0x80, 0x1C, 0xD2, 0x08, 0x90, 0x1D, 0xC1, 0xEB, 0x80, 0x1E, 0xB1, 0xEA, 0x90, +0x1F, 0xA1, 0xCD, 0x80, 0x20, 0x76, 0x1D, 0x10, 0x21, 0x81, 0xAF, 0x80, 0x22, 0x55, 0xFF, 0x10, +0x23, 0x6A, 0xCC, 0x00, 0x24, 0x35, 0xE1, 0x10, 0x25, 0x4A, 0xAE, 0x00, 0x26, 0x15, 0xC3, 0x10, +0x27, 0x2A, 0x90, 0x00, 0x27, 0xFE, 0xDF, 0x90, 0x29, 0x0A, 0x72, 0x00, 0x29, 0xDE, 0xC1, 0x90, +0x2A, 0xEA, 0x54, 0x00, 0x2B, 0xBE, 0xA3, 0x90, 0x2C, 0xD3, 0x70, 0x80, 0x2D, 0x9E, 0x85, 0x90, +0x2E, 0xB3, 0x52, 0x80, 0x2F, 0x7E, 0x67, 0x90, 0x30, 0x93, 0x34, 0x80, 0x31, 0x67, 0x84, 0x10, +0x32, 0x73, 0x16, 0x80, 0x33, 0x47, 0x66, 0x10, 0x34, 0x52, 0xF8, 0x80, 0x35, 0x27, 0x48, 0x10, +0x36, 0x32, 0xDA, 0x80, 0x37, 0x07, 0x2A, 0x10, 0x38, 0x1B, 0xF7, 0x00, 0x38, 0xE6, 0xFE, 0x00, +0x39, 0xFB, 0xCA, 0xF0, 0x3A, 0x04, 0xE9, 0x50, 0x3A, 0xC6, 0xEE, 0x10, 0x3B, 0xDB, 0xBB, 0x00, +0x3C, 0xB0, 0x0A, 0x90, 0x3D, 0xBB, 0x9D, 0x00, 0x3E, 0x8F, 0xEC, 0x90, 0x3F, 0x9B, 0x7F, 0x00, +0x40, 0x6F, 0xCE, 0x90, 0x41, 0x84, 0x9B, 0x80, 0x42, 0x4F, 0xB0, 0x90, 0x43, 0x64, 0x7D, 0x80, +0x44, 0x2F, 0x92, 0x90, 0x45, 0x44, 0x5F, 0x80, 0x45, 0xF3, 0xC5, 0x10, 0x47, 0x2D, 0x7C, 0x00, +0x47, 0xD3, 0xA7, 0x10, 0x49, 0x0D, 0x5E, 0x00, 0x49, 0xB3, 0x89, 0x10, 0x4A, 0xED, 0x40, 0x00, +0x4B, 0x9C, 0xA5, 0x90, 0x4C, 0xD6, 0x5C, 0x80, 0x4D, 0x7C, 0x87, 0x90, 0x4E, 0xB6, 0x3E, 0x80, +0x4F, 0x5C, 0x69, 0x90, 0x50, 0x96, 0x20, 0x80, 0x51, 0x3C, 0x4B, 0x90, 0x52, 0x76, 0x02, 0x80, +0x53, 0x1C, 0x2D, 0x90, 0x54, 0x55, 0xE4, 0x80, 0x54, 0xFC, 0x0F, 0x90, 0x56, 0x35, 0xC6, 0x80, +0x56, 0xE5, 0x2C, 0x10, 0x58, 0x1E, 0xE3, 0x00, 0x58, 0xC5, 0x0E, 0x10, 0x59, 0xFE, 0xC5, 0x00, +0x5A, 0xA4, 0xF0, 0x10, 0x5B, 0xDE, 0xA7, 0x00, 0x5C, 0x84, 0xD2, 0x10, 0x5D, 0xBE, 0x89, 0x00, +0x5E, 0x64, 0xB4, 0x10, 0x5F, 0x9E, 0x6B, 0x00, 0x60, 0x4D, 0xD0, 0x90, 0x61, 0x87, 0x87, 0x80, +0x62, 0x2D, 0xB2, 0x90, 0x63, 0x67, 0x69, 0x80, 0x64, 0x0D, 0x94, 0x90, 0x65, 0x47, 0x4B, 0x80, +0x65, 0xED, 0x76, 0x90, 0x67, 0x27, 0x2D, 0x80, 0x67, 0xCD, 0x58, 0x90, 0x69, 0x07, 0x0F, 0x80, +0x69, 0xAD, 0x3A, 0x90, 0x6A, 0xE6, 0xF1, 0x80, 0x6B, 0x96, 0x57, 0x10, 0x6C, 0xD0, 0x0E, 0x00, +0x6D, 0x76, 0x39, 0x10, 0x6E, 0xAF, 0xF0, 0x00, 0x6F, 0x56, 0x1B, 0x10, 0x70, 0x8F, 0xD2, 0x00, +0x71, 0x35, 0xFD, 0x10, 0x72, 0x6F, 0xB4, 0x00, 0x73, 0x15, 0xDF, 0x10, 0x74, 0x4F, 0x96, 0x00, +0x74, 0xFE, 0xFB, 0x90, 0x76, 0x38, 0xB2, 0x80, 0x76, 0xDE, 0xDD, 0x90, 0x78, 0x18, 0x94, 0x80, +0x78, 0xBE, 0xBF, 0x90, 0x79, 0xF8, 0x76, 0x80, 0x7A, 0x9E, 0xA1, 0x90, 0x7B, 0xD8, 0x58, 0x80, +0x7C, 0x7E, 0x83, 0x90, 0x7D, 0xB8, 0x3A, 0x80, 0x7E, 0x5E, 0x65, 0x90, 0x7F, 0x98, 0x1C, 0x80, +0x03, 0x01, 0x02, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x06, 0x05, 0x07, 0x06, 0x04, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, +0xFF, 0xAB, 0xA0, 0x01, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x08, 0xFF, 0xFF, 0x9D, 0x90, 0x00, +0x0C, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x10, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x14, 0xFF, 0xFF, 0xAB, +0xA0, 0x00, 0x18, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x1C, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x10, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x0C, 0x2D, 0x30, 0x30, 0x00, 0x4D, 0x57, 0x54, 0x00, 0x4D, 0x50, 0x54, -0x00, 0x4D, 0x53, 0x54, 0x00, 0x4D, 0x44, 0x44, 0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x43, 0x44, -0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x7B, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x25, 0xFF, 0xFF, 0xFF, 0xFF, -0xA1, 0xF2, 0xCD, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x89, 0x0C, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, -0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x61, 0x18, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, -0xF7, 0x2F, 0x5A, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x28, 0x85, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x13, 0x69, 0x64, 0x10, 0x00, 0x00, 0x00, 0x00, 0x14, 0x59, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, -0x15, 0x49, 0x46, 0x10, 0x00, 0x00, 0x00, 0x00, 0x16, 0x39, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, -0x17, 0x29, 0x28, 0x10, 0x00, 0x00, 0x00, 0x00, 0x18, 0x22, 0x45, 0x80, 0x00, 0x00, 0x00, 0x00, -0x19, 0x09, 0x0A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x02, 0x27, 0x80, 0x00, 0x00, 0x00, 0x00, -0x1A, 0xF2, 0x26, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xE2, 0x09, 0x80, 0x00, 0x00, 0x00, 0x00, -0x1C, 0xD2, 0x08, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xC1, 0xEB, 0x80, 0x00, 0x00, 0x00, 0x00, -0x1E, 0xB1, 0xEA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xA1, 0xCD, 0x80, 0x00, 0x00, 0x00, 0x00, -0x20, 0x76, 0x1D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x21, 0x81, 0xAF, 0x80, 0x00, 0x00, 0x00, 0x00, -0x22, 0x55, 0xFF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x23, 0x6A, 0xCC, 0x00, 0x00, 0x00, 0x00, 0x00, -0x24, 0x35, 0xE1, 0x10, 0x00, 0x00, 0x00, 0x00, 0x25, 0x4A, 0xAE, 0x00, 0x00, 0x00, 0x00, 0x00, -0x26, 0x15, 0xC3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x27, 0x2A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, -0x27, 0xFE, 0xDF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, 0x0A, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, -0x29, 0xDE, 0xC1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xEA, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, -0x2B, 0xBE, 0xA3, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xD3, 0x70, 0x80, 0x00, 0x00, 0x00, 0x00, -0x2D, 0x9E, 0x85, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2E, 0xB3, 0x52, 0x80, 0x00, 0x00, 0x00, 0x00, -0x2F, 0x7E, 0x67, 0x90, 0x00, 0x00, 0x00, 0x00, 0x30, 0x93, 0x34, 0x80, 0x00, 0x00, 0x00, 0x00, -0x31, 0x67, 0x84, 0x10, 0x00, 0x00, 0x00, 0x00, 0x32, 0x73, 0x16, 0x80, 0x00, 0x00, 0x00, 0x00, -0x33, 0x47, 0x66, 0x10, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0xF8, 0x80, 0x00, 0x00, 0x00, 0x00, -0x35, 0x27, 0x48, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0xDA, 0x80, 0x00, 0x00, 0x00, 0x00, -0x37, 0x07, 0x2A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0xF7, 0x00, 0x00, 0x00, 0x00, 0x00, -0x38, 0xE6, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0xCA, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x3A, 0x04, 0xE9, 0x50, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xC6, 0xEE, 0x10, 0x00, 0x00, 0x00, 0x00, -0x3B, 0xDB, 0xBB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xB0, 0x0A, 0x90, 0x00, 0x00, 0x00, 0x00, -0x3D, 0xBB, 0x9D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x8F, 0xEC, 0x90, 0x00, 0x00, 0x00, 0x00, -0x3F, 0x9B, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x6F, 0xCE, 0x90, 0x00, 0x00, 0x00, 0x00, -0x41, 0x84, 0x9B, 0x80, 0x00, 0x00, 0x00, 0x00, 0x42, 0x4F, 0xB0, 0x90, 0x00, 0x00, 0x00, 0x00, -0x43, 0x64, 0x7D, 0x80, 0x00, 0x00, 0x00, 0x00, 0x44, 0x2F, 0x92, 0x90, 0x00, 0x00, 0x00, 0x00, -0x45, 0x44, 0x5F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x45, 0xF3, 0xC5, 0x10, 0x00, 0x00, 0x00, 0x00, -0x47, 0x2D, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0xD3, 0xA7, 0x10, 0x00, 0x00, 0x00, 0x00, -0x49, 0x0D, 0x5E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0xB3, 0x89, 0x10, 0x00, 0x00, 0x00, 0x00, -0x4A, 0xED, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4B, 0x9C, 0xA5, 0x90, 0x00, 0x00, 0x00, 0x00, -0x4C, 0xD6, 0x5C, 0x80, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x7C, 0x87, 0x90, 0x00, 0x00, 0x00, 0x00, -0x4E, 0xB6, 0x3E, 0x80, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x5C, 0x69, 0x90, 0x00, 0x00, 0x00, 0x00, -0x50, 0x96, 0x20, 0x80, 0x00, 0x00, 0x00, 0x00, 0x51, 0x3C, 0x4B, 0x90, 0x00, 0x00, 0x00, 0x00, -0x52, 0x76, 0x02, 0x80, 0x00, 0x00, 0x00, 0x00, 0x53, 0x1C, 0x2D, 0x90, 0x00, 0x00, 0x00, 0x00, -0x54, 0x55, 0xE4, 0x80, 0x00, 0x00, 0x00, 0x00, 0x54, 0xFC, 0x0F, 0x90, 0x00, 0x00, 0x00, 0x00, -0x56, 0x35, 0xC6, 0x80, 0x00, 0x00, 0x00, 0x00, 0x56, 0xE5, 0x2C, 0x10, 0x00, 0x00, 0x00, 0x00, -0x58, 0x1E, 0xE3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 0xC5, 0x0E, 0x10, 0x00, 0x00, 0x00, 0x00, -0x59, 0xFE, 0xC5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xA4, 0xF0, 0x10, 0x00, 0x00, 0x00, 0x00, -0x5B, 0xDE, 0xA7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5C, 0x84, 0xD2, 0x10, 0x00, 0x00, 0x00, 0x00, -0x5D, 0xBE, 0x89, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x64, 0xB4, 0x10, 0x00, 0x00, 0x00, 0x00, -0x5F, 0x9E, 0x6B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x4D, 0xD0, 0x90, 0x00, 0x00, 0x00, 0x00, -0x61, 0x87, 0x87, 0x80, 0x00, 0x00, 0x00, 0x00, 0x62, 0x2D, 0xB2, 0x90, 0x00, 0x00, 0x00, 0x00, -0x63, 0x67, 0x69, 0x80, 0x00, 0x00, 0x00, 0x00, 0x64, 0x0D, 0x94, 0x90, 0x00, 0x00, 0x00, 0x00, -0x65, 0x47, 0x4B, 0x80, 0x00, 0x00, 0x00, 0x00, 0x65, 0xED, 0x76, 0x90, 0x00, 0x00, 0x00, 0x00, -0x67, 0x27, 0x2D, 0x80, 0x00, 0x00, 0x00, 0x00, 0x67, 0xCD, 0x58, 0x90, 0x00, 0x00, 0x00, 0x00, -0x69, 0x07, 0x0F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x69, 0xAD, 0x3A, 0x90, 0x00, 0x00, 0x00, 0x00, -0x6A, 0xE6, 0xF1, 0x80, 0x00, 0x00, 0x00, 0x00, 0x6B, 0x96, 0x57, 0x10, 0x00, 0x00, 0x00, 0x00, -0x6C, 0xD0, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x76, 0x39, 0x10, 0x00, 0x00, 0x00, 0x00, -0x6E, 0xAF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x56, 0x1B, 0x10, 0x00, 0x00, 0x00, 0x00, -0x70, 0x8F, 0xD2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x71, 0x35, 0xFD, 0x10, 0x00, 0x00, 0x00, 0x00, -0x72, 0x6F, 0xB4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x73, 0x15, 0xDF, 0x10, 0x00, 0x00, 0x00, 0x00, -0x74, 0x4F, 0x96, 0x00, 0x00, 0x00, 0x00, 0x00, 0x74, 0xFE, 0xFB, 0x90, 0x00, 0x00, 0x00, 0x00, -0x76, 0x38, 0xB2, 0x80, 0x00, 0x00, 0x00, 0x00, 0x76, 0xDE, 0xDD, 0x90, 0x00, 0x00, 0x00, 0x00, -0x78, 0x18, 0x94, 0x80, 0x00, 0x00, 0x00, 0x00, 0x78, 0xBE, 0xBF, 0x90, 0x00, 0x00, 0x00, 0x00, -0x79, 0xF8, 0x76, 0x80, 0x00, 0x00, 0x00, 0x00, 0x7A, 0x9E, 0xA1, 0x90, 0x00, 0x00, 0x00, 0x00, -0x7B, 0xD8, 0x58, 0x80, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x7E, 0x83, 0x90, 0x00, 0x00, 0x00, 0x00, -0x7D, 0xB8, 0x3A, 0x80, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x5E, 0x65, 0x90, 0x00, 0x00, 0x00, 0x00, -0x7F, 0x98, 0x1C, 0x80, 0x03, 0x01, 0x02, 0x03, 0x04, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, -0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, -0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, -0x05, 0x07, 0x06, 0x08, 0x07, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, -0x08, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x0C, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x10, 0xFF, 0xFF, 0xAB, -0xA0, 0x01, 0x15, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x19, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x1D, 0xFF, -0xFF, 0xB9, 0xB0, 0x00, 0x21, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x15, 0xFF, 0xFF, 0x9D, 0x90, 0x00, -0x0C, 0x2D, 0x30, 0x30, 0x00, 0x4D, 0x57, 0x54, 0x00, 0x4D, 0x50, 0x54, 0x00, 0x4D, 0x53, 0x54, -0x00, 0x4D, 0x44, 0x44, 0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x43, 0x53, -0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x4D, 0x53, 0x54, -0x37, 0x4D, 0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, -0x31, 0x2E, 0x30, 0x0A, 0x00, 0xF2, 0xC9, 0xDC, 0x00, 0x72, 0x5C, 0x42, 0x00, 0x00, 0x00, 0x14, -0x4D, 0x6F, 0x75, 0x6E, 0x74, 0x61, 0x69, 0x6E, 0x20, 0x2D, 0x20, 0x4E, 0x55, 0x20, 0x28, 0x77, -0x65, 0x73, 0x74, 0x29, +0x00, 0x4D, 0x53, 0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x43, 0x53, 0x54, +0x00, 0x45, 0x53, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x89, 0x00, 0x00, 0x00, +0x0A, 0x00, 0x00, 0x00, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0xF2, 0xCD, 0x80, 0xFF, 0xFF, 0xFF, +0xFF, 0xCB, 0x89, 0x0C, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, +0xFF, 0xD2, 0x61, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x61, 0x19, 0x90, 0x00, 0x00, 0x00, +0x00, 0x05, 0x50, 0xFC, 0x80, 0x00, 0x00, 0x00, 0x00, 0x06, 0x40, 0xFB, 0x90, 0x00, 0x00, 0x00, +0x00, 0x07, 0x30, 0xDE, 0x80, 0x00, 0x00, 0x00, 0x00, 0x08, 0x20, 0xDD, 0x90, 0x00, 0x00, 0x00, +0x00, 0x09, 0x10, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0xBF, 0x90, 0x00, 0x00, 0x00, +0x00, 0x0A, 0xF0, 0xA2, 0x80, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xE0, 0xA1, 0x90, 0x00, 0x00, 0x00, +0x00, 0x0C, 0xD9, 0xBF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, 0xC0, 0x83, 0x90, 0x00, 0x00, 0x00, +0x00, 0x0E, 0xB9, 0xA1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xA9, 0xA0, 0x10, 0x00, 0x00, 0x00, +0x00, 0x10, 0x99, 0x83, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x89, 0x82, 0x10, 0x00, 0x00, 0x00, +0x00, 0x12, 0x79, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x64, 0x10, 0x00, 0x00, 0x00, +0x00, 0x14, 0x59, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x49, 0x46, 0x10, 0x00, 0x00, 0x00, +0x00, 0x16, 0x39, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x29, 0x28, 0x10, 0x00, 0x00, 0x00, +0x00, 0x18, 0x22, 0x45, 0x80, 0x00, 0x00, 0x00, 0x00, 0x19, 0x09, 0x0A, 0x10, 0x00, 0x00, 0x00, +0x00, 0x1A, 0x02, 0x27, 0x80, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xF2, 0x26, 0x90, 0x00, 0x00, 0x00, +0x00, 0x1B, 0xE2, 0x09, 0x80, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xD2, 0x08, 0x90, 0x00, 0x00, 0x00, +0x00, 0x1D, 0xC1, 0xEB, 0x80, 0x00, 0x00, 0x00, 0x00, 0x1E, 0xB1, 0xEA, 0x90, 0x00, 0x00, 0x00, +0x00, 0x1F, 0xA1, 0xCD, 0x80, 0x00, 0x00, 0x00, 0x00, 0x20, 0x76, 0x1D, 0x10, 0x00, 0x00, 0x00, +0x00, 0x21, 0x81, 0xAF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x22, 0x55, 0xFF, 0x10, 0x00, 0x00, 0x00, +0x00, 0x23, 0x6A, 0xCC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x35, 0xE1, 0x10, 0x00, 0x00, 0x00, +0x00, 0x25, 0x4A, 0xAE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x26, 0x15, 0xC3, 0x10, 0x00, 0x00, 0x00, +0x00, 0x27, 0x2A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0xFE, 0xDF, 0x90, 0x00, 0x00, 0x00, +0x00, 0x29, 0x0A, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x29, 0xDE, 0xC1, 0x90, 0x00, 0x00, 0x00, +0x00, 0x2A, 0xEA, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xBE, 0xA3, 0x90, 0x00, 0x00, 0x00, +0x00, 0x2C, 0xD3, 0x70, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x9E, 0x85, 0x90, 0x00, 0x00, 0x00, +0x00, 0x2E, 0xB3, 0x52, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x7E, 0x67, 0x90, 0x00, 0x00, 0x00, +0x00, 0x30, 0x93, 0x34, 0x80, 0x00, 0x00, 0x00, 0x00, 0x31, 0x67, 0x84, 0x10, 0x00, 0x00, 0x00, +0x00, 0x32, 0x73, 0x16, 0x80, 0x00, 0x00, 0x00, 0x00, 0x33, 0x47, 0x66, 0x10, 0x00, 0x00, 0x00, +0x00, 0x34, 0x52, 0xF8, 0x80, 0x00, 0x00, 0x00, 0x00, 0x35, 0x27, 0x48, 0x10, 0x00, 0x00, 0x00, +0x00, 0x36, 0x32, 0xDA, 0x80, 0x00, 0x00, 0x00, 0x00, 0x37, 0x07, 0x2A, 0x10, 0x00, 0x00, 0x00, +0x00, 0x38, 0x1B, 0xF7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0xE6, 0xFE, 0x00, 0x00, 0x00, 0x00, +0x00, 0x39, 0xFB, 0xCA, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x3A, 0x04, 0xE9, 0x50, 0x00, 0x00, 0x00, +0x00, 0x3A, 0xC6, 0xEE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0xBB, 0x00, 0x00, 0x00, 0x00, +0x00, 0x3C, 0xB0, 0x0A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x9D, 0x00, 0x00, 0x00, 0x00, +0x00, 0x3E, 0x8F, 0xEC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x7F, 0x00, 0x00, 0x00, 0x00, +0x00, 0x40, 0x6F, 0xCE, 0x90, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x9B, 0x80, 0x00, 0x00, 0x00, +0x00, 0x42, 0x4F, 0xB0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x7D, 0x80, 0x00, 0x00, 0x00, +0x00, 0x44, 0x2F, 0x92, 0x90, 0x00, 0x00, 0x00, 0x00, 0x45, 0x44, 0x5F, 0x80, 0x00, 0x00, 0x00, +0x00, 0x45, 0xF3, 0xC5, 0x10, 0x00, 0x00, 0x00, 0x00, 0x47, 0x2D, 0x7C, 0x00, 0x00, 0x00, 0x00, +0x00, 0x47, 0xD3, 0xA7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, 0x0D, 0x5E, 0x00, 0x00, 0x00, 0x00, +0x00, 0x49, 0xB3, 0x89, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xED, 0x40, 0x00, 0x00, 0x00, 0x00, +0x00, 0x4B, 0x9C, 0xA5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4C, 0xD6, 0x5C, 0x80, 0x00, 0x00, 0x00, +0x00, 0x4D, 0x7C, 0x87, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4E, 0xB6, 0x3E, 0x80, 0x00, 0x00, 0x00, +0x00, 0x4F, 0x5C, 0x69, 0x90, 0x00, 0x00, 0x00, 0x00, 0x50, 0x96, 0x20, 0x80, 0x00, 0x00, 0x00, +0x00, 0x51, 0x3C, 0x4B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x52, 0x76, 0x02, 0x80, 0x00, 0x00, 0x00, +0x00, 0x53, 0x1C, 0x2D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x54, 0x55, 0xE4, 0x80, 0x00, 0x00, 0x00, +0x00, 0x54, 0xFC, 0x0F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, 0x35, 0xC6, 0x80, 0x00, 0x00, 0x00, +0x00, 0x56, 0xE5, 0x2C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x58, 0x1E, 0xE3, 0x00, 0x00, 0x00, 0x00, +0x00, 0x58, 0xC5, 0x0E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x59, 0xFE, 0xC5, 0x00, 0x00, 0x00, 0x00, +0x00, 0x5A, 0xA4, 0xF0, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5B, 0xDE, 0xA7, 0x00, 0x00, 0x00, 0x00, +0x00, 0x5C, 0x84, 0xD2, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5D, 0xBE, 0x89, 0x00, 0x00, 0x00, 0x00, +0x00, 0x5E, 0x64, 0xB4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x9E, 0x6B, 0x00, 0x00, 0x00, 0x00, +0x00, 0x60, 0x4D, 0xD0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x61, 0x87, 0x87, 0x80, 0x00, 0x00, 0x00, +0x00, 0x62, 0x2D, 0xB2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x63, 0x67, 0x69, 0x80, 0x00, 0x00, 0x00, +0x00, 0x64, 0x0D, 0x94, 0x90, 0x00, 0x00, 0x00, 0x00, 0x65, 0x47, 0x4B, 0x80, 0x00, 0x00, 0x00, +0x00, 0x65, 0xED, 0x76, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, 0x27, 0x2D, 0x80, 0x00, 0x00, 0x00, +0x00, 0x67, 0xCD, 0x58, 0x90, 0x00, 0x00, 0x00, 0x00, 0x69, 0x07, 0x0F, 0x80, 0x00, 0x00, 0x00, +0x00, 0x69, 0xAD, 0x3A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xE6, 0xF1, 0x80, 0x00, 0x00, 0x00, +0x00, 0x6B, 0x96, 0x57, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xD0, 0x0E, 0x00, 0x00, 0x00, 0x00, +0x00, 0x6D, 0x76, 0x39, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6E, 0xAF, 0xF0, 0x00, 0x00, 0x00, 0x00, +0x00, 0x6F, 0x56, 0x1B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x70, 0x8F, 0xD2, 0x00, 0x00, 0x00, 0x00, +0x00, 0x71, 0x35, 0xFD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x72, 0x6F, 0xB4, 0x00, 0x00, 0x00, 0x00, +0x00, 0x73, 0x15, 0xDF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x74, 0x4F, 0x96, 0x00, 0x00, 0x00, 0x00, +0x00, 0x74, 0xFE, 0xFB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x76, 0x38, 0xB2, 0x80, 0x00, 0x00, 0x00, +0x00, 0x76, 0xDE, 0xDD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x78, 0x18, 0x94, 0x80, 0x00, 0x00, 0x00, +0x00, 0x78, 0xBE, 0xBF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x79, 0xF8, 0x76, 0x80, 0x00, 0x00, 0x00, +0x00, 0x7A, 0x9E, 0xA1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7B, 0xD8, 0x58, 0x80, 0x00, 0x00, 0x00, +0x00, 0x7C, 0x7E, 0x83, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7D, 0xB8, 0x3A, 0x80, 0x00, 0x00, 0x00, +0x00, 0x7E, 0x5E, 0x65, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x98, 0x1C, 0x80, 0x03, 0x01, 0x02, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x06, 0x05, 0x07, 0x06, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xAB, 0xA0, +0x01, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x08, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x0C, 0xFF, 0xFF, +0xAB, 0xA0, 0x01, 0x10, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x14, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x18, +0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x1C, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x10, 0xFF, 0xFF, 0x9D, 0x90, +0x00, 0x0C, 0x2D, 0x30, 0x30, 0x00, 0x4D, 0x57, 0x54, 0x00, 0x4D, 0x50, 0x54, 0x00, 0x4D, 0x53, +0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x45, 0x53, +0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x4D, 0x53, 0x54, 0x37, 0x4D, 0x44, 0x54, 0x2C, 0x4D, +0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, 0x31, 0x2E, 0x30, 0x0A, 0x00, 0xF2, +0xC9, 0xDC, 0x00, 0x72, 0x5C, 0x42, 0x00, 0x00, 0x00, 0x14, 0x4D, 0x6F, 0x75, 0x6E, 0x74, 0x61, +0x69, 0x6E, 0x20, 0x2D, 0x20, 0x4E, 0x55, 0x20, 0x28, 0x77, 0x65, 0x73, 0x74, 0x29, /* America/Campo_Grande */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x42, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -28286,10 +28443,8 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { 0xB9, 0xB0, 0x01, 0x10, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x45, 0x44, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x45, 0x53, 0x54, -0x35, 0x0A, 0x00, 0xA9, 0x7F, 0xED, 0x00, 0x8E, 0x43, 0x45, 0x00, 0x00, 0x00, 0x24, 0x45, 0x61, -0x73, 0x74, 0x65, 0x72, 0x6E, 0x20, 0x53, 0x74, 0x61, 0x6E, 0x64, 0x61, 0x72, 0x64, 0x20, 0x54, -0x69, 0x6D, 0x65, 0x20, 0x2D, 0x20, 0x51, 0x75, 0x69, 0x6E, 0x74, 0x61, 0x6E, 0x61, 0x20, 0x52, -0x6F, 0x6F, +0x35, 0x0A, 0x00, 0xA9, 0x7F, 0xED, 0x00, 0x8E, 0x43, 0x45, 0x00, 0x00, 0x00, 0x0C, 0x51, 0x75, +0x69, 0x6E, 0x74, 0x61, 0x6E, 0x61, 0x20, 0x52, 0x6F, 0x6F, /* America/Caracas */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x56, 0x45, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -28709,11 +28864,111 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { 0xAB, 0xA0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x43, 0x53, 0x54, 0x36, 0x0A, 0x00, 0xB5, -0x05, 0x25, 0x00, 0x70, 0xC9, 0xB2, 0x00, 0x00, 0x00, 0x26, 0x4D, 0x6F, 0x75, 0x6E, 0x74, 0x61, -0x69, 0x6E, 0x20, 0x54, 0x69, 0x6D, 0x65, 0x20, 0x2D, 0x20, 0x43, 0x68, 0x69, 0x68, 0x75, 0x61, +0x05, 0x25, 0x00, 0x70, 0xC9, 0xB2, 0x00, 0x00, 0x00, 0x16, 0x43, 0x68, 0x69, 0x68, 0x75, 0x61, 0x68, 0x75, 0x61, 0x20, 0x28, 0x6D, 0x6F, 0x73, 0x74, 0x20, 0x61, 0x72, 0x65, 0x61, 0x73, 0x29, +/* America/Ciudad_Juarez */ +0x50, 0x48, 0x50, 0x32, 0x01, 0x4D, 0x58, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x5B, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x14, 0xA5, 0xB6, 0xE8, 0x70, +0xAF, 0xF2, 0x6E, 0xE0, 0xB6, 0x66, 0x56, 0x60, 0xB7, 0x43, 0xD2, 0x60, 0xB8, 0x0C, 0x36, 0x60, +0xB8, 0xFD, 0x86, 0xF0, 0x31, 0x67, 0x76, 0x00, 0x32, 0x73, 0x08, 0x70, 0x33, 0x47, 0x58, 0x00, +0x34, 0x52, 0xEA, 0x70, 0x35, 0x27, 0x48, 0x10, 0x36, 0x32, 0xDA, 0x80, 0x37, 0x07, 0x2A, 0x10, +0x38, 0x1B, 0xF7, 0x00, 0x38, 0xE7, 0x0C, 0x10, 0x39, 0xFB, 0xD9, 0x00, 0x3A, 0xF5, 0x12, 0x90, +0x3B, 0xB6, 0xD1, 0x00, 0x3C, 0xB0, 0x0A, 0x90, 0x3D, 0xBB, 0x9D, 0x00, 0x3E, 0x8F, 0xEC, 0x90, +0x3F, 0x9B, 0x7F, 0x00, 0x40, 0x6F, 0xCE, 0x90, 0x41, 0x84, 0x9B, 0x80, 0x42, 0x4F, 0xB0, 0x90, +0x43, 0x64, 0x7D, 0x80, 0x44, 0x2F, 0x92, 0x90, 0x45, 0x44, 0x5F, 0x80, 0x46, 0x0F, 0x74, 0x90, +0x47, 0x24, 0x41, 0x80, 0x47, 0xF8, 0x91, 0x10, 0x49, 0x04, 0x23, 0x80, 0x49, 0xD8, 0x73, 0x10, +0x4A, 0xE4, 0x05, 0x80, 0x4B, 0x9C, 0xA5, 0x90, 0x4C, 0xD6, 0x5C, 0x80, 0x4D, 0x7C, 0x87, 0x90, +0x4E, 0xB6, 0x3E, 0x80, 0x4F, 0x5C, 0x69, 0x90, 0x50, 0x96, 0x20, 0x80, 0x51, 0x3C, 0x4B, 0x90, +0x52, 0x76, 0x02, 0x80, 0x53, 0x1C, 0x2D, 0x90, 0x54, 0x55, 0xE4, 0x80, 0x54, 0xFC, 0x0F, 0x90, +0x56, 0x35, 0xC6, 0x80, 0x56, 0xE5, 0x2C, 0x10, 0x58, 0x1E, 0xE3, 0x00, 0x58, 0xC5, 0x0E, 0x10, +0x59, 0xFE, 0xC5, 0x00, 0x5A, 0xA4, 0xF0, 0x10, 0x5B, 0xDE, 0xA7, 0x00, 0x5C, 0x84, 0xD2, 0x10, +0x5D, 0xBE, 0x89, 0x00, 0x5E, 0x64, 0xB4, 0x10, 0x5F, 0x9E, 0x6B, 0x00, 0x60, 0x4D, 0xD0, 0x90, +0x61, 0x87, 0x87, 0x80, 0x62, 0x2D, 0xB2, 0x90, 0x63, 0x5E, 0x2F, 0x00, 0x63, 0x86, 0xF1, 0x60, +0x64, 0x0D, 0x94, 0x90, 0x65, 0x47, 0x4B, 0x80, 0x65, 0xED, 0x76, 0x90, 0x67, 0x27, 0x2D, 0x80, +0x67, 0xCD, 0x58, 0x90, 0x69, 0x07, 0x0F, 0x80, 0x69, 0xAD, 0x3A, 0x90, 0x6A, 0xE6, 0xF1, 0x80, +0x6B, 0x96, 0x57, 0x10, 0x6C, 0xD0, 0x0E, 0x00, 0x6D, 0x76, 0x39, 0x10, 0x6E, 0xAF, 0xF0, 0x00, +0x6F, 0x56, 0x1B, 0x10, 0x70, 0x8F, 0xD2, 0x00, 0x71, 0x35, 0xFD, 0x10, 0x72, 0x6F, 0xB4, 0x00, +0x73, 0x15, 0xDF, 0x10, 0x74, 0x4F, 0x96, 0x00, 0x74, 0xFE, 0xFB, 0x90, 0x76, 0x38, 0xB2, 0x80, +0x76, 0xDE, 0xDD, 0x90, 0x78, 0x18, 0x94, 0x80, 0x78, 0xBE, 0xBF, 0x90, 0x79, 0xF8, 0x76, 0x80, +0x7A, 0x9E, 0xA1, 0x90, 0x7B, 0xD8, 0x58, 0x80, 0x7C, 0x7E, 0x83, 0x90, 0x7D, 0xB8, 0x3A, 0x80, +0x7E, 0x5E, 0x65, 0x90, 0x7F, 0x98, 0x1C, 0x80, 0x01, 0x02, 0x04, 0x03, 0x04, 0x02, 0x05, 0x02, +0x05, 0x02, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, +0x03, 0x04, 0x03, 0x02, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0xFF, 0xFF, 0x9C, 0x2C, 0x00, 0x00, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x04, 0xFF, +0xFF, 0xAB, 0xA0, 0x00, 0x08, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x0C, 0xFF, 0xFF, 0x9D, 0x90, 0x00, +0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x10, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, +0x00, 0x4D, 0x53, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x43, 0x44, 0x54, +0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, +0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x5B, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, +0xB6, 0xE8, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xAF, 0xF2, 0x6E, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, +0x66, 0x56, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0x43, 0xD2, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, +0x0C, 0x36, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0xFD, 0x86, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x31, +0x67, 0x76, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x73, 0x08, 0x70, 0x00, 0x00, 0x00, 0x00, 0x33, +0x47, 0x58, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0xEA, 0x70, 0x00, 0x00, 0x00, 0x00, 0x35, +0x27, 0x48, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0xDA, 0x80, 0x00, 0x00, 0x00, 0x00, 0x37, +0x07, 0x2A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0xF7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, +0xE7, 0x0C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0xD9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3A, +0xF5, 0x12, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xB6, 0xD1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, +0xB0, 0x0A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x9D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, +0x8F, 0xEC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, +0x6F, 0xCE, 0x90, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x9B, 0x80, 0x00, 0x00, 0x00, 0x00, 0x42, +0x4F, 0xB0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x7D, 0x80, 0x00, 0x00, 0x00, 0x00, 0x44, +0x2F, 0x92, 0x90, 0x00, 0x00, 0x00, 0x00, 0x45, 0x44, 0x5F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x46, +0x0F, 0x74, 0x90, 0x00, 0x00, 0x00, 0x00, 0x47, 0x24, 0x41, 0x80, 0x00, 0x00, 0x00, 0x00, 0x47, +0xF8, 0x91, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, 0x04, 0x23, 0x80, 0x00, 0x00, 0x00, 0x00, 0x49, +0xD8, 0x73, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xE4, 0x05, 0x80, 0x00, 0x00, 0x00, 0x00, 0x4B, +0x9C, 0xA5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4C, 0xD6, 0x5C, 0x80, 0x00, 0x00, 0x00, 0x00, 0x4D, +0x7C, 0x87, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4E, 0xB6, 0x3E, 0x80, 0x00, 0x00, 0x00, 0x00, 0x4F, +0x5C, 0x69, 0x90, 0x00, 0x00, 0x00, 0x00, 0x50, 0x96, 0x20, 0x80, 0x00, 0x00, 0x00, 0x00, 0x51, +0x3C, 0x4B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x52, 0x76, 0x02, 0x80, 0x00, 0x00, 0x00, 0x00, 0x53, +0x1C, 0x2D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x54, 0x55, 0xE4, 0x80, 0x00, 0x00, 0x00, 0x00, 0x54, +0xFC, 0x0F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, 0x35, 0xC6, 0x80, 0x00, 0x00, 0x00, 0x00, 0x56, +0xE5, 0x2C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x58, 0x1E, 0xE3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, +0xC5, 0x0E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x59, 0xFE, 0xC5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5A, +0xA4, 0xF0, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5B, 0xDE, 0xA7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5C, +0x84, 0xD2, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5D, 0xBE, 0x89, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5E, +0x64, 0xB4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x9E, 0x6B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, +0x4D, 0xD0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x61, 0x87, 0x87, 0x80, 0x00, 0x00, 0x00, 0x00, 0x62, +0x2D, 0xB2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x63, 0x5E, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x63, +0x86, 0xF1, 0x60, 0x00, 0x00, 0x00, 0x00, 0x64, 0x0D, 0x94, 0x90, 0x00, 0x00, 0x00, 0x00, 0x65, +0x47, 0x4B, 0x80, 0x00, 0x00, 0x00, 0x00, 0x65, 0xED, 0x76, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, +0x27, 0x2D, 0x80, 0x00, 0x00, 0x00, 0x00, 0x67, 0xCD, 0x58, 0x90, 0x00, 0x00, 0x00, 0x00, 0x69, +0x07, 0x0F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x69, 0xAD, 0x3A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6A, +0xE6, 0xF1, 0x80, 0x00, 0x00, 0x00, 0x00, 0x6B, 0x96, 0x57, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6C, +0xD0, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x76, 0x39, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6E, +0xAF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x56, 0x1B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x70, +0x8F, 0xD2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x71, 0x35, 0xFD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x72, +0x6F, 0xB4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x73, 0x15, 0xDF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x74, +0x4F, 0x96, 0x00, 0x00, 0x00, 0x00, 0x00, 0x74, 0xFE, 0xFB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x76, +0x38, 0xB2, 0x80, 0x00, 0x00, 0x00, 0x00, 0x76, 0xDE, 0xDD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x78, +0x18, 0x94, 0x80, 0x00, 0x00, 0x00, 0x00, 0x78, 0xBE, 0xBF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x79, +0xF8, 0x76, 0x80, 0x00, 0x00, 0x00, 0x00, 0x7A, 0x9E, 0xA1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7B, +0xD8, 0x58, 0x80, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x7E, 0x83, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7D, +0xB8, 0x3A, 0x80, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x5E, 0x65, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7F, +0x98, 0x1C, 0x80, 0x01, 0x02, 0x04, 0x03, 0x04, 0x02, 0x05, 0x02, 0x05, 0x02, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x02, 0x04, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0xFF, 0xFF, +0x9C, 0x2C, 0x00, 0x00, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x08, +0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x0C, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, +0x01, 0x10, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, +0x43, 0x53, 0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x00, 0x01, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x4D, 0x53, 0x54, 0x37, 0x4D, +0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, 0x31, 0x2E, +0x30, 0x0A, 0x00, 0xB9, 0xC0, 0x15, 0x00, 0x70, 0x2D, 0x72, 0x00, 0x00, 0x00, 0x1C, 0x43, 0x68, +0x69, 0x68, 0x75, 0x61, 0x68, 0x75, 0x61, 0x20, 0x28, 0x55, 0x53, 0x20, 0x62, 0x6F, 0x72, 0x64, +0x65, 0x72, 0x20, 0x2D, 0x20, 0x77, 0x65, 0x73, 0x74, 0x29, + /* America/Coral_Harbour */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -30297,8 +30552,8 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { /* America/Godthab */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x0C, 0x9B, 0x80, 0x68, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0C, 0x9B, 0x80, 0x68, 0x00, 0x13, 0x4D, 0x7C, 0x50, 0x14, 0x33, 0xFA, 0x90, 0x15, 0x23, 0xEB, 0x90, 0x16, 0x13, 0xDC, 0x90, 0x17, 0x03, 0xCD, 0x90, 0x17, 0xF3, 0xBE, 0x90, 0x18, 0xE3, 0xAF, 0x90, 0x19, 0xD3, 0xA0, 0x90, 0x1A, 0xC3, 0x91, 0x90, 0x1B, 0xBC, 0xBD, 0x10, 0x1C, 0xAC, 0xAE, 0x10, 0x1D, 0x9C, 0x9F, 0x10, @@ -30320,99 +30575,73 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { 0x56, 0xF7, 0x30, 0x90, 0x58, 0x15, 0x46, 0x10, 0x58, 0xD7, 0x12, 0x90, 0x59, 0xF5, 0x28, 0x10, 0x5A, 0xB6, 0xF4, 0x90, 0x5B, 0xD5, 0x0A, 0x10, 0x5C, 0xA0, 0x11, 0x10, 0x5D, 0xB4, 0xEC, 0x10, 0x5E, 0x7F, 0xF3, 0x10, 0x5F, 0x94, 0xCE, 0x10, 0x60, 0x5F, 0xD5, 0x10, 0x61, 0x7D, 0xEA, 0x90, -0x62, 0x3F, 0xB7, 0x10, 0x63, 0x5D, 0xCC, 0x90, 0x64, 0x1F, 0x99, 0x10, 0x65, 0x3D, 0xAE, 0x90, -0x66, 0x08, 0xB5, 0x90, 0x67, 0x1D, 0x90, 0x90, 0x67, 0xE8, 0x97, 0x90, 0x68, 0xFD, 0x72, 0x90, -0x69, 0xC8, 0x79, 0x90, 0x6A, 0xDD, 0x54, 0x90, 0x6B, 0xA8, 0x5B, 0x90, 0x6C, 0xC6, 0x71, 0x10, -0x6D, 0x88, 0x3D, 0x90, 0x6E, 0xA6, 0x53, 0x10, 0x6F, 0x68, 0x1F, 0x90, 0x70, 0x86, 0x35, 0x10, -0x71, 0x51, 0x3C, 0x10, 0x72, 0x66, 0x17, 0x10, 0x73, 0x31, 0x1E, 0x10, 0x74, 0x45, 0xF9, 0x10, -0x75, 0x11, 0x00, 0x10, 0x76, 0x2F, 0x15, 0x90, 0x76, 0xF0, 0xE2, 0x10, 0x78, 0x0E, 0xF7, 0x90, -0x78, 0xD0, 0xC4, 0x10, 0x79, 0xEE, 0xD9, 0x90, 0x7A, 0xB0, 0xA6, 0x10, 0x7B, 0xCE, 0xBB, 0x90, -0x7C, 0x99, 0xC2, 0x90, 0x7D, 0xAE, 0x9D, 0x90, 0x7E, 0x79, 0xA4, 0x90, 0x7F, 0x8E, 0x7F, 0x90, -0x01, 0x04, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x62, 0x3F, 0xB7, 0x10, 0x63, 0x5D, 0xCC, 0x90, 0x64, 0x1F, 0x99, 0x10, 0x01, 0x04, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x05, 0xFF, 0xFF, 0xCF, 0x80, 0x00, 0x00, 0xFF, 0xFF, 0xD5, 0xD0, 0x00, 0x04, +0xFF, 0xFF, 0xD5, 0xD0, 0x00, 0x04, 0xFF, 0xFF, 0xE3, 0xE0, 0x01, 0x08, 0xFF, 0xFF, 0xE3, 0xE0, +0x01, 0x08, 0xFF, 0xFF, 0xE3, 0xE0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x33, 0x00, +0x2D, 0x30, 0x32, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, +0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0C, 0xFF, 0xFF, 0xFF, 0xFF, +0x9B, 0x80, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x4D, 0x7C, 0x50, 0x00, 0x00, 0x00, 0x00, +0x14, 0x33, 0xFA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x15, 0x23, 0xEB, 0x90, 0x00, 0x00, 0x00, 0x00, +0x16, 0x13, 0xDC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x17, 0x03, 0xCD, 0x90, 0x00, 0x00, 0x00, 0x00, +0x17, 0xF3, 0xBE, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, 0xE3, 0xAF, 0x90, 0x00, 0x00, 0x00, 0x00, +0x19, 0xD3, 0xA0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xC3, 0x91, 0x90, 0x00, 0x00, 0x00, 0x00, +0x1B, 0xBC, 0xBD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xAC, 0xAE, 0x10, 0x00, 0x00, 0x00, 0x00, +0x1D, 0x9C, 0x9F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x8C, 0x90, 0x10, 0x00, 0x00, 0x00, 0x00, +0x1F, 0x7C, 0x81, 0x10, 0x00, 0x00, 0x00, 0x00, 0x20, 0x6C, 0x72, 0x10, 0x00, 0x00, 0x00, 0x00, +0x21, 0x5C, 0x63, 0x10, 0x00, 0x00, 0x00, 0x00, 0x22, 0x4C, 0x54, 0x10, 0x00, 0x00, 0x00, 0x00, +0x23, 0x3C, 0x45, 0x10, 0x00, 0x00, 0x00, 0x00, 0x24, 0x2C, 0x36, 0x10, 0x00, 0x00, 0x00, 0x00, +0x25, 0x1C, 0x27, 0x10, 0x00, 0x00, 0x00, 0x00, 0x26, 0x0C, 0x18, 0x10, 0x00, 0x00, 0x00, 0x00, +0x27, 0x05, 0x43, 0x90, 0x00, 0x00, 0x00, 0x00, 0x27, 0xF5, 0x34, 0x90, 0x00, 0x00, 0x00, 0x00, +0x28, 0xE5, 0x25, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, 0xD5, 0x16, 0x90, 0x00, 0x00, 0x00, 0x00, +0x2A, 0xC5, 0x07, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xB4, 0xF8, 0x90, 0x00, 0x00, 0x00, 0x00, +0x2C, 0xA4, 0xE9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x94, 0xDA, 0x90, 0x00, 0x00, 0x00, 0x00, +0x2E, 0x84, 0xCB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x74, 0xBC, 0x90, 0x00, 0x00, 0x00, 0x00, +0x30, 0x64, 0xAD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0xD9, 0x10, 0x00, 0x00, 0x00, 0x00, +0x32, 0x72, 0xB4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x33, 0x3D, 0xBB, 0x10, 0x00, 0x00, 0x00, 0x00, +0x34, 0x52, 0x96, 0x10, 0x00, 0x00, 0x00, 0x00, 0x35, 0x1D, 0x9D, 0x10, 0x00, 0x00, 0x00, 0x00, +0x36, 0x32, 0x78, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0xFD, 0x7F, 0x10, 0x00, 0x00, 0x00, 0x00, +0x38, 0x1B, 0x94, 0x90, 0x00, 0x00, 0x00, 0x00, 0x38, 0xDD, 0x61, 0x10, 0x00, 0x00, 0x00, 0x00, +0x39, 0xFB, 0x76, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xBD, 0x43, 0x10, 0x00, 0x00, 0x00, 0x00, +0x3B, 0xDB, 0x58, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xA6, 0x5F, 0x90, 0x00, 0x00, 0x00, 0x00, +0x3D, 0xBB, 0x3A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x86, 0x41, 0x90, 0x00, 0x00, 0x00, 0x00, +0x3F, 0x9B, 0x1C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x40, 0x66, 0x23, 0x90, 0x00, 0x00, 0x00, 0x00, +0x41, 0x84, 0x39, 0x10, 0x00, 0x00, 0x00, 0x00, 0x42, 0x46, 0x05, 0x90, 0x00, 0x00, 0x00, 0x00, +0x43, 0x64, 0x1B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x44, 0x25, 0xE7, 0x90, 0x00, 0x00, 0x00, 0x00, +0x45, 0x43, 0xFD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x46, 0x05, 0xC9, 0x90, 0x00, 0x00, 0x00, 0x00, +0x47, 0x23, 0xDF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x47, 0xEE, 0xE6, 0x10, 0x00, 0x00, 0x00, 0x00, +0x49, 0x03, 0xC1, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, 0xCE, 0xC8, 0x10, 0x00, 0x00, 0x00, 0x00, +0x4A, 0xE3, 0xA3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4B, 0xAE, 0xAA, 0x10, 0x00, 0x00, 0x00, 0x00, +0x4C, 0xCC, 0xBF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x8E, 0x8C, 0x10, 0x00, 0x00, 0x00, 0x00, +0x4E, 0xAC, 0xA1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x6E, 0x6E, 0x10, 0x00, 0x00, 0x00, 0x00, +0x50, 0x8C, 0x83, 0x90, 0x00, 0x00, 0x00, 0x00, 0x51, 0x57, 0x8A, 0x90, 0x00, 0x00, 0x00, 0x00, +0x52, 0x6C, 0x65, 0x90, 0x00, 0x00, 0x00, 0x00, 0x53, 0x37, 0x6C, 0x90, 0x00, 0x00, 0x00, 0x00, +0x54, 0x4C, 0x47, 0x90, 0x00, 0x00, 0x00, 0x00, 0x55, 0x17, 0x4E, 0x90, 0x00, 0x00, 0x00, 0x00, +0x56, 0x2C, 0x29, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, 0xF7, 0x30, 0x90, 0x00, 0x00, 0x00, 0x00, +0x58, 0x15, 0x46, 0x10, 0x00, 0x00, 0x00, 0x00, 0x58, 0xD7, 0x12, 0x90, 0x00, 0x00, 0x00, 0x00, +0x59, 0xF5, 0x28, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xB6, 0xF4, 0x90, 0x00, 0x00, 0x00, 0x00, +0x5B, 0xD5, 0x0A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5C, 0xA0, 0x11, 0x10, 0x00, 0x00, 0x00, 0x00, +0x5D, 0xB4, 0xEC, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x7F, 0xF3, 0x10, 0x00, 0x00, 0x00, 0x00, +0x5F, 0x94, 0xCE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x60, 0x5F, 0xD5, 0x10, 0x00, 0x00, 0x00, 0x00, +0x61, 0x7D, 0xEA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x62, 0x3F, 0xB7, 0x10, 0x00, 0x00, 0x00, 0x00, +0x63, 0x5D, 0xCC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x64, 0x1F, 0x99, 0x10, 0x01, 0x04, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0xFF, 0xFF, 0xCF, 0x80, 0x00, 0x00, 0xFF, 0xFF, 0xD5, 0xD0, 0x00, -0x04, 0xFF, 0xFF, 0xD5, 0xD0, 0x00, 0x04, 0xFF, 0xFF, 0xE3, 0xE0, 0x01, 0x08, 0xFF, 0xFF, 0xE3, -0xE0, 0x01, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x33, 0x00, 0x2D, 0x30, 0x32, 0x00, 0x00, -0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x33, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, -0x05, 0x00, 0x00, 0x00, 0x0C, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x80, 0x68, 0x00, 0x00, 0x00, 0x00, -0x00, 0x13, 0x4D, 0x7C, 0x50, 0x00, 0x00, 0x00, 0x00, 0x14, 0x33, 0xFA, 0x90, 0x00, 0x00, 0x00, -0x00, 0x15, 0x23, 0xEB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x16, 0x13, 0xDC, 0x90, 0x00, 0x00, 0x00, -0x00, 0x17, 0x03, 0xCD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x17, 0xF3, 0xBE, 0x90, 0x00, 0x00, 0x00, -0x00, 0x18, 0xE3, 0xAF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x19, 0xD3, 0xA0, 0x90, 0x00, 0x00, 0x00, -0x00, 0x1A, 0xC3, 0x91, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xBC, 0xBD, 0x10, 0x00, 0x00, 0x00, -0x00, 0x1C, 0xAC, 0xAE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1D, 0x9C, 0x9F, 0x10, 0x00, 0x00, 0x00, -0x00, 0x1E, 0x8C, 0x90, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x7C, 0x81, 0x10, 0x00, 0x00, 0x00, -0x00, 0x20, 0x6C, 0x72, 0x10, 0x00, 0x00, 0x00, 0x00, 0x21, 0x5C, 0x63, 0x10, 0x00, 0x00, 0x00, -0x00, 0x22, 0x4C, 0x54, 0x10, 0x00, 0x00, 0x00, 0x00, 0x23, 0x3C, 0x45, 0x10, 0x00, 0x00, 0x00, -0x00, 0x24, 0x2C, 0x36, 0x10, 0x00, 0x00, 0x00, 0x00, 0x25, 0x1C, 0x27, 0x10, 0x00, 0x00, 0x00, -0x00, 0x26, 0x0C, 0x18, 0x10, 0x00, 0x00, 0x00, 0x00, 0x27, 0x05, 0x43, 0x90, 0x00, 0x00, 0x00, -0x00, 0x27, 0xF5, 0x34, 0x90, 0x00, 0x00, 0x00, 0x00, 0x28, 0xE5, 0x25, 0x90, 0x00, 0x00, 0x00, -0x00, 0x29, 0xD5, 0x16, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xC5, 0x07, 0x90, 0x00, 0x00, 0x00, -0x00, 0x2B, 0xB4, 0xF8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xA4, 0xE9, 0x90, 0x00, 0x00, 0x00, -0x00, 0x2D, 0x94, 0xDA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x84, 0xCB, 0x90, 0x00, 0x00, 0x00, -0x00, 0x2F, 0x74, 0xBC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x30, 0x64, 0xAD, 0x90, 0x00, 0x00, 0x00, -0x00, 0x31, 0x5D, 0xD9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x32, 0x72, 0xB4, 0x10, 0x00, 0x00, 0x00, -0x00, 0x33, 0x3D, 0xBB, 0x10, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0x96, 0x10, 0x00, 0x00, 0x00, -0x00, 0x35, 0x1D, 0x9D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0x78, 0x10, 0x00, 0x00, 0x00, -0x00, 0x36, 0xFD, 0x7F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0x94, 0x90, 0x00, 0x00, 0x00, -0x00, 0x38, 0xDD, 0x61, 0x10, 0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0x76, 0x90, 0x00, 0x00, 0x00, -0x00, 0x3A, 0xBD, 0x43, 0x10, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0x58, 0x90, 0x00, 0x00, 0x00, -0x00, 0x3C, 0xA6, 0x5F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x3A, 0x90, 0x00, 0x00, 0x00, -0x00, 0x3E, 0x86, 0x41, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x1C, 0x90, 0x00, 0x00, 0x00, -0x00, 0x40, 0x66, 0x23, 0x90, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x39, 0x10, 0x00, 0x00, 0x00, -0x00, 0x42, 0x46, 0x05, 0x90, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x1B, 0x10, 0x00, 0x00, 0x00, -0x00, 0x44, 0x25, 0xE7, 0x90, 0x00, 0x00, 0x00, 0x00, 0x45, 0x43, 0xFD, 0x10, 0x00, 0x00, 0x00, -0x00, 0x46, 0x05, 0xC9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x47, 0x23, 0xDF, 0x10, 0x00, 0x00, 0x00, -0x00, 0x47, 0xEE, 0xE6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, 0x03, 0xC1, 0x10, 0x00, 0x00, 0x00, -0x00, 0x49, 0xCE, 0xC8, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xE3, 0xA3, 0x10, 0x00, 0x00, 0x00, -0x00, 0x4B, 0xAE, 0xAA, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4C, 0xCC, 0xBF, 0x90, 0x00, 0x00, 0x00, -0x00, 0x4D, 0x8E, 0x8C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4E, 0xAC, 0xA1, 0x90, 0x00, 0x00, 0x00, -0x00, 0x4F, 0x6E, 0x6E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x50, 0x8C, 0x83, 0x90, 0x00, 0x00, 0x00, -0x00, 0x51, 0x57, 0x8A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x52, 0x6C, 0x65, 0x90, 0x00, 0x00, 0x00, -0x00, 0x53, 0x37, 0x6C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x54, 0x4C, 0x47, 0x90, 0x00, 0x00, 0x00, -0x00, 0x55, 0x17, 0x4E, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, 0x2C, 0x29, 0x90, 0x00, 0x00, 0x00, -0x00, 0x56, 0xF7, 0x30, 0x90, 0x00, 0x00, 0x00, 0x00, 0x58, 0x15, 0x46, 0x10, 0x00, 0x00, 0x00, -0x00, 0x58, 0xD7, 0x12, 0x90, 0x00, 0x00, 0x00, 0x00, 0x59, 0xF5, 0x28, 0x10, 0x00, 0x00, 0x00, -0x00, 0x5A, 0xB6, 0xF4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x5B, 0xD5, 0x0A, 0x10, 0x00, 0x00, 0x00, -0x00, 0x5C, 0xA0, 0x11, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5D, 0xB4, 0xEC, 0x10, 0x00, 0x00, 0x00, -0x00, 0x5E, 0x7F, 0xF3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x94, 0xCE, 0x10, 0x00, 0x00, 0x00, -0x00, 0x60, 0x5F, 0xD5, 0x10, 0x00, 0x00, 0x00, 0x00, 0x61, 0x7D, 0xEA, 0x90, 0x00, 0x00, 0x00, -0x00, 0x62, 0x3F, 0xB7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x63, 0x5D, 0xCC, 0x90, 0x00, 0x00, 0x00, -0x00, 0x64, 0x1F, 0x99, 0x10, 0x00, 0x00, 0x00, 0x00, 0x65, 0x3D, 0xAE, 0x90, 0x00, 0x00, 0x00, -0x00, 0x66, 0x08, 0xB5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, 0x1D, 0x90, 0x90, 0x00, 0x00, 0x00, -0x00, 0x67, 0xE8, 0x97, 0x90, 0x00, 0x00, 0x00, 0x00, 0x68, 0xFD, 0x72, 0x90, 0x00, 0x00, 0x00, -0x00, 0x69, 0xC8, 0x79, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xDD, 0x54, 0x90, 0x00, 0x00, 0x00, -0x00, 0x6B, 0xA8, 0x5B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xC6, 0x71, 0x10, 0x00, 0x00, 0x00, -0x00, 0x6D, 0x88, 0x3D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6E, 0xA6, 0x53, 0x10, 0x00, 0x00, 0x00, -0x00, 0x6F, 0x68, 0x1F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x70, 0x86, 0x35, 0x10, 0x00, 0x00, 0x00, -0x00, 0x71, 0x51, 0x3C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x72, 0x66, 0x17, 0x10, 0x00, 0x00, 0x00, -0x00, 0x73, 0x31, 0x1E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x74, 0x45, 0xF9, 0x10, 0x00, 0x00, 0x00, -0x00, 0x75, 0x11, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x76, 0x2F, 0x15, 0x90, 0x00, 0x00, 0x00, -0x00, 0x76, 0xF0, 0xE2, 0x10, 0x00, 0x00, 0x00, 0x00, 0x78, 0x0E, 0xF7, 0x90, 0x00, 0x00, 0x00, -0x00, 0x78, 0xD0, 0xC4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x79, 0xEE, 0xD9, 0x90, 0x00, 0x00, 0x00, -0x00, 0x7A, 0xB0, 0xA6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x7B, 0xCE, 0xBB, 0x90, 0x00, 0x00, 0x00, -0x00, 0x7C, 0x99, 0xC2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7D, 0xAE, 0x9D, 0x90, 0x00, 0x00, 0x00, -0x00, 0x7E, 0x79, 0xA4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x8E, 0x7F, 0x90, 0x01, 0x04, 0x02, -0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, -0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, -0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, -0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, -0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, -0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, -0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, -0x03, 0x02, 0xFF, 0xFF, 0xCF, 0x80, 0x00, 0x00, 0xFF, 0xFF, 0xD5, 0xD0, 0x00, 0x04, 0xFF, 0xFF, -0xD5, 0xD0, 0x00, 0x04, 0xFF, 0xFF, 0xE3, 0xE0, 0x01, 0x08, 0xFF, 0xFF, 0xE3, 0xE0, 0x01, 0x08, -0x4C, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x33, 0x00, 0x2D, 0x30, 0x32, 0x00, 0x00, 0x00, 0x01, 0x01, -0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x0A, 0x3C, 0x2D, 0x30, 0x33, 0x3E, 0x33, 0x3C, 0x2D, 0x30, -0x32, 0x3E, 0x2C, 0x4D, 0x33, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x2D, 0x32, 0x2C, 0x4D, 0x31, 0x30, -0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x2D, 0x31, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x02, 0x03, 0x02, 0x05, 0xFF, 0xFF, 0xCF, 0x80, 0x00, 0x00, 0xFF, 0xFF, 0xD5, 0xD0, 0x00, 0x04, +0xFF, 0xFF, 0xD5, 0xD0, 0x00, 0x04, 0xFF, 0xFF, 0xE3, 0xE0, 0x01, 0x08, 0xFF, 0xFF, 0xE3, 0xE0, +0x01, 0x08, 0xFF, 0xFF, 0xE3, 0xE0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x33, 0x00, +0x2D, 0x30, 0x32, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, +0x0A, 0x3C, 0x2D, 0x30, 0x32, 0x3E, 0x32, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* America/Goose_Bay */ @@ -31227,9 +31456,7 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { 0x4C, 0x4D, 0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x50, 0x53, 0x54, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x4D, 0x53, 0x54, 0x37, 0x0A, 0x00, 0xB5, 0xAE, 0x6A, 0x00, 0x69, 0x56, 0x25, -0x00, 0x00, 0x00, 0x1F, 0x4D, 0x6F, 0x75, 0x6E, 0x74, 0x61, 0x69, 0x6E, 0x20, 0x53, 0x74, 0x61, -0x6E, 0x64, 0x61, 0x72, 0x64, 0x20, 0x54, 0x69, 0x6D, 0x65, 0x20, 0x2D, 0x20, 0x53, 0x6F, 0x6E, -0x6F, 0x72, 0x61, +0x00, 0x00, 0x00, 0x06, 0x53, 0x6F, 0x6E, 0x6F, 0x72, 0x61, /* America/Indiana/Indianapolis */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x55, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -32280,37 +32507,122 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { /* America/Inuvik */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x15, 0xE0, 0x06, 0x4E, 0x80, -0xF7, 0x2F, 0x68, 0x80, 0xF8, 0x28, 0x94, 0x00, 0x11, 0x89, 0x90, 0x20, 0x13, 0x69, 0x64, 0x10, -0x14, 0x59, 0x47, 0x00, 0x15, 0x49, 0x46, 0x10, 0x16, 0x39, 0x29, 0x00, 0x17, 0x29, 0x28, 0x10, -0x18, 0x22, 0x45, 0x80, 0x19, 0x09, 0x0A, 0x10, 0x1A, 0x02, 0x27, 0x80, 0x1A, 0xF2, 0x26, 0x90, -0x1B, 0xE2, 0x09, 0x80, 0x1C, 0xD2, 0x08, 0x90, 0x1D, 0xC1, 0xEB, 0x80, 0x1E, 0xB1, 0xEA, 0x90, -0x1F, 0xA1, 0xCD, 0x80, 0x20, 0x76, 0x1D, 0x10, 0x21, 0x81, 0xAF, 0x80, 0x22, 0x55, 0xFF, 0x10, -0x23, 0x6A, 0xCC, 0x00, 0x24, 0x35, 0xE1, 0x10, 0x25, 0x4A, 0xAE, 0x00, 0x26, 0x15, 0xC3, 0x10, -0x27, 0x2A, 0x90, 0x00, 0x27, 0xFE, 0xDF, 0x90, 0x29, 0x0A, 0x72, 0x00, 0x29, 0xDE, 0xC1, 0x90, -0x2A, 0xEA, 0x54, 0x00, 0x2B, 0xBE, 0xA3, 0x90, 0x2C, 0xD3, 0x70, 0x80, 0x2D, 0x9E, 0x85, 0x90, -0x2E, 0xB3, 0x52, 0x80, 0x2F, 0x7E, 0x67, 0x90, 0x30, 0x93, 0x34, 0x80, 0x31, 0x67, 0x84, 0x10, -0x32, 0x73, 0x16, 0x80, 0x33, 0x47, 0x66, 0x10, 0x34, 0x52, 0xF8, 0x80, 0x35, 0x27, 0x48, 0x10, -0x36, 0x32, 0xDA, 0x80, 0x37, 0x07, 0x2A, 0x10, 0x38, 0x1B, 0xF7, 0x00, 0x38, 0xE7, 0x0C, 0x10, -0x39, 0xFB, 0xD9, 0x00, 0x3A, 0xC6, 0xEE, 0x10, 0x3B, 0xDB, 0xBB, 0x00, 0x3C, 0xB0, 0x0A, 0x90, -0x3D, 0xBB, 0x9D, 0x00, 0x3E, 0x8F, 0xEC, 0x90, 0x3F, 0x9B, 0x7F, 0x00, 0x40, 0x6F, 0xCE, 0x90, -0x41, 0x84, 0x9B, 0x80, 0x42, 0x4F, 0xB0, 0x90, 0x43, 0x64, 0x7D, 0x80, 0x44, 0x2F, 0x92, 0x90, -0x45, 0x44, 0x5F, 0x80, 0x45, 0xF3, 0xC5, 0x10, 0x47, 0x2D, 0x7C, 0x00, 0x47, 0xD3, 0xA7, 0x10, -0x49, 0x0D, 0x5E, 0x00, 0x49, 0xB3, 0x89, 0x10, 0x4A, 0xED, 0x40, 0x00, 0x4B, 0x9C, 0xA5, 0x90, -0x4C, 0xD6, 0x5C, 0x80, 0x4D, 0x7C, 0x87, 0x90, 0x4E, 0xB6, 0x3E, 0x80, 0x4F, 0x5C, 0x69, 0x90, -0x50, 0x96, 0x20, 0x80, 0x51, 0x3C, 0x4B, 0x90, 0x52, 0x76, 0x02, 0x80, 0x53, 0x1C, 0x2D, 0x90, -0x54, 0x55, 0xE4, 0x80, 0x54, 0xFC, 0x0F, 0x90, 0x56, 0x35, 0xC6, 0x80, 0x56, 0xE5, 0x2C, 0x10, -0x58, 0x1E, 0xE3, 0x00, 0x58, 0xC5, 0x0E, 0x10, 0x59, 0xFE, 0xC5, 0x00, 0x5A, 0xA4, 0xF0, 0x10, -0x5B, 0xDE, 0xA7, 0x00, 0x5C, 0x84, 0xD2, 0x10, 0x5D, 0xBE, 0x89, 0x00, 0x5E, 0x64, 0xB4, 0x10, -0x5F, 0x9E, 0x6B, 0x00, 0x60, 0x4D, 0xD0, 0x90, 0x61, 0x87, 0x87, 0x80, 0x62, 0x2D, 0xB2, 0x90, -0x63, 0x67, 0x69, 0x80, 0x64, 0x0D, 0x94, 0x90, 0x65, 0x47, 0x4B, 0x80, 0x65, 0xED, 0x76, 0x90, -0x67, 0x27, 0x2D, 0x80, 0x67, 0xCD, 0x58, 0x90, 0x69, 0x07, 0x0F, 0x80, 0x69, 0xAD, 0x3A, 0x90, -0x6A, 0xE6, 0xF1, 0x80, 0x6B, 0x96, 0x57, 0x10, 0x6C, 0xD0, 0x0E, 0x00, 0x6D, 0x76, 0x39, 0x10, -0x6E, 0xAF, 0xF0, 0x00, 0x6F, 0x56, 0x1B, 0x10, 0x70, 0x8F, 0xD2, 0x00, 0x71, 0x35, 0xFD, 0x10, -0x72, 0x6F, 0xB4, 0x00, 0x73, 0x15, 0xDF, 0x10, 0x74, 0x4F, 0x96, 0x00, 0x74, 0xFE, 0xFB, 0x90, -0x76, 0x38, 0xB2, 0x80, 0x76, 0xDE, 0xDD, 0x90, 0x78, 0x18, 0x94, 0x80, 0x78, 0xBE, 0xBF, 0x90, -0x79, 0xF8, 0x76, 0x80, 0x7A, 0x9E, 0xA1, 0x90, 0x7B, 0xD8, 0x58, 0x80, 0x7C, 0x7E, 0x83, 0x90, -0x7D, 0xB8, 0x3A, 0x80, 0x7E, 0x5E, 0x65, 0x90, 0x7F, 0x98, 0x1C, 0x80, 0x02, 0x01, 0x02, 0x03, +0x00, 0x00, 0x00, 0x85, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0xE0, 0x06, 0x4E, 0x80, +0x04, 0x61, 0x27, 0xA0, 0x05, 0x51, 0x0A, 0x90, 0x06, 0x41, 0x09, 0xA0, 0x07, 0x30, 0xEC, 0x90, +0x08, 0x20, 0xEB, 0xA0, 0x09, 0x10, 0xCE, 0x90, 0x0A, 0x00, 0xCD, 0xA0, 0x0A, 0xF0, 0xB0, 0x90, +0x0B, 0xE0, 0xAF, 0xA0, 0x0C, 0xD9, 0xCD, 0x10, 0x0D, 0xC0, 0x91, 0xA0, 0x0E, 0xB9, 0xAF, 0x10, +0x0F, 0xA9, 0xAE, 0x20, 0x10, 0x99, 0x91, 0x10, 0x11, 0x89, 0x90, 0x20, 0x12, 0x79, 0x65, 0x00, +0x13, 0x69, 0x64, 0x10, 0x14, 0x59, 0x47, 0x00, 0x15, 0x49, 0x46, 0x10, 0x16, 0x39, 0x29, 0x00, +0x17, 0x29, 0x28, 0x10, 0x18, 0x22, 0x45, 0x80, 0x19, 0x09, 0x0A, 0x10, 0x1A, 0x02, 0x27, 0x80, +0x1A, 0xF2, 0x26, 0x90, 0x1B, 0xE2, 0x09, 0x80, 0x1C, 0xD2, 0x08, 0x90, 0x1D, 0xC1, 0xEB, 0x80, +0x1E, 0xB1, 0xEA, 0x90, 0x1F, 0xA1, 0xCD, 0x80, 0x20, 0x76, 0x1D, 0x10, 0x21, 0x81, 0xAF, 0x80, +0x22, 0x55, 0xFF, 0x10, 0x23, 0x6A, 0xCC, 0x00, 0x24, 0x35, 0xE1, 0x10, 0x25, 0x4A, 0xAE, 0x00, +0x26, 0x15, 0xC3, 0x10, 0x27, 0x2A, 0x90, 0x00, 0x27, 0xFE, 0xDF, 0x90, 0x29, 0x0A, 0x72, 0x00, +0x29, 0xDE, 0xC1, 0x90, 0x2A, 0xEA, 0x54, 0x00, 0x2B, 0xBE, 0xA3, 0x90, 0x2C, 0xD3, 0x70, 0x80, +0x2D, 0x9E, 0x85, 0x90, 0x2E, 0xB3, 0x52, 0x80, 0x2F, 0x7E, 0x67, 0x90, 0x30, 0x93, 0x34, 0x80, +0x31, 0x67, 0x84, 0x10, 0x32, 0x73, 0x16, 0x80, 0x33, 0x47, 0x66, 0x10, 0x34, 0x52, 0xF8, 0x80, +0x35, 0x27, 0x48, 0x10, 0x36, 0x32, 0xDA, 0x80, 0x37, 0x07, 0x2A, 0x10, 0x38, 0x1B, 0xF7, 0x00, +0x38, 0xE7, 0x0C, 0x10, 0x39, 0xFB, 0xD9, 0x00, 0x3A, 0xC6, 0xEE, 0x10, 0x3B, 0xDB, 0xBB, 0x00, +0x3C, 0xB0, 0x0A, 0x90, 0x3D, 0xBB, 0x9D, 0x00, 0x3E, 0x8F, 0xEC, 0x90, 0x3F, 0x9B, 0x7F, 0x00, +0x40, 0x6F, 0xCE, 0x90, 0x41, 0x84, 0x9B, 0x80, 0x42, 0x4F, 0xB0, 0x90, 0x43, 0x64, 0x7D, 0x80, +0x44, 0x2F, 0x92, 0x90, 0x45, 0x44, 0x5F, 0x80, 0x45, 0xF3, 0xC5, 0x10, 0x47, 0x2D, 0x7C, 0x00, +0x47, 0xD3, 0xA7, 0x10, 0x49, 0x0D, 0x5E, 0x00, 0x49, 0xB3, 0x89, 0x10, 0x4A, 0xED, 0x40, 0x00, +0x4B, 0x9C, 0xA5, 0x90, 0x4C, 0xD6, 0x5C, 0x80, 0x4D, 0x7C, 0x87, 0x90, 0x4E, 0xB6, 0x3E, 0x80, +0x4F, 0x5C, 0x69, 0x90, 0x50, 0x96, 0x20, 0x80, 0x51, 0x3C, 0x4B, 0x90, 0x52, 0x76, 0x02, 0x80, +0x53, 0x1C, 0x2D, 0x90, 0x54, 0x55, 0xE4, 0x80, 0x54, 0xFC, 0x0F, 0x90, 0x56, 0x35, 0xC6, 0x80, +0x56, 0xE5, 0x2C, 0x10, 0x58, 0x1E, 0xE3, 0x00, 0x58, 0xC5, 0x0E, 0x10, 0x59, 0xFE, 0xC5, 0x00, +0x5A, 0xA4, 0xF0, 0x10, 0x5B, 0xDE, 0xA7, 0x00, 0x5C, 0x84, 0xD2, 0x10, 0x5D, 0xBE, 0x89, 0x00, +0x5E, 0x64, 0xB4, 0x10, 0x5F, 0x9E, 0x6B, 0x00, 0x60, 0x4D, 0xD0, 0x90, 0x61, 0x87, 0x87, 0x80, +0x62, 0x2D, 0xB2, 0x90, 0x63, 0x67, 0x69, 0x80, 0x64, 0x0D, 0x94, 0x90, 0x65, 0x47, 0x4B, 0x80, +0x65, 0xED, 0x76, 0x90, 0x67, 0x27, 0x2D, 0x80, 0x67, 0xCD, 0x58, 0x90, 0x69, 0x07, 0x0F, 0x80, +0x69, 0xAD, 0x3A, 0x90, 0x6A, 0xE6, 0xF1, 0x80, 0x6B, 0x96, 0x57, 0x10, 0x6C, 0xD0, 0x0E, 0x00, +0x6D, 0x76, 0x39, 0x10, 0x6E, 0xAF, 0xF0, 0x00, 0x6F, 0x56, 0x1B, 0x10, 0x70, 0x8F, 0xD2, 0x00, +0x71, 0x35, 0xFD, 0x10, 0x72, 0x6F, 0xB4, 0x00, 0x73, 0x15, 0xDF, 0x10, 0x74, 0x4F, 0x96, 0x00, +0x74, 0xFE, 0xFB, 0x90, 0x76, 0x38, 0xB2, 0x80, 0x76, 0xDE, 0xDD, 0x90, 0x78, 0x18, 0x94, 0x80, +0x78, 0xBE, 0xBF, 0x90, 0x79, 0xF8, 0x76, 0x80, 0x7A, 0x9E, 0xA1, 0x90, 0x7B, 0xD8, 0x58, 0x80, +0x7C, 0x7E, 0x83, 0x90, 0x7D, 0xB8, 0x3A, 0x80, 0x7E, 0x5E, 0x65, 0x90, 0x7F, 0x98, 0x1C, 0x80, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x04, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, +0x03, 0x04, 0x03, 0x04, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x9D, 0x90, 0x01, +0x04, 0xFF, 0xFF, 0x8F, 0x80, 0x00, 0x08, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x0C, 0xFF, 0xFF, 0xAB, +0xA0, 0x01, 0x10, 0x2D, 0x30, 0x30, 0x00, 0x50, 0x44, 0x54, 0x00, 0x50, 0x53, 0x54, 0x00, 0x4D, +0x53, 0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x85, 0x00, 0x00, 0x00, 0x05, 0x00, +0x00, 0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x06, 0x4E, 0x80, 0x00, 0x00, 0x00, 0x00, 0x04, +0x61, 0x27, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x05, 0x51, 0x0A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x06, +0x41, 0x09, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x07, 0x30, 0xEC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x08, +0x20, 0xEB, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x09, 0x10, 0xCE, 0x90, 0x00, 0x00, 0x00, 0x00, 0x0A, +0x00, 0xCD, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xF0, 0xB0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x0B, +0xE0, 0xAF, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xD9, 0xCD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x0D, +0xC0, 0x91, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xB9, 0xAF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x0F, +0xA9, 0xAE, 0x20, 0x00, 0x00, 0x00, 0x00, 0x10, 0x99, 0x91, 0x10, 0x00, 0x00, 0x00, 0x00, 0x11, +0x89, 0x90, 0x20, 0x00, 0x00, 0x00, 0x00, 0x12, 0x79, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, +0x69, 0x64, 0x10, 0x00, 0x00, 0x00, 0x00, 0x14, 0x59, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, +0x49, 0x46, 0x10, 0x00, 0x00, 0x00, 0x00, 0x16, 0x39, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, +0x29, 0x28, 0x10, 0x00, 0x00, 0x00, 0x00, 0x18, 0x22, 0x45, 0x80, 0x00, 0x00, 0x00, 0x00, 0x19, +0x09, 0x0A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x02, 0x27, 0x80, 0x00, 0x00, 0x00, 0x00, 0x1A, +0xF2, 0x26, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xE2, 0x09, 0x80, 0x00, 0x00, 0x00, 0x00, 0x1C, +0xD2, 0x08, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xC1, 0xEB, 0x80, 0x00, 0x00, 0x00, 0x00, 0x1E, +0xB1, 0xEA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xA1, 0xCD, 0x80, 0x00, 0x00, 0x00, 0x00, 0x20, +0x76, 0x1D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x21, 0x81, 0xAF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x22, +0x55, 0xFF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x23, 0x6A, 0xCC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, +0x35, 0xE1, 0x10, 0x00, 0x00, 0x00, 0x00, 0x25, 0x4A, 0xAE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x26, +0x15, 0xC3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x27, 0x2A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, +0xFE, 0xDF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, 0x0A, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x29, +0xDE, 0xC1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xEA, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2B, +0xBE, 0xA3, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xD3, 0x70, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2D, +0x9E, 0x85, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2E, 0xB3, 0x52, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2F, +0x7E, 0x67, 0x90, 0x00, 0x00, 0x00, 0x00, 0x30, 0x93, 0x34, 0x80, 0x00, 0x00, 0x00, 0x00, 0x31, +0x67, 0x84, 0x10, 0x00, 0x00, 0x00, 0x00, 0x32, 0x73, 0x16, 0x80, 0x00, 0x00, 0x00, 0x00, 0x33, +0x47, 0x66, 0x10, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0xF8, 0x80, 0x00, 0x00, 0x00, 0x00, 0x35, +0x27, 0x48, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0xDA, 0x80, 0x00, 0x00, 0x00, 0x00, 0x37, +0x07, 0x2A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0xF7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, +0xE7, 0x0C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0xD9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3A, +0xC6, 0xEE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0xBB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, +0xB0, 0x0A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x9D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, +0x8F, 0xEC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, +0x6F, 0xCE, 0x90, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x9B, 0x80, 0x00, 0x00, 0x00, 0x00, 0x42, +0x4F, 0xB0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x7D, 0x80, 0x00, 0x00, 0x00, 0x00, 0x44, +0x2F, 0x92, 0x90, 0x00, 0x00, 0x00, 0x00, 0x45, 0x44, 0x5F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x45, +0xF3, 0xC5, 0x10, 0x00, 0x00, 0x00, 0x00, 0x47, 0x2D, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, +0xD3, 0xA7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, 0x0D, 0x5E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, +0xB3, 0x89, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xED, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4B, +0x9C, 0xA5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4C, 0xD6, 0x5C, 0x80, 0x00, 0x00, 0x00, 0x00, 0x4D, +0x7C, 0x87, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4E, 0xB6, 0x3E, 0x80, 0x00, 0x00, 0x00, 0x00, 0x4F, +0x5C, 0x69, 0x90, 0x00, 0x00, 0x00, 0x00, 0x50, 0x96, 0x20, 0x80, 0x00, 0x00, 0x00, 0x00, 0x51, +0x3C, 0x4B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x52, 0x76, 0x02, 0x80, 0x00, 0x00, 0x00, 0x00, 0x53, +0x1C, 0x2D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x54, 0x55, 0xE4, 0x80, 0x00, 0x00, 0x00, 0x00, 0x54, +0xFC, 0x0F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, 0x35, 0xC6, 0x80, 0x00, 0x00, 0x00, 0x00, 0x56, +0xE5, 0x2C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x58, 0x1E, 0xE3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, +0xC5, 0x0E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x59, 0xFE, 0xC5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5A, +0xA4, 0xF0, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5B, 0xDE, 0xA7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5C, +0x84, 0xD2, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5D, 0xBE, 0x89, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5E, +0x64, 0xB4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x9E, 0x6B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, +0x4D, 0xD0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x61, 0x87, 0x87, 0x80, 0x00, 0x00, 0x00, 0x00, 0x62, +0x2D, 0xB2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x63, 0x67, 0x69, 0x80, 0x00, 0x00, 0x00, 0x00, 0x64, +0x0D, 0x94, 0x90, 0x00, 0x00, 0x00, 0x00, 0x65, 0x47, 0x4B, 0x80, 0x00, 0x00, 0x00, 0x00, 0x65, +0xED, 0x76, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, 0x27, 0x2D, 0x80, 0x00, 0x00, 0x00, 0x00, 0x67, +0xCD, 0x58, 0x90, 0x00, 0x00, 0x00, 0x00, 0x69, 0x07, 0x0F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x69, +0xAD, 0x3A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xE6, 0xF1, 0x80, 0x00, 0x00, 0x00, 0x00, 0x6B, +0x96, 0x57, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xD0, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6D, +0x76, 0x39, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6E, 0xAF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6F, +0x56, 0x1B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x70, 0x8F, 0xD2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x71, +0x35, 0xFD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x72, 0x6F, 0xB4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x73, +0x15, 0xDF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x74, 0x4F, 0x96, 0x00, 0x00, 0x00, 0x00, 0x00, 0x74, +0xFE, 0xFB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x76, 0x38, 0xB2, 0x80, 0x00, 0x00, 0x00, 0x00, 0x76, +0xDE, 0xDD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x78, 0x18, 0x94, 0x80, 0x00, 0x00, 0x00, 0x00, 0x78, +0xBE, 0xBF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x79, 0xF8, 0x76, 0x80, 0x00, 0x00, 0x00, 0x00, 0x7A, +0x9E, 0xA1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7B, 0xD8, 0x58, 0x80, 0x00, 0x00, 0x00, 0x00, 0x7C, +0x7E, 0x83, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7D, 0xB8, 0x3A, 0x80, 0x00, 0x00, 0x00, 0x00, 0x7E, +0x5E, 0x65, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x98, 0x1C, 0x80, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, @@ -32318,219 +32630,155 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, -0x04, 0x03, 0x04, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x04, -0xFF, 0xFF, 0x8F, 0x80, 0x00, 0x09, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x0D, 0xFF, 0xFF, 0xAB, 0xA0, -0x01, 0x11, 0x2D, 0x30, 0x30, 0x00, 0x50, 0x44, 0x44, 0x54, 0x00, 0x50, 0x53, 0x54, 0x00, 0x4D, -0x53, 0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x05, 0x00, -0x00, 0x00, 0x15, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x06, 0x4E, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, -0x2F, 0x68, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x28, 0x94, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, -0x89, 0x90, 0x20, 0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x64, 0x10, 0x00, 0x00, 0x00, 0x00, 0x14, -0x59, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x49, 0x46, 0x10, 0x00, 0x00, 0x00, 0x00, 0x16, -0x39, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x29, 0x28, 0x10, 0x00, 0x00, 0x00, 0x00, 0x18, -0x22, 0x45, 0x80, 0x00, 0x00, 0x00, 0x00, 0x19, 0x09, 0x0A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1A, -0x02, 0x27, 0x80, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xF2, 0x26, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, -0xE2, 0x09, 0x80, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xD2, 0x08, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1D, -0xC1, 0xEB, 0x80, 0x00, 0x00, 0x00, 0x00, 0x1E, 0xB1, 0xEA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1F, -0xA1, 0xCD, 0x80, 0x00, 0x00, 0x00, 0x00, 0x20, 0x76, 0x1D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x21, -0x81, 0xAF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x22, 0x55, 0xFF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x23, -0x6A, 0xCC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x35, 0xE1, 0x10, 0x00, 0x00, 0x00, 0x00, 0x25, -0x4A, 0xAE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x26, 0x15, 0xC3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x27, -0x2A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0xFE, 0xDF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, -0x0A, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x29, 0xDE, 0xC1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2A, -0xEA, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xBE, 0xA3, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2C, -0xD3, 0x70, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x9E, 0x85, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2E, -0xB3, 0x52, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x7E, 0x67, 0x90, 0x00, 0x00, 0x00, 0x00, 0x30, -0x93, 0x34, 0x80, 0x00, 0x00, 0x00, 0x00, 0x31, 0x67, 0x84, 0x10, 0x00, 0x00, 0x00, 0x00, 0x32, -0x73, 0x16, 0x80, 0x00, 0x00, 0x00, 0x00, 0x33, 0x47, 0x66, 0x10, 0x00, 0x00, 0x00, 0x00, 0x34, -0x52, 0xF8, 0x80, 0x00, 0x00, 0x00, 0x00, 0x35, 0x27, 0x48, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, -0x32, 0xDA, 0x80, 0x00, 0x00, 0x00, 0x00, 0x37, 0x07, 0x2A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x38, -0x1B, 0xF7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0xE7, 0x0C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x39, -0xFB, 0xD9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xC6, 0xEE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x3B, -0xDB, 0xBB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xB0, 0x0A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3D, -0xBB, 0x9D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x8F, 0xEC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3F, -0x9B, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x6F, 0xCE, 0x90, 0x00, 0x00, 0x00, 0x00, 0x41, -0x84, 0x9B, 0x80, 0x00, 0x00, 0x00, 0x00, 0x42, 0x4F, 0xB0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x43, -0x64, 0x7D, 0x80, 0x00, 0x00, 0x00, 0x00, 0x44, 0x2F, 0x92, 0x90, 0x00, 0x00, 0x00, 0x00, 0x45, -0x44, 0x5F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x45, 0xF3, 0xC5, 0x10, 0x00, 0x00, 0x00, 0x00, 0x47, -0x2D, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0xD3, 0xA7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, -0x0D, 0x5E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0xB3, 0x89, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4A, -0xED, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4B, 0x9C, 0xA5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4C, -0xD6, 0x5C, 0x80, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x7C, 0x87, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4E, -0xB6, 0x3E, 0x80, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x5C, 0x69, 0x90, 0x00, 0x00, 0x00, 0x00, 0x50, -0x96, 0x20, 0x80, 0x00, 0x00, 0x00, 0x00, 0x51, 0x3C, 0x4B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x52, -0x76, 0x02, 0x80, 0x00, 0x00, 0x00, 0x00, 0x53, 0x1C, 0x2D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x54, -0x55, 0xE4, 0x80, 0x00, 0x00, 0x00, 0x00, 0x54, 0xFC, 0x0F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, -0x35, 0xC6, 0x80, 0x00, 0x00, 0x00, 0x00, 0x56, 0xE5, 0x2C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x58, -0x1E, 0xE3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 0xC5, 0x0E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x59, -0xFE, 0xC5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xA4, 0xF0, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5B, -0xDE, 0xA7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5C, 0x84, 0xD2, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5D, -0xBE, 0x89, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x64, 0xB4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5F, -0x9E, 0x6B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x4D, 0xD0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x61, -0x87, 0x87, 0x80, 0x00, 0x00, 0x00, 0x00, 0x62, 0x2D, 0xB2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x63, -0x67, 0x69, 0x80, 0x00, 0x00, 0x00, 0x00, 0x64, 0x0D, 0x94, 0x90, 0x00, 0x00, 0x00, 0x00, 0x65, -0x47, 0x4B, 0x80, 0x00, 0x00, 0x00, 0x00, 0x65, 0xED, 0x76, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, -0x27, 0x2D, 0x80, 0x00, 0x00, 0x00, 0x00, 0x67, 0xCD, 0x58, 0x90, 0x00, 0x00, 0x00, 0x00, 0x69, -0x07, 0x0F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x69, 0xAD, 0x3A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6A, -0xE6, 0xF1, 0x80, 0x00, 0x00, 0x00, 0x00, 0x6B, 0x96, 0x57, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6C, -0xD0, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x76, 0x39, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6E, -0xAF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x56, 0x1B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x70, -0x8F, 0xD2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x71, 0x35, 0xFD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x72, -0x6F, 0xB4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x73, 0x15, 0xDF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x74, -0x4F, 0x96, 0x00, 0x00, 0x00, 0x00, 0x00, 0x74, 0xFE, 0xFB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x76, -0x38, 0xB2, 0x80, 0x00, 0x00, 0x00, 0x00, 0x76, 0xDE, 0xDD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x78, -0x18, 0x94, 0x80, 0x00, 0x00, 0x00, 0x00, 0x78, 0xBE, 0xBF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x79, -0xF8, 0x76, 0x80, 0x00, 0x00, 0x00, 0x00, 0x7A, 0x9E, 0xA1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7B, -0xD8, 0x58, 0x80, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x7E, 0x83, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7D, -0xB8, 0x3A, 0x80, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x5E, 0x65, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7F, -0x98, 0x1C, 0x80, 0x02, 0x01, 0x02, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, -0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, -0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, -0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, -0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, -0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, -0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, -0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x04, 0xFF, 0xFF, 0x8F, 0x80, 0x00, 0x09, 0xFF, 0xFF, 0x9D, -0x90, 0x00, 0x0D, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x11, 0x2D, 0x30, 0x30, 0x00, 0x50, 0x44, 0x44, -0x54, 0x00, 0x50, 0x53, 0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x0A, 0x4D, -0x53, 0x54, 0x37, 0x4D, 0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, -0x31, 0x2E, 0x31, 0x2E, 0x30, 0x0A, 0x00, 0xF1, 0x9F, 0x5C, 0x00, 0x46, 0x9F, 0x6D, 0x00, 0x00, -0x00, 0x14, 0x4D, 0x6F, 0x75, 0x6E, 0x74, 0x61, 0x69, 0x6E, 0x20, 0x2D, 0x20, 0x4E, 0x54, 0x20, -0x28, 0x77, 0x65, 0x73, 0x74, 0x29, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x9D, 0x90, 0x01, 0x04, 0xFF, 0xFF, 0x8F, 0x80, +0x00, 0x08, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x0C, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x10, 0x2D, 0x30, +0x30, 0x00, 0x50, 0x44, 0x54, 0x00, 0x50, 0x53, 0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, 0x4D, 0x44, +0x54, 0x00, 0x0A, 0x4D, 0x53, 0x54, 0x37, 0x4D, 0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, +0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, 0x31, 0x2E, 0x30, 0x0A, 0x00, 0xF1, 0x9F, 0x5C, 0x00, 0x46, +0x9F, 0x6D, 0x00, 0x00, 0x00, 0x14, 0x4D, 0x6F, 0x75, 0x6E, 0x74, 0x61, 0x69, 0x6E, 0x20, 0x2D, +0x20, 0x4E, 0x54, 0x20, 0x28, 0x77, 0x65, 0x73, 0x74, 0x29, /* America/Iqaluit */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x79, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x21, 0xCC, 0x6C, 0xA1, 0x80, -0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xFB, 0xE0, 0xF7, 0x2F, 0x3E, 0x50, 0xF8, 0x28, 0x69, 0xD0, -0x13, 0x69, 0x47, 0xF0, 0x14, 0x59, 0x2A, 0xE0, 0x15, 0x49, 0x29, 0xF0, 0x16, 0x39, 0x0C, 0xE0, -0x17, 0x29, 0x0B, 0xF0, 0x18, 0x22, 0x29, 0x60, 0x19, 0x08, 0xED, 0xF0, 0x1A, 0x02, 0x0B, 0x60, -0x1A, 0xF2, 0x0A, 0x70, 0x1B, 0xE1, 0xED, 0x60, 0x1C, 0xD1, 0xEC, 0x70, 0x1D, 0xC1, 0xCF, 0x60, -0x1E, 0xB1, 0xCE, 0x70, 0x1F, 0xA1, 0xB1, 0x60, 0x20, 0x76, 0x00, 0xF0, 0x21, 0x81, 0x93, 0x60, -0x22, 0x55, 0xE2, 0xF0, 0x23, 0x6A, 0xAF, 0xE0, 0x24, 0x35, 0xC4, 0xF0, 0x25, 0x4A, 0x91, 0xE0, -0x26, 0x15, 0xA6, 0xF0, 0x27, 0x2A, 0x73, 0xE0, 0x27, 0xFE, 0xC3, 0x70, 0x29, 0x0A, 0x55, 0xE0, -0x29, 0xDE, 0xA5, 0x70, 0x2A, 0xEA, 0x37, 0xE0, 0x2B, 0xBE, 0x87, 0x70, 0x2C, 0xD3, 0x54, 0x60, -0x2D, 0x9E, 0x69, 0x70, 0x2E, 0xB3, 0x36, 0x60, 0x2F, 0x7E, 0x4B, 0x70, 0x30, 0x93, 0x18, 0x60, -0x31, 0x67, 0x67, 0xF0, 0x32, 0x72, 0xFA, 0x60, 0x33, 0x47, 0x49, 0xF0, 0x34, 0x52, 0xDC, 0x60, -0x35, 0x27, 0x2B, 0xF0, 0x36, 0x32, 0xBE, 0x60, 0x37, 0x07, 0x0D, 0xF0, 0x38, 0x1B, 0xDA, 0xE0, -0x38, 0xE6, 0xFE, 0x00, 0x39, 0xFB, 0xCA, 0xF0, 0x3A, 0xC6, 0xD1, 0xF0, 0x3B, 0xDB, 0x9E, 0xE0, -0x3C, 0xAF, 0xEE, 0x70, 0x3D, 0xBB, 0x80, 0xE0, 0x3E, 0x8F, 0xD0, 0x70, 0x3F, 0x9B, 0x62, 0xE0, -0x40, 0x6F, 0xB2, 0x70, 0x41, 0x84, 0x7F, 0x60, 0x42, 0x4F, 0x94, 0x70, 0x43, 0x64, 0x61, 0x60, -0x44, 0x2F, 0x76, 0x70, 0x45, 0x44, 0x43, 0x60, 0x45, 0xF3, 0xA8, 0xF0, 0x47, 0x2D, 0x5F, 0xE0, -0x47, 0xD3, 0x8A, 0xF0, 0x49, 0x0D, 0x41, 0xE0, 0x49, 0xB3, 0x6C, 0xF0, 0x4A, 0xED, 0x23, 0xE0, -0x4B, 0x9C, 0x89, 0x70, 0x4C, 0xD6, 0x40, 0x60, 0x4D, 0x7C, 0x6B, 0x70, 0x4E, 0xB6, 0x22, 0x60, -0x4F, 0x5C, 0x4D, 0x70, 0x50, 0x96, 0x04, 0x60, 0x51, 0x3C, 0x2F, 0x70, 0x52, 0x75, 0xE6, 0x60, -0x53, 0x1C, 0x11, 0x70, 0x54, 0x55, 0xC8, 0x60, 0x54, 0xFB, 0xF3, 0x70, 0x56, 0x35, 0xAA, 0x60, -0x56, 0xE5, 0x0F, 0xF0, 0x58, 0x1E, 0xC6, 0xE0, 0x58, 0xC4, 0xF1, 0xF0, 0x59, 0xFE, 0xA8, 0xE0, -0x5A, 0xA4, 0xD3, 0xF0, 0x5B, 0xDE, 0x8A, 0xE0, 0x5C, 0x84, 0xB5, 0xF0, 0x5D, 0xBE, 0x6C, 0xE0, -0x5E, 0x64, 0x97, 0xF0, 0x5F, 0x9E, 0x4E, 0xE0, 0x60, 0x4D, 0xB4, 0x70, 0x61, 0x87, 0x6B, 0x60, -0x62, 0x2D, 0x96, 0x70, 0x63, 0x67, 0x4D, 0x60, 0x64, 0x0D, 0x78, 0x70, 0x65, 0x47, 0x2F, 0x60, -0x65, 0xED, 0x5A, 0x70, 0x67, 0x27, 0x11, 0x60, 0x67, 0xCD, 0x3C, 0x70, 0x69, 0x06, 0xF3, 0x60, -0x69, 0xAD, 0x1E, 0x70, 0x6A, 0xE6, 0xD5, 0x60, 0x6B, 0x96, 0x3A, 0xF0, 0x6C, 0xCF, 0xF1, 0xE0, -0x6D, 0x76, 0x1C, 0xF0, 0x6E, 0xAF, 0xD3, 0xE0, 0x6F, 0x55, 0xFE, 0xF0, 0x70, 0x8F, 0xB5, 0xE0, -0x71, 0x35, 0xE0, 0xF0, 0x72, 0x6F, 0x97, 0xE0, 0x73, 0x15, 0xC2, 0xF0, 0x74, 0x4F, 0x79, 0xE0, -0x74, 0xFE, 0xDF, 0x70, 0x76, 0x38, 0x96, 0x60, 0x76, 0xDE, 0xC1, 0x70, 0x78, 0x18, 0x78, 0x60, -0x78, 0xBE, 0xA3, 0x70, 0x79, 0xF8, 0x5A, 0x60, 0x7A, 0x9E, 0x85, 0x70, 0x7B, 0xD8, 0x3C, 0x60, -0x7C, 0x7E, 0x67, 0x70, 0x7D, 0xB8, 0x1E, 0x60, 0x7E, 0x5E, 0x49, 0x70, 0x7F, 0x98, 0x00, 0x60, -0x05, 0x01, 0x02, 0x03, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, -0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, -0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x06, 0x07, 0x02, 0x04, -0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, -0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, -0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, -0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, -0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, -0xFF, 0xC7, 0xC0, 0x01, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, -0x0C, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x11, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x15, 0xFF, 0xFF, 0xAB, -0xA0, 0x00, 0x19, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x1D, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x11, 0xFF, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x87, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x1C, 0xCC, 0x6C, 0xA1, 0x80, +0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xFB, 0xE0, 0x04, 0x60, 0xFD, 0x70, 0x05, 0x50, 0xE0, 0x60, +0x06, 0x40, 0xDF, 0x70, 0x07, 0x30, 0xC2, 0x60, 0x08, 0x20, 0xC1, 0x70, 0x09, 0x10, 0xA4, 0x60, +0x0A, 0x00, 0xA3, 0x70, 0x0A, 0xF0, 0x86, 0x60, 0x0B, 0xE0, 0x85, 0x70, 0x0C, 0xD9, 0xA2, 0xE0, +0x0D, 0xC0, 0x67, 0x70, 0x0E, 0xB9, 0x84, 0xE0, 0x0F, 0xA9, 0x83, 0xF0, 0x10, 0x99, 0x66, 0xE0, +0x11, 0x89, 0x65, 0xF0, 0x12, 0x79, 0x48, 0xE0, 0x13, 0x69, 0x47, 0xF0, 0x14, 0x59, 0x2A, 0xE0, +0x15, 0x49, 0x29, 0xF0, 0x16, 0x39, 0x0C, 0xE0, 0x17, 0x29, 0x0B, 0xF0, 0x18, 0x22, 0x29, 0x60, +0x19, 0x08, 0xED, 0xF0, 0x1A, 0x02, 0x0B, 0x60, 0x1A, 0xF2, 0x0A, 0x70, 0x1B, 0xE1, 0xED, 0x60, +0x1C, 0xD1, 0xEC, 0x70, 0x1D, 0xC1, 0xCF, 0x60, 0x1E, 0xB1, 0xCE, 0x70, 0x1F, 0xA1, 0xB1, 0x60, +0x20, 0x76, 0x00, 0xF0, 0x21, 0x81, 0x93, 0x60, 0x22, 0x55, 0xE2, 0xF0, 0x23, 0x6A, 0xAF, 0xE0, +0x24, 0x35, 0xC4, 0xF0, 0x25, 0x4A, 0x91, 0xE0, 0x26, 0x15, 0xA6, 0xF0, 0x27, 0x2A, 0x73, 0xE0, +0x27, 0xFE, 0xC3, 0x70, 0x29, 0x0A, 0x55, 0xE0, 0x29, 0xDE, 0xA5, 0x70, 0x2A, 0xEA, 0x37, 0xE0, +0x2B, 0xBE, 0x87, 0x70, 0x2C, 0xD3, 0x54, 0x60, 0x2D, 0x9E, 0x69, 0x70, 0x2E, 0xB3, 0x36, 0x60, +0x2F, 0x7E, 0x4B, 0x70, 0x30, 0x93, 0x18, 0x60, 0x31, 0x67, 0x67, 0xF0, 0x32, 0x72, 0xFA, 0x60, +0x33, 0x47, 0x49, 0xF0, 0x34, 0x52, 0xDC, 0x60, 0x35, 0x27, 0x2B, 0xF0, 0x36, 0x32, 0xBE, 0x60, +0x37, 0x07, 0x0D, 0xF0, 0x38, 0x1B, 0xDA, 0xE0, 0x38, 0xE6, 0xFE, 0x00, 0x39, 0xFB, 0xCA, 0xF0, +0x3A, 0xC6, 0xD1, 0xF0, 0x3B, 0xDB, 0x9E, 0xE0, 0x3C, 0xAF, 0xEE, 0x70, 0x3D, 0xBB, 0x80, 0xE0, +0x3E, 0x8F, 0xD0, 0x70, 0x3F, 0x9B, 0x62, 0xE0, 0x40, 0x6F, 0xB2, 0x70, 0x41, 0x84, 0x7F, 0x60, +0x42, 0x4F, 0x94, 0x70, 0x43, 0x64, 0x61, 0x60, 0x44, 0x2F, 0x76, 0x70, 0x45, 0x44, 0x43, 0x60, +0x45, 0xF3, 0xA8, 0xF0, 0x47, 0x2D, 0x5F, 0xE0, 0x47, 0xD3, 0x8A, 0xF0, 0x49, 0x0D, 0x41, 0xE0, +0x49, 0xB3, 0x6C, 0xF0, 0x4A, 0xED, 0x23, 0xE0, 0x4B, 0x9C, 0x89, 0x70, 0x4C, 0xD6, 0x40, 0x60, +0x4D, 0x7C, 0x6B, 0x70, 0x4E, 0xB6, 0x22, 0x60, 0x4F, 0x5C, 0x4D, 0x70, 0x50, 0x96, 0x04, 0x60, +0x51, 0x3C, 0x2F, 0x70, 0x52, 0x75, 0xE6, 0x60, 0x53, 0x1C, 0x11, 0x70, 0x54, 0x55, 0xC8, 0x60, +0x54, 0xFB, 0xF3, 0x70, 0x56, 0x35, 0xAA, 0x60, 0x56, 0xE5, 0x0F, 0xF0, 0x58, 0x1E, 0xC6, 0xE0, +0x58, 0xC4, 0xF1, 0xF0, 0x59, 0xFE, 0xA8, 0xE0, 0x5A, 0xA4, 0xD3, 0xF0, 0x5B, 0xDE, 0x8A, 0xE0, +0x5C, 0x84, 0xB5, 0xF0, 0x5D, 0xBE, 0x6C, 0xE0, 0x5E, 0x64, 0x97, 0xF0, 0x5F, 0x9E, 0x4E, 0xE0, +0x60, 0x4D, 0xB4, 0x70, 0x61, 0x87, 0x6B, 0x60, 0x62, 0x2D, 0x96, 0x70, 0x63, 0x67, 0x4D, 0x60, +0x64, 0x0D, 0x78, 0x70, 0x65, 0x47, 0x2F, 0x60, 0x65, 0xED, 0x5A, 0x70, 0x67, 0x27, 0x11, 0x60, +0x67, 0xCD, 0x3C, 0x70, 0x69, 0x06, 0xF3, 0x60, 0x69, 0xAD, 0x1E, 0x70, 0x6A, 0xE6, 0xD5, 0x60, +0x6B, 0x96, 0x3A, 0xF0, 0x6C, 0xCF, 0xF1, 0xE0, 0x6D, 0x76, 0x1C, 0xF0, 0x6E, 0xAF, 0xD3, 0xE0, +0x6F, 0x55, 0xFE, 0xF0, 0x70, 0x8F, 0xB5, 0xE0, 0x71, 0x35, 0xE0, 0xF0, 0x72, 0x6F, 0x97, 0xE0, +0x73, 0x15, 0xC2, 0xF0, 0x74, 0x4F, 0x79, 0xE0, 0x74, 0xFE, 0xDF, 0x70, 0x76, 0x38, 0x96, 0x60, +0x76, 0xDE, 0xC1, 0x70, 0x78, 0x18, 0x78, 0x60, 0x78, 0xBE, 0xA3, 0x70, 0x79, 0xF8, 0x5A, 0x60, +0x7A, 0x9E, 0x85, 0x70, 0x7B, 0xD8, 0x3C, 0x60, 0x7C, 0x7E, 0x67, 0x70, 0x7D, 0xB8, 0x1E, 0x60, +0x7E, 0x5E, 0x49, 0x70, 0x7F, 0x98, 0x00, 0x60, 0x04, 0x01, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x05, 0x06, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, +0x08, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x0C, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x10, 0xFF, 0xFF, 0xAB, +0xA0, 0x00, 0x14, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x18, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x0C, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0x2D, 0x30, 0x30, 0x00, 0x45, 0x50, 0x54, 0x00, 0x45, 0x53, 0x54, -0x00, 0x45, 0x44, 0x44, 0x54, 0x00, 0x45, 0x44, 0x54, 0x00, 0x45, 0x57, 0x54, 0x00, 0x43, 0x53, -0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x79, 0x00, 0x00, -0x00, 0x0A, 0x00, 0x00, 0x00, 0x21, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0xA1, 0x80, 0xFF, 0xFF, -0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xFB, 0xE0, 0xFF, 0xFF, -0xFF, 0xFF, 0xF7, 0x2F, 0x3E, 0x50, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x28, 0x69, 0xD0, 0x00, 0x00, -0x00, 0x00, 0x13, 0x69, 0x47, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x14, 0x59, 0x2A, 0xE0, 0x00, 0x00, -0x00, 0x00, 0x15, 0x49, 0x29, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x39, 0x0C, 0xE0, 0x00, 0x00, -0x00, 0x00, 0x17, 0x29, 0x0B, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x18, 0x22, 0x29, 0x60, 0x00, 0x00, -0x00, 0x00, 0x19, 0x08, 0xED, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x02, 0x0B, 0x60, 0x00, 0x00, -0x00, 0x00, 0x1A, 0xF2, 0x0A, 0x70, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xE1, 0xED, 0x60, 0x00, 0x00, -0x00, 0x00, 0x1C, 0xD1, 0xEC, 0x70, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xC1, 0xCF, 0x60, 0x00, 0x00, -0x00, 0x00, 0x1E, 0xB1, 0xCE, 0x70, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xA1, 0xB1, 0x60, 0x00, 0x00, -0x00, 0x00, 0x20, 0x76, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x21, 0x81, 0x93, 0x60, 0x00, 0x00, -0x00, 0x00, 0x22, 0x55, 0xE2, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x23, 0x6A, 0xAF, 0xE0, 0x00, 0x00, -0x00, 0x00, 0x24, 0x35, 0xC4, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x25, 0x4A, 0x91, 0xE0, 0x00, 0x00, -0x00, 0x00, 0x26, 0x15, 0xA6, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x27, 0x2A, 0x73, 0xE0, 0x00, 0x00, -0x00, 0x00, 0x27, 0xFE, 0xC3, 0x70, 0x00, 0x00, 0x00, 0x00, 0x29, 0x0A, 0x55, 0xE0, 0x00, 0x00, -0x00, 0x00, 0x29, 0xDE, 0xA5, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xEA, 0x37, 0xE0, 0x00, 0x00, -0x00, 0x00, 0x2B, 0xBE, 0x87, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xD3, 0x54, 0x60, 0x00, 0x00, -0x00, 0x00, 0x2D, 0x9E, 0x69, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2E, 0xB3, 0x36, 0x60, 0x00, 0x00, -0x00, 0x00, 0x2F, 0x7E, 0x4B, 0x70, 0x00, 0x00, 0x00, 0x00, 0x30, 0x93, 0x18, 0x60, 0x00, 0x00, -0x00, 0x00, 0x31, 0x67, 0x67, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x32, 0x72, 0xFA, 0x60, 0x00, 0x00, -0x00, 0x00, 0x33, 0x47, 0x49, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0xDC, 0x60, 0x00, 0x00, -0x00, 0x00, 0x35, 0x27, 0x2B, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0xBE, 0x60, 0x00, 0x00, -0x00, 0x00, 0x37, 0x07, 0x0D, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0xDA, 0xE0, 0x00, 0x00, -0x00, 0x00, 0x38, 0xE6, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0xCA, 0xF0, 0x00, 0x00, -0x00, 0x00, 0x3A, 0xC6, 0xD1, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0x9E, 0xE0, 0x00, 0x00, -0x00, 0x00, 0x3C, 0xAF, 0xEE, 0x70, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x80, 0xE0, 0x00, 0x00, -0x00, 0x00, 0x3E, 0x8F, 0xD0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x62, 0xE0, 0x00, 0x00, -0x00, 0x00, 0x40, 0x6F, 0xB2, 0x70, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x7F, 0x60, 0x00, 0x00, -0x00, 0x00, 0x42, 0x4F, 0x94, 0x70, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x61, 0x60, 0x00, 0x00, -0x00, 0x00, 0x44, 0x2F, 0x76, 0x70, 0x00, 0x00, 0x00, 0x00, 0x45, 0x44, 0x43, 0x60, 0x00, 0x00, -0x00, 0x00, 0x45, 0xF3, 0xA8, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x47, 0x2D, 0x5F, 0xE0, 0x00, 0x00, -0x00, 0x00, 0x47, 0xD3, 0x8A, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x49, 0x0D, 0x41, 0xE0, 0x00, 0x00, -0x00, 0x00, 0x49, 0xB3, 0x6C, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xED, 0x23, 0xE0, 0x00, 0x00, -0x00, 0x00, 0x4B, 0x9C, 0x89, 0x70, 0x00, 0x00, 0x00, 0x00, 0x4C, 0xD6, 0x40, 0x60, 0x00, 0x00, -0x00, 0x00, 0x4D, 0x7C, 0x6B, 0x70, 0x00, 0x00, 0x00, 0x00, 0x4E, 0xB6, 0x22, 0x60, 0x00, 0x00, -0x00, 0x00, 0x4F, 0x5C, 0x4D, 0x70, 0x00, 0x00, 0x00, 0x00, 0x50, 0x96, 0x04, 0x60, 0x00, 0x00, -0x00, 0x00, 0x51, 0x3C, 0x2F, 0x70, 0x00, 0x00, 0x00, 0x00, 0x52, 0x75, 0xE6, 0x60, 0x00, 0x00, -0x00, 0x00, 0x53, 0x1C, 0x11, 0x70, 0x00, 0x00, 0x00, 0x00, 0x54, 0x55, 0xC8, 0x60, 0x00, 0x00, -0x00, 0x00, 0x54, 0xFB, 0xF3, 0x70, 0x00, 0x00, 0x00, 0x00, 0x56, 0x35, 0xAA, 0x60, 0x00, 0x00, -0x00, 0x00, 0x56, 0xE5, 0x0F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x58, 0x1E, 0xC6, 0xE0, 0x00, 0x00, -0x00, 0x00, 0x58, 0xC4, 0xF1, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x59, 0xFE, 0xA8, 0xE0, 0x00, 0x00, -0x00, 0x00, 0x5A, 0xA4, 0xD3, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x5B, 0xDE, 0x8A, 0xE0, 0x00, 0x00, -0x00, 0x00, 0x5C, 0x84, 0xB5, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x5D, 0xBE, 0x6C, 0xE0, 0x00, 0x00, -0x00, 0x00, 0x5E, 0x64, 0x97, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x9E, 0x4E, 0xE0, 0x00, 0x00, -0x00, 0x00, 0x60, 0x4D, 0xB4, 0x70, 0x00, 0x00, 0x00, 0x00, 0x61, 0x87, 0x6B, 0x60, 0x00, 0x00, -0x00, 0x00, 0x62, 0x2D, 0x96, 0x70, 0x00, 0x00, 0x00, 0x00, 0x63, 0x67, 0x4D, 0x60, 0x00, 0x00, -0x00, 0x00, 0x64, 0x0D, 0x78, 0x70, 0x00, 0x00, 0x00, 0x00, 0x65, 0x47, 0x2F, 0x60, 0x00, 0x00, -0x00, 0x00, 0x65, 0xED, 0x5A, 0x70, 0x00, 0x00, 0x00, 0x00, 0x67, 0x27, 0x11, 0x60, 0x00, 0x00, -0x00, 0x00, 0x67, 0xCD, 0x3C, 0x70, 0x00, 0x00, 0x00, 0x00, 0x69, 0x06, 0xF3, 0x60, 0x00, 0x00, -0x00, 0x00, 0x69, 0xAD, 0x1E, 0x70, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xE6, 0xD5, 0x60, 0x00, 0x00, -0x00, 0x00, 0x6B, 0x96, 0x3A, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xCF, 0xF1, 0xE0, 0x00, 0x00, -0x00, 0x00, 0x6D, 0x76, 0x1C, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x6E, 0xAF, 0xD3, 0xE0, 0x00, 0x00, -0x00, 0x00, 0x6F, 0x55, 0xFE, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x70, 0x8F, 0xB5, 0xE0, 0x00, 0x00, -0x00, 0x00, 0x71, 0x35, 0xE0, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x72, 0x6F, 0x97, 0xE0, 0x00, 0x00, -0x00, 0x00, 0x73, 0x15, 0xC2, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x74, 0x4F, 0x79, 0xE0, 0x00, 0x00, -0x00, 0x00, 0x74, 0xFE, 0xDF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x76, 0x38, 0x96, 0x60, 0x00, 0x00, -0x00, 0x00, 0x76, 0xDE, 0xC1, 0x70, 0x00, 0x00, 0x00, 0x00, 0x78, 0x18, 0x78, 0x60, 0x00, 0x00, -0x00, 0x00, 0x78, 0xBE, 0xA3, 0x70, 0x00, 0x00, 0x00, 0x00, 0x79, 0xF8, 0x5A, 0x60, 0x00, 0x00, -0x00, 0x00, 0x7A, 0x9E, 0x85, 0x70, 0x00, 0x00, 0x00, 0x00, 0x7B, 0xD8, 0x3C, 0x60, 0x00, 0x00, -0x00, 0x00, 0x7C, 0x7E, 0x67, 0x70, 0x00, 0x00, 0x00, 0x00, 0x7D, 0xB8, 0x1E, 0x60, 0x00, 0x00, -0x00, 0x00, 0x7E, 0x5E, 0x49, 0x70, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x98, 0x00, 0x60, 0x05, 0x01, -0x02, 0x03, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, -0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, -0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x06, 0x07, 0x02, 0x04, 0x02, 0x04, -0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, -0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, -0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, -0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, -0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xC7, -0xC0, 0x01, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0xFF, -0xFF, 0xC7, 0xC0, 0x01, 0x11, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x15, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, -0x19, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x1D, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x11, 0xFF, 0xFF, 0xB9, -0xB0, 0x00, 0x08, 0x2D, 0x30, 0x30, 0x00, 0x45, 0x50, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x45, -0x44, 0x44, 0x54, 0x00, 0x45, 0x44, 0x54, 0x00, 0x45, 0x57, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, -0x43, 0x44, 0x54, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x45, 0x53, 0x54, 0x35, 0x45, 0x44, 0x54, -0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, 0x31, 0x2E, 0x30, 0x0A, -0x00, 0xEA, 0x94, 0x15, 0x00, 0xAA, 0x2F, 0xB5, 0x00, 0x00, 0x00, 0x1E, 0x45, 0x61, 0x73, 0x74, -0x65, 0x72, 0x6E, 0x20, 0x2D, 0x20, 0x4E, 0x55, 0x20, 0x28, 0x6D, 0x6F, 0x73, 0x74, 0x20, 0x65, -0x61, 0x73, 0x74, 0x20, 0x61, 0x72, 0x65, 0x61, 0x73, 0x29, +0x00, 0x45, 0x44, 0x54, 0x00, 0x45, 0x57, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x43, 0x44, 0x54, +0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x09, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x87, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x1C, 0xFF, +0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0xA1, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, +0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xFB, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x04, 0x60, 0xFD, 0x70, 0x00, +0x00, 0x00, 0x00, 0x05, 0x50, 0xE0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x06, 0x40, 0xDF, 0x70, 0x00, +0x00, 0x00, 0x00, 0x07, 0x30, 0xC2, 0x60, 0x00, 0x00, 0x00, 0x00, 0x08, 0x20, 0xC1, 0x70, 0x00, +0x00, 0x00, 0x00, 0x09, 0x10, 0xA4, 0x60, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0xA3, 0x70, 0x00, +0x00, 0x00, 0x00, 0x0A, 0xF0, 0x86, 0x60, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xE0, 0x85, 0x70, 0x00, +0x00, 0x00, 0x00, 0x0C, 0xD9, 0xA2, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0D, 0xC0, 0x67, 0x70, 0x00, +0x00, 0x00, 0x00, 0x0E, 0xB9, 0x84, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xA9, 0x83, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x10, 0x99, 0x66, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x11, 0x89, 0x65, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x12, 0x79, 0x48, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x47, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x14, 0x59, 0x2A, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x15, 0x49, 0x29, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x16, 0x39, 0x0C, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x17, 0x29, 0x0B, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x18, 0x22, 0x29, 0x60, 0x00, 0x00, 0x00, 0x00, 0x19, 0x08, 0xED, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x1A, 0x02, 0x0B, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xF2, 0x0A, 0x70, 0x00, +0x00, 0x00, 0x00, 0x1B, 0xE1, 0xED, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xD1, 0xEC, 0x70, 0x00, +0x00, 0x00, 0x00, 0x1D, 0xC1, 0xCF, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1E, 0xB1, 0xCE, 0x70, 0x00, +0x00, 0x00, 0x00, 0x1F, 0xA1, 0xB1, 0x60, 0x00, 0x00, 0x00, 0x00, 0x20, 0x76, 0x00, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x21, 0x81, 0x93, 0x60, 0x00, 0x00, 0x00, 0x00, 0x22, 0x55, 0xE2, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x23, 0x6A, 0xAF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x24, 0x35, 0xC4, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x25, 0x4A, 0x91, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x26, 0x15, 0xA6, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x27, 0x2A, 0x73, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x27, 0xFE, 0xC3, 0x70, 0x00, +0x00, 0x00, 0x00, 0x29, 0x0A, 0x55, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x29, 0xDE, 0xA5, 0x70, 0x00, +0x00, 0x00, 0x00, 0x2A, 0xEA, 0x37, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xBE, 0x87, 0x70, 0x00, +0x00, 0x00, 0x00, 0x2C, 0xD3, 0x54, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x9E, 0x69, 0x70, 0x00, +0x00, 0x00, 0x00, 0x2E, 0xB3, 0x36, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x7E, 0x4B, 0x70, 0x00, +0x00, 0x00, 0x00, 0x30, 0x93, 0x18, 0x60, 0x00, 0x00, 0x00, 0x00, 0x31, 0x67, 0x67, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x32, 0x72, 0xFA, 0x60, 0x00, 0x00, 0x00, 0x00, 0x33, 0x47, 0x49, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x34, 0x52, 0xDC, 0x60, 0x00, 0x00, 0x00, 0x00, 0x35, 0x27, 0x2B, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x36, 0x32, 0xBE, 0x60, 0x00, 0x00, 0x00, 0x00, 0x37, 0x07, 0x0D, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x38, 0x1B, 0xDA, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x38, 0xE6, 0xFE, 0x00, 0x00, +0x00, 0x00, 0x00, 0x39, 0xFB, 0xCA, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xC6, 0xD1, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x3B, 0xDB, 0x9E, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xAF, 0xEE, 0x70, 0x00, +0x00, 0x00, 0x00, 0x3D, 0xBB, 0x80, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x8F, 0xD0, 0x70, 0x00, +0x00, 0x00, 0x00, 0x3F, 0x9B, 0x62, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x40, 0x6F, 0xB2, 0x70, 0x00, +0x00, 0x00, 0x00, 0x41, 0x84, 0x7F, 0x60, 0x00, 0x00, 0x00, 0x00, 0x42, 0x4F, 0x94, 0x70, 0x00, +0x00, 0x00, 0x00, 0x43, 0x64, 0x61, 0x60, 0x00, 0x00, 0x00, 0x00, 0x44, 0x2F, 0x76, 0x70, 0x00, +0x00, 0x00, 0x00, 0x45, 0x44, 0x43, 0x60, 0x00, 0x00, 0x00, 0x00, 0x45, 0xF3, 0xA8, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x47, 0x2D, 0x5F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x47, 0xD3, 0x8A, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x49, 0x0D, 0x41, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x49, 0xB3, 0x6C, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x4A, 0xED, 0x23, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x4B, 0x9C, 0x89, 0x70, 0x00, +0x00, 0x00, 0x00, 0x4C, 0xD6, 0x40, 0x60, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x7C, 0x6B, 0x70, 0x00, +0x00, 0x00, 0x00, 0x4E, 0xB6, 0x22, 0x60, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x5C, 0x4D, 0x70, 0x00, +0x00, 0x00, 0x00, 0x50, 0x96, 0x04, 0x60, 0x00, 0x00, 0x00, 0x00, 0x51, 0x3C, 0x2F, 0x70, 0x00, +0x00, 0x00, 0x00, 0x52, 0x75, 0xE6, 0x60, 0x00, 0x00, 0x00, 0x00, 0x53, 0x1C, 0x11, 0x70, 0x00, +0x00, 0x00, 0x00, 0x54, 0x55, 0xC8, 0x60, 0x00, 0x00, 0x00, 0x00, 0x54, 0xFB, 0xF3, 0x70, 0x00, +0x00, 0x00, 0x00, 0x56, 0x35, 0xAA, 0x60, 0x00, 0x00, 0x00, 0x00, 0x56, 0xE5, 0x0F, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x58, 0x1E, 0xC6, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x58, 0xC4, 0xF1, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x59, 0xFE, 0xA8, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xA4, 0xD3, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x5B, 0xDE, 0x8A, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x5C, 0x84, 0xB5, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x5D, 0xBE, 0x6C, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x64, 0x97, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x5F, 0x9E, 0x4E, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x60, 0x4D, 0xB4, 0x70, 0x00, +0x00, 0x00, 0x00, 0x61, 0x87, 0x6B, 0x60, 0x00, 0x00, 0x00, 0x00, 0x62, 0x2D, 0x96, 0x70, 0x00, +0x00, 0x00, 0x00, 0x63, 0x67, 0x4D, 0x60, 0x00, 0x00, 0x00, 0x00, 0x64, 0x0D, 0x78, 0x70, 0x00, +0x00, 0x00, 0x00, 0x65, 0x47, 0x2F, 0x60, 0x00, 0x00, 0x00, 0x00, 0x65, 0xED, 0x5A, 0x70, 0x00, +0x00, 0x00, 0x00, 0x67, 0x27, 0x11, 0x60, 0x00, 0x00, 0x00, 0x00, 0x67, 0xCD, 0x3C, 0x70, 0x00, +0x00, 0x00, 0x00, 0x69, 0x06, 0xF3, 0x60, 0x00, 0x00, 0x00, 0x00, 0x69, 0xAD, 0x1E, 0x70, 0x00, +0x00, 0x00, 0x00, 0x6A, 0xE6, 0xD5, 0x60, 0x00, 0x00, 0x00, 0x00, 0x6B, 0x96, 0x3A, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x6C, 0xCF, 0xF1, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x76, 0x1C, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x6E, 0xAF, 0xD3, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x55, 0xFE, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x70, 0x8F, 0xB5, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x71, 0x35, 0xE0, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x72, 0x6F, 0x97, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x73, 0x15, 0xC2, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x74, 0x4F, 0x79, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x74, 0xFE, 0xDF, 0x70, 0x00, +0x00, 0x00, 0x00, 0x76, 0x38, 0x96, 0x60, 0x00, 0x00, 0x00, 0x00, 0x76, 0xDE, 0xC1, 0x70, 0x00, +0x00, 0x00, 0x00, 0x78, 0x18, 0x78, 0x60, 0x00, 0x00, 0x00, 0x00, 0x78, 0xBE, 0xA3, 0x70, 0x00, +0x00, 0x00, 0x00, 0x79, 0xF8, 0x5A, 0x60, 0x00, 0x00, 0x00, 0x00, 0x7A, 0x9E, 0x85, 0x70, 0x00, +0x00, 0x00, 0x00, 0x7B, 0xD8, 0x3C, 0x60, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x7E, 0x67, 0x70, 0x00, +0x00, 0x00, 0x00, 0x7D, 0xB8, 0x1E, 0x60, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x5E, 0x49, 0x70, 0x00, +0x00, 0x00, 0x00, 0x7F, 0x98, 0x00, 0x60, 0x04, 0x01, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x05, 0x06, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, +0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x0C, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x10, 0xFF, 0xFF, 0xAB, 0xA0, +0x00, 0x14, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x18, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x0C, 0xFF, 0xFF, +0xB9, 0xB0, 0x00, 0x08, 0x2D, 0x30, 0x30, 0x00, 0x45, 0x50, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, +0x45, 0x44, 0x54, 0x00, 0x45, 0x57, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, +0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x0A, 0x45, 0x53, 0x54, 0x35, 0x45, 0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, +0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, 0x31, 0x2E, 0x30, 0x0A, 0x00, 0xEA, 0x94, 0x15, 0x00, 0xAA, +0x2F, 0xB5, 0x00, 0x00, 0x00, 0x19, 0x45, 0x61, 0x73, 0x74, 0x65, 0x72, 0x6E, 0x20, 0x2D, 0x20, +0x4E, 0x55, 0x20, 0x28, 0x6D, 0x6F, 0x73, 0x74, 0x20, 0x61, 0x72, 0x65, 0x61, 0x73, 0x29, /* America/Jamaica */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4A, 0x4D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -33964,11 +34212,10 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0A, 0x43, 0x53, 0x54, 0x36, 0x43, 0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, 0x31, 0x2E, 0x30, 0x0A, 0x00, 0xB0, 0xBF, 0x65, 0x00, 0x7D, -0xE2, 0x90, 0x00, 0x00, 0x00, 0x3E, 0x43, 0x65, 0x6E, 0x74, 0x72, 0x61, 0x6C, 0x20, 0x54, 0x69, -0x6D, 0x65, 0x20, 0x55, 0x53, 0x20, 0x2D, 0x20, 0x43, 0x6F, 0x61, 0x68, 0x75, 0x69, 0x6C, 0x61, -0x2C, 0x20, 0x4E, 0x75, 0x65, 0x76, 0x6F, 0x20, 0x4C, 0x65, 0x6F, 0x6E, 0x2C, 0x20, 0x54, 0x61, -0x6D, 0x61, 0x75, 0x6C, 0x69, 0x70, 0x61, 0x73, 0x20, 0x28, 0x55, 0x53, 0x20, 0x62, 0x6F, 0x72, -0x64, 0x65, 0x72, 0x29, +0xE2, 0x90, 0x00, 0x00, 0x00, 0x2C, 0x43, 0x6F, 0x61, 0x68, 0x75, 0x69, 0x6C, 0x61, 0x2C, 0x20, +0x4E, 0x75, 0x65, 0x76, 0x6F, 0x20, 0x4C, 0x65, 0x6F, 0x6E, 0x2C, 0x20, 0x54, 0x61, 0x6D, 0x61, +0x75, 0x6C, 0x69, 0x70, 0x61, 0x73, 0x20, 0x28, 0x55, 0x53, 0x20, 0x62, 0x6F, 0x72, 0x64, 0x65, +0x72, 0x29, /* America/Mazatlan */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4D, 0x58, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -34042,10 +34289,10 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { 0x4C, 0x4D, 0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x50, 0x53, 0x54, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x4D, 0x53, 0x54, 0x37, 0x0A, 0x00, 0xAC, 0xC1, 0x42, 0x00, 0x70, 0x47, 0x7D, -0x00, 0x00, 0x00, 0x35, 0x4D, 0x6F, 0x75, 0x6E, 0x74, 0x61, 0x69, 0x6E, 0x20, 0x54, 0x69, 0x6D, -0x65, 0x20, 0x2D, 0x20, 0x42, 0x61, 0x6A, 0x61, 0x20, 0x43, 0x61, 0x6C, 0x69, 0x66, 0x6F, 0x72, +0x00, 0x00, 0x00, 0x32, 0x42, 0x61, 0x6A, 0x61, 0x20, 0x43, 0x61, 0x6C, 0x69, 0x66, 0x6F, 0x72, 0x6E, 0x69, 0x61, 0x20, 0x53, 0x75, 0x72, 0x2C, 0x20, 0x4E, 0x61, 0x79, 0x61, 0x72, 0x69, 0x74, -0x2C, 0x20, 0x53, 0x69, 0x6E, 0x61, 0x6C, 0x6F, 0x61, +0x20, 0x28, 0x6D, 0x6F, 0x73, 0x74, 0x20, 0x61, 0x72, 0x65, 0x61, 0x73, 0x29, 0x2C, 0x20, 0x53, +0x69, 0x6E, 0x61, 0x6C, 0x6F, 0x61, /* America/Mendoza */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -34328,9 +34575,8 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x0C, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0A, 0x43, 0x53, 0x54, 0x36, 0x0A, 0x00, 0xA9, 0x52, 0x5A, -0x00, 0x89, 0xE9, 0xFD, 0x00, 0x00, 0x00, 0x20, 0x43, 0x65, 0x6E, 0x74, 0x72, 0x61, 0x6C, 0x20, -0x54, 0x69, 0x6D, 0x65, 0x20, 0x2D, 0x20, 0x43, 0x61, 0x6D, 0x70, 0x65, 0x63, 0x68, 0x65, 0x2C, -0x20, 0x59, 0x75, 0x63, 0x61, 0x74, 0x61, 0x6E, +0x00, 0x89, 0xE9, 0xFD, 0x00, 0x00, 0x00, 0x11, 0x43, 0x61, 0x6D, 0x70, 0x65, 0x63, 0x68, 0x65, +0x2C, 0x20, 0x59, 0x75, 0x63, 0x61, 0x74, 0x61, 0x6E, /* America/Metlakatla */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x55, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -34504,7 +34750,8 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { 0x43, 0x53, 0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x43, 0x57, 0x54, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x43, 0x53, 0x54, 0x36, 0x0A, 0x00, 0xA6, 0xEE, 0x60, 0x00, 0x7B, 0x5E, 0x07, 0x00, 0x00, -0x00, 0x0C, 0x43, 0x65, 0x6E, 0x74, 0x72, 0x61, 0x6C, 0x20, 0x54, 0x69, 0x6D, 0x65, +0x00, 0x0E, 0x43, 0x65, 0x6E, 0x74, 0x72, 0x61, 0x6C, 0x20, 0x4D, 0x65, 0x78, 0x69, 0x63, 0x6F, + /* America/Miquelon */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x50, 0x4D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -34877,12 +35124,11 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { 0x02, 0x03, 0xFF, 0xFF, 0xA1, 0xF4, 0x00, 0x00, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x08, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0A, 0x43, -0x53, 0x54, 0x36, 0x0A, 0x00, 0xB0, 0x7E, 0x4A, 0x00, 0x79, 0x96, 0x4D, 0x00, 0x00, 0x00, 0x45, -0x43, 0x65, 0x6E, 0x74, 0x72, 0x61, 0x6C, 0x20, 0x54, 0x69, 0x6D, 0x65, 0x20, 0x2D, 0x20, 0x44, -0x75, 0x72, 0x61, 0x6E, 0x67, 0x6F, 0x3B, 0x20, 0x43, 0x6F, 0x61, 0x68, 0x75, 0x69, 0x6C, 0x61, -0x2C, 0x20, 0x4E, 0x75, 0x65, 0x76, 0x6F, 0x20, 0x4C, 0x65, 0x6F, 0x6E, 0x2C, 0x20, 0x54, 0x61, -0x6D, 0x61, 0x75, 0x6C, 0x69, 0x70, 0x61, 0x73, 0x20, 0x28, 0x6D, 0x6F, 0x73, 0x74, 0x20, 0x61, -0x72, 0x65, 0x61, 0x73, 0x29, +0x53, 0x54, 0x36, 0x0A, 0x00, 0xB0, 0x7E, 0x4A, 0x00, 0x79, 0x96, 0x4D, 0x00, 0x00, 0x00, 0x36, +0x44, 0x75, 0x72, 0x61, 0x6E, 0x67, 0x6F, 0x3B, 0x20, 0x43, 0x6F, 0x61, 0x68, 0x75, 0x69, 0x6C, +0x61, 0x2C, 0x20, 0x4E, 0x75, 0x65, 0x76, 0x6F, 0x20, 0x4C, 0x65, 0x6F, 0x6E, 0x2C, 0x20, 0x54, +0x61, 0x6D, 0x61, 0x75, 0x6C, 0x69, 0x70, 0x61, 0x73, 0x20, 0x28, 0x6D, 0x6F, 0x73, 0x74, 0x20, +0x61, 0x72, 0x65, 0x61, 0x73, 0x29, /* America/Montevideo */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x55, 0x59, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -36483,8 +36729,8 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { /* America/Nuuk */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x47, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x0C, 0x9B, 0x80, 0x68, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0C, 0x9B, 0x80, 0x68, 0x00, 0x13, 0x4D, 0x7C, 0x50, 0x14, 0x33, 0xFA, 0x90, 0x15, 0x23, 0xEB, 0x90, 0x16, 0x13, 0xDC, 0x90, 0x17, 0x03, 0xCD, 0x90, 0x17, 0xF3, 0xBE, 0x90, 0x18, 0xE3, 0xAF, 0x90, 0x19, 0xD3, 0xA0, 0x90, 0x1A, 0xC3, 0x91, 0x90, 0x1B, 0xBC, 0xBD, 0x10, 0x1C, 0xAC, 0xAE, 0x10, 0x1D, 0x9C, 0x9F, 0x10, @@ -36506,106 +36752,80 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { 0x56, 0xF7, 0x30, 0x90, 0x58, 0x15, 0x46, 0x10, 0x58, 0xD7, 0x12, 0x90, 0x59, 0xF5, 0x28, 0x10, 0x5A, 0xB6, 0xF4, 0x90, 0x5B, 0xD5, 0x0A, 0x10, 0x5C, 0xA0, 0x11, 0x10, 0x5D, 0xB4, 0xEC, 0x10, 0x5E, 0x7F, 0xF3, 0x10, 0x5F, 0x94, 0xCE, 0x10, 0x60, 0x5F, 0xD5, 0x10, 0x61, 0x7D, 0xEA, 0x90, -0x62, 0x3F, 0xB7, 0x10, 0x63, 0x5D, 0xCC, 0x90, 0x64, 0x1F, 0x99, 0x10, 0x65, 0x3D, 0xAE, 0x90, -0x66, 0x08, 0xB5, 0x90, 0x67, 0x1D, 0x90, 0x90, 0x67, 0xE8, 0x97, 0x90, 0x68, 0xFD, 0x72, 0x90, -0x69, 0xC8, 0x79, 0x90, 0x6A, 0xDD, 0x54, 0x90, 0x6B, 0xA8, 0x5B, 0x90, 0x6C, 0xC6, 0x71, 0x10, -0x6D, 0x88, 0x3D, 0x90, 0x6E, 0xA6, 0x53, 0x10, 0x6F, 0x68, 0x1F, 0x90, 0x70, 0x86, 0x35, 0x10, -0x71, 0x51, 0x3C, 0x10, 0x72, 0x66, 0x17, 0x10, 0x73, 0x31, 0x1E, 0x10, 0x74, 0x45, 0xF9, 0x10, -0x75, 0x11, 0x00, 0x10, 0x76, 0x2F, 0x15, 0x90, 0x76, 0xF0, 0xE2, 0x10, 0x78, 0x0E, 0xF7, 0x90, -0x78, 0xD0, 0xC4, 0x10, 0x79, 0xEE, 0xD9, 0x90, 0x7A, 0xB0, 0xA6, 0x10, 0x7B, 0xCE, 0xBB, 0x90, -0x7C, 0x99, 0xC2, 0x90, 0x7D, 0xAE, 0x9D, 0x90, 0x7E, 0x79, 0xA4, 0x90, 0x7F, 0x8E, 0x7F, 0x90, -0x01, 0x04, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x62, 0x3F, 0xB7, 0x10, 0x63, 0x5D, 0xCC, 0x90, 0x64, 0x1F, 0x99, 0x10, 0x01, 0x04, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x05, 0xFF, 0xFF, 0xCF, 0x80, 0x00, 0x00, 0xFF, 0xFF, 0xD5, 0xD0, 0x00, 0x04, +0xFF, 0xFF, 0xD5, 0xD0, 0x00, 0x04, 0xFF, 0xFF, 0xE3, 0xE0, 0x01, 0x08, 0xFF, 0xFF, 0xE3, 0xE0, +0x01, 0x08, 0xFF, 0xFF, 0xE3, 0xE0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x33, 0x00, +0x2D, 0x30, 0x32, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, +0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0C, 0xFF, 0xFF, 0xFF, 0xFF, +0x9B, 0x80, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x4D, 0x7C, 0x50, 0x00, 0x00, 0x00, 0x00, +0x14, 0x33, 0xFA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x15, 0x23, 0xEB, 0x90, 0x00, 0x00, 0x00, 0x00, +0x16, 0x13, 0xDC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x17, 0x03, 0xCD, 0x90, 0x00, 0x00, 0x00, 0x00, +0x17, 0xF3, 0xBE, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, 0xE3, 0xAF, 0x90, 0x00, 0x00, 0x00, 0x00, +0x19, 0xD3, 0xA0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xC3, 0x91, 0x90, 0x00, 0x00, 0x00, 0x00, +0x1B, 0xBC, 0xBD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xAC, 0xAE, 0x10, 0x00, 0x00, 0x00, 0x00, +0x1D, 0x9C, 0x9F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x8C, 0x90, 0x10, 0x00, 0x00, 0x00, 0x00, +0x1F, 0x7C, 0x81, 0x10, 0x00, 0x00, 0x00, 0x00, 0x20, 0x6C, 0x72, 0x10, 0x00, 0x00, 0x00, 0x00, +0x21, 0x5C, 0x63, 0x10, 0x00, 0x00, 0x00, 0x00, 0x22, 0x4C, 0x54, 0x10, 0x00, 0x00, 0x00, 0x00, +0x23, 0x3C, 0x45, 0x10, 0x00, 0x00, 0x00, 0x00, 0x24, 0x2C, 0x36, 0x10, 0x00, 0x00, 0x00, 0x00, +0x25, 0x1C, 0x27, 0x10, 0x00, 0x00, 0x00, 0x00, 0x26, 0x0C, 0x18, 0x10, 0x00, 0x00, 0x00, 0x00, +0x27, 0x05, 0x43, 0x90, 0x00, 0x00, 0x00, 0x00, 0x27, 0xF5, 0x34, 0x90, 0x00, 0x00, 0x00, 0x00, +0x28, 0xE5, 0x25, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, 0xD5, 0x16, 0x90, 0x00, 0x00, 0x00, 0x00, +0x2A, 0xC5, 0x07, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xB4, 0xF8, 0x90, 0x00, 0x00, 0x00, 0x00, +0x2C, 0xA4, 0xE9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x94, 0xDA, 0x90, 0x00, 0x00, 0x00, 0x00, +0x2E, 0x84, 0xCB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x74, 0xBC, 0x90, 0x00, 0x00, 0x00, 0x00, +0x30, 0x64, 0xAD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0xD9, 0x10, 0x00, 0x00, 0x00, 0x00, +0x32, 0x72, 0xB4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x33, 0x3D, 0xBB, 0x10, 0x00, 0x00, 0x00, 0x00, +0x34, 0x52, 0x96, 0x10, 0x00, 0x00, 0x00, 0x00, 0x35, 0x1D, 0x9D, 0x10, 0x00, 0x00, 0x00, 0x00, +0x36, 0x32, 0x78, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0xFD, 0x7F, 0x10, 0x00, 0x00, 0x00, 0x00, +0x38, 0x1B, 0x94, 0x90, 0x00, 0x00, 0x00, 0x00, 0x38, 0xDD, 0x61, 0x10, 0x00, 0x00, 0x00, 0x00, +0x39, 0xFB, 0x76, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xBD, 0x43, 0x10, 0x00, 0x00, 0x00, 0x00, +0x3B, 0xDB, 0x58, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xA6, 0x5F, 0x90, 0x00, 0x00, 0x00, 0x00, +0x3D, 0xBB, 0x3A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x86, 0x41, 0x90, 0x00, 0x00, 0x00, 0x00, +0x3F, 0x9B, 0x1C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x40, 0x66, 0x23, 0x90, 0x00, 0x00, 0x00, 0x00, +0x41, 0x84, 0x39, 0x10, 0x00, 0x00, 0x00, 0x00, 0x42, 0x46, 0x05, 0x90, 0x00, 0x00, 0x00, 0x00, +0x43, 0x64, 0x1B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x44, 0x25, 0xE7, 0x90, 0x00, 0x00, 0x00, 0x00, +0x45, 0x43, 0xFD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x46, 0x05, 0xC9, 0x90, 0x00, 0x00, 0x00, 0x00, +0x47, 0x23, 0xDF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x47, 0xEE, 0xE6, 0x10, 0x00, 0x00, 0x00, 0x00, +0x49, 0x03, 0xC1, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, 0xCE, 0xC8, 0x10, 0x00, 0x00, 0x00, 0x00, +0x4A, 0xE3, 0xA3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4B, 0xAE, 0xAA, 0x10, 0x00, 0x00, 0x00, 0x00, +0x4C, 0xCC, 0xBF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x8E, 0x8C, 0x10, 0x00, 0x00, 0x00, 0x00, +0x4E, 0xAC, 0xA1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x6E, 0x6E, 0x10, 0x00, 0x00, 0x00, 0x00, +0x50, 0x8C, 0x83, 0x90, 0x00, 0x00, 0x00, 0x00, 0x51, 0x57, 0x8A, 0x90, 0x00, 0x00, 0x00, 0x00, +0x52, 0x6C, 0x65, 0x90, 0x00, 0x00, 0x00, 0x00, 0x53, 0x37, 0x6C, 0x90, 0x00, 0x00, 0x00, 0x00, +0x54, 0x4C, 0x47, 0x90, 0x00, 0x00, 0x00, 0x00, 0x55, 0x17, 0x4E, 0x90, 0x00, 0x00, 0x00, 0x00, +0x56, 0x2C, 0x29, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, 0xF7, 0x30, 0x90, 0x00, 0x00, 0x00, 0x00, +0x58, 0x15, 0x46, 0x10, 0x00, 0x00, 0x00, 0x00, 0x58, 0xD7, 0x12, 0x90, 0x00, 0x00, 0x00, 0x00, +0x59, 0xF5, 0x28, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xB6, 0xF4, 0x90, 0x00, 0x00, 0x00, 0x00, +0x5B, 0xD5, 0x0A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5C, 0xA0, 0x11, 0x10, 0x00, 0x00, 0x00, 0x00, +0x5D, 0xB4, 0xEC, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x7F, 0xF3, 0x10, 0x00, 0x00, 0x00, 0x00, +0x5F, 0x94, 0xCE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x60, 0x5F, 0xD5, 0x10, 0x00, 0x00, 0x00, 0x00, +0x61, 0x7D, 0xEA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x62, 0x3F, 0xB7, 0x10, 0x00, 0x00, 0x00, 0x00, +0x63, 0x5D, 0xCC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x64, 0x1F, 0x99, 0x10, 0x01, 0x04, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0xFF, 0xFF, 0xCF, 0x80, 0x00, 0x00, 0xFF, 0xFF, 0xD5, 0xD0, 0x00, -0x04, 0xFF, 0xFF, 0xD5, 0xD0, 0x00, 0x04, 0xFF, 0xFF, 0xE3, 0xE0, 0x01, 0x08, 0xFF, 0xFF, 0xE3, -0xE0, 0x01, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x33, 0x00, 0x2D, 0x30, 0x32, 0x00, 0x00, -0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x33, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, -0x05, 0x00, 0x00, 0x00, 0x0C, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x80, 0x68, 0x00, 0x00, 0x00, 0x00, -0x00, 0x13, 0x4D, 0x7C, 0x50, 0x00, 0x00, 0x00, 0x00, 0x14, 0x33, 0xFA, 0x90, 0x00, 0x00, 0x00, -0x00, 0x15, 0x23, 0xEB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x16, 0x13, 0xDC, 0x90, 0x00, 0x00, 0x00, -0x00, 0x17, 0x03, 0xCD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x17, 0xF3, 0xBE, 0x90, 0x00, 0x00, 0x00, -0x00, 0x18, 0xE3, 0xAF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x19, 0xD3, 0xA0, 0x90, 0x00, 0x00, 0x00, -0x00, 0x1A, 0xC3, 0x91, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xBC, 0xBD, 0x10, 0x00, 0x00, 0x00, -0x00, 0x1C, 0xAC, 0xAE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1D, 0x9C, 0x9F, 0x10, 0x00, 0x00, 0x00, -0x00, 0x1E, 0x8C, 0x90, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x7C, 0x81, 0x10, 0x00, 0x00, 0x00, -0x00, 0x20, 0x6C, 0x72, 0x10, 0x00, 0x00, 0x00, 0x00, 0x21, 0x5C, 0x63, 0x10, 0x00, 0x00, 0x00, -0x00, 0x22, 0x4C, 0x54, 0x10, 0x00, 0x00, 0x00, 0x00, 0x23, 0x3C, 0x45, 0x10, 0x00, 0x00, 0x00, -0x00, 0x24, 0x2C, 0x36, 0x10, 0x00, 0x00, 0x00, 0x00, 0x25, 0x1C, 0x27, 0x10, 0x00, 0x00, 0x00, -0x00, 0x26, 0x0C, 0x18, 0x10, 0x00, 0x00, 0x00, 0x00, 0x27, 0x05, 0x43, 0x90, 0x00, 0x00, 0x00, -0x00, 0x27, 0xF5, 0x34, 0x90, 0x00, 0x00, 0x00, 0x00, 0x28, 0xE5, 0x25, 0x90, 0x00, 0x00, 0x00, -0x00, 0x29, 0xD5, 0x16, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xC5, 0x07, 0x90, 0x00, 0x00, 0x00, -0x00, 0x2B, 0xB4, 0xF8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xA4, 0xE9, 0x90, 0x00, 0x00, 0x00, -0x00, 0x2D, 0x94, 0xDA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x84, 0xCB, 0x90, 0x00, 0x00, 0x00, -0x00, 0x2F, 0x74, 0xBC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x30, 0x64, 0xAD, 0x90, 0x00, 0x00, 0x00, -0x00, 0x31, 0x5D, 0xD9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x32, 0x72, 0xB4, 0x10, 0x00, 0x00, 0x00, -0x00, 0x33, 0x3D, 0xBB, 0x10, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0x96, 0x10, 0x00, 0x00, 0x00, -0x00, 0x35, 0x1D, 0x9D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0x78, 0x10, 0x00, 0x00, 0x00, -0x00, 0x36, 0xFD, 0x7F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0x94, 0x90, 0x00, 0x00, 0x00, -0x00, 0x38, 0xDD, 0x61, 0x10, 0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0x76, 0x90, 0x00, 0x00, 0x00, -0x00, 0x3A, 0xBD, 0x43, 0x10, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0x58, 0x90, 0x00, 0x00, 0x00, -0x00, 0x3C, 0xA6, 0x5F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x3A, 0x90, 0x00, 0x00, 0x00, -0x00, 0x3E, 0x86, 0x41, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x1C, 0x90, 0x00, 0x00, 0x00, -0x00, 0x40, 0x66, 0x23, 0x90, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x39, 0x10, 0x00, 0x00, 0x00, -0x00, 0x42, 0x46, 0x05, 0x90, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x1B, 0x10, 0x00, 0x00, 0x00, -0x00, 0x44, 0x25, 0xE7, 0x90, 0x00, 0x00, 0x00, 0x00, 0x45, 0x43, 0xFD, 0x10, 0x00, 0x00, 0x00, -0x00, 0x46, 0x05, 0xC9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x47, 0x23, 0xDF, 0x10, 0x00, 0x00, 0x00, -0x00, 0x47, 0xEE, 0xE6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, 0x03, 0xC1, 0x10, 0x00, 0x00, 0x00, -0x00, 0x49, 0xCE, 0xC8, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xE3, 0xA3, 0x10, 0x00, 0x00, 0x00, -0x00, 0x4B, 0xAE, 0xAA, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4C, 0xCC, 0xBF, 0x90, 0x00, 0x00, 0x00, -0x00, 0x4D, 0x8E, 0x8C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4E, 0xAC, 0xA1, 0x90, 0x00, 0x00, 0x00, -0x00, 0x4F, 0x6E, 0x6E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x50, 0x8C, 0x83, 0x90, 0x00, 0x00, 0x00, -0x00, 0x51, 0x57, 0x8A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x52, 0x6C, 0x65, 0x90, 0x00, 0x00, 0x00, -0x00, 0x53, 0x37, 0x6C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x54, 0x4C, 0x47, 0x90, 0x00, 0x00, 0x00, -0x00, 0x55, 0x17, 0x4E, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, 0x2C, 0x29, 0x90, 0x00, 0x00, 0x00, -0x00, 0x56, 0xF7, 0x30, 0x90, 0x00, 0x00, 0x00, 0x00, 0x58, 0x15, 0x46, 0x10, 0x00, 0x00, 0x00, -0x00, 0x58, 0xD7, 0x12, 0x90, 0x00, 0x00, 0x00, 0x00, 0x59, 0xF5, 0x28, 0x10, 0x00, 0x00, 0x00, -0x00, 0x5A, 0xB6, 0xF4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x5B, 0xD5, 0x0A, 0x10, 0x00, 0x00, 0x00, -0x00, 0x5C, 0xA0, 0x11, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5D, 0xB4, 0xEC, 0x10, 0x00, 0x00, 0x00, -0x00, 0x5E, 0x7F, 0xF3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x94, 0xCE, 0x10, 0x00, 0x00, 0x00, -0x00, 0x60, 0x5F, 0xD5, 0x10, 0x00, 0x00, 0x00, 0x00, 0x61, 0x7D, 0xEA, 0x90, 0x00, 0x00, 0x00, -0x00, 0x62, 0x3F, 0xB7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x63, 0x5D, 0xCC, 0x90, 0x00, 0x00, 0x00, -0x00, 0x64, 0x1F, 0x99, 0x10, 0x00, 0x00, 0x00, 0x00, 0x65, 0x3D, 0xAE, 0x90, 0x00, 0x00, 0x00, -0x00, 0x66, 0x08, 0xB5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, 0x1D, 0x90, 0x90, 0x00, 0x00, 0x00, -0x00, 0x67, 0xE8, 0x97, 0x90, 0x00, 0x00, 0x00, 0x00, 0x68, 0xFD, 0x72, 0x90, 0x00, 0x00, 0x00, -0x00, 0x69, 0xC8, 0x79, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xDD, 0x54, 0x90, 0x00, 0x00, 0x00, -0x00, 0x6B, 0xA8, 0x5B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xC6, 0x71, 0x10, 0x00, 0x00, 0x00, -0x00, 0x6D, 0x88, 0x3D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6E, 0xA6, 0x53, 0x10, 0x00, 0x00, 0x00, -0x00, 0x6F, 0x68, 0x1F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x70, 0x86, 0x35, 0x10, 0x00, 0x00, 0x00, -0x00, 0x71, 0x51, 0x3C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x72, 0x66, 0x17, 0x10, 0x00, 0x00, 0x00, -0x00, 0x73, 0x31, 0x1E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x74, 0x45, 0xF9, 0x10, 0x00, 0x00, 0x00, -0x00, 0x75, 0x11, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x76, 0x2F, 0x15, 0x90, 0x00, 0x00, 0x00, -0x00, 0x76, 0xF0, 0xE2, 0x10, 0x00, 0x00, 0x00, 0x00, 0x78, 0x0E, 0xF7, 0x90, 0x00, 0x00, 0x00, -0x00, 0x78, 0xD0, 0xC4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x79, 0xEE, 0xD9, 0x90, 0x00, 0x00, 0x00, -0x00, 0x7A, 0xB0, 0xA6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x7B, 0xCE, 0xBB, 0x90, 0x00, 0x00, 0x00, -0x00, 0x7C, 0x99, 0xC2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7D, 0xAE, 0x9D, 0x90, 0x00, 0x00, 0x00, -0x00, 0x7E, 0x79, 0xA4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x8E, 0x7F, 0x90, 0x01, 0x04, 0x02, -0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, -0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, -0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, -0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, -0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, -0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, -0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, -0x03, 0x02, 0xFF, 0xFF, 0xCF, 0x80, 0x00, 0x00, 0xFF, 0xFF, 0xD5, 0xD0, 0x00, 0x04, 0xFF, 0xFF, -0xD5, 0xD0, 0x00, 0x04, 0xFF, 0xFF, 0xE3, 0xE0, 0x01, 0x08, 0xFF, 0xFF, 0xE3, 0xE0, 0x01, 0x08, -0x4C, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x33, 0x00, 0x2D, 0x30, 0x32, 0x00, 0x00, 0x00, 0x01, 0x01, -0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x0A, 0x3C, 0x2D, 0x30, 0x33, 0x3E, 0x33, 0x3C, 0x2D, 0x30, -0x32, 0x3E, 0x2C, 0x4D, 0x33, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x2D, 0x32, 0x2C, 0x4D, 0x31, 0x30, -0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x2D, 0x31, 0x0A, 0x00, 0xEB, 0x43, 0xDD, 0x00, 0xC3, 0xB8, 0x2A, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x05, 0xFF, 0xFF, 0xCF, 0x80, 0x00, 0x00, 0xFF, 0xFF, 0xD5, 0xD0, 0x00, 0x04, +0xFF, 0xFF, 0xD5, 0xD0, 0x00, 0x04, 0xFF, 0xFF, 0xE3, 0xE0, 0x01, 0x08, 0xFF, 0xFF, 0xE3, 0xE0, +0x01, 0x08, 0xFF, 0xFF, 0xE3, 0xE0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x33, 0x00, +0x2D, 0x30, 0x32, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, +0x0A, 0x3C, 0x2D, 0x30, 0x32, 0x3E, 0x32, 0x0A, 0x00, 0xEB, 0x43, 0xDD, 0x00, 0xC3, 0xB8, 0x2A, 0x00, 0x00, 0x00, 0x16, 0x47, 0x72, 0x65, 0x65, 0x6E, 0x6C, 0x61, 0x6E, 0x64, 0x20, 0x28, 0x6D, 0x6F, 0x73, 0x74, 0x20, 0x61, 0x72, 0x65, 0x61, 0x73, 0x29, /* America/Ojinaga */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4D, 0x58, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x14, 0xA5, 0xB6, 0xE8, 0x70, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x14, 0xA5, 0xB6, 0xE8, 0x70, 0xAF, 0xF2, 0x6E, 0xE0, 0xB6, 0x66, 0x56, 0x60, 0xB7, 0x43, 0xD2, 0x60, 0xB8, 0x0C, 0x36, 0x60, 0xB8, 0xFD, 0x86, 0xF0, 0x31, 0x67, 0x76, 0x00, 0x32, 0x73, 0x08, 0x70, 0x33, 0x47, 0x58, 0x00, 0x34, 0x52, 0xEA, 0x70, 0x35, 0x27, 0x48, 0x10, 0x36, 0x32, 0xDA, 0x80, 0x37, 0x07, 0x2A, 0x10, @@ -36620,62 +36840,87 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { 0x56, 0x35, 0xC6, 0x80, 0x56, 0xE5, 0x2C, 0x10, 0x58, 0x1E, 0xE3, 0x00, 0x58, 0xC5, 0x0E, 0x10, 0x59, 0xFE, 0xC5, 0x00, 0x5A, 0xA4, 0xF0, 0x10, 0x5B, 0xDE, 0xA7, 0x00, 0x5C, 0x84, 0xD2, 0x10, 0x5D, 0xBE, 0x89, 0x00, 0x5E, 0x64, 0xB4, 0x10, 0x5F, 0x9E, 0x6B, 0x00, 0x60, 0x4D, 0xD0, 0x90, -0x61, 0x87, 0x87, 0x80, 0x62, 0x2D, 0xB2, 0x90, 0x63, 0x5E, 0x2F, 0x00, 0x01, 0x02, 0x04, 0x03, -0x04, 0x02, 0x05, 0x02, 0x05, 0x02, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, +0x61, 0x87, 0x87, 0x80, 0x62, 0x2D, 0xB2, 0x90, 0x63, 0x5E, 0x2F, 0x00, 0x64, 0x0D, 0x86, 0x80, +0x65, 0x47, 0x3D, 0x70, 0x65, 0xED, 0x68, 0x80, 0x67, 0x27, 0x1F, 0x70, 0x67, 0xCD, 0x4A, 0x80, +0x69, 0x07, 0x01, 0x70, 0x69, 0xAD, 0x2C, 0x80, 0x6A, 0xE6, 0xE3, 0x70, 0x6B, 0x96, 0x49, 0x00, +0x6C, 0xCF, 0xFF, 0xF0, 0x6D, 0x76, 0x2B, 0x00, 0x6E, 0xAF, 0xE1, 0xF0, 0x6F, 0x56, 0x0D, 0x00, +0x70, 0x8F, 0xC3, 0xF0, 0x71, 0x35, 0xEF, 0x00, 0x72, 0x6F, 0xA5, 0xF0, 0x73, 0x15, 0xD1, 0x00, +0x74, 0x4F, 0x87, 0xF0, 0x74, 0xFE, 0xED, 0x80, 0x76, 0x38, 0xA4, 0x70, 0x76, 0xDE, 0xCF, 0x80, +0x78, 0x18, 0x86, 0x70, 0x78, 0xBE, 0xB1, 0x80, 0x79, 0xF8, 0x68, 0x70, 0x7A, 0x9E, 0x93, 0x80, +0x7B, 0xD8, 0x4A, 0x70, 0x7C, 0x7E, 0x75, 0x80, 0x7D, 0xB8, 0x2C, 0x70, 0x7E, 0x5E, 0x57, 0x80, +0x7F, 0x98, 0x0E, 0x70, 0x01, 0x02, 0x04, 0x03, 0x04, 0x02, 0x05, 0x02, 0x05, 0x02, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, -0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x02, 0xFF, 0xFF, 0x9E, 0x1C, 0x00, 0x00, 0xFF, 0xFF, -0x9D, 0x90, 0x00, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x08, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x0C, -0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x10, 0xFF, 0xFF, 0xAB, 0xA0, -0x01, 0x0C, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x02, +0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, +0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0xFF, 0xFF, +0x9E, 0x1C, 0x00, 0x00, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x08, +0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x0C, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, +0x01, 0x10, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x00, 0x01, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, -0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, -0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, 0xB6, 0xE8, 0x70, -0xFF, 0xFF, 0xFF, 0xFF, 0xAF, 0xF2, 0x6E, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x66, 0x56, 0x60, -0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0x43, 0xD2, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0x0C, 0x36, 0x60, -0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0xFD, 0x86, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x31, 0x67, 0x76, 0x00, -0x00, 0x00, 0x00, 0x00, 0x32, 0x73, 0x08, 0x70, 0x00, 0x00, 0x00, 0x00, 0x33, 0x47, 0x58, 0x00, -0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0xEA, 0x70, 0x00, 0x00, 0x00, 0x00, 0x35, 0x27, 0x48, 0x10, -0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0xDA, 0x80, 0x00, 0x00, 0x00, 0x00, 0x37, 0x07, 0x2A, 0x10, -0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0xF7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0xE7, 0x0C, 0x10, -0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0xD9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xF5, 0x12, 0x90, -0x00, 0x00, 0x00, 0x00, 0x3B, 0xB6, 0xD1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xB0, 0x0A, 0x90, -0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x9D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x8F, 0xEC, 0x90, -0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x6F, 0xCE, 0x90, -0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x9B, 0x80, 0x00, 0x00, 0x00, 0x00, 0x42, 0x4F, 0xB0, 0x90, -0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x7D, 0x80, 0x00, 0x00, 0x00, 0x00, 0x44, 0x2F, 0x92, 0x90, -0x00, 0x00, 0x00, 0x00, 0x45, 0x44, 0x5F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x46, 0x0F, 0x74, 0x90, -0x00, 0x00, 0x00, 0x00, 0x47, 0x24, 0x41, 0x80, 0x00, 0x00, 0x00, 0x00, 0x47, 0xF8, 0x91, 0x10, -0x00, 0x00, 0x00, 0x00, 0x49, 0x04, 0x23, 0x80, 0x00, 0x00, 0x00, 0x00, 0x49, 0xD8, 0x73, 0x10, -0x00, 0x00, 0x00, 0x00, 0x4A, 0xE4, 0x05, 0x80, 0x00, 0x00, 0x00, 0x00, 0x4B, 0x9C, 0xA5, 0x90, -0x00, 0x00, 0x00, 0x00, 0x4C, 0xD6, 0x5C, 0x80, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x7C, 0x87, 0x90, -0x00, 0x00, 0x00, 0x00, 0x4E, 0xB6, 0x3E, 0x80, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x5C, 0x69, 0x90, -0x00, 0x00, 0x00, 0x00, 0x50, 0x96, 0x20, 0x80, 0x00, 0x00, 0x00, 0x00, 0x51, 0x3C, 0x4B, 0x90, -0x00, 0x00, 0x00, 0x00, 0x52, 0x76, 0x02, 0x80, 0x00, 0x00, 0x00, 0x00, 0x53, 0x1C, 0x2D, 0x90, -0x00, 0x00, 0x00, 0x00, 0x54, 0x55, 0xE4, 0x80, 0x00, 0x00, 0x00, 0x00, 0x54, 0xFC, 0x0F, 0x90, -0x00, 0x00, 0x00, 0x00, 0x56, 0x35, 0xC6, 0x80, 0x00, 0x00, 0x00, 0x00, 0x56, 0xE5, 0x2C, 0x10, -0x00, 0x00, 0x00, 0x00, 0x58, 0x1E, 0xE3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 0xC5, 0x0E, 0x10, -0x00, 0x00, 0x00, 0x00, 0x59, 0xFE, 0xC5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xA4, 0xF0, 0x10, -0x00, 0x00, 0x00, 0x00, 0x5B, 0xDE, 0xA7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5C, 0x84, 0xD2, 0x10, -0x00, 0x00, 0x00, 0x00, 0x5D, 0xBE, 0x89, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x64, 0xB4, 0x10, -0x00, 0x00, 0x00, 0x00, 0x5F, 0x9E, 0x6B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x4D, 0xD0, 0x90, -0x00, 0x00, 0x00, 0x00, 0x61, 0x87, 0x87, 0x80, 0x00, 0x00, 0x00, 0x00, 0x62, 0x2D, 0xB2, 0x90, -0x00, 0x00, 0x00, 0x00, 0x63, 0x5E, 0x2F, 0x00, 0x01, 0x02, 0x04, 0x03, 0x04, 0x02, 0x05, 0x02, -0x05, 0x02, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, +0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, +0x00, 0x07, 0x00, 0x00, 0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, 0xB6, 0xE8, 0x70, 0xFF, 0xFF, +0xFF, 0xFF, 0xAF, 0xF2, 0x6E, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x66, 0x56, 0x60, 0xFF, 0xFF, +0xFF, 0xFF, 0xB7, 0x43, 0xD2, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0x0C, 0x36, 0x60, 0xFF, 0xFF, +0xFF, 0xFF, 0xB8, 0xFD, 0x86, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x31, 0x67, 0x76, 0x00, 0x00, 0x00, +0x00, 0x00, 0x32, 0x73, 0x08, 0x70, 0x00, 0x00, 0x00, 0x00, 0x33, 0x47, 0x58, 0x00, 0x00, 0x00, +0x00, 0x00, 0x34, 0x52, 0xEA, 0x70, 0x00, 0x00, 0x00, 0x00, 0x35, 0x27, 0x48, 0x10, 0x00, 0x00, +0x00, 0x00, 0x36, 0x32, 0xDA, 0x80, 0x00, 0x00, 0x00, 0x00, 0x37, 0x07, 0x2A, 0x10, 0x00, 0x00, +0x00, 0x00, 0x38, 0x1B, 0xF7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0xE7, 0x0C, 0x10, 0x00, 0x00, +0x00, 0x00, 0x39, 0xFB, 0xD9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xF5, 0x12, 0x90, 0x00, 0x00, +0x00, 0x00, 0x3B, 0xB6, 0xD1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xB0, 0x0A, 0x90, 0x00, 0x00, +0x00, 0x00, 0x3D, 0xBB, 0x9D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x8F, 0xEC, 0x90, 0x00, 0x00, +0x00, 0x00, 0x3F, 0x9B, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x6F, 0xCE, 0x90, 0x00, 0x00, +0x00, 0x00, 0x41, 0x84, 0x9B, 0x80, 0x00, 0x00, 0x00, 0x00, 0x42, 0x4F, 0xB0, 0x90, 0x00, 0x00, +0x00, 0x00, 0x43, 0x64, 0x7D, 0x80, 0x00, 0x00, 0x00, 0x00, 0x44, 0x2F, 0x92, 0x90, 0x00, 0x00, +0x00, 0x00, 0x45, 0x44, 0x5F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x46, 0x0F, 0x74, 0x90, 0x00, 0x00, +0x00, 0x00, 0x47, 0x24, 0x41, 0x80, 0x00, 0x00, 0x00, 0x00, 0x47, 0xF8, 0x91, 0x10, 0x00, 0x00, +0x00, 0x00, 0x49, 0x04, 0x23, 0x80, 0x00, 0x00, 0x00, 0x00, 0x49, 0xD8, 0x73, 0x10, 0x00, 0x00, +0x00, 0x00, 0x4A, 0xE4, 0x05, 0x80, 0x00, 0x00, 0x00, 0x00, 0x4B, 0x9C, 0xA5, 0x90, 0x00, 0x00, +0x00, 0x00, 0x4C, 0xD6, 0x5C, 0x80, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x7C, 0x87, 0x90, 0x00, 0x00, +0x00, 0x00, 0x4E, 0xB6, 0x3E, 0x80, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x5C, 0x69, 0x90, 0x00, 0x00, +0x00, 0x00, 0x50, 0x96, 0x20, 0x80, 0x00, 0x00, 0x00, 0x00, 0x51, 0x3C, 0x4B, 0x90, 0x00, 0x00, +0x00, 0x00, 0x52, 0x76, 0x02, 0x80, 0x00, 0x00, 0x00, 0x00, 0x53, 0x1C, 0x2D, 0x90, 0x00, 0x00, +0x00, 0x00, 0x54, 0x55, 0xE4, 0x80, 0x00, 0x00, 0x00, 0x00, 0x54, 0xFC, 0x0F, 0x90, 0x00, 0x00, +0x00, 0x00, 0x56, 0x35, 0xC6, 0x80, 0x00, 0x00, 0x00, 0x00, 0x56, 0xE5, 0x2C, 0x10, 0x00, 0x00, +0x00, 0x00, 0x58, 0x1E, 0xE3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 0xC5, 0x0E, 0x10, 0x00, 0x00, +0x00, 0x00, 0x59, 0xFE, 0xC5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xA4, 0xF0, 0x10, 0x00, 0x00, +0x00, 0x00, 0x5B, 0xDE, 0xA7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5C, 0x84, 0xD2, 0x10, 0x00, 0x00, +0x00, 0x00, 0x5D, 0xBE, 0x89, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x64, 0xB4, 0x10, 0x00, 0x00, +0x00, 0x00, 0x5F, 0x9E, 0x6B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x4D, 0xD0, 0x90, 0x00, 0x00, +0x00, 0x00, 0x61, 0x87, 0x87, 0x80, 0x00, 0x00, 0x00, 0x00, 0x62, 0x2D, 0xB2, 0x90, 0x00, 0x00, +0x00, 0x00, 0x63, 0x5E, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x0D, 0x86, 0x80, 0x00, 0x00, +0x00, 0x00, 0x65, 0x47, 0x3D, 0x70, 0x00, 0x00, 0x00, 0x00, 0x65, 0xED, 0x68, 0x80, 0x00, 0x00, +0x00, 0x00, 0x67, 0x27, 0x1F, 0x70, 0x00, 0x00, 0x00, 0x00, 0x67, 0xCD, 0x4A, 0x80, 0x00, 0x00, +0x00, 0x00, 0x69, 0x07, 0x01, 0x70, 0x00, 0x00, 0x00, 0x00, 0x69, 0xAD, 0x2C, 0x80, 0x00, 0x00, +0x00, 0x00, 0x6A, 0xE6, 0xE3, 0x70, 0x00, 0x00, 0x00, 0x00, 0x6B, 0x96, 0x49, 0x00, 0x00, 0x00, +0x00, 0x00, 0x6C, 0xCF, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x76, 0x2B, 0x00, 0x00, 0x00, +0x00, 0x00, 0x6E, 0xAF, 0xE1, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x56, 0x0D, 0x00, 0x00, 0x00, +0x00, 0x00, 0x70, 0x8F, 0xC3, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x71, 0x35, 0xEF, 0x00, 0x00, 0x00, +0x00, 0x00, 0x72, 0x6F, 0xA5, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x73, 0x15, 0xD1, 0x00, 0x00, 0x00, +0x00, 0x00, 0x74, 0x4F, 0x87, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x74, 0xFE, 0xED, 0x80, 0x00, 0x00, +0x00, 0x00, 0x76, 0x38, 0xA4, 0x70, 0x00, 0x00, 0x00, 0x00, 0x76, 0xDE, 0xCF, 0x80, 0x00, 0x00, +0x00, 0x00, 0x78, 0x18, 0x86, 0x70, 0x00, 0x00, 0x00, 0x00, 0x78, 0xBE, 0xB1, 0x80, 0x00, 0x00, +0x00, 0x00, 0x79, 0xF8, 0x68, 0x70, 0x00, 0x00, 0x00, 0x00, 0x7A, 0x9E, 0x93, 0x80, 0x00, 0x00, +0x00, 0x00, 0x7B, 0xD8, 0x4A, 0x70, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x7E, 0x75, 0x80, 0x00, 0x00, +0x00, 0x00, 0x7D, 0xB8, 0x2C, 0x70, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x5E, 0x57, 0x80, 0x00, 0x00, +0x00, 0x00, 0x7F, 0x98, 0x0E, 0x70, 0x01, 0x02, 0x04, 0x03, 0x04, 0x02, 0x05, 0x02, 0x05, 0x02, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, -0x03, 0x04, 0x03, 0x02, 0xFF, 0xFF, 0x9E, 0x1C, 0x00, 0x00, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x04, -0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x08, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x0C, 0xFF, 0xFF, 0x9D, 0x90, -0x00, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x10, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x0C, 0xFF, 0xFF, -0xAB, 0xA0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, -0x4D, 0x44, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x43, 0x53, 0x54, 0x36, 0x0A, 0x00, 0xB6, -0x71, 0xBA, 0x00, 0x73, 0x54, 0xBD, 0x00, 0x00, 0x00, 0x28, 0x4D, 0x6F, 0x75, 0x6E, 0x74, 0x61, -0x69, 0x6E, 0x20, 0x54, 0x69, 0x6D, 0x65, 0x20, 0x55, 0x53, 0x20, 0x2D, 0x20, 0x43, 0x68, 0x69, -0x68, 0x75, 0x61, 0x68, 0x75, 0x61, 0x20, 0x28, 0x55, 0x53, 0x20, 0x62, 0x6F, 0x72, 0x64, 0x65, -0x72, 0x29, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, +0x03, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, +0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, +0xFF, 0xFF, 0x9E, 0x1C, 0x00, 0x00, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, +0x00, 0x08, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x0C, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x04, 0xFF, 0xFF, +0xB9, 0xB0, 0x01, 0x10, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x4D, 0x53, +0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x00, 0x01, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x43, 0x53, 0x54, +0x36, 0x43, 0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, +0x31, 0x2E, 0x30, 0x0A, 0x00, 0xB6, 0x71, 0xBA, 0x00, 0x73, 0x54, 0xBD, 0x00, 0x00, 0x00, 0x1C, +0x43, 0x68, 0x69, 0x68, 0x75, 0x61, 0x68, 0x75, 0x61, 0x20, 0x28, 0x55, 0x53, 0x20, 0x62, 0x6F, +0x72, 0x64, 0x65, 0x72, 0x20, 0x2D, 0x20, 0x65, 0x61, 0x73, 0x74, 0x29, /* America/Panama */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x50, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -36693,140 +36938,145 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { 0x00, 0x00, /* America/Pangnirtung */ -0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x7A, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x29, 0xA3, 0xD5, 0x52, 0x80, -0xCB, 0x88, 0xE2, 0x60, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xED, 0xD0, 0xF7, 0x2F, 0x30, 0x40, -0xF8, 0x28, 0x5B, 0xC0, 0x13, 0x69, 0x39, 0xE0, 0x14, 0x59, 0x1C, 0xD0, 0x15, 0x49, 0x1B, 0xE0, -0x16, 0x38, 0xFE, 0xD0, 0x17, 0x28, 0xFD, 0xE0, 0x18, 0x22, 0x1B, 0x50, 0x19, 0x08, 0xDF, 0xE0, -0x1A, 0x01, 0xFD, 0x50, 0x1A, 0xF1, 0xFC, 0x60, 0x1B, 0xE1, 0xDF, 0x50, 0x1C, 0xD1, 0xDE, 0x60, -0x1D, 0xC1, 0xC1, 0x50, 0x1E, 0xB1, 0xC0, 0x60, 0x1F, 0xA1, 0xA3, 0x50, 0x20, 0x75, 0xF2, 0xE0, -0x21, 0x81, 0x85, 0x50, 0x22, 0x55, 0xD4, 0xE0, 0x23, 0x6A, 0xA1, 0xD0, 0x24, 0x35, 0xB6, 0xE0, -0x25, 0x4A, 0x83, 0xD0, 0x26, 0x15, 0x98, 0xE0, 0x27, 0x2A, 0x65, 0xD0, 0x27, 0xFE, 0xB5, 0x60, -0x29, 0x0A, 0x47, 0xD0, 0x29, 0xDE, 0x97, 0x60, 0x2A, 0xEA, 0x29, 0xD0, 0x2B, 0xBE, 0x79, 0x60, -0x2C, 0xD3, 0x46, 0x50, 0x2D, 0x9E, 0x5B, 0x60, 0x2E, 0xB3, 0x28, 0x50, 0x2F, 0x7E, 0x3D, 0x60, -0x30, 0x93, 0x18, 0x60, 0x31, 0x67, 0x67, 0xF0, 0x32, 0x72, 0xFA, 0x60, 0x33, 0x47, 0x49, 0xF0, -0x34, 0x52, 0xDC, 0x60, 0x35, 0x27, 0x2B, 0xF0, 0x36, 0x32, 0xBE, 0x60, 0x37, 0x07, 0x0D, 0xF0, -0x38, 0x1B, 0xDA, 0xE0, 0x38, 0xE6, 0xFE, 0x00, 0x39, 0xFB, 0xCA, 0xF0, 0x3A, 0xC6, 0xD1, 0xF0, -0x3B, 0xDB, 0x9E, 0xE0, 0x3C, 0xAF, 0xEE, 0x70, 0x3D, 0xBB, 0x80, 0xE0, 0x3E, 0x8F, 0xD0, 0x70, -0x3F, 0x9B, 0x62, 0xE0, 0x40, 0x6F, 0xB2, 0x70, 0x41, 0x84, 0x7F, 0x60, 0x42, 0x4F, 0x94, 0x70, -0x43, 0x64, 0x61, 0x60, 0x44, 0x2F, 0x76, 0x70, 0x45, 0x44, 0x43, 0x60, 0x45, 0xF3, 0xA8, 0xF0, -0x47, 0x2D, 0x5F, 0xE0, 0x47, 0xD3, 0x8A, 0xF0, 0x49, 0x0D, 0x41, 0xE0, 0x49, 0xB3, 0x6C, 0xF0, -0x4A, 0xED, 0x23, 0xE0, 0x4B, 0x9C, 0x89, 0x70, 0x4C, 0xD6, 0x40, 0x60, 0x4D, 0x7C, 0x6B, 0x70, -0x4E, 0xB6, 0x22, 0x60, 0x4F, 0x5C, 0x4D, 0x70, 0x50, 0x96, 0x04, 0x60, 0x51, 0x3C, 0x2F, 0x70, -0x52, 0x75, 0xE6, 0x60, 0x53, 0x1C, 0x11, 0x70, 0x54, 0x55, 0xC8, 0x60, 0x54, 0xFB, 0xF3, 0x70, -0x56, 0x35, 0xAA, 0x60, 0x56, 0xE5, 0x0F, 0xF0, 0x58, 0x1E, 0xC6, 0xE0, 0x58, 0xC4, 0xF1, 0xF0, -0x59, 0xFE, 0xA8, 0xE0, 0x5A, 0xA4, 0xD3, 0xF0, 0x5B, 0xDE, 0x8A, 0xE0, 0x5C, 0x84, 0xB5, 0xF0, -0x5D, 0xBE, 0x6C, 0xE0, 0x5E, 0x64, 0x97, 0xF0, 0x5F, 0x9E, 0x4E, 0xE0, 0x60, 0x4D, 0xB4, 0x70, -0x61, 0x87, 0x6B, 0x60, 0x62, 0x2D, 0x96, 0x70, 0x63, 0x67, 0x4D, 0x60, 0x64, 0x0D, 0x78, 0x70, -0x65, 0x47, 0x2F, 0x60, 0x65, 0xED, 0x5A, 0x70, 0x67, 0x27, 0x11, 0x60, 0x67, 0xCD, 0x3C, 0x70, -0x69, 0x06, 0xF3, 0x60, 0x69, 0xAD, 0x1E, 0x70, 0x6A, 0xE6, 0xD5, 0x60, 0x6B, 0x96, 0x3A, 0xF0, -0x6C, 0xCF, 0xF1, 0xE0, 0x6D, 0x76, 0x1C, 0xF0, 0x6E, 0xAF, 0xD3, 0xE0, 0x6F, 0x55, 0xFE, 0xF0, -0x70, 0x8F, 0xB5, 0xE0, 0x71, 0x35, 0xE0, 0xF0, 0x72, 0x6F, 0x97, 0xE0, 0x73, 0x15, 0xC2, 0xF0, -0x74, 0x4F, 0x79, 0xE0, 0x74, 0xFE, 0xDF, 0x70, 0x76, 0x38, 0x96, 0x60, 0x76, 0xDE, 0xC1, 0x70, -0x78, 0x18, 0x78, 0x60, 0x78, 0xBE, 0xA3, 0x70, 0x79, 0xF8, 0x5A, 0x60, 0x7A, 0x9E, 0x85, 0x70, -0x7B, 0xD8, 0x3C, 0x60, 0x7C, 0x7E, 0x67, 0x70, 0x7D, 0xB8, 0x1E, 0x60, 0x7E, 0x5E, 0x49, 0x70, -0x7F, 0x98, 0x00, 0x60, 0x03, 0x01, 0x02, 0x03, 0x04, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, -0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, -0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, -0x06, 0x08, 0x09, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, -0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, -0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, -0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, -0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x08, -0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x0C, 0xFF, 0xFF, 0xE3, 0xE0, 0x01, 0x10, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x15, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x19, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x1D, 0xFF, 0xFF, -0xAB, 0xA0, 0x00, 0x21, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x25, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x19, -0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x1D, 0x2D, 0x30, 0x30, 0x00, 0x41, 0x57, 0x54, 0x00, 0x41, 0x50, -0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x41, 0x44, 0x44, 0x54, 0x00, 0x41, 0x44, 0x54, 0x00, 0x45, -0x44, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x00, -0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, -0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7A, 0x00, 0x00, 0x00, 0x0C, 0x00, -0x00, 0x00, 0x29, 0xFF, 0xFF, 0xFF, 0xFF, 0xA3, 0xD5, 0x52, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, -0x88, 0xE2, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, -0x60, 0xED, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x2F, 0x30, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, -0x28, 0x5B, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x39, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x14, -0x59, 0x1C, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x15, 0x49, 0x1B, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x16, -0x38, 0xFE, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x17, 0x28, 0xFD, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x18, -0x22, 0x1B, 0x50, 0x00, 0x00, 0x00, 0x00, 0x19, 0x08, 0xDF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x1A, -0x01, 0xFD, 0x50, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xF1, 0xFC, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1B, -0xE1, 0xDF, 0x50, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xD1, 0xDE, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1D, -0xC1, 0xC1, 0x50, 0x00, 0x00, 0x00, 0x00, 0x1E, 0xB1, 0xC0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1F, -0xA1, 0xA3, 0x50, 0x00, 0x00, 0x00, 0x00, 0x20, 0x75, 0xF2, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x21, -0x81, 0x85, 0x50, 0x00, 0x00, 0x00, 0x00, 0x22, 0x55, 0xD4, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x23, -0x6A, 0xA1, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x24, 0x35, 0xB6, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x25, -0x4A, 0x83, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x26, 0x15, 0x98, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x27, -0x2A, 0x65, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x27, 0xFE, 0xB5, 0x60, 0x00, 0x00, 0x00, 0x00, 0x29, -0x0A, 0x47, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x29, 0xDE, 0x97, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2A, -0xEA, 0x29, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xBE, 0x79, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2C, -0xD3, 0x46, 0x50, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x9E, 0x5B, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2E, -0xB3, 0x28, 0x50, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x7E, 0x3D, 0x60, 0x00, 0x00, 0x00, 0x00, 0x30, -0x93, 0x18, 0x60, 0x00, 0x00, 0x00, 0x00, 0x31, 0x67, 0x67, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x32, -0x72, 0xFA, 0x60, 0x00, 0x00, 0x00, 0x00, 0x33, 0x47, 0x49, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x34, -0x52, 0xDC, 0x60, 0x00, 0x00, 0x00, 0x00, 0x35, 0x27, 0x2B, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x36, -0x32, 0xBE, 0x60, 0x00, 0x00, 0x00, 0x00, 0x37, 0x07, 0x0D, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x38, -0x1B, 0xDA, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x38, 0xE6, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x39, -0xFB, 0xCA, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xC6, 0xD1, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x3B, -0xDB, 0x9E, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xAF, 0xEE, 0x70, 0x00, 0x00, 0x00, 0x00, 0x3D, -0xBB, 0x80, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x8F, 0xD0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x3F, -0x9B, 0x62, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x40, 0x6F, 0xB2, 0x70, 0x00, 0x00, 0x00, 0x00, 0x41, -0x84, 0x7F, 0x60, 0x00, 0x00, 0x00, 0x00, 0x42, 0x4F, 0x94, 0x70, 0x00, 0x00, 0x00, 0x00, 0x43, -0x64, 0x61, 0x60, 0x00, 0x00, 0x00, 0x00, 0x44, 0x2F, 0x76, 0x70, 0x00, 0x00, 0x00, 0x00, 0x45, -0x44, 0x43, 0x60, 0x00, 0x00, 0x00, 0x00, 0x45, 0xF3, 0xA8, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x47, -0x2D, 0x5F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x47, 0xD3, 0x8A, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x49, -0x0D, 0x41, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x49, 0xB3, 0x6C, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x4A, -0xED, 0x23, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x4B, 0x9C, 0x89, 0x70, 0x00, 0x00, 0x00, 0x00, 0x4C, -0xD6, 0x40, 0x60, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x7C, 0x6B, 0x70, 0x00, 0x00, 0x00, 0x00, 0x4E, -0xB6, 0x22, 0x60, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x5C, 0x4D, 0x70, 0x00, 0x00, 0x00, 0x00, 0x50, -0x96, 0x04, 0x60, 0x00, 0x00, 0x00, 0x00, 0x51, 0x3C, 0x2F, 0x70, 0x00, 0x00, 0x00, 0x00, 0x52, -0x75, 0xE6, 0x60, 0x00, 0x00, 0x00, 0x00, 0x53, 0x1C, 0x11, 0x70, 0x00, 0x00, 0x00, 0x00, 0x54, -0x55, 0xC8, 0x60, 0x00, 0x00, 0x00, 0x00, 0x54, 0xFB, 0xF3, 0x70, 0x00, 0x00, 0x00, 0x00, 0x56, -0x35, 0xAA, 0x60, 0x00, 0x00, 0x00, 0x00, 0x56, 0xE5, 0x0F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x58, -0x1E, 0xC6, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x58, 0xC4, 0xF1, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x59, -0xFE, 0xA8, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xA4, 0xD3, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x5B, -0xDE, 0x8A, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x5C, 0x84, 0xB5, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x5D, -0xBE, 0x6C, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x64, 0x97, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x5F, -0x9E, 0x4E, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x60, 0x4D, 0xB4, 0x70, 0x00, 0x00, 0x00, 0x00, 0x61, -0x87, 0x6B, 0x60, 0x00, 0x00, 0x00, 0x00, 0x62, 0x2D, 0x96, 0x70, 0x00, 0x00, 0x00, 0x00, 0x63, -0x67, 0x4D, 0x60, 0x00, 0x00, 0x00, 0x00, 0x64, 0x0D, 0x78, 0x70, 0x00, 0x00, 0x00, 0x00, 0x65, -0x47, 0x2F, 0x60, 0x00, 0x00, 0x00, 0x00, 0x65, 0xED, 0x5A, 0x70, 0x00, 0x00, 0x00, 0x00, 0x67, -0x27, 0x11, 0x60, 0x00, 0x00, 0x00, 0x00, 0x67, 0xCD, 0x3C, 0x70, 0x00, 0x00, 0x00, 0x00, 0x69, -0x06, 0xF3, 0x60, 0x00, 0x00, 0x00, 0x00, 0x69, 0xAD, 0x1E, 0x70, 0x00, 0x00, 0x00, 0x00, 0x6A, -0xE6, 0xD5, 0x60, 0x00, 0x00, 0x00, 0x00, 0x6B, 0x96, 0x3A, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x6C, -0xCF, 0xF1, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x76, 0x1C, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x6E, -0xAF, 0xD3, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x55, 0xFE, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x70, -0x8F, 0xB5, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x71, 0x35, 0xE0, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x72, -0x6F, 0x97, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x73, 0x15, 0xC2, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x74, -0x4F, 0x79, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x74, 0xFE, 0xDF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x76, -0x38, 0x96, 0x60, 0x00, 0x00, 0x00, 0x00, 0x76, 0xDE, 0xC1, 0x70, 0x00, 0x00, 0x00, 0x00, 0x78, -0x18, 0x78, 0x60, 0x00, 0x00, 0x00, 0x00, 0x78, 0xBE, 0xA3, 0x70, 0x00, 0x00, 0x00, 0x00, 0x79, -0xF8, 0x5A, 0x60, 0x00, 0x00, 0x00, 0x00, 0x7A, 0x9E, 0x85, 0x70, 0x00, 0x00, 0x00, 0x00, 0x7B, -0xD8, 0x3C, 0x60, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x7E, 0x67, 0x70, 0x00, 0x00, 0x00, 0x00, 0x7D, -0xB8, 0x1E, 0x60, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x5E, 0x49, 0x70, 0x00, 0x00, 0x00, 0x00, 0x7F, -0x98, 0x00, 0x60, 0x03, 0x01, 0x02, 0x03, 0x04, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, -0x08, 0x09, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, -0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, -0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, -0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, -0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x08, 0xFF, -0xFF, 0xC7, 0xC0, 0x00, 0x0C, 0xFF, 0xFF, 0xE3, 0xE0, 0x01, 0x10, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, -0x15, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x19, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x1D, 0xFF, 0xFF, 0xAB, -0xA0, 0x00, 0x21, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x25, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x19, 0xFF, -0xFF, 0xB9, 0xB0, 0x00, 0x1D, 0x2D, 0x30, 0x30, 0x00, 0x41, 0x57, 0x54, 0x00, 0x41, 0x50, 0x54, -0x00, 0x41, 0x53, 0x54, 0x00, 0x41, 0x44, 0x44, 0x54, 0x00, 0x41, 0x44, 0x54, 0x00, 0x45, 0x44, -0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x00, 0x00, -0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x45, 0x53, 0x54, 0x35, 0x45, 0x44, 0x54, 0x2C, 0x4D, -0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, 0x31, 0x2E, 0x30, 0x0A, 0x00, 0xEE, -0x3D, 0x95, 0x00, 0xAE, 0x5B, 0x6A, 0x00, 0x00, 0x00, 0x1A, 0x45, 0x61, 0x73, 0x74, 0x65, 0x72, -0x6E, 0x20, 0x2D, 0x20, 0x4E, 0x55, 0x20, 0x28, 0x50, 0x61, 0x6E, 0x67, 0x6E, 0x69, 0x72, 0x74, -0x75, 0x6E, 0x67, 0x29, +0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x87, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x1C, 0xCC, 0x6C, 0xA1, 0x80, +0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xFB, 0xE0, 0x04, 0x60, 0xFD, 0x70, 0x05, 0x50, 0xE0, 0x60, +0x06, 0x40, 0xDF, 0x70, 0x07, 0x30, 0xC2, 0x60, 0x08, 0x20, 0xC1, 0x70, 0x09, 0x10, 0xA4, 0x60, +0x0A, 0x00, 0xA3, 0x70, 0x0A, 0xF0, 0x86, 0x60, 0x0B, 0xE0, 0x85, 0x70, 0x0C, 0xD9, 0xA2, 0xE0, +0x0D, 0xC0, 0x67, 0x70, 0x0E, 0xB9, 0x84, 0xE0, 0x0F, 0xA9, 0x83, 0xF0, 0x10, 0x99, 0x66, 0xE0, +0x11, 0x89, 0x65, 0xF0, 0x12, 0x79, 0x48, 0xE0, 0x13, 0x69, 0x47, 0xF0, 0x14, 0x59, 0x2A, 0xE0, +0x15, 0x49, 0x29, 0xF0, 0x16, 0x39, 0x0C, 0xE0, 0x17, 0x29, 0x0B, 0xF0, 0x18, 0x22, 0x29, 0x60, +0x19, 0x08, 0xED, 0xF0, 0x1A, 0x02, 0x0B, 0x60, 0x1A, 0xF2, 0x0A, 0x70, 0x1B, 0xE1, 0xED, 0x60, +0x1C, 0xD1, 0xEC, 0x70, 0x1D, 0xC1, 0xCF, 0x60, 0x1E, 0xB1, 0xCE, 0x70, 0x1F, 0xA1, 0xB1, 0x60, +0x20, 0x76, 0x00, 0xF0, 0x21, 0x81, 0x93, 0x60, 0x22, 0x55, 0xE2, 0xF0, 0x23, 0x6A, 0xAF, 0xE0, +0x24, 0x35, 0xC4, 0xF0, 0x25, 0x4A, 0x91, 0xE0, 0x26, 0x15, 0xA6, 0xF0, 0x27, 0x2A, 0x73, 0xE0, +0x27, 0xFE, 0xC3, 0x70, 0x29, 0x0A, 0x55, 0xE0, 0x29, 0xDE, 0xA5, 0x70, 0x2A, 0xEA, 0x37, 0xE0, +0x2B, 0xBE, 0x87, 0x70, 0x2C, 0xD3, 0x54, 0x60, 0x2D, 0x9E, 0x69, 0x70, 0x2E, 0xB3, 0x36, 0x60, +0x2F, 0x7E, 0x4B, 0x70, 0x30, 0x93, 0x18, 0x60, 0x31, 0x67, 0x67, 0xF0, 0x32, 0x72, 0xFA, 0x60, +0x33, 0x47, 0x49, 0xF0, 0x34, 0x52, 0xDC, 0x60, 0x35, 0x27, 0x2B, 0xF0, 0x36, 0x32, 0xBE, 0x60, +0x37, 0x07, 0x0D, 0xF0, 0x38, 0x1B, 0xDA, 0xE0, 0x38, 0xE6, 0xFE, 0x00, 0x39, 0xFB, 0xCA, 0xF0, +0x3A, 0xC6, 0xD1, 0xF0, 0x3B, 0xDB, 0x9E, 0xE0, 0x3C, 0xAF, 0xEE, 0x70, 0x3D, 0xBB, 0x80, 0xE0, +0x3E, 0x8F, 0xD0, 0x70, 0x3F, 0x9B, 0x62, 0xE0, 0x40, 0x6F, 0xB2, 0x70, 0x41, 0x84, 0x7F, 0x60, +0x42, 0x4F, 0x94, 0x70, 0x43, 0x64, 0x61, 0x60, 0x44, 0x2F, 0x76, 0x70, 0x45, 0x44, 0x43, 0x60, +0x45, 0xF3, 0xA8, 0xF0, 0x47, 0x2D, 0x5F, 0xE0, 0x47, 0xD3, 0x8A, 0xF0, 0x49, 0x0D, 0x41, 0xE0, +0x49, 0xB3, 0x6C, 0xF0, 0x4A, 0xED, 0x23, 0xE0, 0x4B, 0x9C, 0x89, 0x70, 0x4C, 0xD6, 0x40, 0x60, +0x4D, 0x7C, 0x6B, 0x70, 0x4E, 0xB6, 0x22, 0x60, 0x4F, 0x5C, 0x4D, 0x70, 0x50, 0x96, 0x04, 0x60, +0x51, 0x3C, 0x2F, 0x70, 0x52, 0x75, 0xE6, 0x60, 0x53, 0x1C, 0x11, 0x70, 0x54, 0x55, 0xC8, 0x60, +0x54, 0xFB, 0xF3, 0x70, 0x56, 0x35, 0xAA, 0x60, 0x56, 0xE5, 0x0F, 0xF0, 0x58, 0x1E, 0xC6, 0xE0, +0x58, 0xC4, 0xF1, 0xF0, 0x59, 0xFE, 0xA8, 0xE0, 0x5A, 0xA4, 0xD3, 0xF0, 0x5B, 0xDE, 0x8A, 0xE0, +0x5C, 0x84, 0xB5, 0xF0, 0x5D, 0xBE, 0x6C, 0xE0, 0x5E, 0x64, 0x97, 0xF0, 0x5F, 0x9E, 0x4E, 0xE0, +0x60, 0x4D, 0xB4, 0x70, 0x61, 0x87, 0x6B, 0x60, 0x62, 0x2D, 0x96, 0x70, 0x63, 0x67, 0x4D, 0x60, +0x64, 0x0D, 0x78, 0x70, 0x65, 0x47, 0x2F, 0x60, 0x65, 0xED, 0x5A, 0x70, 0x67, 0x27, 0x11, 0x60, +0x67, 0xCD, 0x3C, 0x70, 0x69, 0x06, 0xF3, 0x60, 0x69, 0xAD, 0x1E, 0x70, 0x6A, 0xE6, 0xD5, 0x60, +0x6B, 0x96, 0x3A, 0xF0, 0x6C, 0xCF, 0xF1, 0xE0, 0x6D, 0x76, 0x1C, 0xF0, 0x6E, 0xAF, 0xD3, 0xE0, +0x6F, 0x55, 0xFE, 0xF0, 0x70, 0x8F, 0xB5, 0xE0, 0x71, 0x35, 0xE0, 0xF0, 0x72, 0x6F, 0x97, 0xE0, +0x73, 0x15, 0xC2, 0xF0, 0x74, 0x4F, 0x79, 0xE0, 0x74, 0xFE, 0xDF, 0x70, 0x76, 0x38, 0x96, 0x60, +0x76, 0xDE, 0xC1, 0x70, 0x78, 0x18, 0x78, 0x60, 0x78, 0xBE, 0xA3, 0x70, 0x79, 0xF8, 0x5A, 0x60, +0x7A, 0x9E, 0x85, 0x70, 0x7B, 0xD8, 0x3C, 0x60, 0x7C, 0x7E, 0x67, 0x70, 0x7D, 0xB8, 0x1E, 0x60, +0x7E, 0x5E, 0x49, 0x70, 0x7F, 0x98, 0x00, 0x60, 0x04, 0x01, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x05, 0x06, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, +0x08, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x0C, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x10, 0xFF, 0xFF, 0xAB, +0xA0, 0x00, 0x14, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x18, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x0C, 0xFF, +0xFF, 0xB9, 0xB0, 0x00, 0x08, 0x2D, 0x30, 0x30, 0x00, 0x45, 0x50, 0x54, 0x00, 0x45, 0x53, 0x54, +0x00, 0x45, 0x44, 0x54, 0x00, 0x45, 0x57, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x43, 0x44, 0x54, +0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x09, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x87, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x1C, 0xFF, +0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0xA1, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, +0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xFB, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x04, 0x60, 0xFD, 0x70, 0x00, +0x00, 0x00, 0x00, 0x05, 0x50, 0xE0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x06, 0x40, 0xDF, 0x70, 0x00, +0x00, 0x00, 0x00, 0x07, 0x30, 0xC2, 0x60, 0x00, 0x00, 0x00, 0x00, 0x08, 0x20, 0xC1, 0x70, 0x00, +0x00, 0x00, 0x00, 0x09, 0x10, 0xA4, 0x60, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0xA3, 0x70, 0x00, +0x00, 0x00, 0x00, 0x0A, 0xF0, 0x86, 0x60, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xE0, 0x85, 0x70, 0x00, +0x00, 0x00, 0x00, 0x0C, 0xD9, 0xA2, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0D, 0xC0, 0x67, 0x70, 0x00, +0x00, 0x00, 0x00, 0x0E, 0xB9, 0x84, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xA9, 0x83, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x10, 0x99, 0x66, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x11, 0x89, 0x65, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x12, 0x79, 0x48, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x47, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x14, 0x59, 0x2A, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x15, 0x49, 0x29, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x16, 0x39, 0x0C, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x17, 0x29, 0x0B, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x18, 0x22, 0x29, 0x60, 0x00, 0x00, 0x00, 0x00, 0x19, 0x08, 0xED, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x1A, 0x02, 0x0B, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xF2, 0x0A, 0x70, 0x00, +0x00, 0x00, 0x00, 0x1B, 0xE1, 0xED, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xD1, 0xEC, 0x70, 0x00, +0x00, 0x00, 0x00, 0x1D, 0xC1, 0xCF, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1E, 0xB1, 0xCE, 0x70, 0x00, +0x00, 0x00, 0x00, 0x1F, 0xA1, 0xB1, 0x60, 0x00, 0x00, 0x00, 0x00, 0x20, 0x76, 0x00, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x21, 0x81, 0x93, 0x60, 0x00, 0x00, 0x00, 0x00, 0x22, 0x55, 0xE2, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x23, 0x6A, 0xAF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x24, 0x35, 0xC4, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x25, 0x4A, 0x91, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x26, 0x15, 0xA6, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x27, 0x2A, 0x73, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x27, 0xFE, 0xC3, 0x70, 0x00, +0x00, 0x00, 0x00, 0x29, 0x0A, 0x55, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x29, 0xDE, 0xA5, 0x70, 0x00, +0x00, 0x00, 0x00, 0x2A, 0xEA, 0x37, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xBE, 0x87, 0x70, 0x00, +0x00, 0x00, 0x00, 0x2C, 0xD3, 0x54, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x9E, 0x69, 0x70, 0x00, +0x00, 0x00, 0x00, 0x2E, 0xB3, 0x36, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x7E, 0x4B, 0x70, 0x00, +0x00, 0x00, 0x00, 0x30, 0x93, 0x18, 0x60, 0x00, 0x00, 0x00, 0x00, 0x31, 0x67, 0x67, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x32, 0x72, 0xFA, 0x60, 0x00, 0x00, 0x00, 0x00, 0x33, 0x47, 0x49, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x34, 0x52, 0xDC, 0x60, 0x00, 0x00, 0x00, 0x00, 0x35, 0x27, 0x2B, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x36, 0x32, 0xBE, 0x60, 0x00, 0x00, 0x00, 0x00, 0x37, 0x07, 0x0D, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x38, 0x1B, 0xDA, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x38, 0xE6, 0xFE, 0x00, 0x00, +0x00, 0x00, 0x00, 0x39, 0xFB, 0xCA, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xC6, 0xD1, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x3B, 0xDB, 0x9E, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xAF, 0xEE, 0x70, 0x00, +0x00, 0x00, 0x00, 0x3D, 0xBB, 0x80, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x8F, 0xD0, 0x70, 0x00, +0x00, 0x00, 0x00, 0x3F, 0x9B, 0x62, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x40, 0x6F, 0xB2, 0x70, 0x00, +0x00, 0x00, 0x00, 0x41, 0x84, 0x7F, 0x60, 0x00, 0x00, 0x00, 0x00, 0x42, 0x4F, 0x94, 0x70, 0x00, +0x00, 0x00, 0x00, 0x43, 0x64, 0x61, 0x60, 0x00, 0x00, 0x00, 0x00, 0x44, 0x2F, 0x76, 0x70, 0x00, +0x00, 0x00, 0x00, 0x45, 0x44, 0x43, 0x60, 0x00, 0x00, 0x00, 0x00, 0x45, 0xF3, 0xA8, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x47, 0x2D, 0x5F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x47, 0xD3, 0x8A, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x49, 0x0D, 0x41, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x49, 0xB3, 0x6C, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x4A, 0xED, 0x23, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x4B, 0x9C, 0x89, 0x70, 0x00, +0x00, 0x00, 0x00, 0x4C, 0xD6, 0x40, 0x60, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x7C, 0x6B, 0x70, 0x00, +0x00, 0x00, 0x00, 0x4E, 0xB6, 0x22, 0x60, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x5C, 0x4D, 0x70, 0x00, +0x00, 0x00, 0x00, 0x50, 0x96, 0x04, 0x60, 0x00, 0x00, 0x00, 0x00, 0x51, 0x3C, 0x2F, 0x70, 0x00, +0x00, 0x00, 0x00, 0x52, 0x75, 0xE6, 0x60, 0x00, 0x00, 0x00, 0x00, 0x53, 0x1C, 0x11, 0x70, 0x00, +0x00, 0x00, 0x00, 0x54, 0x55, 0xC8, 0x60, 0x00, 0x00, 0x00, 0x00, 0x54, 0xFB, 0xF3, 0x70, 0x00, +0x00, 0x00, 0x00, 0x56, 0x35, 0xAA, 0x60, 0x00, 0x00, 0x00, 0x00, 0x56, 0xE5, 0x0F, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x58, 0x1E, 0xC6, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x58, 0xC4, 0xF1, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x59, 0xFE, 0xA8, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xA4, 0xD3, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x5B, 0xDE, 0x8A, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x5C, 0x84, 0xB5, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x5D, 0xBE, 0x6C, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x64, 0x97, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x5F, 0x9E, 0x4E, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x60, 0x4D, 0xB4, 0x70, 0x00, +0x00, 0x00, 0x00, 0x61, 0x87, 0x6B, 0x60, 0x00, 0x00, 0x00, 0x00, 0x62, 0x2D, 0x96, 0x70, 0x00, +0x00, 0x00, 0x00, 0x63, 0x67, 0x4D, 0x60, 0x00, 0x00, 0x00, 0x00, 0x64, 0x0D, 0x78, 0x70, 0x00, +0x00, 0x00, 0x00, 0x65, 0x47, 0x2F, 0x60, 0x00, 0x00, 0x00, 0x00, 0x65, 0xED, 0x5A, 0x70, 0x00, +0x00, 0x00, 0x00, 0x67, 0x27, 0x11, 0x60, 0x00, 0x00, 0x00, 0x00, 0x67, 0xCD, 0x3C, 0x70, 0x00, +0x00, 0x00, 0x00, 0x69, 0x06, 0xF3, 0x60, 0x00, 0x00, 0x00, 0x00, 0x69, 0xAD, 0x1E, 0x70, 0x00, +0x00, 0x00, 0x00, 0x6A, 0xE6, 0xD5, 0x60, 0x00, 0x00, 0x00, 0x00, 0x6B, 0x96, 0x3A, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x6C, 0xCF, 0xF1, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x76, 0x1C, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x6E, 0xAF, 0xD3, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x55, 0xFE, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x70, 0x8F, 0xB5, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x71, 0x35, 0xE0, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x72, 0x6F, 0x97, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x73, 0x15, 0xC2, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x74, 0x4F, 0x79, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x74, 0xFE, 0xDF, 0x70, 0x00, +0x00, 0x00, 0x00, 0x76, 0x38, 0x96, 0x60, 0x00, 0x00, 0x00, 0x00, 0x76, 0xDE, 0xC1, 0x70, 0x00, +0x00, 0x00, 0x00, 0x78, 0x18, 0x78, 0x60, 0x00, 0x00, 0x00, 0x00, 0x78, 0xBE, 0xA3, 0x70, 0x00, +0x00, 0x00, 0x00, 0x79, 0xF8, 0x5A, 0x60, 0x00, 0x00, 0x00, 0x00, 0x7A, 0x9E, 0x85, 0x70, 0x00, +0x00, 0x00, 0x00, 0x7B, 0xD8, 0x3C, 0x60, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x7E, 0x67, 0x70, 0x00, +0x00, 0x00, 0x00, 0x7D, 0xB8, 0x1E, 0x60, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x5E, 0x49, 0x70, 0x00, +0x00, 0x00, 0x00, 0x7F, 0x98, 0x00, 0x60, 0x04, 0x01, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x05, 0x06, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, +0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x0C, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x10, 0xFF, 0xFF, 0xAB, 0xA0, +0x00, 0x14, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x18, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x0C, 0xFF, 0xFF, +0xB9, 0xB0, 0x00, 0x08, 0x2D, 0x30, 0x30, 0x00, 0x45, 0x50, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, +0x45, 0x44, 0x54, 0x00, 0x45, 0x57, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, +0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x0A, 0x45, 0x53, 0x54, 0x35, 0x45, 0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, +0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, 0x31, 0x2E, 0x30, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* America/Paramaribo */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x53, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -37390,125 +37640,136 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { /* America/Rankin_Inlet */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x15, 0xE7, 0x8C, 0x6E, 0x00, -0xF7, 0x2F, 0x4C, 0x60, 0xF8, 0x28, 0x77, 0xE0, 0x13, 0x69, 0x56, 0x00, 0x14, 0x59, 0x38, 0xF0, -0x15, 0x49, 0x38, 0x00, 0x16, 0x39, 0x1A, 0xF0, 0x17, 0x29, 0x1A, 0x00, 0x18, 0x22, 0x37, 0x70, -0x19, 0x08, 0xFC, 0x00, 0x1A, 0x02, 0x19, 0x70, 0x1A, 0xF2, 0x18, 0x80, 0x1B, 0xE1, 0xFB, 0x70, -0x1C, 0xD1, 0xFA, 0x80, 0x1D, 0xC1, 0xDD, 0x70, 0x1E, 0xB1, 0xDC, 0x80, 0x1F, 0xA1, 0xBF, 0x70, -0x20, 0x76, 0x0F, 0x00, 0x21, 0x81, 0xA1, 0x70, 0x22, 0x55, 0xF1, 0x00, 0x23, 0x6A, 0xBD, 0xF0, -0x24, 0x35, 0xD3, 0x00, 0x25, 0x4A, 0x9F, 0xF0, 0x26, 0x15, 0xB5, 0x00, 0x27, 0x2A, 0x81, 0xF0, -0x27, 0xFE, 0xD1, 0x80, 0x29, 0x0A, 0x63, 0xF0, 0x29, 0xDE, 0xB3, 0x80, 0x2A, 0xEA, 0x45, 0xF0, -0x2B, 0xBE, 0x95, 0x80, 0x2C, 0xD3, 0x62, 0x70, 0x2D, 0x9E, 0x77, 0x80, 0x2E, 0xB3, 0x44, 0x70, -0x2F, 0x7E, 0x59, 0x80, 0x30, 0x93, 0x26, 0x70, 0x31, 0x67, 0x76, 0x00, 0x32, 0x73, 0x08, 0x70, -0x33, 0x47, 0x58, 0x00, 0x34, 0x52, 0xEA, 0x70, 0x35, 0x27, 0x3A, 0x00, 0x36, 0x32, 0xCC, 0x70, -0x37, 0x07, 0x1C, 0x00, 0x38, 0x1B, 0xE8, 0xF0, 0x38, 0xE6, 0xFE, 0x00, 0x39, 0xFB, 0xCA, 0xF0, -0x3A, 0xC6, 0xE0, 0x00, 0x3B, 0xDB, 0xAC, 0xF0, 0x3C, 0xAF, 0xFC, 0x80, 0x3D, 0xBB, 0x8E, 0xF0, -0x3E, 0x8F, 0xDE, 0x80, 0x3F, 0x9B, 0x70, 0xF0, 0x40, 0x6F, 0xC0, 0x80, 0x41, 0x84, 0x8D, 0x70, -0x42, 0x4F, 0xA2, 0x80, 0x43, 0x64, 0x6F, 0x70, 0x44, 0x2F, 0x84, 0x80, 0x45, 0x44, 0x51, 0x70, -0x45, 0xF3, 0xB7, 0x00, 0x47, 0x2D, 0x6D, 0xF0, 0x47, 0xD3, 0x99, 0x00, 0x49, 0x0D, 0x4F, 0xF0, -0x49, 0xB3, 0x7B, 0x00, 0x4A, 0xED, 0x31, 0xF0, 0x4B, 0x9C, 0x97, 0x80, 0x4C, 0xD6, 0x4E, 0x70, -0x4D, 0x7C, 0x79, 0x80, 0x4E, 0xB6, 0x30, 0x70, 0x4F, 0x5C, 0x5B, 0x80, 0x50, 0x96, 0x12, 0x70, -0x51, 0x3C, 0x3D, 0x80, 0x52, 0x75, 0xF4, 0x70, 0x53, 0x1C, 0x1F, 0x80, 0x54, 0x55, 0xD6, 0x70, -0x54, 0xFC, 0x01, 0x80, 0x56, 0x35, 0xB8, 0x70, 0x56, 0xE5, 0x1E, 0x00, 0x58, 0x1E, 0xD4, 0xF0, -0x58, 0xC5, 0x00, 0x00, 0x59, 0xFE, 0xB6, 0xF0, 0x5A, 0xA4, 0xE2, 0x00, 0x5B, 0xDE, 0x98, 0xF0, -0x5C, 0x84, 0xC4, 0x00, 0x5D, 0xBE, 0x7A, 0xF0, 0x5E, 0x64, 0xA6, 0x00, 0x5F, 0x9E, 0x5C, 0xF0, -0x60, 0x4D, 0xC2, 0x80, 0x61, 0x87, 0x79, 0x70, 0x62, 0x2D, 0xA4, 0x80, 0x63, 0x67, 0x5B, 0x70, -0x64, 0x0D, 0x86, 0x80, 0x65, 0x47, 0x3D, 0x70, 0x65, 0xED, 0x68, 0x80, 0x67, 0x27, 0x1F, 0x70, -0x67, 0xCD, 0x4A, 0x80, 0x69, 0x07, 0x01, 0x70, 0x69, 0xAD, 0x2C, 0x80, 0x6A, 0xE6, 0xE3, 0x70, -0x6B, 0x96, 0x49, 0x00, 0x6C, 0xCF, 0xFF, 0xF0, 0x6D, 0x76, 0x2B, 0x00, 0x6E, 0xAF, 0xE1, 0xF0, -0x6F, 0x56, 0x0D, 0x00, 0x70, 0x8F, 0xC3, 0xF0, 0x71, 0x35, 0xEF, 0x00, 0x72, 0x6F, 0xA5, 0xF0, -0x73, 0x15, 0xD1, 0x00, 0x74, 0x4F, 0x87, 0xF0, 0x74, 0xFE, 0xED, 0x80, 0x76, 0x38, 0xA4, 0x70, -0x76, 0xDE, 0xCF, 0x80, 0x78, 0x18, 0x86, 0x70, 0x78, 0xBE, 0xB1, 0x80, 0x79, 0xF8, 0x68, 0x70, -0x7A, 0x9E, 0x93, 0x80, 0x7B, 0xD8, 0x4A, 0x70, 0x7C, 0x7E, 0x75, 0x80, 0x7D, 0xB8, 0x2C, 0x70, -0x7E, 0x5E, 0x57, 0x80, 0x7F, 0x98, 0x0E, 0x70, 0x02, 0x01, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x04, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, -0x09, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x0D, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x11, 0xFF, 0xFF, 0xAB, -0xA0, 0x00, 0x09, 0x2D, 0x30, 0x30, 0x00, 0x43, 0x44, 0x44, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, -0x43, 0x44, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, 0x06, -0x00, 0x00, 0x00, 0x15, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x8C, 0x6E, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, -0xF7, 0x2F, 0x4C, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x28, 0x77, 0xE0, 0x00, 0x00, 0x00, 0x00, -0x13, 0x69, 0x56, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x59, 0x38, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x15, 0x49, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0x39, 0x1A, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x17, 0x29, 0x1A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x22, 0x37, 0x70, 0x00, 0x00, 0x00, 0x00, -0x19, 0x08, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x02, 0x19, 0x70, 0x00, 0x00, 0x00, 0x00, -0x1A, 0xF2, 0x18, 0x80, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xE1, 0xFB, 0x70, 0x00, 0x00, 0x00, 0x00, -0x1C, 0xD1, 0xFA, 0x80, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xC1, 0xDD, 0x70, 0x00, 0x00, 0x00, 0x00, -0x1E, 0xB1, 0xDC, 0x80, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xA1, 0xBF, 0x70, 0x00, 0x00, 0x00, 0x00, -0x20, 0x76, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x81, 0xA1, 0x70, 0x00, 0x00, 0x00, 0x00, -0x22, 0x55, 0xF1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x23, 0x6A, 0xBD, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x24, 0x35, 0xD3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x25, 0x4A, 0x9F, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x26, 0x15, 0xB5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0x2A, 0x81, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x27, 0xFE, 0xD1, 0x80, 0x00, 0x00, 0x00, 0x00, 0x29, 0x0A, 0x63, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x29, 0xDE, 0xB3, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xEA, 0x45, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x2B, 0xBE, 0x95, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xD3, 0x62, 0x70, 0x00, 0x00, 0x00, 0x00, -0x2D, 0x9E, 0x77, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2E, 0xB3, 0x44, 0x70, 0x00, 0x00, 0x00, 0x00, -0x2F, 0x7E, 0x59, 0x80, 0x00, 0x00, 0x00, 0x00, 0x30, 0x93, 0x26, 0x70, 0x00, 0x00, 0x00, 0x00, -0x31, 0x67, 0x76, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x73, 0x08, 0x70, 0x00, 0x00, 0x00, 0x00, -0x33, 0x47, 0x58, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0xEA, 0x70, 0x00, 0x00, 0x00, 0x00, -0x35, 0x27, 0x3A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0xCC, 0x70, 0x00, 0x00, 0x00, 0x00, -0x37, 0x07, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0xE8, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x38, 0xE6, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0xCA, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x3A, 0xC6, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0xAC, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x3C, 0xAF, 0xFC, 0x80, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x8E, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x3E, 0x8F, 0xDE, 0x80, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x70, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x40, 0x6F, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x8D, 0x70, 0x00, 0x00, 0x00, 0x00, -0x42, 0x4F, 0xA2, 0x80, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x6F, 0x70, 0x00, 0x00, 0x00, 0x00, -0x44, 0x2F, 0x84, 0x80, 0x00, 0x00, 0x00, 0x00, 0x45, 0x44, 0x51, 0x70, 0x00, 0x00, 0x00, 0x00, -0x45, 0xF3, 0xB7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x2D, 0x6D, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x47, 0xD3, 0x99, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x0D, 0x4F, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x49, 0xB3, 0x7B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xED, 0x31, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x4B, 0x9C, 0x97, 0x80, 0x00, 0x00, 0x00, 0x00, 0x4C, 0xD6, 0x4E, 0x70, 0x00, 0x00, 0x00, 0x00, -0x4D, 0x7C, 0x79, 0x80, 0x00, 0x00, 0x00, 0x00, 0x4E, 0xB6, 0x30, 0x70, 0x00, 0x00, 0x00, 0x00, -0x4F, 0x5C, 0x5B, 0x80, 0x00, 0x00, 0x00, 0x00, 0x50, 0x96, 0x12, 0x70, 0x00, 0x00, 0x00, 0x00, -0x51, 0x3C, 0x3D, 0x80, 0x00, 0x00, 0x00, 0x00, 0x52, 0x75, 0xF4, 0x70, 0x00, 0x00, 0x00, 0x00, -0x53, 0x1C, 0x1F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x54, 0x55, 0xD6, 0x70, 0x00, 0x00, 0x00, 0x00, -0x54, 0xFC, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x56, 0x35, 0xB8, 0x70, 0x00, 0x00, 0x00, 0x00, -0x56, 0xE5, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 0x1E, 0xD4, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x58, 0xC5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x59, 0xFE, 0xB6, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x5A, 0xA4, 0xE2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5B, 0xDE, 0x98, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x5C, 0x84, 0xC4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5D, 0xBE, 0x7A, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x5E, 0x64, 0xA6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x9E, 0x5C, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x60, 0x4D, 0xC2, 0x80, 0x00, 0x00, 0x00, 0x00, 0x61, 0x87, 0x79, 0x70, 0x00, 0x00, 0x00, 0x00, -0x62, 0x2D, 0xA4, 0x80, 0x00, 0x00, 0x00, 0x00, 0x63, 0x67, 0x5B, 0x70, 0x00, 0x00, 0x00, 0x00, -0x64, 0x0D, 0x86, 0x80, 0x00, 0x00, 0x00, 0x00, 0x65, 0x47, 0x3D, 0x70, 0x00, 0x00, 0x00, 0x00, -0x65, 0xED, 0x68, 0x80, 0x00, 0x00, 0x00, 0x00, 0x67, 0x27, 0x1F, 0x70, 0x00, 0x00, 0x00, 0x00, -0x67, 0xCD, 0x4A, 0x80, 0x00, 0x00, 0x00, 0x00, 0x69, 0x07, 0x01, 0x70, 0x00, 0x00, 0x00, 0x00, -0x69, 0xAD, 0x2C, 0x80, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xE6, 0xE3, 0x70, 0x00, 0x00, 0x00, 0x00, -0x6B, 0x96, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xCF, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x6D, 0x76, 0x2B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6E, 0xAF, 0xE1, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x6F, 0x56, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x8F, 0xC3, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x71, 0x35, 0xEF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x72, 0x6F, 0xA5, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x73, 0x15, 0xD1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x74, 0x4F, 0x87, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x74, 0xFE, 0xED, 0x80, 0x00, 0x00, 0x00, 0x00, 0x76, 0x38, 0xA4, 0x70, 0x00, 0x00, 0x00, 0x00, -0x76, 0xDE, 0xCF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x78, 0x18, 0x86, 0x70, 0x00, 0x00, 0x00, 0x00, -0x78, 0xBE, 0xB1, 0x80, 0x00, 0x00, 0x00, 0x00, 0x79, 0xF8, 0x68, 0x70, 0x00, 0x00, 0x00, 0x00, -0x7A, 0x9E, 0x93, 0x80, 0x00, 0x00, 0x00, 0x00, 0x7B, 0xD8, 0x4A, 0x70, 0x00, 0x00, 0x00, 0x00, -0x7C, 0x7E, 0x75, 0x80, 0x00, 0x00, 0x00, 0x00, 0x7D, 0xB8, 0x2C, 0x70, 0x00, 0x00, 0x00, 0x00, -0x7E, 0x5E, 0x57, 0x80, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x98, 0x0E, 0x70, 0x02, 0x01, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x04, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x04, 0xFF, -0xFF, 0xAB, 0xA0, 0x00, 0x09, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x0D, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, -0x11, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x09, 0x2D, 0x30, 0x30, 0x00, 0x43, 0x44, 0x44, 0x54, 0x00, -0x43, 0x53, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x0A, 0x43, 0x53, 0x54, -0x36, 0x43, 0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, -0x31, 0x2E, 0x30, 0x0A, 0x00, 0xE9, 0x2E, 0x02, 0x00, 0x86, 0x26, 0x8E, 0x00, 0x00, 0x00, 0x16, -0x43, 0x65, 0x6E, 0x74, 0x72, 0x61, 0x6C, 0x20, 0x2D, 0x20, 0x4E, 0x55, 0x20, 0x28, 0x63, 0x65, -0x6E, 0x74, 0x72, 0x61, 0x6C, 0x29, +0x00, 0x00, 0x00, 0x85, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x10, 0xE7, 0x8C, 0x6E, 0x00, +0x04, 0x61, 0x0B, 0x80, 0x05, 0x50, 0xEE, 0x70, 0x06, 0x40, 0xED, 0x80, 0x07, 0x30, 0xD0, 0x70, +0x08, 0x20, 0xCF, 0x80, 0x09, 0x10, 0xB2, 0x70, 0x0A, 0x00, 0xB1, 0x80, 0x0A, 0xF0, 0x94, 0x70, +0x0B, 0xE0, 0x93, 0x80, 0x0C, 0xD9, 0xB0, 0xF0, 0x0D, 0xC0, 0x75, 0x80, 0x0E, 0xB9, 0x92, 0xF0, +0x0F, 0xA9, 0x92, 0x00, 0x10, 0x99, 0x74, 0xF0, 0x11, 0x89, 0x74, 0x00, 0x12, 0x79, 0x56, 0xF0, +0x13, 0x69, 0x56, 0x00, 0x14, 0x59, 0x38, 0xF0, 0x15, 0x49, 0x38, 0x00, 0x16, 0x39, 0x1A, 0xF0, +0x17, 0x29, 0x1A, 0x00, 0x18, 0x22, 0x37, 0x70, 0x19, 0x08, 0xFC, 0x00, 0x1A, 0x02, 0x19, 0x70, +0x1A, 0xF2, 0x18, 0x80, 0x1B, 0xE1, 0xFB, 0x70, 0x1C, 0xD1, 0xFA, 0x80, 0x1D, 0xC1, 0xDD, 0x70, +0x1E, 0xB1, 0xDC, 0x80, 0x1F, 0xA1, 0xBF, 0x70, 0x20, 0x76, 0x0F, 0x00, 0x21, 0x81, 0xA1, 0x70, +0x22, 0x55, 0xF1, 0x00, 0x23, 0x6A, 0xBD, 0xF0, 0x24, 0x35, 0xD3, 0x00, 0x25, 0x4A, 0x9F, 0xF0, +0x26, 0x15, 0xB5, 0x00, 0x27, 0x2A, 0x81, 0xF0, 0x27, 0xFE, 0xD1, 0x80, 0x29, 0x0A, 0x63, 0xF0, +0x29, 0xDE, 0xB3, 0x80, 0x2A, 0xEA, 0x45, 0xF0, 0x2B, 0xBE, 0x95, 0x80, 0x2C, 0xD3, 0x62, 0x70, +0x2D, 0x9E, 0x77, 0x80, 0x2E, 0xB3, 0x44, 0x70, 0x2F, 0x7E, 0x59, 0x80, 0x30, 0x93, 0x26, 0x70, +0x31, 0x67, 0x76, 0x00, 0x32, 0x73, 0x08, 0x70, 0x33, 0x47, 0x58, 0x00, 0x34, 0x52, 0xEA, 0x70, +0x35, 0x27, 0x3A, 0x00, 0x36, 0x32, 0xCC, 0x70, 0x37, 0x07, 0x1C, 0x00, 0x38, 0x1B, 0xE8, 0xF0, +0x38, 0xE6, 0xFE, 0x00, 0x39, 0xFB, 0xCA, 0xF0, 0x3A, 0xC6, 0xE0, 0x00, 0x3B, 0xDB, 0xAC, 0xF0, +0x3C, 0xAF, 0xFC, 0x80, 0x3D, 0xBB, 0x8E, 0xF0, 0x3E, 0x8F, 0xDE, 0x80, 0x3F, 0x9B, 0x70, 0xF0, +0x40, 0x6F, 0xC0, 0x80, 0x41, 0x84, 0x8D, 0x70, 0x42, 0x4F, 0xA2, 0x80, 0x43, 0x64, 0x6F, 0x70, +0x44, 0x2F, 0x84, 0x80, 0x45, 0x44, 0x51, 0x70, 0x45, 0xF3, 0xB7, 0x00, 0x47, 0x2D, 0x6D, 0xF0, +0x47, 0xD3, 0x99, 0x00, 0x49, 0x0D, 0x4F, 0xF0, 0x49, 0xB3, 0x7B, 0x00, 0x4A, 0xED, 0x31, 0xF0, +0x4B, 0x9C, 0x97, 0x80, 0x4C, 0xD6, 0x4E, 0x70, 0x4D, 0x7C, 0x79, 0x80, 0x4E, 0xB6, 0x30, 0x70, +0x4F, 0x5C, 0x5B, 0x80, 0x50, 0x96, 0x12, 0x70, 0x51, 0x3C, 0x3D, 0x80, 0x52, 0x75, 0xF4, 0x70, +0x53, 0x1C, 0x1F, 0x80, 0x54, 0x55, 0xD6, 0x70, 0x54, 0xFC, 0x01, 0x80, 0x56, 0x35, 0xB8, 0x70, +0x56, 0xE5, 0x1E, 0x00, 0x58, 0x1E, 0xD4, 0xF0, 0x58, 0xC5, 0x00, 0x00, 0x59, 0xFE, 0xB6, 0xF0, +0x5A, 0xA4, 0xE2, 0x00, 0x5B, 0xDE, 0x98, 0xF0, 0x5C, 0x84, 0xC4, 0x00, 0x5D, 0xBE, 0x7A, 0xF0, +0x5E, 0x64, 0xA6, 0x00, 0x5F, 0x9E, 0x5C, 0xF0, 0x60, 0x4D, 0xC2, 0x80, 0x61, 0x87, 0x79, 0x70, +0x62, 0x2D, 0xA4, 0x80, 0x63, 0x67, 0x5B, 0x70, 0x64, 0x0D, 0x86, 0x80, 0x65, 0x47, 0x3D, 0x70, +0x65, 0xED, 0x68, 0x80, 0x67, 0x27, 0x1F, 0x70, 0x67, 0xCD, 0x4A, 0x80, 0x69, 0x07, 0x01, 0x70, +0x69, 0xAD, 0x2C, 0x80, 0x6A, 0xE6, 0xE3, 0x70, 0x6B, 0x96, 0x49, 0x00, 0x6C, 0xCF, 0xFF, 0xF0, +0x6D, 0x76, 0x2B, 0x00, 0x6E, 0xAF, 0xE1, 0xF0, 0x6F, 0x56, 0x0D, 0x00, 0x70, 0x8F, 0xC3, 0xF0, +0x71, 0x35, 0xEF, 0x00, 0x72, 0x6F, 0xA5, 0xF0, 0x73, 0x15, 0xD1, 0x00, 0x74, 0x4F, 0x87, 0xF0, +0x74, 0xFE, 0xED, 0x80, 0x76, 0x38, 0xA4, 0x70, 0x76, 0xDE, 0xCF, 0x80, 0x78, 0x18, 0x86, 0x70, +0x78, 0xBE, 0xB1, 0x80, 0x79, 0xF8, 0x68, 0x70, 0x7A, 0x9E, 0x93, 0x80, 0x7B, 0xD8, 0x4A, 0x70, +0x7C, 0x7E, 0x75, 0x80, 0x7D, 0xB8, 0x2C, 0x70, 0x7E, 0x5E, 0x57, 0x80, 0x7F, 0x98, 0x0E, 0x70, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, +0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x08, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x0C, 0xFF, 0xFF, 0xAB, +0xA0, 0x00, 0x08, 0x2D, 0x30, 0x30, 0x00, 0x43, 0x44, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x45, +0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x85, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x10, 0xFF, +0xFF, 0xFF, 0xFF, 0xE7, 0x8C, 0x6E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x61, 0x0B, 0x80, 0x00, +0x00, 0x00, 0x00, 0x05, 0x50, 0xEE, 0x70, 0x00, 0x00, 0x00, 0x00, 0x06, 0x40, 0xED, 0x80, 0x00, +0x00, 0x00, 0x00, 0x07, 0x30, 0xD0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x08, 0x20, 0xCF, 0x80, 0x00, +0x00, 0x00, 0x00, 0x09, 0x10, 0xB2, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0xB1, 0x80, 0x00, +0x00, 0x00, 0x00, 0x0A, 0xF0, 0x94, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xE0, 0x93, 0x80, 0x00, +0x00, 0x00, 0x00, 0x0C, 0xD9, 0xB0, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x0D, 0xC0, 0x75, 0x80, 0x00, +0x00, 0x00, 0x00, 0x0E, 0xB9, 0x92, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xA9, 0x92, 0x00, 0x00, +0x00, 0x00, 0x00, 0x10, 0x99, 0x74, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x11, 0x89, 0x74, 0x00, 0x00, +0x00, 0x00, 0x00, 0x12, 0x79, 0x56, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x56, 0x00, 0x00, +0x00, 0x00, 0x00, 0x14, 0x59, 0x38, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x15, 0x49, 0x38, 0x00, 0x00, +0x00, 0x00, 0x00, 0x16, 0x39, 0x1A, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x17, 0x29, 0x1A, 0x00, 0x00, +0x00, 0x00, 0x00, 0x18, 0x22, 0x37, 0x70, 0x00, 0x00, 0x00, 0x00, 0x19, 0x08, 0xFC, 0x00, 0x00, +0x00, 0x00, 0x00, 0x1A, 0x02, 0x19, 0x70, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xF2, 0x18, 0x80, 0x00, +0x00, 0x00, 0x00, 0x1B, 0xE1, 0xFB, 0x70, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xD1, 0xFA, 0x80, 0x00, +0x00, 0x00, 0x00, 0x1D, 0xC1, 0xDD, 0x70, 0x00, 0x00, 0x00, 0x00, 0x1E, 0xB1, 0xDC, 0x80, 0x00, +0x00, 0x00, 0x00, 0x1F, 0xA1, 0xBF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x20, 0x76, 0x0F, 0x00, 0x00, +0x00, 0x00, 0x00, 0x21, 0x81, 0xA1, 0x70, 0x00, 0x00, 0x00, 0x00, 0x22, 0x55, 0xF1, 0x00, 0x00, +0x00, 0x00, 0x00, 0x23, 0x6A, 0xBD, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x24, 0x35, 0xD3, 0x00, 0x00, +0x00, 0x00, 0x00, 0x25, 0x4A, 0x9F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x26, 0x15, 0xB5, 0x00, 0x00, +0x00, 0x00, 0x00, 0x27, 0x2A, 0x81, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x27, 0xFE, 0xD1, 0x80, 0x00, +0x00, 0x00, 0x00, 0x29, 0x0A, 0x63, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x29, 0xDE, 0xB3, 0x80, 0x00, +0x00, 0x00, 0x00, 0x2A, 0xEA, 0x45, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xBE, 0x95, 0x80, 0x00, +0x00, 0x00, 0x00, 0x2C, 0xD3, 0x62, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x9E, 0x77, 0x80, 0x00, +0x00, 0x00, 0x00, 0x2E, 0xB3, 0x44, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x7E, 0x59, 0x80, 0x00, +0x00, 0x00, 0x00, 0x30, 0x93, 0x26, 0x70, 0x00, 0x00, 0x00, 0x00, 0x31, 0x67, 0x76, 0x00, 0x00, +0x00, 0x00, 0x00, 0x32, 0x73, 0x08, 0x70, 0x00, 0x00, 0x00, 0x00, 0x33, 0x47, 0x58, 0x00, 0x00, +0x00, 0x00, 0x00, 0x34, 0x52, 0xEA, 0x70, 0x00, 0x00, 0x00, 0x00, 0x35, 0x27, 0x3A, 0x00, 0x00, +0x00, 0x00, 0x00, 0x36, 0x32, 0xCC, 0x70, 0x00, 0x00, 0x00, 0x00, 0x37, 0x07, 0x1C, 0x00, 0x00, +0x00, 0x00, 0x00, 0x38, 0x1B, 0xE8, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x38, 0xE6, 0xFE, 0x00, 0x00, +0x00, 0x00, 0x00, 0x39, 0xFB, 0xCA, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xC6, 0xE0, 0x00, 0x00, +0x00, 0x00, 0x00, 0x3B, 0xDB, 0xAC, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xAF, 0xFC, 0x80, 0x00, +0x00, 0x00, 0x00, 0x3D, 0xBB, 0x8E, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x8F, 0xDE, 0x80, 0x00, +0x00, 0x00, 0x00, 0x3F, 0x9B, 0x70, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x40, 0x6F, 0xC0, 0x80, 0x00, +0x00, 0x00, 0x00, 0x41, 0x84, 0x8D, 0x70, 0x00, 0x00, 0x00, 0x00, 0x42, 0x4F, 0xA2, 0x80, 0x00, +0x00, 0x00, 0x00, 0x43, 0x64, 0x6F, 0x70, 0x00, 0x00, 0x00, 0x00, 0x44, 0x2F, 0x84, 0x80, 0x00, +0x00, 0x00, 0x00, 0x45, 0x44, 0x51, 0x70, 0x00, 0x00, 0x00, 0x00, 0x45, 0xF3, 0xB7, 0x00, 0x00, +0x00, 0x00, 0x00, 0x47, 0x2D, 0x6D, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x47, 0xD3, 0x99, 0x00, 0x00, +0x00, 0x00, 0x00, 0x49, 0x0D, 0x4F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x49, 0xB3, 0x7B, 0x00, 0x00, +0x00, 0x00, 0x00, 0x4A, 0xED, 0x31, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x4B, 0x9C, 0x97, 0x80, 0x00, +0x00, 0x00, 0x00, 0x4C, 0xD6, 0x4E, 0x70, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x7C, 0x79, 0x80, 0x00, +0x00, 0x00, 0x00, 0x4E, 0xB6, 0x30, 0x70, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x5C, 0x5B, 0x80, 0x00, +0x00, 0x00, 0x00, 0x50, 0x96, 0x12, 0x70, 0x00, 0x00, 0x00, 0x00, 0x51, 0x3C, 0x3D, 0x80, 0x00, +0x00, 0x00, 0x00, 0x52, 0x75, 0xF4, 0x70, 0x00, 0x00, 0x00, 0x00, 0x53, 0x1C, 0x1F, 0x80, 0x00, +0x00, 0x00, 0x00, 0x54, 0x55, 0xD6, 0x70, 0x00, 0x00, 0x00, 0x00, 0x54, 0xFC, 0x01, 0x80, 0x00, +0x00, 0x00, 0x00, 0x56, 0x35, 0xB8, 0x70, 0x00, 0x00, 0x00, 0x00, 0x56, 0xE5, 0x1E, 0x00, 0x00, +0x00, 0x00, 0x00, 0x58, 0x1E, 0xD4, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x58, 0xC5, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x59, 0xFE, 0xB6, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xA4, 0xE2, 0x00, 0x00, +0x00, 0x00, 0x00, 0x5B, 0xDE, 0x98, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x5C, 0x84, 0xC4, 0x00, 0x00, +0x00, 0x00, 0x00, 0x5D, 0xBE, 0x7A, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x64, 0xA6, 0x00, 0x00, +0x00, 0x00, 0x00, 0x5F, 0x9E, 0x5C, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x60, 0x4D, 0xC2, 0x80, 0x00, +0x00, 0x00, 0x00, 0x61, 0x87, 0x79, 0x70, 0x00, 0x00, 0x00, 0x00, 0x62, 0x2D, 0xA4, 0x80, 0x00, +0x00, 0x00, 0x00, 0x63, 0x67, 0x5B, 0x70, 0x00, 0x00, 0x00, 0x00, 0x64, 0x0D, 0x86, 0x80, 0x00, +0x00, 0x00, 0x00, 0x65, 0x47, 0x3D, 0x70, 0x00, 0x00, 0x00, 0x00, 0x65, 0xED, 0x68, 0x80, 0x00, +0x00, 0x00, 0x00, 0x67, 0x27, 0x1F, 0x70, 0x00, 0x00, 0x00, 0x00, 0x67, 0xCD, 0x4A, 0x80, 0x00, +0x00, 0x00, 0x00, 0x69, 0x07, 0x01, 0x70, 0x00, 0x00, 0x00, 0x00, 0x69, 0xAD, 0x2C, 0x80, 0x00, +0x00, 0x00, 0x00, 0x6A, 0xE6, 0xE3, 0x70, 0x00, 0x00, 0x00, 0x00, 0x6B, 0x96, 0x49, 0x00, 0x00, +0x00, 0x00, 0x00, 0x6C, 0xCF, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x76, 0x2B, 0x00, 0x00, +0x00, 0x00, 0x00, 0x6E, 0xAF, 0xE1, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x56, 0x0D, 0x00, 0x00, +0x00, 0x00, 0x00, 0x70, 0x8F, 0xC3, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x71, 0x35, 0xEF, 0x00, 0x00, +0x00, 0x00, 0x00, 0x72, 0x6F, 0xA5, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x73, 0x15, 0xD1, 0x00, 0x00, +0x00, 0x00, 0x00, 0x74, 0x4F, 0x87, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x74, 0xFE, 0xED, 0x80, 0x00, +0x00, 0x00, 0x00, 0x76, 0x38, 0xA4, 0x70, 0x00, 0x00, 0x00, 0x00, 0x76, 0xDE, 0xCF, 0x80, 0x00, +0x00, 0x00, 0x00, 0x78, 0x18, 0x86, 0x70, 0x00, 0x00, 0x00, 0x00, 0x78, 0xBE, 0xB1, 0x80, 0x00, +0x00, 0x00, 0x00, 0x79, 0xF8, 0x68, 0x70, 0x00, 0x00, 0x00, 0x00, 0x7A, 0x9E, 0x93, 0x80, 0x00, +0x00, 0x00, 0x00, 0x7B, 0xD8, 0x4A, 0x70, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x7E, 0x75, 0x80, 0x00, +0x00, 0x00, 0x00, 0x7D, 0xB8, 0x2C, 0x70, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x5E, 0x57, 0x80, 0x00, +0x00, 0x00, 0x00, 0x7F, 0x98, 0x0E, 0x70, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x08, 0xFF, 0xFF, +0xB9, 0xB0, 0x00, 0x0C, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x08, 0x2D, 0x30, 0x30, 0x00, 0x43, 0x44, +0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x0A, 0x43, 0x53, 0x54, 0x36, 0x43, +0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, 0x31, 0x2E, +0x30, 0x0A, 0x00, 0xE9, 0x2E, 0x02, 0x00, 0x86, 0x26, 0x8E, 0x00, 0x00, 0x00, 0x16, 0x43, 0x65, +0x6E, 0x74, 0x72, 0x61, 0x6C, 0x20, 0x2D, 0x20, 0x4E, 0x55, 0x20, 0x28, 0x63, 0x65, 0x6E, 0x74, +0x72, 0x61, 0x6C, 0x29, /* America/Recife */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x42, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -37627,125 +37888,136 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { /* America/Resolute */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x15, 0xD5, 0xFB, 0x81, 0x80, -0xF7, 0x2F, 0x4C, 0x60, 0xF8, 0x28, 0x77, 0xE0, 0x13, 0x69, 0x56, 0x00, 0x14, 0x59, 0x38, 0xF0, -0x15, 0x49, 0x38, 0x00, 0x16, 0x39, 0x1A, 0xF0, 0x17, 0x29, 0x1A, 0x00, 0x18, 0x22, 0x37, 0x70, -0x19, 0x08, 0xFC, 0x00, 0x1A, 0x02, 0x19, 0x70, 0x1A, 0xF2, 0x18, 0x80, 0x1B, 0xE1, 0xFB, 0x70, -0x1C, 0xD1, 0xFA, 0x80, 0x1D, 0xC1, 0xDD, 0x70, 0x1E, 0xB1, 0xDC, 0x80, 0x1F, 0xA1, 0xBF, 0x70, -0x20, 0x76, 0x0F, 0x00, 0x21, 0x81, 0xA1, 0x70, 0x22, 0x55, 0xF1, 0x00, 0x23, 0x6A, 0xBD, 0xF0, -0x24, 0x35, 0xD3, 0x00, 0x25, 0x4A, 0x9F, 0xF0, 0x26, 0x15, 0xB5, 0x00, 0x27, 0x2A, 0x81, 0xF0, -0x27, 0xFE, 0xD1, 0x80, 0x29, 0x0A, 0x63, 0xF0, 0x29, 0xDE, 0xB3, 0x80, 0x2A, 0xEA, 0x45, 0xF0, -0x2B, 0xBE, 0x95, 0x80, 0x2C, 0xD3, 0x62, 0x70, 0x2D, 0x9E, 0x77, 0x80, 0x2E, 0xB3, 0x44, 0x70, -0x2F, 0x7E, 0x59, 0x80, 0x30, 0x93, 0x26, 0x70, 0x31, 0x67, 0x76, 0x00, 0x32, 0x73, 0x08, 0x70, -0x33, 0x47, 0x58, 0x00, 0x34, 0x52, 0xEA, 0x70, 0x35, 0x27, 0x3A, 0x00, 0x36, 0x32, 0xCC, 0x70, -0x37, 0x07, 0x1C, 0x00, 0x38, 0x1B, 0xE8, 0xF0, 0x38, 0xE6, 0xFE, 0x00, 0x39, 0xFB, 0xCA, 0xF0, -0x3A, 0xC6, 0xE0, 0x00, 0x3B, 0xDB, 0xAC, 0xF0, 0x3C, 0xAF, 0xFC, 0x80, 0x3D, 0xBB, 0x8E, 0xF0, -0x3E, 0x8F, 0xDE, 0x80, 0x3F, 0x9B, 0x70, 0xF0, 0x40, 0x6F, 0xC0, 0x80, 0x41, 0x84, 0x8D, 0x70, -0x42, 0x4F, 0xA2, 0x80, 0x43, 0x64, 0x6F, 0x70, 0x44, 0x2F, 0x84, 0x80, 0x45, 0x44, 0x51, 0x70, -0x45, 0xF3, 0xB7, 0x00, 0x47, 0x2D, 0x6D, 0xF0, 0x47, 0xD3, 0x99, 0x00, 0x49, 0x0D, 0x4F, 0xF0, -0x49, 0xB3, 0x7B, 0x00, 0x4A, 0xED, 0x31, 0xF0, 0x4B, 0x9C, 0x97, 0x80, 0x4C, 0xD6, 0x4E, 0x70, -0x4D, 0x7C, 0x79, 0x80, 0x4E, 0xB6, 0x30, 0x70, 0x4F, 0x5C, 0x5B, 0x80, 0x50, 0x96, 0x12, 0x70, -0x51, 0x3C, 0x3D, 0x80, 0x52, 0x75, 0xF4, 0x70, 0x53, 0x1C, 0x1F, 0x80, 0x54, 0x55, 0xD6, 0x70, -0x54, 0xFC, 0x01, 0x80, 0x56, 0x35, 0xB8, 0x70, 0x56, 0xE5, 0x1E, 0x00, 0x58, 0x1E, 0xD4, 0xF0, -0x58, 0xC5, 0x00, 0x00, 0x59, 0xFE, 0xB6, 0xF0, 0x5A, 0xA4, 0xE2, 0x00, 0x5B, 0xDE, 0x98, 0xF0, -0x5C, 0x84, 0xC4, 0x00, 0x5D, 0xBE, 0x7A, 0xF0, 0x5E, 0x64, 0xA6, 0x00, 0x5F, 0x9E, 0x5C, 0xF0, -0x60, 0x4D, 0xC2, 0x80, 0x61, 0x87, 0x79, 0x70, 0x62, 0x2D, 0xA4, 0x80, 0x63, 0x67, 0x5B, 0x70, -0x64, 0x0D, 0x86, 0x80, 0x65, 0x47, 0x3D, 0x70, 0x65, 0xED, 0x68, 0x80, 0x67, 0x27, 0x1F, 0x70, -0x67, 0xCD, 0x4A, 0x80, 0x69, 0x07, 0x01, 0x70, 0x69, 0xAD, 0x2C, 0x80, 0x6A, 0xE6, 0xE3, 0x70, -0x6B, 0x96, 0x49, 0x00, 0x6C, 0xCF, 0xFF, 0xF0, 0x6D, 0x76, 0x2B, 0x00, 0x6E, 0xAF, 0xE1, 0xF0, -0x6F, 0x56, 0x0D, 0x00, 0x70, 0x8F, 0xC3, 0xF0, 0x71, 0x35, 0xEF, 0x00, 0x72, 0x6F, 0xA5, 0xF0, -0x73, 0x15, 0xD1, 0x00, 0x74, 0x4F, 0x87, 0xF0, 0x74, 0xFE, 0xED, 0x80, 0x76, 0x38, 0xA4, 0x70, -0x76, 0xDE, 0xCF, 0x80, 0x78, 0x18, 0x86, 0x70, 0x78, 0xBE, 0xB1, 0x80, 0x79, 0xF8, 0x68, 0x70, -0x7A, 0x9E, 0x93, 0x80, 0x7B, 0xD8, 0x4A, 0x70, 0x7C, 0x7E, 0x75, 0x80, 0x7D, 0xB8, 0x2C, 0x70, -0x7E, 0x5E, 0x57, 0x80, 0x7F, 0x98, 0x0E, 0x70, 0x02, 0x01, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x04, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x04, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, -0x09, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x0D, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x11, 0xFF, 0xFF, 0xAB, -0xA0, 0x00, 0x09, 0x2D, 0x30, 0x30, 0x00, 0x43, 0x44, 0x44, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, -0x43, 0x44, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, 0x06, -0x00, 0x00, 0x00, 0x15, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0xFB, 0x81, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, -0xF7, 0x2F, 0x4C, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x28, 0x77, 0xE0, 0x00, 0x00, 0x00, 0x00, -0x13, 0x69, 0x56, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x59, 0x38, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x15, 0x49, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0x39, 0x1A, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x17, 0x29, 0x1A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x22, 0x37, 0x70, 0x00, 0x00, 0x00, 0x00, -0x19, 0x08, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x02, 0x19, 0x70, 0x00, 0x00, 0x00, 0x00, -0x1A, 0xF2, 0x18, 0x80, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xE1, 0xFB, 0x70, 0x00, 0x00, 0x00, 0x00, -0x1C, 0xD1, 0xFA, 0x80, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xC1, 0xDD, 0x70, 0x00, 0x00, 0x00, 0x00, -0x1E, 0xB1, 0xDC, 0x80, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xA1, 0xBF, 0x70, 0x00, 0x00, 0x00, 0x00, -0x20, 0x76, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x81, 0xA1, 0x70, 0x00, 0x00, 0x00, 0x00, -0x22, 0x55, 0xF1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x23, 0x6A, 0xBD, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x24, 0x35, 0xD3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x25, 0x4A, 0x9F, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x26, 0x15, 0xB5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0x2A, 0x81, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x27, 0xFE, 0xD1, 0x80, 0x00, 0x00, 0x00, 0x00, 0x29, 0x0A, 0x63, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x29, 0xDE, 0xB3, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xEA, 0x45, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x2B, 0xBE, 0x95, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xD3, 0x62, 0x70, 0x00, 0x00, 0x00, 0x00, -0x2D, 0x9E, 0x77, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2E, 0xB3, 0x44, 0x70, 0x00, 0x00, 0x00, 0x00, -0x2F, 0x7E, 0x59, 0x80, 0x00, 0x00, 0x00, 0x00, 0x30, 0x93, 0x26, 0x70, 0x00, 0x00, 0x00, 0x00, -0x31, 0x67, 0x76, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x73, 0x08, 0x70, 0x00, 0x00, 0x00, 0x00, -0x33, 0x47, 0x58, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0xEA, 0x70, 0x00, 0x00, 0x00, 0x00, -0x35, 0x27, 0x3A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0xCC, 0x70, 0x00, 0x00, 0x00, 0x00, -0x37, 0x07, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0xE8, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x38, 0xE6, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0xCA, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x3A, 0xC6, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0xAC, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x3C, 0xAF, 0xFC, 0x80, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x8E, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x3E, 0x8F, 0xDE, 0x80, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x70, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x40, 0x6F, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x8D, 0x70, 0x00, 0x00, 0x00, 0x00, -0x42, 0x4F, 0xA2, 0x80, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x6F, 0x70, 0x00, 0x00, 0x00, 0x00, -0x44, 0x2F, 0x84, 0x80, 0x00, 0x00, 0x00, 0x00, 0x45, 0x44, 0x51, 0x70, 0x00, 0x00, 0x00, 0x00, -0x45, 0xF3, 0xB7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x2D, 0x6D, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x47, 0xD3, 0x99, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x0D, 0x4F, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x49, 0xB3, 0x7B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xED, 0x31, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x4B, 0x9C, 0x97, 0x80, 0x00, 0x00, 0x00, 0x00, 0x4C, 0xD6, 0x4E, 0x70, 0x00, 0x00, 0x00, 0x00, -0x4D, 0x7C, 0x79, 0x80, 0x00, 0x00, 0x00, 0x00, 0x4E, 0xB6, 0x30, 0x70, 0x00, 0x00, 0x00, 0x00, -0x4F, 0x5C, 0x5B, 0x80, 0x00, 0x00, 0x00, 0x00, 0x50, 0x96, 0x12, 0x70, 0x00, 0x00, 0x00, 0x00, -0x51, 0x3C, 0x3D, 0x80, 0x00, 0x00, 0x00, 0x00, 0x52, 0x75, 0xF4, 0x70, 0x00, 0x00, 0x00, 0x00, -0x53, 0x1C, 0x1F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x54, 0x55, 0xD6, 0x70, 0x00, 0x00, 0x00, 0x00, -0x54, 0xFC, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x56, 0x35, 0xB8, 0x70, 0x00, 0x00, 0x00, 0x00, -0x56, 0xE5, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 0x1E, 0xD4, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x58, 0xC5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x59, 0xFE, 0xB6, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x5A, 0xA4, 0xE2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5B, 0xDE, 0x98, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x5C, 0x84, 0xC4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5D, 0xBE, 0x7A, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x5E, 0x64, 0xA6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x9E, 0x5C, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x60, 0x4D, 0xC2, 0x80, 0x00, 0x00, 0x00, 0x00, 0x61, 0x87, 0x79, 0x70, 0x00, 0x00, 0x00, 0x00, -0x62, 0x2D, 0xA4, 0x80, 0x00, 0x00, 0x00, 0x00, 0x63, 0x67, 0x5B, 0x70, 0x00, 0x00, 0x00, 0x00, -0x64, 0x0D, 0x86, 0x80, 0x00, 0x00, 0x00, 0x00, 0x65, 0x47, 0x3D, 0x70, 0x00, 0x00, 0x00, 0x00, -0x65, 0xED, 0x68, 0x80, 0x00, 0x00, 0x00, 0x00, 0x67, 0x27, 0x1F, 0x70, 0x00, 0x00, 0x00, 0x00, -0x67, 0xCD, 0x4A, 0x80, 0x00, 0x00, 0x00, 0x00, 0x69, 0x07, 0x01, 0x70, 0x00, 0x00, 0x00, 0x00, -0x69, 0xAD, 0x2C, 0x80, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xE6, 0xE3, 0x70, 0x00, 0x00, 0x00, 0x00, -0x6B, 0x96, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xCF, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x6D, 0x76, 0x2B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6E, 0xAF, 0xE1, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x6F, 0x56, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x8F, 0xC3, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x71, 0x35, 0xEF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x72, 0x6F, 0xA5, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x73, 0x15, 0xD1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x74, 0x4F, 0x87, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x74, 0xFE, 0xED, 0x80, 0x00, 0x00, 0x00, 0x00, 0x76, 0x38, 0xA4, 0x70, 0x00, 0x00, 0x00, 0x00, -0x76, 0xDE, 0xCF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x78, 0x18, 0x86, 0x70, 0x00, 0x00, 0x00, 0x00, -0x78, 0xBE, 0xB1, 0x80, 0x00, 0x00, 0x00, 0x00, 0x79, 0xF8, 0x68, 0x70, 0x00, 0x00, 0x00, 0x00, -0x7A, 0x9E, 0x93, 0x80, 0x00, 0x00, 0x00, 0x00, 0x7B, 0xD8, 0x4A, 0x70, 0x00, 0x00, 0x00, 0x00, -0x7C, 0x7E, 0x75, 0x80, 0x00, 0x00, 0x00, 0x00, 0x7D, 0xB8, 0x2C, 0x70, 0x00, 0x00, 0x00, 0x00, -0x7E, 0x5E, 0x57, 0x80, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x98, 0x0E, 0x70, 0x02, 0x01, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x04, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x04, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x04, 0xFF, -0xFF, 0xAB, 0xA0, 0x00, 0x09, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x0D, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, -0x11, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x09, 0x2D, 0x30, 0x30, 0x00, 0x43, 0x44, 0x44, 0x54, 0x00, -0x43, 0x53, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x0A, 0x43, 0x53, 0x54, -0x36, 0x43, 0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, -0x31, 0x2E, 0x30, 0x0A, 0x00, 0xFB, 0x4E, 0x33, 0x00, 0x81, 0xF5, 0xDB, 0x00, 0x00, 0x00, 0x17, -0x43, 0x65, 0x6E, 0x74, 0x72, 0x61, 0x6C, 0x20, 0x2D, 0x20, 0x4E, 0x55, 0x20, 0x28, 0x52, 0x65, -0x73, 0x6F, 0x6C, 0x75, 0x74, 0x65, 0x29, +0x00, 0x00, 0x00, 0x85, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x10, 0xD5, 0xFB, 0x81, 0x80, +0x04, 0x61, 0x0B, 0x80, 0x05, 0x50, 0xEE, 0x70, 0x06, 0x40, 0xED, 0x80, 0x07, 0x30, 0xD0, 0x70, +0x08, 0x20, 0xCF, 0x80, 0x09, 0x10, 0xB2, 0x70, 0x0A, 0x00, 0xB1, 0x80, 0x0A, 0xF0, 0x94, 0x70, +0x0B, 0xE0, 0x93, 0x80, 0x0C, 0xD9, 0xB0, 0xF0, 0x0D, 0xC0, 0x75, 0x80, 0x0E, 0xB9, 0x92, 0xF0, +0x0F, 0xA9, 0x92, 0x00, 0x10, 0x99, 0x74, 0xF0, 0x11, 0x89, 0x74, 0x00, 0x12, 0x79, 0x56, 0xF0, +0x13, 0x69, 0x56, 0x00, 0x14, 0x59, 0x38, 0xF0, 0x15, 0x49, 0x38, 0x00, 0x16, 0x39, 0x1A, 0xF0, +0x17, 0x29, 0x1A, 0x00, 0x18, 0x22, 0x37, 0x70, 0x19, 0x08, 0xFC, 0x00, 0x1A, 0x02, 0x19, 0x70, +0x1A, 0xF2, 0x18, 0x80, 0x1B, 0xE1, 0xFB, 0x70, 0x1C, 0xD1, 0xFA, 0x80, 0x1D, 0xC1, 0xDD, 0x70, +0x1E, 0xB1, 0xDC, 0x80, 0x1F, 0xA1, 0xBF, 0x70, 0x20, 0x76, 0x0F, 0x00, 0x21, 0x81, 0xA1, 0x70, +0x22, 0x55, 0xF1, 0x00, 0x23, 0x6A, 0xBD, 0xF0, 0x24, 0x35, 0xD3, 0x00, 0x25, 0x4A, 0x9F, 0xF0, +0x26, 0x15, 0xB5, 0x00, 0x27, 0x2A, 0x81, 0xF0, 0x27, 0xFE, 0xD1, 0x80, 0x29, 0x0A, 0x63, 0xF0, +0x29, 0xDE, 0xB3, 0x80, 0x2A, 0xEA, 0x45, 0xF0, 0x2B, 0xBE, 0x95, 0x80, 0x2C, 0xD3, 0x62, 0x70, +0x2D, 0x9E, 0x77, 0x80, 0x2E, 0xB3, 0x44, 0x70, 0x2F, 0x7E, 0x59, 0x80, 0x30, 0x93, 0x26, 0x70, +0x31, 0x67, 0x76, 0x00, 0x32, 0x73, 0x08, 0x70, 0x33, 0x47, 0x58, 0x00, 0x34, 0x52, 0xEA, 0x70, +0x35, 0x27, 0x3A, 0x00, 0x36, 0x32, 0xCC, 0x70, 0x37, 0x07, 0x1C, 0x00, 0x38, 0x1B, 0xE8, 0xF0, +0x38, 0xE6, 0xFE, 0x00, 0x39, 0xFB, 0xCA, 0xF0, 0x3A, 0xC6, 0xE0, 0x00, 0x3B, 0xDB, 0xAC, 0xF0, +0x3C, 0xAF, 0xFC, 0x80, 0x3D, 0xBB, 0x8E, 0xF0, 0x3E, 0x8F, 0xDE, 0x80, 0x3F, 0x9B, 0x70, 0xF0, +0x40, 0x6F, 0xC0, 0x80, 0x41, 0x84, 0x8D, 0x70, 0x42, 0x4F, 0xA2, 0x80, 0x43, 0x64, 0x6F, 0x70, +0x44, 0x2F, 0x84, 0x80, 0x45, 0x44, 0x51, 0x70, 0x45, 0xF3, 0xB7, 0x00, 0x47, 0x2D, 0x6D, 0xF0, +0x47, 0xD3, 0x99, 0x00, 0x49, 0x0D, 0x4F, 0xF0, 0x49, 0xB3, 0x7B, 0x00, 0x4A, 0xED, 0x31, 0xF0, +0x4B, 0x9C, 0x97, 0x80, 0x4C, 0xD6, 0x4E, 0x70, 0x4D, 0x7C, 0x79, 0x80, 0x4E, 0xB6, 0x30, 0x70, +0x4F, 0x5C, 0x5B, 0x80, 0x50, 0x96, 0x12, 0x70, 0x51, 0x3C, 0x3D, 0x80, 0x52, 0x75, 0xF4, 0x70, +0x53, 0x1C, 0x1F, 0x80, 0x54, 0x55, 0xD6, 0x70, 0x54, 0xFC, 0x01, 0x80, 0x56, 0x35, 0xB8, 0x70, +0x56, 0xE5, 0x1E, 0x00, 0x58, 0x1E, 0xD4, 0xF0, 0x58, 0xC5, 0x00, 0x00, 0x59, 0xFE, 0xB6, 0xF0, +0x5A, 0xA4, 0xE2, 0x00, 0x5B, 0xDE, 0x98, 0xF0, 0x5C, 0x84, 0xC4, 0x00, 0x5D, 0xBE, 0x7A, 0xF0, +0x5E, 0x64, 0xA6, 0x00, 0x5F, 0x9E, 0x5C, 0xF0, 0x60, 0x4D, 0xC2, 0x80, 0x61, 0x87, 0x79, 0x70, +0x62, 0x2D, 0xA4, 0x80, 0x63, 0x67, 0x5B, 0x70, 0x64, 0x0D, 0x86, 0x80, 0x65, 0x47, 0x3D, 0x70, +0x65, 0xED, 0x68, 0x80, 0x67, 0x27, 0x1F, 0x70, 0x67, 0xCD, 0x4A, 0x80, 0x69, 0x07, 0x01, 0x70, +0x69, 0xAD, 0x2C, 0x80, 0x6A, 0xE6, 0xE3, 0x70, 0x6B, 0x96, 0x49, 0x00, 0x6C, 0xCF, 0xFF, 0xF0, +0x6D, 0x76, 0x2B, 0x00, 0x6E, 0xAF, 0xE1, 0xF0, 0x6F, 0x56, 0x0D, 0x00, 0x70, 0x8F, 0xC3, 0xF0, +0x71, 0x35, 0xEF, 0x00, 0x72, 0x6F, 0xA5, 0xF0, 0x73, 0x15, 0xD1, 0x00, 0x74, 0x4F, 0x87, 0xF0, +0x74, 0xFE, 0xED, 0x80, 0x76, 0x38, 0xA4, 0x70, 0x76, 0xDE, 0xCF, 0x80, 0x78, 0x18, 0x86, 0x70, +0x78, 0xBE, 0xB1, 0x80, 0x79, 0xF8, 0x68, 0x70, 0x7A, 0x9E, 0x93, 0x80, 0x7B, 0xD8, 0x4A, 0x70, +0x7C, 0x7E, 0x75, 0x80, 0x7D, 0xB8, 0x2C, 0x70, 0x7E, 0x5E, 0x57, 0x80, 0x7F, 0x98, 0x0E, 0x70, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, +0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x08, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x0C, 0xFF, 0xFF, 0xAB, +0xA0, 0x00, 0x08, 0x2D, 0x30, 0x30, 0x00, 0x43, 0x44, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x45, +0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x85, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x10, 0xFF, +0xFF, 0xFF, 0xFF, 0xD5, 0xFB, 0x81, 0x80, 0x00, 0x00, 0x00, 0x00, 0x04, 0x61, 0x0B, 0x80, 0x00, +0x00, 0x00, 0x00, 0x05, 0x50, 0xEE, 0x70, 0x00, 0x00, 0x00, 0x00, 0x06, 0x40, 0xED, 0x80, 0x00, +0x00, 0x00, 0x00, 0x07, 0x30, 0xD0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x08, 0x20, 0xCF, 0x80, 0x00, +0x00, 0x00, 0x00, 0x09, 0x10, 0xB2, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0xB1, 0x80, 0x00, +0x00, 0x00, 0x00, 0x0A, 0xF0, 0x94, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xE0, 0x93, 0x80, 0x00, +0x00, 0x00, 0x00, 0x0C, 0xD9, 0xB0, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x0D, 0xC0, 0x75, 0x80, 0x00, +0x00, 0x00, 0x00, 0x0E, 0xB9, 0x92, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xA9, 0x92, 0x00, 0x00, +0x00, 0x00, 0x00, 0x10, 0x99, 0x74, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x11, 0x89, 0x74, 0x00, 0x00, +0x00, 0x00, 0x00, 0x12, 0x79, 0x56, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x56, 0x00, 0x00, +0x00, 0x00, 0x00, 0x14, 0x59, 0x38, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x15, 0x49, 0x38, 0x00, 0x00, +0x00, 0x00, 0x00, 0x16, 0x39, 0x1A, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x17, 0x29, 0x1A, 0x00, 0x00, +0x00, 0x00, 0x00, 0x18, 0x22, 0x37, 0x70, 0x00, 0x00, 0x00, 0x00, 0x19, 0x08, 0xFC, 0x00, 0x00, +0x00, 0x00, 0x00, 0x1A, 0x02, 0x19, 0x70, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xF2, 0x18, 0x80, 0x00, +0x00, 0x00, 0x00, 0x1B, 0xE1, 0xFB, 0x70, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xD1, 0xFA, 0x80, 0x00, +0x00, 0x00, 0x00, 0x1D, 0xC1, 0xDD, 0x70, 0x00, 0x00, 0x00, 0x00, 0x1E, 0xB1, 0xDC, 0x80, 0x00, +0x00, 0x00, 0x00, 0x1F, 0xA1, 0xBF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x20, 0x76, 0x0F, 0x00, 0x00, +0x00, 0x00, 0x00, 0x21, 0x81, 0xA1, 0x70, 0x00, 0x00, 0x00, 0x00, 0x22, 0x55, 0xF1, 0x00, 0x00, +0x00, 0x00, 0x00, 0x23, 0x6A, 0xBD, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x24, 0x35, 0xD3, 0x00, 0x00, +0x00, 0x00, 0x00, 0x25, 0x4A, 0x9F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x26, 0x15, 0xB5, 0x00, 0x00, +0x00, 0x00, 0x00, 0x27, 0x2A, 0x81, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x27, 0xFE, 0xD1, 0x80, 0x00, +0x00, 0x00, 0x00, 0x29, 0x0A, 0x63, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x29, 0xDE, 0xB3, 0x80, 0x00, +0x00, 0x00, 0x00, 0x2A, 0xEA, 0x45, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xBE, 0x95, 0x80, 0x00, +0x00, 0x00, 0x00, 0x2C, 0xD3, 0x62, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x9E, 0x77, 0x80, 0x00, +0x00, 0x00, 0x00, 0x2E, 0xB3, 0x44, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x7E, 0x59, 0x80, 0x00, +0x00, 0x00, 0x00, 0x30, 0x93, 0x26, 0x70, 0x00, 0x00, 0x00, 0x00, 0x31, 0x67, 0x76, 0x00, 0x00, +0x00, 0x00, 0x00, 0x32, 0x73, 0x08, 0x70, 0x00, 0x00, 0x00, 0x00, 0x33, 0x47, 0x58, 0x00, 0x00, +0x00, 0x00, 0x00, 0x34, 0x52, 0xEA, 0x70, 0x00, 0x00, 0x00, 0x00, 0x35, 0x27, 0x3A, 0x00, 0x00, +0x00, 0x00, 0x00, 0x36, 0x32, 0xCC, 0x70, 0x00, 0x00, 0x00, 0x00, 0x37, 0x07, 0x1C, 0x00, 0x00, +0x00, 0x00, 0x00, 0x38, 0x1B, 0xE8, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x38, 0xE6, 0xFE, 0x00, 0x00, +0x00, 0x00, 0x00, 0x39, 0xFB, 0xCA, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xC6, 0xE0, 0x00, 0x00, +0x00, 0x00, 0x00, 0x3B, 0xDB, 0xAC, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xAF, 0xFC, 0x80, 0x00, +0x00, 0x00, 0x00, 0x3D, 0xBB, 0x8E, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x8F, 0xDE, 0x80, 0x00, +0x00, 0x00, 0x00, 0x3F, 0x9B, 0x70, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x40, 0x6F, 0xC0, 0x80, 0x00, +0x00, 0x00, 0x00, 0x41, 0x84, 0x8D, 0x70, 0x00, 0x00, 0x00, 0x00, 0x42, 0x4F, 0xA2, 0x80, 0x00, +0x00, 0x00, 0x00, 0x43, 0x64, 0x6F, 0x70, 0x00, 0x00, 0x00, 0x00, 0x44, 0x2F, 0x84, 0x80, 0x00, +0x00, 0x00, 0x00, 0x45, 0x44, 0x51, 0x70, 0x00, 0x00, 0x00, 0x00, 0x45, 0xF3, 0xB7, 0x00, 0x00, +0x00, 0x00, 0x00, 0x47, 0x2D, 0x6D, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x47, 0xD3, 0x99, 0x00, 0x00, +0x00, 0x00, 0x00, 0x49, 0x0D, 0x4F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x49, 0xB3, 0x7B, 0x00, 0x00, +0x00, 0x00, 0x00, 0x4A, 0xED, 0x31, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x4B, 0x9C, 0x97, 0x80, 0x00, +0x00, 0x00, 0x00, 0x4C, 0xD6, 0x4E, 0x70, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x7C, 0x79, 0x80, 0x00, +0x00, 0x00, 0x00, 0x4E, 0xB6, 0x30, 0x70, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x5C, 0x5B, 0x80, 0x00, +0x00, 0x00, 0x00, 0x50, 0x96, 0x12, 0x70, 0x00, 0x00, 0x00, 0x00, 0x51, 0x3C, 0x3D, 0x80, 0x00, +0x00, 0x00, 0x00, 0x52, 0x75, 0xF4, 0x70, 0x00, 0x00, 0x00, 0x00, 0x53, 0x1C, 0x1F, 0x80, 0x00, +0x00, 0x00, 0x00, 0x54, 0x55, 0xD6, 0x70, 0x00, 0x00, 0x00, 0x00, 0x54, 0xFC, 0x01, 0x80, 0x00, +0x00, 0x00, 0x00, 0x56, 0x35, 0xB8, 0x70, 0x00, 0x00, 0x00, 0x00, 0x56, 0xE5, 0x1E, 0x00, 0x00, +0x00, 0x00, 0x00, 0x58, 0x1E, 0xD4, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x58, 0xC5, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x59, 0xFE, 0xB6, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xA4, 0xE2, 0x00, 0x00, +0x00, 0x00, 0x00, 0x5B, 0xDE, 0x98, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x5C, 0x84, 0xC4, 0x00, 0x00, +0x00, 0x00, 0x00, 0x5D, 0xBE, 0x7A, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x64, 0xA6, 0x00, 0x00, +0x00, 0x00, 0x00, 0x5F, 0x9E, 0x5C, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x60, 0x4D, 0xC2, 0x80, 0x00, +0x00, 0x00, 0x00, 0x61, 0x87, 0x79, 0x70, 0x00, 0x00, 0x00, 0x00, 0x62, 0x2D, 0xA4, 0x80, 0x00, +0x00, 0x00, 0x00, 0x63, 0x67, 0x5B, 0x70, 0x00, 0x00, 0x00, 0x00, 0x64, 0x0D, 0x86, 0x80, 0x00, +0x00, 0x00, 0x00, 0x65, 0x47, 0x3D, 0x70, 0x00, 0x00, 0x00, 0x00, 0x65, 0xED, 0x68, 0x80, 0x00, +0x00, 0x00, 0x00, 0x67, 0x27, 0x1F, 0x70, 0x00, 0x00, 0x00, 0x00, 0x67, 0xCD, 0x4A, 0x80, 0x00, +0x00, 0x00, 0x00, 0x69, 0x07, 0x01, 0x70, 0x00, 0x00, 0x00, 0x00, 0x69, 0xAD, 0x2C, 0x80, 0x00, +0x00, 0x00, 0x00, 0x6A, 0xE6, 0xE3, 0x70, 0x00, 0x00, 0x00, 0x00, 0x6B, 0x96, 0x49, 0x00, 0x00, +0x00, 0x00, 0x00, 0x6C, 0xCF, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x76, 0x2B, 0x00, 0x00, +0x00, 0x00, 0x00, 0x6E, 0xAF, 0xE1, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x56, 0x0D, 0x00, 0x00, +0x00, 0x00, 0x00, 0x70, 0x8F, 0xC3, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x71, 0x35, 0xEF, 0x00, 0x00, +0x00, 0x00, 0x00, 0x72, 0x6F, 0xA5, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x73, 0x15, 0xD1, 0x00, 0x00, +0x00, 0x00, 0x00, 0x74, 0x4F, 0x87, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x74, 0xFE, 0xED, 0x80, 0x00, +0x00, 0x00, 0x00, 0x76, 0x38, 0xA4, 0x70, 0x00, 0x00, 0x00, 0x00, 0x76, 0xDE, 0xCF, 0x80, 0x00, +0x00, 0x00, 0x00, 0x78, 0x18, 0x86, 0x70, 0x00, 0x00, 0x00, 0x00, 0x78, 0xBE, 0xB1, 0x80, 0x00, +0x00, 0x00, 0x00, 0x79, 0xF8, 0x68, 0x70, 0x00, 0x00, 0x00, 0x00, 0x7A, 0x9E, 0x93, 0x80, 0x00, +0x00, 0x00, 0x00, 0x7B, 0xD8, 0x4A, 0x70, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x7E, 0x75, 0x80, 0x00, +0x00, 0x00, 0x00, 0x7D, 0xB8, 0x2C, 0x70, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x5E, 0x57, 0x80, 0x00, +0x00, 0x00, 0x00, 0x7F, 0x98, 0x0E, 0x70, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x08, 0xFF, 0xFF, +0xB9, 0xB0, 0x00, 0x0C, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x08, 0x2D, 0x30, 0x30, 0x00, 0x43, 0x44, +0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x0A, 0x43, 0x53, 0x54, 0x36, 0x43, +0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, 0x31, 0x2E, +0x30, 0x0A, 0x00, 0xFB, 0x4E, 0x33, 0x00, 0x81, 0xF5, 0xDB, 0x00, 0x00, 0x00, 0x17, 0x43, 0x65, +0x6E, 0x74, 0x72, 0x61, 0x6C, 0x20, 0x2D, 0x20, 0x4E, 0x55, 0x20, 0x28, 0x52, 0x65, 0x73, 0x6F, +0x6C, 0x75, 0x74, 0x65, 0x29, /* America/Rio_Branco */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x42, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -39610,9 +39882,8 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x0A, 0x50, 0x53, 0x54, 0x38, 0x50, 0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, 0x31, 0x2E, 0x30, 0x0A, 0x00, 0xBA, 0xF8, 0x95, 0x00, 0x60, 0x1A, 0xDD, 0x00, 0x00, -0x00, 0x21, 0x50, 0x61, 0x63, 0x69, 0x66, 0x69, 0x63, 0x20, 0x54, 0x69, 0x6D, 0x65, 0x20, 0x55, -0x53, 0x20, 0x2D, 0x20, 0x42, 0x61, 0x6A, 0x61, 0x20, 0x43, 0x61, 0x6C, 0x69, 0x66, 0x6F, 0x72, -0x6E, 0x69, 0x61, +0x00, 0x0F, 0x42, 0x61, 0x6A, 0x61, 0x20, 0x43, 0x61, 0x6C, 0x69, 0x66, 0x6F, 0x72, 0x6E, 0x69, +0x61, /* America/Toronto */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -40061,7 +40332,7 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { 0x00, 0x00, 0x00, 0x5D, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x25, 0x80, 0x00, 0x00, 0x00, 0x9E, 0xB8, 0xCB, 0xB0, 0x9F, 0xBB, 0x23, 0xA0, 0xA0, 0xD0, 0x0C, 0xB0, 0xA1, 0xA2, 0xD2, 0x80, 0xCB, 0x89, 0x28, 0xB0, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x61, 0x34, 0x20, 0xF7, 0x2F, 0x76, 0x90, -0xF8, 0x28, 0xA2, 0x10, 0xFB, 0x1D, 0x5F, 0x10, 0x13, 0x69, 0x72, 0x20, 0x14, 0x59, 0x55, 0x10, +0xF8, 0x28, 0xA2, 0x10, 0xF8, 0xC5, 0x84, 0x90, 0x13, 0x69, 0x72, 0x20, 0x14, 0x59, 0x55, 0x10, 0x15, 0x49, 0x54, 0x20, 0x16, 0x39, 0x37, 0x10, 0x17, 0x29, 0x36, 0x20, 0x18, 0x22, 0x53, 0x90, 0x19, 0x09, 0x18, 0x20, 0x1A, 0x02, 0x35, 0x90, 0x1A, 0xF2, 0x34, 0xA0, 0x1B, 0xE2, 0x17, 0x90, 0x1C, 0xD2, 0x16, 0xA0, 0x1D, 0xC1, 0xF9, 0x90, 0x1E, 0xB1, 0xF8, 0xA0, 0x1F, 0xA1, 0xDB, 0x90, @@ -40102,7 +40373,7 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { 0xFF, 0xFF, 0xA0, 0xD0, 0x0C, 0xB0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0xA2, 0xD2, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x89, 0x28, 0xB0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x61, 0x34, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x2F, 0x76, 0x90, 0xFF, 0xFF, -0xFF, 0xFF, 0xF8, 0x28, 0xA2, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0x1D, 0x5F, 0x10, 0x00, 0x00, +0xFF, 0xFF, 0xF8, 0x28, 0xA2, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0xC5, 0x84, 0x90, 0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x72, 0x20, 0x00, 0x00, 0x00, 0x00, 0x14, 0x59, 0x55, 0x10, 0x00, 0x00, 0x00, 0x00, 0x15, 0x49, 0x54, 0x20, 0x00, 0x00, 0x00, 0x00, 0x16, 0x39, 0x37, 0x10, 0x00, 0x00, 0x00, 0x00, 0x17, 0x29, 0x36, 0x20, 0x00, 0x00, 0x00, 0x00, 0x18, 0x22, 0x53, 0x90, 0x00, 0x00, @@ -40494,131 +40765,141 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { /* America/Yellowknife */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x7A, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x19, 0xBE, 0x2A, 0x18, 0x00, -0xCB, 0x89, 0x0C, 0x90, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x61, 0x18, 0x00, 0xF7, 0x2F, 0x5A, 0x70, -0xF8, 0x28, 0x85, 0xF0, 0x13, 0x69, 0x64, 0x10, 0x14, 0x59, 0x47, 0x00, 0x15, 0x49, 0x46, 0x10, -0x16, 0x39, 0x29, 0x00, 0x17, 0x29, 0x28, 0x10, 0x18, 0x22, 0x45, 0x80, 0x19, 0x09, 0x0A, 0x10, -0x1A, 0x02, 0x27, 0x80, 0x1A, 0xF2, 0x26, 0x90, 0x1B, 0xE2, 0x09, 0x80, 0x1C, 0xD2, 0x08, 0x90, -0x1D, 0xC1, 0xEB, 0x80, 0x1E, 0xB1, 0xEA, 0x90, 0x1F, 0xA1, 0xCD, 0x80, 0x20, 0x76, 0x1D, 0x10, -0x21, 0x81, 0xAF, 0x80, 0x22, 0x55, 0xFF, 0x10, 0x23, 0x6A, 0xCC, 0x00, 0x24, 0x35, 0xE1, 0x10, -0x25, 0x4A, 0xAE, 0x00, 0x26, 0x15, 0xC3, 0x10, 0x27, 0x2A, 0x90, 0x00, 0x27, 0xFE, 0xDF, 0x90, -0x29, 0x0A, 0x72, 0x00, 0x29, 0xDE, 0xC1, 0x90, 0x2A, 0xEA, 0x54, 0x00, 0x2B, 0xBE, 0xA3, 0x90, -0x2C, 0xD3, 0x70, 0x80, 0x2D, 0x9E, 0x85, 0x90, 0x2E, 0xB3, 0x52, 0x80, 0x2F, 0x7E, 0x67, 0x90, -0x30, 0x93, 0x34, 0x80, 0x31, 0x67, 0x84, 0x10, 0x32, 0x73, 0x16, 0x80, 0x33, 0x47, 0x66, 0x10, -0x34, 0x52, 0xF8, 0x80, 0x35, 0x27, 0x48, 0x10, 0x36, 0x32, 0xDA, 0x80, 0x37, 0x07, 0x2A, 0x10, -0x38, 0x1B, 0xF7, 0x00, 0x38, 0xE7, 0x0C, 0x10, 0x39, 0xFB, 0xD9, 0x00, 0x3A, 0xC6, 0xEE, 0x10, -0x3B, 0xDB, 0xBB, 0x00, 0x3C, 0xB0, 0x0A, 0x90, 0x3D, 0xBB, 0x9D, 0x00, 0x3E, 0x8F, 0xEC, 0x90, -0x3F, 0x9B, 0x7F, 0x00, 0x40, 0x6F, 0xCE, 0x90, 0x41, 0x84, 0x9B, 0x80, 0x42, 0x4F, 0xB0, 0x90, -0x43, 0x64, 0x7D, 0x80, 0x44, 0x2F, 0x92, 0x90, 0x45, 0x44, 0x5F, 0x80, 0x45, 0xF3, 0xC5, 0x10, -0x47, 0x2D, 0x7C, 0x00, 0x47, 0xD3, 0xA7, 0x10, 0x49, 0x0D, 0x5E, 0x00, 0x49, 0xB3, 0x89, 0x10, -0x4A, 0xED, 0x40, 0x00, 0x4B, 0x9C, 0xA5, 0x90, 0x4C, 0xD6, 0x5C, 0x80, 0x4D, 0x7C, 0x87, 0x90, -0x4E, 0xB6, 0x3E, 0x80, 0x4F, 0x5C, 0x69, 0x90, 0x50, 0x96, 0x20, 0x80, 0x51, 0x3C, 0x4B, 0x90, -0x52, 0x76, 0x02, 0x80, 0x53, 0x1C, 0x2D, 0x90, 0x54, 0x55, 0xE4, 0x80, 0x54, 0xFC, 0x0F, 0x90, -0x56, 0x35, 0xC6, 0x80, 0x56, 0xE5, 0x2C, 0x10, 0x58, 0x1E, 0xE3, 0x00, 0x58, 0xC5, 0x0E, 0x10, -0x59, 0xFE, 0xC5, 0x00, 0x5A, 0xA4, 0xF0, 0x10, 0x5B, 0xDE, 0xA7, 0x00, 0x5C, 0x84, 0xD2, 0x10, -0x5D, 0xBE, 0x89, 0x00, 0x5E, 0x64, 0xB4, 0x10, 0x5F, 0x9E, 0x6B, 0x00, 0x60, 0x4D, 0xD0, 0x90, -0x61, 0x87, 0x87, 0x80, 0x62, 0x2D, 0xB2, 0x90, 0x63, 0x67, 0x69, 0x80, 0x64, 0x0D, 0x94, 0x90, -0x65, 0x47, 0x4B, 0x80, 0x65, 0xED, 0x76, 0x90, 0x67, 0x27, 0x2D, 0x80, 0x67, 0xCD, 0x58, 0x90, -0x69, 0x07, 0x0F, 0x80, 0x69, 0xAD, 0x3A, 0x90, 0x6A, 0xE6, 0xF1, 0x80, 0x6B, 0x96, 0x57, 0x10, -0x6C, 0xD0, 0x0E, 0x00, 0x6D, 0x76, 0x39, 0x10, 0x6E, 0xAF, 0xF0, 0x00, 0x6F, 0x56, 0x1B, 0x10, -0x70, 0x8F, 0xD2, 0x00, 0x71, 0x35, 0xFD, 0x10, 0x72, 0x6F, 0xB4, 0x00, 0x73, 0x15, 0xDF, 0x10, -0x74, 0x4F, 0x96, 0x00, 0x74, 0xFE, 0xFB, 0x90, 0x76, 0x38, 0xB2, 0x80, 0x76, 0xDE, 0xDD, 0x90, -0x78, 0x18, 0x94, 0x80, 0x78, 0xBE, 0xBF, 0x90, 0x79, 0xF8, 0x76, 0x80, 0x7A, 0x9E, 0xA1, 0x90, -0x7B, 0xD8, 0x58, 0x80, 0x7C, 0x7E, 0x83, 0x90, 0x7D, 0xB8, 0x3A, 0x80, 0x7E, 0x5E, 0x65, 0x90, -0x7F, 0x98, 0x1C, 0x80, 0x03, 0x01, 0x02, 0x03, 0x04, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, -0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, -0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, -0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, -0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, -0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, -0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, -0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x08, -0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x0C, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x10, 0xFF, 0xFF, 0xAB, 0xA0, -0x01, 0x15, 0x2D, 0x30, 0x30, 0x00, 0x4D, 0x57, 0x54, 0x00, 0x4D, 0x50, 0x54, 0x00, 0x4D, 0x53, -0x54, 0x00, 0x4D, 0x44, 0x44, 0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, -0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, -0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7A, 0x00, 0x00, 0x00, 0x06, 0x00, -0x00, 0x00, 0x19, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0x2A, 0x18, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, -0x89, 0x0C, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, -0x61, 0x18, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x2F, 0x5A, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, -0x28, 0x85, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x64, 0x10, 0x00, 0x00, 0x00, 0x00, 0x14, -0x59, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x49, 0x46, 0x10, 0x00, 0x00, 0x00, 0x00, 0x16, -0x39, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x29, 0x28, 0x10, 0x00, 0x00, 0x00, 0x00, 0x18, -0x22, 0x45, 0x80, 0x00, 0x00, 0x00, 0x00, 0x19, 0x09, 0x0A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1A, -0x02, 0x27, 0x80, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xF2, 0x26, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, -0xE2, 0x09, 0x80, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xD2, 0x08, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1D, -0xC1, 0xEB, 0x80, 0x00, 0x00, 0x00, 0x00, 0x1E, 0xB1, 0xEA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1F, -0xA1, 0xCD, 0x80, 0x00, 0x00, 0x00, 0x00, 0x20, 0x76, 0x1D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x21, -0x81, 0xAF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x22, 0x55, 0xFF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x23, -0x6A, 0xCC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x35, 0xE1, 0x10, 0x00, 0x00, 0x00, 0x00, 0x25, -0x4A, 0xAE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x26, 0x15, 0xC3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x27, -0x2A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0xFE, 0xDF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, -0x0A, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x29, 0xDE, 0xC1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2A, -0xEA, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xBE, 0xA3, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2C, -0xD3, 0x70, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x9E, 0x85, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2E, -0xB3, 0x52, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x7E, 0x67, 0x90, 0x00, 0x00, 0x00, 0x00, 0x30, -0x93, 0x34, 0x80, 0x00, 0x00, 0x00, 0x00, 0x31, 0x67, 0x84, 0x10, 0x00, 0x00, 0x00, 0x00, 0x32, -0x73, 0x16, 0x80, 0x00, 0x00, 0x00, 0x00, 0x33, 0x47, 0x66, 0x10, 0x00, 0x00, 0x00, 0x00, 0x34, -0x52, 0xF8, 0x80, 0x00, 0x00, 0x00, 0x00, 0x35, 0x27, 0x48, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, -0x32, 0xDA, 0x80, 0x00, 0x00, 0x00, 0x00, 0x37, 0x07, 0x2A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x38, -0x1B, 0xF7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0xE7, 0x0C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x39, -0xFB, 0xD9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xC6, 0xEE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x3B, -0xDB, 0xBB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xB0, 0x0A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3D, -0xBB, 0x9D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x8F, 0xEC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3F, -0x9B, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x6F, 0xCE, 0x90, 0x00, 0x00, 0x00, 0x00, 0x41, -0x84, 0x9B, 0x80, 0x00, 0x00, 0x00, 0x00, 0x42, 0x4F, 0xB0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x43, -0x64, 0x7D, 0x80, 0x00, 0x00, 0x00, 0x00, 0x44, 0x2F, 0x92, 0x90, 0x00, 0x00, 0x00, 0x00, 0x45, -0x44, 0x5F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x45, 0xF3, 0xC5, 0x10, 0x00, 0x00, 0x00, 0x00, 0x47, -0x2D, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0xD3, 0xA7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, -0x0D, 0x5E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0xB3, 0x89, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4A, -0xED, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4B, 0x9C, 0xA5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4C, -0xD6, 0x5C, 0x80, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x7C, 0x87, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4E, -0xB6, 0x3E, 0x80, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x5C, 0x69, 0x90, 0x00, 0x00, 0x00, 0x00, 0x50, -0x96, 0x20, 0x80, 0x00, 0x00, 0x00, 0x00, 0x51, 0x3C, 0x4B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x52, -0x76, 0x02, 0x80, 0x00, 0x00, 0x00, 0x00, 0x53, 0x1C, 0x2D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x54, -0x55, 0xE4, 0x80, 0x00, 0x00, 0x00, 0x00, 0x54, 0xFC, 0x0F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, -0x35, 0xC6, 0x80, 0x00, 0x00, 0x00, 0x00, 0x56, 0xE5, 0x2C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x58, -0x1E, 0xE3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 0xC5, 0x0E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x59, -0xFE, 0xC5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xA4, 0xF0, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5B, -0xDE, 0xA7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5C, 0x84, 0xD2, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5D, -0xBE, 0x89, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x64, 0xB4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5F, -0x9E, 0x6B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x4D, 0xD0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x61, -0x87, 0x87, 0x80, 0x00, 0x00, 0x00, 0x00, 0x62, 0x2D, 0xB2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x63, -0x67, 0x69, 0x80, 0x00, 0x00, 0x00, 0x00, 0x64, 0x0D, 0x94, 0x90, 0x00, 0x00, 0x00, 0x00, 0x65, -0x47, 0x4B, 0x80, 0x00, 0x00, 0x00, 0x00, 0x65, 0xED, 0x76, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, -0x27, 0x2D, 0x80, 0x00, 0x00, 0x00, 0x00, 0x67, 0xCD, 0x58, 0x90, 0x00, 0x00, 0x00, 0x00, 0x69, -0x07, 0x0F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x69, 0xAD, 0x3A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6A, -0xE6, 0xF1, 0x80, 0x00, 0x00, 0x00, 0x00, 0x6B, 0x96, 0x57, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6C, -0xD0, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x76, 0x39, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6E, -0xAF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x56, 0x1B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x70, -0x8F, 0xD2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x71, 0x35, 0xFD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x72, -0x6F, 0xB4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x73, 0x15, 0xDF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x74, -0x4F, 0x96, 0x00, 0x00, 0x00, 0x00, 0x00, 0x74, 0xFE, 0xFB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x76, -0x38, 0xB2, 0x80, 0x00, 0x00, 0x00, 0x00, 0x76, 0xDE, 0xDD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x78, -0x18, 0x94, 0x80, 0x00, 0x00, 0x00, 0x00, 0x78, 0xBE, 0xBF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x79, -0xF8, 0x76, 0x80, 0x00, 0x00, 0x00, 0x00, 0x7A, 0x9E, 0xA1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7B, -0xD8, 0x58, 0x80, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x7E, 0x83, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7D, -0xB8, 0x3A, 0x80, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x5E, 0x65, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7F, -0x98, 0x1C, 0x80, 0x03, 0x01, 0x02, 0x03, 0x04, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x08, 0xFF, -0xFF, 0x9D, 0x90, 0x00, 0x0C, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x10, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, -0x15, 0x2D, 0x30, 0x30, 0x00, 0x4D, 0x57, 0x54, 0x00, 0x4D, 0x50, 0x54, 0x00, 0x4D, 0x53, 0x54, -0x00, 0x4D, 0x44, 0x44, 0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, -0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0A, 0x4D, 0x53, 0x54, 0x37, 0x4D, 0x44, 0x54, 0x2C, 0x4D, -0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, 0x31, 0x2E, 0x30, 0x0A, 0x00, 0xE8, -0x9E, 0xC7, 0x00, 0x64, 0x2C, 0x88, 0x00, 0x00, 0x00, 0x17, 0x4D, 0x6F, 0x75, 0x6E, 0x74, 0x61, -0x69, 0x6E, 0x20, 0x2D, 0x20, 0x4E, 0x54, 0x20, 0x28, 0x63, 0x65, 0x6E, 0x74, 0x72, 0x61, 0x6C, -0x29, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x88, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0xBE, 0x2A, 0x18, 0x00, +0xCB, 0x89, 0x0C, 0x90, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x61, 0x18, 0x00, 0x04, 0x61, 0x19, 0x90, +0x05, 0x50, 0xFC, 0x80, 0x06, 0x40, 0xFB, 0x90, 0x07, 0x30, 0xDE, 0x80, 0x08, 0x20, 0xDD, 0x90, +0x09, 0x10, 0xC0, 0x80, 0x0A, 0x00, 0xBF, 0x90, 0x0A, 0xF0, 0xA2, 0x80, 0x0B, 0xE0, 0xA1, 0x90, +0x0C, 0xD9, 0xBF, 0x00, 0x0D, 0xC0, 0x83, 0x90, 0x0E, 0xB9, 0xA1, 0x00, 0x0F, 0xA9, 0xA0, 0x10, +0x10, 0x99, 0x83, 0x00, 0x11, 0x89, 0x82, 0x10, 0x12, 0x79, 0x65, 0x00, 0x13, 0x69, 0x64, 0x10, +0x14, 0x59, 0x47, 0x00, 0x15, 0x49, 0x46, 0x10, 0x16, 0x39, 0x29, 0x00, 0x17, 0x29, 0x28, 0x10, +0x18, 0x22, 0x45, 0x80, 0x19, 0x09, 0x0A, 0x10, 0x1A, 0x02, 0x27, 0x80, 0x1A, 0xF2, 0x26, 0x90, +0x1B, 0xE2, 0x09, 0x80, 0x1C, 0xD2, 0x08, 0x90, 0x1D, 0xC1, 0xEB, 0x80, 0x1E, 0xB1, 0xEA, 0x90, +0x1F, 0xA1, 0xCD, 0x80, 0x20, 0x76, 0x1D, 0x10, 0x21, 0x81, 0xAF, 0x80, 0x22, 0x55, 0xFF, 0x10, +0x23, 0x6A, 0xCC, 0x00, 0x24, 0x35, 0xE1, 0x10, 0x25, 0x4A, 0xAE, 0x00, 0x26, 0x15, 0xC3, 0x10, +0x27, 0x2A, 0x90, 0x00, 0x27, 0xFE, 0xDF, 0x90, 0x29, 0x0A, 0x72, 0x00, 0x29, 0xDE, 0xC1, 0x90, +0x2A, 0xEA, 0x54, 0x00, 0x2B, 0xBE, 0xA3, 0x90, 0x2C, 0xD3, 0x70, 0x80, 0x2D, 0x9E, 0x85, 0x90, +0x2E, 0xB3, 0x52, 0x80, 0x2F, 0x7E, 0x67, 0x90, 0x30, 0x93, 0x34, 0x80, 0x31, 0x67, 0x84, 0x10, +0x32, 0x73, 0x16, 0x80, 0x33, 0x47, 0x66, 0x10, 0x34, 0x52, 0xF8, 0x80, 0x35, 0x27, 0x48, 0x10, +0x36, 0x32, 0xDA, 0x80, 0x37, 0x07, 0x2A, 0x10, 0x38, 0x1B, 0xF7, 0x00, 0x38, 0xE7, 0x0C, 0x10, +0x39, 0xFB, 0xD9, 0x00, 0x3A, 0xC6, 0xEE, 0x10, 0x3B, 0xDB, 0xBB, 0x00, 0x3C, 0xB0, 0x0A, 0x90, +0x3D, 0xBB, 0x9D, 0x00, 0x3E, 0x8F, 0xEC, 0x90, 0x3F, 0x9B, 0x7F, 0x00, 0x40, 0x6F, 0xCE, 0x90, +0x41, 0x84, 0x9B, 0x80, 0x42, 0x4F, 0xB0, 0x90, 0x43, 0x64, 0x7D, 0x80, 0x44, 0x2F, 0x92, 0x90, +0x45, 0x44, 0x5F, 0x80, 0x45, 0xF3, 0xC5, 0x10, 0x47, 0x2D, 0x7C, 0x00, 0x47, 0xD3, 0xA7, 0x10, +0x49, 0x0D, 0x5E, 0x00, 0x49, 0xB3, 0x89, 0x10, 0x4A, 0xED, 0x40, 0x00, 0x4B, 0x9C, 0xA5, 0x90, +0x4C, 0xD6, 0x5C, 0x80, 0x4D, 0x7C, 0x87, 0x90, 0x4E, 0xB6, 0x3E, 0x80, 0x4F, 0x5C, 0x69, 0x90, +0x50, 0x96, 0x20, 0x80, 0x51, 0x3C, 0x4B, 0x90, 0x52, 0x76, 0x02, 0x80, 0x53, 0x1C, 0x2D, 0x90, +0x54, 0x55, 0xE4, 0x80, 0x54, 0xFC, 0x0F, 0x90, 0x56, 0x35, 0xC6, 0x80, 0x56, 0xE5, 0x2C, 0x10, +0x58, 0x1E, 0xE3, 0x00, 0x58, 0xC5, 0x0E, 0x10, 0x59, 0xFE, 0xC5, 0x00, 0x5A, 0xA4, 0xF0, 0x10, +0x5B, 0xDE, 0xA7, 0x00, 0x5C, 0x84, 0xD2, 0x10, 0x5D, 0xBE, 0x89, 0x00, 0x5E, 0x64, 0xB4, 0x10, +0x5F, 0x9E, 0x6B, 0x00, 0x60, 0x4D, 0xD0, 0x90, 0x61, 0x87, 0x87, 0x80, 0x62, 0x2D, 0xB2, 0x90, +0x63, 0x67, 0x69, 0x80, 0x64, 0x0D, 0x94, 0x90, 0x65, 0x47, 0x4B, 0x80, 0x65, 0xED, 0x76, 0x90, +0x67, 0x27, 0x2D, 0x80, 0x67, 0xCD, 0x58, 0x90, 0x69, 0x07, 0x0F, 0x80, 0x69, 0xAD, 0x3A, 0x90, +0x6A, 0xE6, 0xF1, 0x80, 0x6B, 0x96, 0x57, 0x10, 0x6C, 0xD0, 0x0E, 0x00, 0x6D, 0x76, 0x39, 0x10, +0x6E, 0xAF, 0xF0, 0x00, 0x6F, 0x56, 0x1B, 0x10, 0x70, 0x8F, 0xD2, 0x00, 0x71, 0x35, 0xFD, 0x10, +0x72, 0x6F, 0xB4, 0x00, 0x73, 0x15, 0xDF, 0x10, 0x74, 0x4F, 0x96, 0x00, 0x74, 0xFE, 0xFB, 0x90, +0x76, 0x38, 0xB2, 0x80, 0x76, 0xDE, 0xDD, 0x90, 0x78, 0x18, 0x94, 0x80, 0x78, 0xBE, 0xBF, 0x90, +0x79, 0xF8, 0x76, 0x80, 0x7A, 0x9E, 0xA1, 0x90, 0x7B, 0xD8, 0x58, 0x80, 0x7C, 0x7E, 0x83, 0x90, +0x7D, 0xB8, 0x3A, 0x80, 0x7E, 0x5E, 0x65, 0x90, 0x7F, 0x98, 0x1C, 0x80, 0x03, 0x01, 0x02, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x04, +0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x08, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x0C, 0xFF, 0xFF, 0xAB, 0xA0, +0x01, 0x10, 0x2D, 0x30, 0x30, 0x00, 0x4D, 0x57, 0x54, 0x00, 0x4D, 0x50, 0x54, 0x00, 0x4D, 0x53, +0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, +0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x88, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, +0xBE, 0x2A, 0x18, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x89, 0x0C, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, +0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x61, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, +0x04, 0x61, 0x19, 0x90, 0x00, 0x00, 0x00, 0x00, 0x05, 0x50, 0xFC, 0x80, 0x00, 0x00, 0x00, 0x00, +0x06, 0x40, 0xFB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x07, 0x30, 0xDE, 0x80, 0x00, 0x00, 0x00, 0x00, +0x08, 0x20, 0xDD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x09, 0x10, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, +0x0A, 0x00, 0xBF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xF0, 0xA2, 0x80, 0x00, 0x00, 0x00, 0x00, +0x0B, 0xE0, 0xA1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xD9, 0xBF, 0x00, 0x00, 0x00, 0x00, 0x00, +0x0D, 0xC0, 0x83, 0x90, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xB9, 0xA1, 0x00, 0x00, 0x00, 0x00, 0x00, +0x0F, 0xA9, 0xA0, 0x10, 0x00, 0x00, 0x00, 0x00, 0x10, 0x99, 0x83, 0x00, 0x00, 0x00, 0x00, 0x00, +0x11, 0x89, 0x82, 0x10, 0x00, 0x00, 0x00, 0x00, 0x12, 0x79, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, +0x13, 0x69, 0x64, 0x10, 0x00, 0x00, 0x00, 0x00, 0x14, 0x59, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, +0x15, 0x49, 0x46, 0x10, 0x00, 0x00, 0x00, 0x00, 0x16, 0x39, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, +0x17, 0x29, 0x28, 0x10, 0x00, 0x00, 0x00, 0x00, 0x18, 0x22, 0x45, 0x80, 0x00, 0x00, 0x00, 0x00, +0x19, 0x09, 0x0A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x02, 0x27, 0x80, 0x00, 0x00, 0x00, 0x00, +0x1A, 0xF2, 0x26, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xE2, 0x09, 0x80, 0x00, 0x00, 0x00, 0x00, +0x1C, 0xD2, 0x08, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xC1, 0xEB, 0x80, 0x00, 0x00, 0x00, 0x00, +0x1E, 0xB1, 0xEA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xA1, 0xCD, 0x80, 0x00, 0x00, 0x00, 0x00, +0x20, 0x76, 0x1D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x21, 0x81, 0xAF, 0x80, 0x00, 0x00, 0x00, 0x00, +0x22, 0x55, 0xFF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x23, 0x6A, 0xCC, 0x00, 0x00, 0x00, 0x00, 0x00, +0x24, 0x35, 0xE1, 0x10, 0x00, 0x00, 0x00, 0x00, 0x25, 0x4A, 0xAE, 0x00, 0x00, 0x00, 0x00, 0x00, +0x26, 0x15, 0xC3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x27, 0x2A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, +0x27, 0xFE, 0xDF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, 0x0A, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, +0x29, 0xDE, 0xC1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xEA, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, +0x2B, 0xBE, 0xA3, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xD3, 0x70, 0x80, 0x00, 0x00, 0x00, 0x00, +0x2D, 0x9E, 0x85, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2E, 0xB3, 0x52, 0x80, 0x00, 0x00, 0x00, 0x00, +0x2F, 0x7E, 0x67, 0x90, 0x00, 0x00, 0x00, 0x00, 0x30, 0x93, 0x34, 0x80, 0x00, 0x00, 0x00, 0x00, +0x31, 0x67, 0x84, 0x10, 0x00, 0x00, 0x00, 0x00, 0x32, 0x73, 0x16, 0x80, 0x00, 0x00, 0x00, 0x00, +0x33, 0x47, 0x66, 0x10, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0xF8, 0x80, 0x00, 0x00, 0x00, 0x00, +0x35, 0x27, 0x48, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0xDA, 0x80, 0x00, 0x00, 0x00, 0x00, +0x37, 0x07, 0x2A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0xF7, 0x00, 0x00, 0x00, 0x00, 0x00, +0x38, 0xE7, 0x0C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0xD9, 0x00, 0x00, 0x00, 0x00, 0x00, +0x3A, 0xC6, 0xEE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0xBB, 0x00, 0x00, 0x00, 0x00, 0x00, +0x3C, 0xB0, 0x0A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x9D, 0x00, 0x00, 0x00, 0x00, 0x00, +0x3E, 0x8F, 0xEC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, +0x40, 0x6F, 0xCE, 0x90, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x9B, 0x80, 0x00, 0x00, 0x00, 0x00, +0x42, 0x4F, 0xB0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x7D, 0x80, 0x00, 0x00, 0x00, 0x00, +0x44, 0x2F, 0x92, 0x90, 0x00, 0x00, 0x00, 0x00, 0x45, 0x44, 0x5F, 0x80, 0x00, 0x00, 0x00, 0x00, +0x45, 0xF3, 0xC5, 0x10, 0x00, 0x00, 0x00, 0x00, 0x47, 0x2D, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, +0x47, 0xD3, 0xA7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, 0x0D, 0x5E, 0x00, 0x00, 0x00, 0x00, 0x00, +0x49, 0xB3, 0x89, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xED, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, +0x4B, 0x9C, 0xA5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4C, 0xD6, 0x5C, 0x80, 0x00, 0x00, 0x00, 0x00, +0x4D, 0x7C, 0x87, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4E, 0xB6, 0x3E, 0x80, 0x00, 0x00, 0x00, 0x00, +0x4F, 0x5C, 0x69, 0x90, 0x00, 0x00, 0x00, 0x00, 0x50, 0x96, 0x20, 0x80, 0x00, 0x00, 0x00, 0x00, +0x51, 0x3C, 0x4B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x52, 0x76, 0x02, 0x80, 0x00, 0x00, 0x00, 0x00, +0x53, 0x1C, 0x2D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x54, 0x55, 0xE4, 0x80, 0x00, 0x00, 0x00, 0x00, +0x54, 0xFC, 0x0F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, 0x35, 0xC6, 0x80, 0x00, 0x00, 0x00, 0x00, +0x56, 0xE5, 0x2C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x58, 0x1E, 0xE3, 0x00, 0x00, 0x00, 0x00, 0x00, +0x58, 0xC5, 0x0E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x59, 0xFE, 0xC5, 0x00, 0x00, 0x00, 0x00, 0x00, +0x5A, 0xA4, 0xF0, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5B, 0xDE, 0xA7, 0x00, 0x00, 0x00, 0x00, 0x00, +0x5C, 0x84, 0xD2, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5D, 0xBE, 0x89, 0x00, 0x00, 0x00, 0x00, 0x00, +0x5E, 0x64, 0xB4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x9E, 0x6B, 0x00, 0x00, 0x00, 0x00, 0x00, +0x60, 0x4D, 0xD0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x61, 0x87, 0x87, 0x80, 0x00, 0x00, 0x00, 0x00, +0x62, 0x2D, 0xB2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x63, 0x67, 0x69, 0x80, 0x00, 0x00, 0x00, 0x00, +0x64, 0x0D, 0x94, 0x90, 0x00, 0x00, 0x00, 0x00, 0x65, 0x47, 0x4B, 0x80, 0x00, 0x00, 0x00, 0x00, +0x65, 0xED, 0x76, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, 0x27, 0x2D, 0x80, 0x00, 0x00, 0x00, 0x00, +0x67, 0xCD, 0x58, 0x90, 0x00, 0x00, 0x00, 0x00, 0x69, 0x07, 0x0F, 0x80, 0x00, 0x00, 0x00, 0x00, +0x69, 0xAD, 0x3A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xE6, 0xF1, 0x80, 0x00, 0x00, 0x00, 0x00, +0x6B, 0x96, 0x57, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xD0, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, +0x6D, 0x76, 0x39, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6E, 0xAF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, +0x6F, 0x56, 0x1B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x70, 0x8F, 0xD2, 0x00, 0x00, 0x00, 0x00, 0x00, +0x71, 0x35, 0xFD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x72, 0x6F, 0xB4, 0x00, 0x00, 0x00, 0x00, 0x00, +0x73, 0x15, 0xDF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x74, 0x4F, 0x96, 0x00, 0x00, 0x00, 0x00, 0x00, +0x74, 0xFE, 0xFB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x76, 0x38, 0xB2, 0x80, 0x00, 0x00, 0x00, 0x00, +0x76, 0xDE, 0xDD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x78, 0x18, 0x94, 0x80, 0x00, 0x00, 0x00, 0x00, +0x78, 0xBE, 0xBF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x79, 0xF8, 0x76, 0x80, 0x00, 0x00, 0x00, 0x00, +0x7A, 0x9E, 0xA1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7B, 0xD8, 0x58, 0x80, 0x00, 0x00, 0x00, 0x00, +0x7C, 0x7E, 0x83, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7D, 0xB8, 0x3A, 0x80, 0x00, 0x00, 0x00, 0x00, +0x7E, 0x5E, 0x65, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x98, 0x1C, 0x80, 0x03, 0x01, 0x02, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x04, +0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x08, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x0C, 0xFF, 0xFF, 0xAB, 0xA0, +0x01, 0x10, 0x2D, 0x30, 0x30, 0x00, 0x4D, 0x57, 0x54, 0x00, 0x4D, 0x50, 0x54, 0x00, 0x4D, 0x53, +0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, +0x0A, 0x4D, 0x53, 0x54, 0x37, 0x4D, 0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, +0x4D, 0x31, 0x31, 0x2E, 0x31, 0x2E, 0x30, 0x0A, 0x00, 0xE8, 0x9E, 0xC7, 0x00, 0x64, 0x2C, 0x88, +0x00, 0x00, 0x00, 0x17, 0x4D, 0x6F, 0x75, 0x6E, 0x74, 0x61, 0x69, 0x6E, 0x20, 0x2D, 0x20, 0x4E, +0x54, 0x20, 0x28, 0x63, 0x65, 0x6E, 0x74, 0x72, 0x61, 0x6C, 0x29, /* Antarctica/Casey */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x41, 0x51, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -44387,28 +44668,30 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { /* Asia/Kuala_Lumpur */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4D, 0x59, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x20, 0x80, 0x00, 0x00, 0x00, 0x86, 0x83, 0x85, 0xA3, 0xBA, 0x67, 0x4E, 0x90, 0xC0, 0x0A, 0xE4, 0x60, 0xCA, 0xB3, 0xE5, 0x60, -0xCB, 0x91, 0x5F, 0x08, 0xD2, 0x48, 0x6D, 0xF0, 0x16, 0x91, 0xF5, 0x08, 0x01, 0x02, 0x03, 0x04, +0xCB, 0x91, 0x5F, 0x08, 0xD2, 0x48, 0x6D, 0xF0, 0x16, 0x91, 0xEE, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x05, 0x07, 0x00, 0x00, 0x5F, 0x56, 0x00, 0x00, 0x00, 0x00, 0x61, 0x5D, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x08, 0x00, 0x00, 0x67, 0x20, 0x01, 0x0C, 0x00, 0x00, 0x67, 0x20, 0x00, 0x0C, 0x00, 0x00, 0x69, 0x78, 0x00, 0x12, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x18, 0x00, 0x00, 0x70, 0x80, 0x00, 0x1C, 0x4C, 0x4D, 0x54, 0x00, 0x53, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x37, 0x00, 0x2B, 0x30, 0x37, 0x32, 0x30, 0x00, 0x2B, 0x30, 0x37, 0x33, 0x30, 0x00, 0x2B, 0x30, 0x39, 0x00, -0x2B, 0x30, 0x38, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x2B, 0x30, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x01, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0x7E, 0x36, 0x55, 0xAA, 0xFF, 0xFF, 0xFF, 0xFF, 0x86, 0x83, 0x85, 0xA3, 0xFF, 0xFF, 0xFF, 0xFF, 0xBA, 0x67, 0x4E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x0A, 0xE4, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0xB3, 0xE5, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x91, 0x5F, 0x08, -0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x48, 0x6D, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x91, 0xF5, 0x08, +0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x48, 0x6D, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x91, 0xEE, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x05, 0x07, 0x00, 0x00, 0x5F, 0x56, 0x00, 0x00, 0x00, 0x00, 0x61, 0x5D, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x08, 0x00, 0x00, 0x67, 0x20, 0x01, 0x0C, 0x00, 0x00, 0x67, 0x20, 0x00, 0x0C, 0x00, 0x00, 0x69, 0x78, 0x00, 0x12, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x18, 0x00, 0x00, 0x70, 0x80, 0x00, 0x1C, 0x4C, 0x4D, 0x54, 0x00, 0x53, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x37, 0x00, 0x2B, 0x30, 0x37, 0x32, 0x30, 0x00, 0x2B, 0x30, 0x37, 0x33, 0x30, 0x00, -0x2B, 0x30, 0x39, 0x00, 0x2B, 0x30, 0x38, 0x00, 0x0A, 0x3C, 0x2B, 0x30, 0x38, 0x3E, 0x2D, 0x38, +0x2B, 0x30, 0x39, 0x00, 0x2B, 0x30, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x0A, 0x3C, 0x2B, 0x30, 0x38, 0x3E, 0x2D, 0x38, 0x0A, 0x00, 0x8E, 0x29, 0x3A, 0x01, 0xAD, 0xD7, 0x10, 0x00, 0x00, 0x00, 0x14, 0x4D, 0x61, 0x6C, 0x61, 0x79, 0x73, 0x69, 0x61, 0x20, 0x28, 0x70, 0x65, 0x6E, 0x69, 0x6E, 0x73, 0x75, 0x6C, 0x61, 0x29, @@ -45665,28 +45948,30 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { /* Asia/Singapore */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x53, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x20, 0x80, 0x00, 0x00, 0x00, 0x86, 0x83, 0x85, 0xA3, 0xBA, 0x67, 0x4E, 0x90, 0xC0, 0x0A, 0xE4, 0x60, 0xCA, 0xB3, 0xE5, 0x60, -0xCB, 0x91, 0x5F, 0x08, 0xD2, 0x48, 0x6D, 0xF0, 0x16, 0x91, 0xF5, 0x08, 0x01, 0x02, 0x03, 0x04, +0xCB, 0x91, 0x5F, 0x08, 0xD2, 0x48, 0x6D, 0xF0, 0x16, 0x91, 0xEE, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x05, 0x07, 0x00, 0x00, 0x61, 0x5D, 0x00, 0x00, 0x00, 0x00, 0x61, 0x5D, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x08, 0x00, 0x00, 0x67, 0x20, 0x01, 0x0C, 0x00, 0x00, 0x67, 0x20, 0x00, 0x0C, 0x00, 0x00, 0x69, 0x78, 0x00, 0x12, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x18, 0x00, 0x00, 0x70, 0x80, 0x00, 0x1C, 0x4C, 0x4D, 0x54, 0x00, 0x53, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x37, 0x00, 0x2B, 0x30, 0x37, 0x32, 0x30, 0x00, 0x2B, 0x30, 0x37, 0x33, 0x30, 0x00, 0x2B, 0x30, 0x39, 0x00, -0x2B, 0x30, 0x38, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x2B, 0x30, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x01, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0x7E, 0x36, 0x53, 0xA3, 0xFF, 0xFF, 0xFF, 0xFF, 0x86, 0x83, 0x85, 0xA3, 0xFF, 0xFF, 0xFF, 0xFF, 0xBA, 0x67, 0x4E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x0A, 0xE4, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0xB3, 0xE5, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x91, 0x5F, 0x08, -0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x48, 0x6D, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x91, 0xF5, 0x08, +0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x48, 0x6D, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x91, 0xEE, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x05, 0x07, 0x00, 0x00, 0x61, 0x5D, 0x00, 0x00, 0x00, 0x00, 0x61, 0x5D, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x08, 0x00, 0x00, 0x67, 0x20, 0x01, 0x0C, 0x00, 0x00, 0x67, 0x20, 0x00, 0x0C, 0x00, 0x00, 0x69, 0x78, 0x00, 0x12, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x18, 0x00, 0x00, 0x70, 0x80, 0x00, 0x1C, 0x4C, 0x4D, 0x54, 0x00, 0x53, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x37, 0x00, 0x2B, 0x30, 0x37, 0x32, 0x30, 0x00, 0x2B, 0x30, 0x37, 0x33, 0x30, 0x00, -0x2B, 0x30, 0x39, 0x00, 0x2B, 0x30, 0x38, 0x00, 0x0A, 0x3C, 0x2B, 0x30, 0x38, 0x3E, 0x2D, 0x38, +0x2B, 0x30, 0x39, 0x00, 0x2B, 0x30, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x0A, 0x3C, 0x2B, 0x30, 0x38, 0x3E, 0x2D, 0x38, 0x0A, 0x00, 0x8B, 0x49, 0x8D, 0x01, 0xB1, 0x1E, 0xE8, 0x00, 0x00, 0x00, 0x00, /* Asia/Srednekolymsk */ @@ -52010,7 +52295,7 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { 0x00, 0x00, 0x00, 0x5D, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x25, 0x80, 0x00, 0x00, 0x00, 0x9E, 0xB8, 0xCB, 0xB0, 0x9F, 0xBB, 0x23, 0xA0, 0xA0, 0xD0, 0x0C, 0xB0, 0xA1, 0xA2, 0xD2, 0x80, 0xCB, 0x89, 0x28, 0xB0, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x61, 0x34, 0x20, 0xF7, 0x2F, 0x76, 0x90, -0xF8, 0x28, 0xA2, 0x10, 0xFB, 0x1D, 0x5F, 0x10, 0x13, 0x69, 0x72, 0x20, 0x14, 0x59, 0x55, 0x10, +0xF8, 0x28, 0xA2, 0x10, 0xF8, 0xC5, 0x84, 0x90, 0x13, 0x69, 0x72, 0x20, 0x14, 0x59, 0x55, 0x10, 0x15, 0x49, 0x54, 0x20, 0x16, 0x39, 0x37, 0x10, 0x17, 0x29, 0x36, 0x20, 0x18, 0x22, 0x53, 0x90, 0x19, 0x09, 0x18, 0x20, 0x1A, 0x02, 0x35, 0x90, 0x1A, 0xF2, 0x34, 0xA0, 0x1B, 0xE2, 0x17, 0x90, 0x1C, 0xD2, 0x16, 0xA0, 0x1D, 0xC1, 0xF9, 0x90, 0x1E, 0xB1, 0xF8, 0xA0, 0x1F, 0xA1, 0xDB, 0x90, @@ -52051,7 +52336,7 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { 0xFF, 0xFF, 0xA0, 0xD0, 0x0C, 0xB0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0xA2, 0xD2, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x89, 0x28, 0xB0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x61, 0x34, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x2F, 0x76, 0x90, 0xFF, 0xFF, -0xFF, 0xFF, 0xF8, 0x28, 0xA2, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0x1D, 0x5F, 0x10, 0x00, 0x00, +0xFF, 0xFF, 0xF8, 0x28, 0xA2, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0xC5, 0x84, 0x90, 0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x72, 0x20, 0x00, 0x00, 0x00, 0x00, 0x14, 0x59, 0x55, 0x10, 0x00, 0x00, 0x00, 0x00, 0x15, 0x49, 0x54, 0x20, 0x00, 0x00, 0x00, 0x00, 0x16, 0x39, 0x37, 0x10, 0x00, 0x00, 0x00, 0x00, 0x17, 0x29, 0x36, 0x20, 0x00, 0x00, 0x00, 0x00, 0x18, 0x22, 0x53, 0x90, 0x00, 0x00, @@ -67269,28 +67554,30 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { /* Singapore */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x20, 0x80, 0x00, 0x00, 0x00, 0x86, 0x83, 0x85, 0xA3, 0xBA, 0x67, 0x4E, 0x90, 0xC0, 0x0A, 0xE4, 0x60, 0xCA, 0xB3, 0xE5, 0x60, -0xCB, 0x91, 0x5F, 0x08, 0xD2, 0x48, 0x6D, 0xF0, 0x16, 0x91, 0xF5, 0x08, 0x01, 0x02, 0x03, 0x04, +0xCB, 0x91, 0x5F, 0x08, 0xD2, 0x48, 0x6D, 0xF0, 0x16, 0x91, 0xEE, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x05, 0x07, 0x00, 0x00, 0x61, 0x5D, 0x00, 0x00, 0x00, 0x00, 0x61, 0x5D, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x08, 0x00, 0x00, 0x67, 0x20, 0x01, 0x0C, 0x00, 0x00, 0x67, 0x20, 0x00, 0x0C, 0x00, 0x00, 0x69, 0x78, 0x00, 0x12, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x18, 0x00, 0x00, 0x70, 0x80, 0x00, 0x1C, 0x4C, 0x4D, 0x54, 0x00, 0x53, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x37, 0x00, 0x2B, 0x30, 0x37, 0x32, 0x30, 0x00, 0x2B, 0x30, 0x37, 0x33, 0x30, 0x00, 0x2B, 0x30, 0x39, 0x00, -0x2B, 0x30, 0x38, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x2B, 0x30, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x01, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0x7E, 0x36, 0x53, 0xA3, 0xFF, 0xFF, 0xFF, 0xFF, 0x86, 0x83, 0x85, 0xA3, 0xFF, 0xFF, 0xFF, 0xFF, 0xBA, 0x67, 0x4E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x0A, 0xE4, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0xB3, 0xE5, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x91, 0x5F, 0x08, -0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x48, 0x6D, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x91, 0xF5, 0x08, +0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x48, 0x6D, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x91, 0xEE, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x05, 0x07, 0x00, 0x00, 0x61, 0x5D, 0x00, 0x00, 0x00, 0x00, 0x61, 0x5D, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x08, 0x00, 0x00, 0x67, 0x20, 0x01, 0x0C, 0x00, 0x00, 0x67, 0x20, 0x00, 0x0C, 0x00, 0x00, 0x69, 0x78, 0x00, 0x12, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x18, 0x00, 0x00, 0x70, 0x80, 0x00, 0x1C, 0x4C, 0x4D, 0x54, 0x00, 0x53, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x37, 0x00, 0x2B, 0x30, 0x37, 0x32, 0x30, 0x00, 0x2B, 0x30, 0x37, 0x33, 0x30, 0x00, -0x2B, 0x30, 0x39, 0x00, 0x2B, 0x30, 0x38, 0x00, 0x0A, 0x3C, 0x2B, 0x30, 0x38, 0x3E, 0x2D, 0x38, +0x2B, 0x30, 0x39, 0x00, 0x2B, 0x30, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x0A, 0x3C, 0x2B, 0x30, 0x38, 0x3E, 0x2D, 0x38, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* Turkey */ @@ -69245,4 +69532,4 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { }; #endif -const timelib_tzdb timezonedb_builtin = { "2022.6", 596, timezonedb_idx_builtin, timelib_timezone_db_data_builtin }; +const timelib_tzdb timezonedb_builtin = { "2022.7", 597, timezonedb_idx_builtin, timelib_timezone_db_data_builtin }; From e568f93422f27b967e73b0e230c41c87f7ae0c83 Mon Sep 17 00:00:00 2001 From: Derick Rethans Date: Tue, 29 Nov 2022 18:25:16 +0000 Subject: [PATCH 02/50] Updated to version 2022.7 (2022g) --- ext/date/lib/timezonedb.h | 5131 ++++++++++++++++++++----------------- 1 file changed, 2709 insertions(+), 2422 deletions(-) diff --git a/ext/date/lib/timezonedb.h b/ext/date/lib/timezonedb.h index 671a7238e4c8b..2b4f626f23ec4 100644 --- a/ext/date/lib/timezonedb.h +++ b/ext/date/lib/timezonedb.h @@ -4,7 +4,7 @@ #endif #ifdef TIMELIB_SUPPORT_SLIM_FILE -const timelib_tzdb_index_entry timezonedb_idx_builtin[596] = { +const timelib_tzdb_index_entry timezonedb_idx_builtin[597] = { { (char*) "Africa/Abidjan" , 0x000000 }, { (char*) "Africa/Accra" , 0x00008E }, { (char*) "Africa/Addis_Ababa" , 0x000356 }, @@ -83,528 +83,529 @@ const timelib_tzdb_index_entry timezonedb_idx_builtin[596] = { { (char*) "America/Atka" , 0x0076F5 }, { (char*) "America/Bahia" , 0x007ACA }, { (char*) "America/Bahia_Banderas" , 0x007D85 }, - { (char*) "America/Barbados" , 0x008089 }, - { (char*) "America/Belem" , 0x0081AB }, - { (char*) "America/Belize" , 0x008353 }, - { (char*) "America/Blanc-Sablon" , 0x008774 }, - { (char*) "America/Boa_Vista" , 0x008869 }, - { (char*) "America/Bogota" , 0x008A2A }, - { (char*) "America/Boise" , 0x008AE9 }, - { (char*) "America/Buenos_Aires" , 0x008EFC }, - { (char*) "America/Cambridge_Bay" , 0x0091CC }, - { (char*) "America/Campo_Grande" , 0x0094EC }, - { (char*) "America/Cancun" , 0x0098C2 }, - { (char*) "America/Caracas" , 0x009B03 }, - { (char*) "America/Catamarca" , 0x009BCD }, - { (char*) "America/Cayenne" , 0x009E9D }, - { (char*) "America/Cayman" , 0x009F40 }, - { (char*) "America/Chicago" , 0x009FE1 }, - { (char*) "America/Chihuahua" , 0x00A6DB }, - { (char*) "America/Coral_Harbour" , 0x00A9C0 }, - { (char*) "America/Cordoba" , 0x00AA61 }, - { (char*) "America/Costa_Rica" , 0x00AD31 }, - { (char*) "America/Creston" , 0x00AE25 }, - { (char*) "America/Cuiaba" , 0x00AEE1 }, - { (char*) "America/Curacao" , 0x00B29E }, - { (char*) "America/Danmarkshavn" , 0x00B341 }, - { (char*) "America/Dawson" , 0x00B526 }, - { (char*) "America/Dawson_Creek" , 0x00B949 }, - { (char*) "America/Denver" , 0x00BC20 }, - { (char*) "America/Detroit" , 0x00C053 }, - { (char*) "America/Dominica" , 0x00C3FB }, - { (char*) "America/Edmonton" , 0x00C489 }, - { (char*) "America/Eirunepe" , 0x00C87C }, - { (char*) "America/El_Salvador" , 0x00CA4B }, - { (char*) "America/Ensenada" , 0x00CB07 }, - { (char*) "America/Fort_Nelson" , 0x00CF14 }, - { (char*) "America/Fort_Wayne" , 0x00D4DC }, - { (char*) "America/Fortaleza" , 0x00D6FB }, - { (char*) "America/Glace_Bay" , 0x00D911 }, - { (char*) "America/Godthab" , 0x00DCA8 }, - { (char*) "America/Goose_Bay" , 0x00DE85 }, - { (char*) "America/Grand_Turk" , 0x00E4DD }, - { (char*) "America/Grenada" , 0x00E83E }, - { (char*) "America/Guadeloupe" , 0x00E8CC }, - { (char*) "America/Guatemala" , 0x00E95A }, - { (char*) "America/Guayaquil" , 0x00EA3A }, - { (char*) "America/Guyana" , 0x00EB0B }, - { (char*) "America/Halifax" , 0x00EBCC }, - { (char*) "America/Havana" , 0x00F27E }, - { (char*) "America/Hermosillo" , 0x00F6E7 }, - { (char*) "America/Indiana/Indianapolis" , 0x00F830 }, - { (char*) "America/Indiana/Knox" , 0x00FA68 }, - { (char*) "America/Indiana/Marengo" , 0x00FE81 }, - { (char*) "America/Indiana/Petersburg" , 0x0100DB }, - { (char*) "America/Indiana/Tell_City" , 0x0103A5 }, - { (char*) "America/Indiana/Vevay" , 0x0105CF }, - { (char*) "America/Indiana/Vincennes" , 0x010766 }, - { (char*) "America/Indiana/Winamac" , 0x0109BC }, - { (char*) "America/Indianapolis" , 0x010C42 }, - { (char*) "America/Inuvik" , 0x010E61 }, - { (char*) "America/Iqaluit" , 0x01113E }, - { (char*) "America/Jamaica" , 0x01144C }, - { (char*) "America/Jujuy" , 0x0115AB }, - { (char*) "America/Juneau" , 0x011869 }, - { (char*) "America/Kentucky/Louisville" , 0x011C4F }, - { (char*) "America/Kentucky/Monticello" , 0x012153 }, - { (char*) "America/Knox_IN" , 0x01253F }, - { (char*) "America/Kralendijk" , 0x012943 }, - { (char*) "America/La_Paz" , 0x012A00 }, - { (char*) "America/Lima" , 0x012AB6 }, - { (char*) "America/Los_Angeles" , 0x012BDD }, - { (char*) "America/Louisville" , 0x0130FE }, - { (char*) "America/Lower_Princes" , 0x0135E4 }, - { (char*) "America/Maceio" , 0x0136A1 }, - { (char*) "America/Managua" , 0x0138B3 }, - { (char*) "America/Manaus" , 0x0139E6 }, - { (char*) "America/Marigot" , 0x013B9D }, - { (char*) "America/Martinique" , 0x013C5A }, - { (char*) "America/Matamoros" , 0x013D18 }, - { (char*) "America/Mazatlan" , 0x013F17 }, - { (char*) "America/Mendoza" , 0x014226 }, - { (char*) "America/Menominee" , 0x0144F6 }, - { (char*) "America/Merida" , 0x0148B6 }, - { (char*) "America/Metlakatla" , 0x014B70 }, - { (char*) "America/Mexico_City" , 0x014DE6 }, - { (char*) "America/Miquelon" , 0x015103 }, - { (char*) "America/Moncton" , 0x015335 }, - { (char*) "America/Monterrey" , 0x01592E }, - { (char*) "America/Montevideo" , 0x015C03 }, - { (char*) "America/Montreal" , 0x015FD8 }, - { (char*) "America/Montserrat" , 0x016699 }, - { (char*) "America/Nassau" , 0x016727 }, - { (char*) "America/New_York" , 0x016B21 }, - { (char*) "America/Nipigon" , 0x017211 }, - { (char*) "America/Nome" , 0x0178D2 }, - { (char*) "America/Noronha" , 0x017CBA }, - { (char*) "America/North_Dakota/Beulah" , 0x017EBA }, - { (char*) "America/North_Dakota/Center" , 0x0182EE }, - { (char*) "America/North_Dakota/New_Salem" , 0x0186ED }, - { (char*) "America/Nuuk" , 0x018AF2 }, - { (char*) "America/Ojinaga" , 0x018CE5 }, - { (char*) "America/Panama" , 0x018FCC }, - { (char*) "America/Pangnirtung" , 0x01906D }, - { (char*) "America/Paramaribo" , 0x019394 }, - { (char*) "America/Phoenix" , 0x01945B }, - { (char*) "America/Port-au-Prince" , 0x019574 }, - { (char*) "America/Port_of_Spain" , 0x0197B5 }, - { (char*) "America/Porto_Acre" , 0x019843 }, - { (char*) "America/Porto_Velho" , 0x0199F1 }, - { (char*) "America/Puerto_Rico" , 0x019B8F }, - { (char*) "America/Punta_Arenas" , 0x019C4C }, - { (char*) "America/Rainy_River" , 0x01A12E }, - { (char*) "America/Rankin_Inlet" , 0x01A648 }, - { (char*) "America/Recife" , 0x01A91E }, - { (char*) "America/Regina" , 0x01AB18 }, - { (char*) "America/Resolute" , 0x01ADB7 }, - { (char*) "America/Rio_Branco" , 0x01B08E }, - { (char*) "America/Rosario" , 0x01B240 }, - { (char*) "America/Santa_Isabel" , 0x01B510 }, - { (char*) "America/Santarem" , 0x01B91D }, - { (char*) "America/Santiago" , 0x01BACD }, - { (char*) "America/Santo_Domingo" , 0x01C035 }, - { (char*) "America/Sao_Paulo" , 0x01C17E }, - { (char*) "America/Scoresbysund" , 0x01C578 }, - { (char*) "America/Shiprock" , 0x01C780 }, - { (char*) "America/Sitka" , 0x01CB9E }, - { (char*) "America/St_Barthelemy" , 0x01CF79 }, - { (char*) "America/St_Johns" , 0x01D036 }, - { (char*) "America/St_Kitts" , 0x01D7BA }, - { (char*) "America/St_Lucia" , 0x01D848 }, - { (char*) "America/St_Thomas" , 0x01D8E9 }, - { (char*) "America/St_Vincent" , 0x01D977 }, - { (char*) "America/Swift_Current" , 0x01DA18 }, - { (char*) "America/Tegucigalpa" , 0x01DBA6 }, - { (char*) "America/Thule" , 0x01DC74 }, - { (char*) "America/Thunder_Bay" , 0x01DE55 }, - { (char*) "America/Tijuana" , 0x01E516 }, - { (char*) "America/Toronto" , 0x01E944 }, - { (char*) "America/Tortola" , 0x01F022 }, - { (char*) "America/Vancouver" , 0x01F0B0 }, - { (char*) "America/Virgin" , 0x01F607 }, - { (char*) "America/Whitehorse" , 0x01F6C4 }, - { (char*) "America/Winnipeg" , 0x01FAE7 }, - { (char*) "America/Yakutat" , 0x02001E }, - { (char*) "America/Yellowknife" , 0x0203EC }, - { (char*) "Antarctica/Casey" , 0x0206E8 }, - { (char*) "Antarctica/Davis" , 0x0207EC }, - { (char*) "Antarctica/DumontDUrville" , 0x0208C2 }, - { (char*) "Antarctica/Macquarie" , 0x020976 }, - { (char*) "Antarctica/Mawson" , 0x020D62 }, - { (char*) "Antarctica/McMurdo" , 0x020E0C }, - { (char*) "Antarctica/Palmer" , 0x02113E }, - { (char*) "Antarctica/Rothera" , 0x0214C7 }, - { (char*) "Antarctica/South_Pole" , 0x02155E }, - { (char*) "Antarctica/Syowa" , 0x02197D }, - { (char*) "Antarctica/Troll" , 0x021A13 }, - { (char*) "Antarctica/Vostok" , 0x021AD5 }, - { (char*) "Arctic/Longyearbyen" , 0x021B6C }, - { (char*) "Asia/Aden" , 0x021E39 }, - { (char*) "Asia/Almaty" , 0x021ECA }, - { (char*) "Asia/Amman" , 0x02214E }, - { (char*) "Asia/Anadyr" , 0x0224FA }, - { (char*) "Asia/Aqtau" , 0x022800 }, - { (char*) "Asia/Aqtobe" , 0x022A7F }, - { (char*) "Asia/Ashgabat" , 0x022CFF }, - { (char*) "Asia/Ashkhabad" , 0x022E82 }, - { (char*) "Asia/Atyrau" , 0x023005 }, - { (char*) "Asia/Baghdad" , 0x02328E }, - { (char*) "Asia/Bahrain" , 0x023510 }, - { (char*) "Asia/Baku" , 0x0235C9 }, - { (char*) "Asia/Bangkok" , 0x0238BD }, - { (char*) "Asia/Barnaul" , 0x023961 }, - { (char*) "Asia/Beirut" , 0x023C6C }, - { (char*) "Asia/Bishkek" , 0x023F54 }, - { (char*) "Asia/Brunei" , 0x0241CA }, - { (char*) "Asia/Calcutta" , 0x024270 }, - { (char*) "Asia/Chita" , 0x024358 }, - { (char*) "Asia/Choibalsan" , 0x024666 }, - { (char*) "Asia/Chongqing" , 0x0248EF }, - { (char*) "Asia/Chungking" , 0x024A84 }, - { (char*) "Asia/Colombo" , 0x024C19 }, - { (char*) "Asia/Dacca" , 0x024D1C }, - { (char*) "Asia/Damascus" , 0x024E0F }, - { (char*) "Asia/Dhaka" , 0x0252ED }, - { (char*) "Asia/Dili" , 0x0253E0 }, - { (char*) "Asia/Dubai" , 0x025496 }, - { (char*) "Asia/Dushanbe" , 0x025527 }, - { (char*) "Asia/Famagusta" , 0x0256A1 }, - { (char*) "Asia/Gaza" , 0x025A68 }, - { (char*) "Asia/Harbin" , 0x025F68 }, - { (char*) "Asia/Hebron" , 0x0260FD }, - { (char*) "Asia/Ho_Chi_Minh" , 0x02660E }, - { (char*) "Asia/Hong_Kong" , 0x026706 }, - { (char*) "Asia/Hovd" , 0x026A19 }, - { (char*) "Asia/Irkutsk" , 0x026CA2 }, - { (char*) "Asia/Istanbul" , 0x026FC0 }, - { (char*) "Asia/Jakarta" , 0x02747C }, - { (char*) "Asia/Jayapura" , 0x02758D }, - { (char*) "Asia/Jerusalem" , 0x02767A }, - { (char*) "Asia/Kabul" , 0x027AB8 }, - { (char*) "Asia/Kamchatka" , 0x027B63 }, - { (char*) "Asia/Karachi" , 0x027E58 }, - { (char*) "Asia/Kashgar" , 0x027F6E }, - { (char*) "Asia/Kathmandu" , 0x027FFF }, - { (char*) "Asia/Katmandu" , 0x0280AC }, - { (char*) "Asia/Khandyga" , 0x028159 }, - { (char*) "Asia/Kolkata" , 0x02848A }, - { (char*) "Asia/Krasnoyarsk" , 0x028572 }, - { (char*) "Asia/Kuala_Lumpur" , 0x02887C }, - { (char*) "Asia/Kuching" , 0x02899C }, - { (char*) "Asia/Kuwait" , 0x028AF6 }, - { (char*) "Asia/Macao" , 0x028B87 }, - { (char*) "Asia/Macau" , 0x028EAA }, - { (char*) "Asia/Magadan" , 0x0291CD }, - { (char*) "Asia/Makassar" , 0x0294D8 }, - { (char*) "Asia/Manila" , 0x0295EB }, - { (char*) "Asia/Muscat" , 0x0296E5 }, - { (char*) "Asia/Nicosia" , 0x029776 }, - { (char*) "Asia/Novokuznetsk" , 0x0299EA }, - { (char*) "Asia/Novosibirsk" , 0x029CDD }, - { (char*) "Asia/Omsk" , 0x029FEE }, - { (char*) "Asia/Oral" , 0x02A2EC }, - { (char*) "Asia/Phnom_Penh" , 0x02A578 }, - { (char*) "Asia/Pontianak" , 0x02A64C }, - { (char*) "Asia/Pyongyang" , 0x02A765 }, - { (char*) "Asia/Qatar" , 0x02A828 }, - { (char*) "Asia/Qostanay" , 0x02A8CC }, - { (char*) "Asia/Qyzylorda" , 0x02AB59 }, - { (char*) "Asia/Rangoon" , 0x02ADF2 }, - { (char*) "Asia/Riyadh" , 0x02AEB9 }, - { (char*) "Asia/Saigon" , 0x02AF4A }, - { (char*) "Asia/Sakhalin" , 0x02B042 }, - { (char*) "Asia/Samarkand" , 0x02B359 }, - { (char*) "Asia/Seoul" , 0x02B4E4 }, - { (char*) "Asia/Shanghai" , 0x02B68F }, - { (char*) "Asia/Singapore" , 0x02B830 }, - { (char*) "Asia/Srednekolymsk" , 0x02B93C }, - { (char*) "Asia/Taipei" , 0x02BC50 }, - { (char*) "Asia/Tashkent" , 0x02BE5B }, - { (char*) "Asia/Tbilisi" , 0x02BFE6 }, - { (char*) "Asia/Tehran" , 0x02C267 }, - { (char*) "Asia/Tel_Aviv" , 0x02C59F }, - { (char*) "Asia/Thimbu" , 0x02C9DD }, - { (char*) "Asia/Thimphu" , 0x02CA83 }, - { (char*) "Asia/Tokyo" , 0x02CB29 }, - { (char*) "Asia/Tomsk" , 0x02CC0A }, - { (char*) "Asia/Ujung_Pandang" , 0x02CF15 }, - { (char*) "Asia/Ulaanbaatar" , 0x02CFDF }, - { (char*) "Asia/Ulan_Bator" , 0x02D252 }, - { (char*) "Asia/Urumqi" , 0x02D4B0 }, - { (char*) "Asia/Ust-Nera" , 0x02D54E }, - { (char*) "Asia/Vientiane" , 0x02D871 }, - { (char*) "Asia/Vladivostok" , 0x02D957 }, - { (char*) "Asia/Yakutsk" , 0x02DC5C }, - { (char*) "Asia/Yangon" , 0x02DF60 }, - { (char*) "Asia/Yekaterinburg" , 0x02E027 }, - { (char*) "Asia/Yerevan" , 0x02E339 }, - { (char*) "Atlantic/Azores" , 0x02E609 }, - { (char*) "Atlantic/Bermuda" , 0x02EBC8 }, - { (char*) "Atlantic/Canary" , 0x02EFD4 }, - { (char*) "Atlantic/Cape_Verde" , 0x02F1CC }, - { (char*) "Atlantic/Faeroe" , 0x02F287 }, - { (char*) "Atlantic/Faroe" , 0x02F44C }, - { (char*) "Atlantic/Jan_Mayen" , 0x02F611 }, - { (char*) "Atlantic/Madeira" , 0x02F8DE }, - { (char*) "Atlantic/Reykjavik" , 0x02FEA6 }, - { (char*) "Atlantic/South_Georgia" , 0x0301A3 }, - { (char*) "Atlantic/St_Helena" , 0x030233 }, - { (char*) "Atlantic/Stanley" , 0x0302D4 }, - { (char*) "Australia/ACT" , 0x0305F5 }, - { (char*) "Australia/Adelaide" , 0x030989 }, - { (char*) "Australia/Brisbane" , 0x030D3D }, - { (char*) "Australia/Broken_Hill" , 0x030E81 }, - { (char*) "Australia/Canberra" , 0x031256 }, - { (char*) "Australia/Currie" , 0x0315EA }, - { (char*) "Australia/Darwin" , 0x0319E1 }, - { (char*) "Australia/Eucla" , 0x031AE9 }, - { (char*) "Australia/Hobart" , 0x031C48 }, - { (char*) "Australia/LHI" , 0x032047 }, - { (char*) "Australia/Lindeman" , 0x032307 }, - { (char*) "Australia/Lord_Howe" , 0x032477 }, - { (char*) "Australia/Melbourne" , 0x032747 }, - { (char*) "Australia/North" , 0x032AE3 }, - { (char*) "Australia/NSW" , 0x032BD9 }, - { (char*) "Australia/Perth" , 0x032F6D }, - { (char*) "Australia/Queensland" , 0x0330C9 }, - { (char*) "Australia/South" , 0x0331F6 }, - { (char*) "Australia/Sydney" , 0x03359B }, - { (char*) "Australia/Tasmania" , 0x03394B }, - { (char*) "Australia/Victoria" , 0x033D42 }, - { (char*) "Australia/West" , 0x0340D6 }, - { (char*) "Australia/Yancowinna" , 0x034214 }, - { (char*) "Brazil/Acre" , 0x0345CD }, - { (char*) "Brazil/DeNoronha" , 0x03477B }, - { (char*) "Brazil/East" , 0x03496B }, - { (char*) "Brazil/West" , 0x034D2F }, - { (char*) "Canada/Atlantic" , 0x034ED7 }, - { (char*) "Canada/Central" , 0x03556B }, - { (char*) "Canada/Eastern" , 0x035A85 }, - { (char*) "Canada/Mountain" , 0x036146 }, - { (char*) "Canada/Newfoundland" , 0x03651C }, - { (char*) "Canada/Pacific" , 0x036C7E }, - { (char*) "Canada/Saskatchewan" , 0x0371BC }, - { (char*) "Canada/Yukon" , 0x037446 }, - { (char*) "CET" , 0x037857 }, - { (char*) "Chile/Continental" , 0x037AD0 }, - { (char*) "Chile/EasterIsland" , 0x038026 }, - { (char*) "CST6CDT" , 0x0384C8 }, - { (char*) "Cuba" , 0x03888B }, - { (char*) "EET" , 0x038CF4 }, - { (char*) "Egypt" , 0x038EF1 }, - { (char*) "Eire" , 0x0393F9 }, - { (char*) "EST" , 0x0399DD }, - { (char*) "EST5EDT" , 0x039A58 }, - { (char*) "Etc/GMT" , 0x039E1B }, - { (char*) "Etc/GMT+0" , 0x039E96 }, - { (char*) "Etc/GMT+1" , 0x039F11 }, - { (char*) "Etc/GMT+10" , 0x039F8E }, - { (char*) "Etc/GMT+11" , 0x03A00C }, - { (char*) "Etc/GMT+12" , 0x03A08A }, - { (char*) "Etc/GMT+2" , 0x03A108 }, - { (char*) "Etc/GMT+3" , 0x03A185 }, - { (char*) "Etc/GMT+4" , 0x03A202 }, - { (char*) "Etc/GMT+5" , 0x03A27F }, - { (char*) "Etc/GMT+6" , 0x03A2FC }, - { (char*) "Etc/GMT+7" , 0x03A379 }, - { (char*) "Etc/GMT+8" , 0x03A3F6 }, - { (char*) "Etc/GMT+9" , 0x03A473 }, - { (char*) "Etc/GMT-0" , 0x03A4F0 }, - { (char*) "Etc/GMT-1" , 0x03A56B }, - { (char*) "Etc/GMT-10" , 0x03A5E9 }, - { (char*) "Etc/GMT-11" , 0x03A668 }, - { (char*) "Etc/GMT-12" , 0x03A6E7 }, - { (char*) "Etc/GMT-13" , 0x03A766 }, - { (char*) "Etc/GMT-14" , 0x03A7E5 }, - { (char*) "Etc/GMT-2" , 0x03A864 }, - { (char*) "Etc/GMT-3" , 0x03A8E2 }, - { (char*) "Etc/GMT-4" , 0x03A960 }, - { (char*) "Etc/GMT-5" , 0x03A9DE }, - { (char*) "Etc/GMT-6" , 0x03AA5C }, - { (char*) "Etc/GMT-7" , 0x03AADA }, - { (char*) "Etc/GMT-8" , 0x03AB58 }, - { (char*) "Etc/GMT-9" , 0x03ABD6 }, - { (char*) "Etc/GMT0" , 0x03AC54 }, - { (char*) "Etc/Greenwich" , 0x03ACCF }, - { (char*) "Etc/UCT" , 0x03AD4A }, - { (char*) "Etc/Universal" , 0x03ADC5 }, - { (char*) "Etc/UTC" , 0x03AE40 }, - { (char*) "Etc/Zulu" , 0x03AEBB }, - { (char*) "Europe/Amsterdam" , 0x03AF36 }, - { (char*) "Europe/Andorra" , 0x03B371 }, - { (char*) "Europe/Astrakhan" , 0x03B502 }, - { (char*) "Europe/Athens" , 0x03B7F6 }, - { (char*) "Europe/Belfast" , 0x03BAAC }, - { (char*) "Europe/Belgrade" , 0x03C0F7 }, - { (char*) "Europe/Berlin" , 0x03C2E1 }, - { (char*) "Europe/Bratislava" , 0x03C5C2 }, - { (char*) "Europe/Brussels" , 0x03C8A1 }, - { (char*) "Europe/Bucharest" , 0x03CCFC }, - { (char*) "Europe/Budapest" , 0x03CF9D }, - { (char*) "Europe/Busingen" , 0x03D2A7 }, - { (char*) "Europe/Chisinau" , 0x03D4AC }, - { (char*) "Europe/Copenhagen" , 0x03D7AB }, - { (char*) "Europe/Dublin" , 0x03DA26 }, - { (char*) "Europe/Gibraltar" , 0x03E00A }, - { (char*) "Europe/Guernsey" , 0x03E4DA }, - { (char*) "Europe/Helsinki" , 0x03EB31 }, - { (char*) "Europe/Isle_of_Man" , 0x03ED1E }, - { (char*) "Europe/Istanbul" , 0x03F369 }, - { (char*) "Europe/Jersey" , 0x03F825 }, - { (char*) "Europe/Kaliningrad" , 0x03FE7C }, - { (char*) "Europe/Kiev" , 0x040224 }, - { (char*) "Europe/Kirov" , 0x04045E }, - { (char*) "Europe/Kyiv" , 0x040745 }, - { (char*) "Europe/Lisbon" , 0x040993 }, - { (char*) "Europe/Ljubljana" , 0x040F60 }, - { (char*) "Europe/London" , 0x04114A }, - { (char*) "Europe/Luxembourg" , 0x041795 }, - { (char*) "Europe/Madrid" , 0x041BE0 }, - { (char*) "Europe/Malta" , 0x041F7D }, - { (char*) "Europe/Mariehamn" , 0x042329 }, - { (char*) "Europe/Minsk" , 0x042516 }, - { (char*) "Europe/Monaco" , 0x04284A }, - { (char*) "Europe/Moscow" , 0x042CB0 }, - { (char*) "Europe/Nicosia" , 0x04305C }, - { (char*) "Europe/Oslo" , 0x0432BD }, - { (char*) "Europe/Paris" , 0x04356D }, - { (char*) "Europe/Podgorica" , 0x0439CA }, - { (char*) "Europe/Prague" , 0x043BB4 }, - { (char*) "Europe/Riga" , 0x043E93 }, - { (char*) "Europe/Rome" , 0x044155 }, - { (char*) "Europe/Samara" , 0x044514 }, - { (char*) "Europe/San_Marino" , 0x044815 }, - { (char*) "Europe/Sarajevo" , 0x044BD4 }, - { (char*) "Europe/Saratov" , 0x044DBE }, - { (char*) "Europe/Simferopol" , 0x0450B0 }, - { (char*) "Europe/Skopje" , 0x045423 }, - { (char*) "Europe/Sofia" , 0x04560D }, - { (char*) "Europe/Stockholm" , 0x045869 }, - { (char*) "Europe/Tallinn" , 0x045A66 }, - { (char*) "Europe/Tirane" , 0x045D15 }, - { (char*) "Europe/Tiraspol" , 0x045F7D }, - { (char*) "Europe/Ulyanovsk" , 0x04627C }, - { (char*) "Europe/Uzhgorod" , 0x046592 }, - { (char*) "Europe/Vaduz" , 0x0467CC }, - { (char*) "Europe/Vatican" , 0x0469B6 }, - { (char*) "Europe/Vienna" , 0x046D75 }, - { (char*) "Europe/Vilnius" , 0x047013 }, - { (char*) "Europe/Volgograd" , 0x0472C3 }, - { (char*) "Europe/Warsaw" , 0x0475C0 }, - { (char*) "Europe/Zagreb" , 0x047967 }, - { (char*) "Europe/Zaporozhye" , 0x047B51 }, - { (char*) "Europe/Zurich" , 0x047D8B }, - { (char*) "Factory" , 0x047F88 }, - { (char*) "GB" , 0x048005 }, - { (char*) "GB-Eire" , 0x048650 }, - { (char*) "GMT" , 0x048C9B }, - { (char*) "GMT+0" , 0x048D16 }, - { (char*) "GMT-0" , 0x048D91 }, - { (char*) "GMT0" , 0x048E0C }, - { (char*) "Greenwich" , 0x048E87 }, - { (char*) "Hongkong" , 0x048F02 }, - { (char*) "HST" , 0x049215 }, - { (char*) "Iceland" , 0x049291 }, - { (char*) "Indian/Antananarivo" , 0x04931F }, - { (char*) "Indian/Chagos" , 0x0493CB }, - { (char*) "Indian/Christmas" , 0x04946F }, - { (char*) "Indian/Cocos" , 0x049500 }, - { (char*) "Indian/Comoro" , 0x049598 }, - { (char*) "Indian/Kerguelen" , 0x049627 }, - { (char*) "Indian/Mahe" , 0x0496B8 }, - { (char*) "Indian/Maldives" , 0x049749 }, - { (char*) "Indian/Mauritius" , 0x0497ED }, - { (char*) "Indian/Mayotte" , 0x0498AC }, - { (char*) "Indian/Reunion" , 0x04993B }, - { (char*) "Iran" , 0x0499CC }, - { (char*) "Israel" , 0x049D04 }, - { (char*) "Jamaica" , 0x04A142 }, - { (char*) "Japan" , 0x04A2A1 }, - { (char*) "Kwajalein" , 0x04A382 }, - { (char*) "Libya" , 0x04A469 }, - { (char*) "MET" , 0x04A624 }, - { (char*) "Mexico/BajaNorte" , 0x04A89D }, - { (char*) "Mexico/BajaSur" , 0x04ACAA }, - { (char*) "Mexico/General" , 0x04AF84 }, - { (char*) "MST" , 0x04B295 }, - { (char*) "MST7MDT" , 0x04B310 }, - { (char*) "Navajo" , 0x04B6D3 }, - { (char*) "NZ" , 0x04BAF1 }, - { (char*) "NZ-CHAT" , 0x04BF10 }, - { (char*) "Pacific/Apia" , 0x04C244 }, - { (char*) "Pacific/Auckland" , 0x04C3E7 }, - { (char*) "Pacific/Bougainville" , 0x04C81E }, - { (char*) "Pacific/Chatham" , 0x04C8FF }, - { (char*) "Pacific/Chuuk" , 0x04CC42 }, - { (char*) "Pacific/Easter" , 0x04CD20 }, - { (char*) "Pacific/Efate" , 0x04D1CF }, - { (char*) "Pacific/Enderbury" , 0x04D331 }, - { (char*) "Pacific/Fakaofo" , 0x04D3E9 }, - { (char*) "Pacific/Fiji" , 0x04D48E }, - { (char*) "Pacific/Funafuti" , 0x04D626 }, - { (char*) "Pacific/Galapagos" , 0x04D6B8 }, - { (char*) "Pacific/Gambier" , 0x04D784 }, - { (char*) "Pacific/Guadalcanal" , 0x04D823 }, - { (char*) "Pacific/Guam" , 0x04D8B5 }, - { (char*) "Pacific/Honolulu" , 0x04DA1F }, - { (char*) "Pacific/Johnston" , 0x04DB0E }, - { (char*) "Pacific/Kanton" , 0x04DBF7 }, - { (char*) "Pacific/Kiritimati" , 0x04DCBE }, - { (char*) "Pacific/Kosrae" , 0x04DD84 }, - { (char*) "Pacific/Kwajalein" , 0x04DE88 }, - { (char*) "Pacific/Majuro" , 0x04DF78 }, - { (char*) "Pacific/Marquesas" , 0x04E07B }, - { (char*) "Pacific/Midway" , 0x04E123 }, - { (char*) "Pacific/Nauru" , 0x04E1E6 }, - { (char*) "Pacific/Niue" , 0x04E2A9 }, - { (char*) "Pacific/Norfolk" , 0x04E34F }, - { (char*) "Pacific/Noumea" , 0x04E452 }, - { (char*) "Pacific/Pago_Pago" , 0x04E524 }, - { (char*) "Pacific/Palau" , 0x04E5C2 }, - { (char*) "Pacific/Pitcairn" , 0x04E662 }, - { (char*) "Pacific/Pohnpei" , 0x04E707 }, - { (char*) "Pacific/Ponape" , 0x04E7F7 }, - { (char*) "Pacific/Port_Moresby" , 0x04E889 }, - { (char*) "Pacific/Rarotonga" , 0x04E94C }, - { (char*) "Pacific/Saipan" , 0x04EAEE }, - { (char*) "Pacific/Samoa" , 0x04EC4F }, - { (char*) "Pacific/Tahiti" , 0x04ECED }, - { (char*) "Pacific/Tarawa" , 0x04ED8D }, - { (char*) "Pacific/Tongatapu" , 0x04EE2E }, - { (char*) "Pacific/Truk" , 0x04EF27 }, - { (char*) "Pacific/Wake" , 0x04EFCD }, - { (char*) "Pacific/Wallis" , 0x04F06A }, - { (char*) "Pacific/Yap" , 0x04F0FC }, - { (char*) "Poland" , 0x04F1A2 }, - { (char*) "Portugal" , 0x04F549 }, - { (char*) "PRC" , 0x04FB03 }, - { (char*) "PST8PDT" , 0x04FC98 }, - { (char*) "ROC" , 0x05005B }, - { (char*) "ROK" , 0x050266 }, - { (char*) "Singapore" , 0x050411 }, - { (char*) "Turkey" , 0x05051D }, - { (char*) "UCT" , 0x0509D9 }, - { (char*) "Universal" , 0x050A54 }, - { (char*) "US/Alaska" , 0x050ACF }, - { (char*) "US/Aleutian" , 0x050EAC }, - { (char*) "US/Arizona" , 0x051281 }, - { (char*) "US/Central" , 0x05137D }, - { (char*) "US/East-Indiana" , 0x051A63 }, - { (char*) "US/Eastern" , 0x051C82 }, - { (char*) "US/Hawaii" , 0x05235E }, - { (char*) "US/Indiana-Starke" , 0x052447 }, - { (char*) "US/Michigan" , 0x05284B }, - { (char*) "US/Mountain" , 0x052BDA }, - { (char*) "US/Pacific" , 0x052FF8 }, - { (char*) "US/Samoa" , 0x053512 }, - { (char*) "UTC" , 0x0535B0 }, - { (char*) "W-SU" , 0x05362B }, - { (char*) "WET" , 0x0539C3 }, - { (char*) "Zulu" , 0x053BBD }, + { (char*) "America/Barbados" , 0x00807A }, + { (char*) "America/Belem" , 0x00819C }, + { (char*) "America/Belize" , 0x008344 }, + { (char*) "America/Blanc-Sablon" , 0x008765 }, + { (char*) "America/Boa_Vista" , 0x00885A }, + { (char*) "America/Bogota" , 0x008A1B }, + { (char*) "America/Boise" , 0x008ADA }, + { (char*) "America/Buenos_Aires" , 0x008EED }, + { (char*) "America/Cambridge_Bay" , 0x0091BD }, + { (char*) "America/Campo_Grande" , 0x009550 }, + { (char*) "America/Cancun" , 0x009926 }, + { (char*) "America/Caracas" , 0x009B4F }, + { (char*) "America/Catamarca" , 0x009C19 }, + { (char*) "America/Cayenne" , 0x009EE9 }, + { (char*) "America/Cayman" , 0x009F8C }, + { (char*) "America/Chicago" , 0x00A02D }, + { (char*) "America/Chihuahua" , 0x00A727 }, + { (char*) "America/Ciudad_Juarez" , 0x00A9FC }, + { (char*) "America/Coral_Harbour" , 0x00ACF2 }, + { (char*) "America/Cordoba" , 0x00AD93 }, + { (char*) "America/Costa_Rica" , 0x00B063 }, + { (char*) "America/Creston" , 0x00B157 }, + { (char*) "America/Cuiaba" , 0x00B213 }, + { (char*) "America/Curacao" , 0x00B5D0 }, + { (char*) "America/Danmarkshavn" , 0x00B673 }, + { (char*) "America/Dawson" , 0x00B858 }, + { (char*) "America/Dawson_Creek" , 0x00BC7B }, + { (char*) "America/Denver" , 0x00BF52 }, + { (char*) "America/Detroit" , 0x00C385 }, + { (char*) "America/Dominica" , 0x00C72D }, + { (char*) "America/Edmonton" , 0x00C7BB }, + { (char*) "America/Eirunepe" , 0x00CBAE }, + { (char*) "America/El_Salvador" , 0x00CD7D }, + { (char*) "America/Ensenada" , 0x00CE39 }, + { (char*) "America/Fort_Nelson" , 0x00D246 }, + { (char*) "America/Fort_Wayne" , 0x00D80E }, + { (char*) "America/Fortaleza" , 0x00DA2D }, + { (char*) "America/Glace_Bay" , 0x00DC43 }, + { (char*) "America/Godthab" , 0x00DFDA }, + { (char*) "America/Goose_Bay" , 0x00E389 }, + { (char*) "America/Grand_Turk" , 0x00E9E1 }, + { (char*) "America/Grenada" , 0x00ED42 }, + { (char*) "America/Guadeloupe" , 0x00EDD0 }, + { (char*) "America/Guatemala" , 0x00EE5E }, + { (char*) "America/Guayaquil" , 0x00EF3E }, + { (char*) "America/Guyana" , 0x00F00F }, + { (char*) "America/Halifax" , 0x00F0D0 }, + { (char*) "America/Havana" , 0x00F782 }, + { (char*) "America/Hermosillo" , 0x00FBEB }, + { (char*) "America/Indiana/Indianapolis" , 0x00FD1B }, + { (char*) "America/Indiana/Knox" , 0x00FF53 }, + { (char*) "America/Indiana/Marengo" , 0x01036C }, + { (char*) "America/Indiana/Petersburg" , 0x0105C6 }, + { (char*) "America/Indiana/Tell_City" , 0x010890 }, + { (char*) "America/Indiana/Vevay" , 0x010ABA }, + { (char*) "America/Indiana/Vincennes" , 0x010C51 }, + { (char*) "America/Indiana/Winamac" , 0x010EA7 }, + { (char*) "America/Indianapolis" , 0x01112D }, + { (char*) "America/Inuvik" , 0x01134C }, + { (char*) "America/Iqaluit" , 0x01169D }, + { (char*) "America/Jamaica" , 0x011A19 }, + { (char*) "America/Jujuy" , 0x011B78 }, + { (char*) "America/Juneau" , 0x011E36 }, + { (char*) "America/Kentucky/Louisville" , 0x01221C }, + { (char*) "America/Kentucky/Monticello" , 0x012720 }, + { (char*) "America/Knox_IN" , 0x012B0C }, + { (char*) "America/Kralendijk" , 0x012F10 }, + { (char*) "America/La_Paz" , 0x012FCD }, + { (char*) "America/Lima" , 0x013083 }, + { (char*) "America/Los_Angeles" , 0x0131AA }, + { (char*) "America/Louisville" , 0x0136CB }, + { (char*) "America/Lower_Princes" , 0x013BB1 }, + { (char*) "America/Maceio" , 0x013C6E }, + { (char*) "America/Managua" , 0x013E80 }, + { (char*) "America/Manaus" , 0x013FB3 }, + { (char*) "America/Marigot" , 0x01416A }, + { (char*) "America/Martinique" , 0x014227 }, + { (char*) "America/Matamoros" , 0x0142E5 }, + { (char*) "America/Mazatlan" , 0x0144D2 }, + { (char*) "America/Mendoza" , 0x0147DE }, + { (char*) "America/Menominee" , 0x014AAE }, + { (char*) "America/Merida" , 0x014E6E }, + { (char*) "America/Metlakatla" , 0x015119 }, + { (char*) "America/Mexico_City" , 0x01538F }, + { (char*) "America/Miquelon" , 0x0156AE }, + { (char*) "America/Moncton" , 0x0158E0 }, + { (char*) "America/Monterrey" , 0x015ED9 }, + { (char*) "America/Montevideo" , 0x01619F }, + { (char*) "America/Montreal" , 0x016574 }, + { (char*) "America/Montserrat" , 0x016C35 }, + { (char*) "America/Nassau" , 0x016CC3 }, + { (char*) "America/New_York" , 0x0170BD }, + { (char*) "America/Nipigon" , 0x0177AD }, + { (char*) "America/Nome" , 0x017E6E }, + { (char*) "America/Noronha" , 0x018256 }, + { (char*) "America/North_Dakota/Beulah" , 0x018456 }, + { (char*) "America/North_Dakota/Center" , 0x01888A }, + { (char*) "America/North_Dakota/New_Salem" , 0x018C89 }, + { (char*) "America/Nuuk" , 0x01908E }, + { (char*) "America/Ojinaga" , 0x019453 }, + { (char*) "America/Panama" , 0x019740 }, + { (char*) "America/Pangnirtung" , 0x0197E1 }, + { (char*) "America/Paramaribo" , 0x019B44 }, + { (char*) "America/Phoenix" , 0x019C0B }, + { (char*) "America/Port-au-Prince" , 0x019D24 }, + { (char*) "America/Port_of_Spain" , 0x019F65 }, + { (char*) "America/Porto_Acre" , 0x019FF3 }, + { (char*) "America/Porto_Velho" , 0x01A1A1 }, + { (char*) "America/Puerto_Rico" , 0x01A33F }, + { (char*) "America/Punta_Arenas" , 0x01A3FC }, + { (char*) "America/Rainy_River" , 0x01A8DE }, + { (char*) "America/Rankin_Inlet" , 0x01ADF8 }, + { (char*) "America/Recife" , 0x01B141 }, + { (char*) "America/Regina" , 0x01B33B }, + { (char*) "America/Resolute" , 0x01B5DA }, + { (char*) "America/Rio_Branco" , 0x01B924 }, + { (char*) "America/Rosario" , 0x01BAD6 }, + { (char*) "America/Santa_Isabel" , 0x01BDA6 }, + { (char*) "America/Santarem" , 0x01C1B3 }, + { (char*) "America/Santiago" , 0x01C363 }, + { (char*) "America/Santo_Domingo" , 0x01C8CB }, + { (char*) "America/Sao_Paulo" , 0x01CA14 }, + { (char*) "America/Scoresbysund" , 0x01CE0E }, + { (char*) "America/Shiprock" , 0x01D016 }, + { (char*) "America/Sitka" , 0x01D434 }, + { (char*) "America/St_Barthelemy" , 0x01D80F }, + { (char*) "America/St_Johns" , 0x01D8CC }, + { (char*) "America/St_Kitts" , 0x01E050 }, + { (char*) "America/St_Lucia" , 0x01E0DE }, + { (char*) "America/St_Thomas" , 0x01E17F }, + { (char*) "America/St_Vincent" , 0x01E20D }, + { (char*) "America/Swift_Current" , 0x01E2AE }, + { (char*) "America/Tegucigalpa" , 0x01E43C }, + { (char*) "America/Thule" , 0x01E50A }, + { (char*) "America/Thunder_Bay" , 0x01E6EB }, + { (char*) "America/Tijuana" , 0x01EDAC }, + { (char*) "America/Toronto" , 0x01F1C8 }, + { (char*) "America/Tortola" , 0x01F8A6 }, + { (char*) "America/Vancouver" , 0x01F934 }, + { (char*) "America/Virgin" , 0x01FE8B }, + { (char*) "America/Whitehorse" , 0x01FF48 }, + { (char*) "America/Winnipeg" , 0x02036B }, + { (char*) "America/Yakutat" , 0x0208A2 }, + { (char*) "America/Yellowknife" , 0x020C70 }, + { (char*) "Antarctica/Casey" , 0x020FDF }, + { (char*) "Antarctica/Davis" , 0x0210E3 }, + { (char*) "Antarctica/DumontDUrville" , 0x0211B9 }, + { (char*) "Antarctica/Macquarie" , 0x02126D }, + { (char*) "Antarctica/Mawson" , 0x021659 }, + { (char*) "Antarctica/McMurdo" , 0x021703 }, + { (char*) "Antarctica/Palmer" , 0x021A35 }, + { (char*) "Antarctica/Rothera" , 0x021DBE }, + { (char*) "Antarctica/South_Pole" , 0x021E55 }, + { (char*) "Antarctica/Syowa" , 0x022274 }, + { (char*) "Antarctica/Troll" , 0x02230A }, + { (char*) "Antarctica/Vostok" , 0x0223CC }, + { (char*) "Arctic/Longyearbyen" , 0x022463 }, + { (char*) "Asia/Aden" , 0x022730 }, + { (char*) "Asia/Almaty" , 0x0227C1 }, + { (char*) "Asia/Amman" , 0x022A45 }, + { (char*) "Asia/Anadyr" , 0x022DF1 }, + { (char*) "Asia/Aqtau" , 0x0230F7 }, + { (char*) "Asia/Aqtobe" , 0x023376 }, + { (char*) "Asia/Ashgabat" , 0x0235F6 }, + { (char*) "Asia/Ashkhabad" , 0x023779 }, + { (char*) "Asia/Atyrau" , 0x0238FC }, + { (char*) "Asia/Baghdad" , 0x023B85 }, + { (char*) "Asia/Bahrain" , 0x023E07 }, + { (char*) "Asia/Baku" , 0x023EC0 }, + { (char*) "Asia/Bangkok" , 0x0241B4 }, + { (char*) "Asia/Barnaul" , 0x024258 }, + { (char*) "Asia/Beirut" , 0x024563 }, + { (char*) "Asia/Bishkek" , 0x02484B }, + { (char*) "Asia/Brunei" , 0x024AC1 }, + { (char*) "Asia/Calcutta" , 0x024B67 }, + { (char*) "Asia/Chita" , 0x024C4F }, + { (char*) "Asia/Choibalsan" , 0x024F5D }, + { (char*) "Asia/Chongqing" , 0x0251E6 }, + { (char*) "Asia/Chungking" , 0x02537B }, + { (char*) "Asia/Colombo" , 0x025510 }, + { (char*) "Asia/Dacca" , 0x025613 }, + { (char*) "Asia/Damascus" , 0x025706 }, + { (char*) "Asia/Dhaka" , 0x025BE4 }, + { (char*) "Asia/Dili" , 0x025CD7 }, + { (char*) "Asia/Dubai" , 0x025D8D }, + { (char*) "Asia/Dushanbe" , 0x025E1E }, + { (char*) "Asia/Famagusta" , 0x025F98 }, + { (char*) "Asia/Gaza" , 0x02635F }, + { (char*) "Asia/Harbin" , 0x02685F }, + { (char*) "Asia/Hebron" , 0x0269F4 }, + { (char*) "Asia/Ho_Chi_Minh" , 0x026F05 }, + { (char*) "Asia/Hong_Kong" , 0x026FFD }, + { (char*) "Asia/Hovd" , 0x027310 }, + { (char*) "Asia/Irkutsk" , 0x027599 }, + { (char*) "Asia/Istanbul" , 0x0278B7 }, + { (char*) "Asia/Jakarta" , 0x027D73 }, + { (char*) "Asia/Jayapura" , 0x027E84 }, + { (char*) "Asia/Jerusalem" , 0x027F71 }, + { (char*) "Asia/Kabul" , 0x0283AF }, + { (char*) "Asia/Kamchatka" , 0x02845A }, + { (char*) "Asia/Karachi" , 0x02874F }, + { (char*) "Asia/Kashgar" , 0x028865 }, + { (char*) "Asia/Kathmandu" , 0x0288F6 }, + { (char*) "Asia/Katmandu" , 0x0289A3 }, + { (char*) "Asia/Khandyga" , 0x028A50 }, + { (char*) "Asia/Kolkata" , 0x028D81 }, + { (char*) "Asia/Krasnoyarsk" , 0x028E69 }, + { (char*) "Asia/Kuala_Lumpur" , 0x029173 }, + { (char*) "Asia/Kuching" , 0x029293 }, + { (char*) "Asia/Kuwait" , 0x0293ED }, + { (char*) "Asia/Macao" , 0x02947E }, + { (char*) "Asia/Macau" , 0x0297A1 }, + { (char*) "Asia/Magadan" , 0x029AC4 }, + { (char*) "Asia/Makassar" , 0x029DCF }, + { (char*) "Asia/Manila" , 0x029EE2 }, + { (char*) "Asia/Muscat" , 0x029FDC }, + { (char*) "Asia/Nicosia" , 0x02A06D }, + { (char*) "Asia/Novokuznetsk" , 0x02A2E1 }, + { (char*) "Asia/Novosibirsk" , 0x02A5D4 }, + { (char*) "Asia/Omsk" , 0x02A8E5 }, + { (char*) "Asia/Oral" , 0x02ABE3 }, + { (char*) "Asia/Phnom_Penh" , 0x02AE6F }, + { (char*) "Asia/Pontianak" , 0x02AF43 }, + { (char*) "Asia/Pyongyang" , 0x02B05C }, + { (char*) "Asia/Qatar" , 0x02B11F }, + { (char*) "Asia/Qostanay" , 0x02B1C3 }, + { (char*) "Asia/Qyzylorda" , 0x02B450 }, + { (char*) "Asia/Rangoon" , 0x02B6E9 }, + { (char*) "Asia/Riyadh" , 0x02B7B0 }, + { (char*) "Asia/Saigon" , 0x02B841 }, + { (char*) "Asia/Sakhalin" , 0x02B939 }, + { (char*) "Asia/Samarkand" , 0x02BC50 }, + { (char*) "Asia/Seoul" , 0x02BDDB }, + { (char*) "Asia/Shanghai" , 0x02BF86 }, + { (char*) "Asia/Singapore" , 0x02C127 }, + { (char*) "Asia/Srednekolymsk" , 0x02C233 }, + { (char*) "Asia/Taipei" , 0x02C547 }, + { (char*) "Asia/Tashkent" , 0x02C752 }, + { (char*) "Asia/Tbilisi" , 0x02C8DD }, + { (char*) "Asia/Tehran" , 0x02CB5E }, + { (char*) "Asia/Tel_Aviv" , 0x02CE96 }, + { (char*) "Asia/Thimbu" , 0x02D2D4 }, + { (char*) "Asia/Thimphu" , 0x02D37A }, + { (char*) "Asia/Tokyo" , 0x02D420 }, + { (char*) "Asia/Tomsk" , 0x02D501 }, + { (char*) "Asia/Ujung_Pandang" , 0x02D80C }, + { (char*) "Asia/Ulaanbaatar" , 0x02D8D6 }, + { (char*) "Asia/Ulan_Bator" , 0x02DB49 }, + { (char*) "Asia/Urumqi" , 0x02DDA7 }, + { (char*) "Asia/Ust-Nera" , 0x02DE45 }, + { (char*) "Asia/Vientiane" , 0x02E168 }, + { (char*) "Asia/Vladivostok" , 0x02E24E }, + { (char*) "Asia/Yakutsk" , 0x02E553 }, + { (char*) "Asia/Yangon" , 0x02E857 }, + { (char*) "Asia/Yekaterinburg" , 0x02E91E }, + { (char*) "Asia/Yerevan" , 0x02EC30 }, + { (char*) "Atlantic/Azores" , 0x02EF00 }, + { (char*) "Atlantic/Bermuda" , 0x02F4BF }, + { (char*) "Atlantic/Canary" , 0x02F8CB }, + { (char*) "Atlantic/Cape_Verde" , 0x02FAC3 }, + { (char*) "Atlantic/Faeroe" , 0x02FB7E }, + { (char*) "Atlantic/Faroe" , 0x02FD43 }, + { (char*) "Atlantic/Jan_Mayen" , 0x02FF08 }, + { (char*) "Atlantic/Madeira" , 0x0301D5 }, + { (char*) "Atlantic/Reykjavik" , 0x03079D }, + { (char*) "Atlantic/South_Georgia" , 0x030A9A }, + { (char*) "Atlantic/St_Helena" , 0x030B2A }, + { (char*) "Atlantic/Stanley" , 0x030BCB }, + { (char*) "Australia/ACT" , 0x030EEC }, + { (char*) "Australia/Adelaide" , 0x031280 }, + { (char*) "Australia/Brisbane" , 0x031634 }, + { (char*) "Australia/Broken_Hill" , 0x031778 }, + { (char*) "Australia/Canberra" , 0x031B4D }, + { (char*) "Australia/Currie" , 0x031EE1 }, + { (char*) "Australia/Darwin" , 0x0322D8 }, + { (char*) "Australia/Eucla" , 0x0323E0 }, + { (char*) "Australia/Hobart" , 0x03253F }, + { (char*) "Australia/LHI" , 0x03293E }, + { (char*) "Australia/Lindeman" , 0x032BFE }, + { (char*) "Australia/Lord_Howe" , 0x032D6E }, + { (char*) "Australia/Melbourne" , 0x03303E }, + { (char*) "Australia/North" , 0x0333DA }, + { (char*) "Australia/NSW" , 0x0334D0 }, + { (char*) "Australia/Perth" , 0x033864 }, + { (char*) "Australia/Queensland" , 0x0339C0 }, + { (char*) "Australia/South" , 0x033AED }, + { (char*) "Australia/Sydney" , 0x033E92 }, + { (char*) "Australia/Tasmania" , 0x034242 }, + { (char*) "Australia/Victoria" , 0x034639 }, + { (char*) "Australia/West" , 0x0349CD }, + { (char*) "Australia/Yancowinna" , 0x034B0B }, + { (char*) "Brazil/Acre" , 0x034EC4 }, + { (char*) "Brazil/DeNoronha" , 0x035072 }, + { (char*) "Brazil/East" , 0x035262 }, + { (char*) "Brazil/West" , 0x035626 }, + { (char*) "Canada/Atlantic" , 0x0357CE }, + { (char*) "Canada/Central" , 0x035E62 }, + { (char*) "Canada/Eastern" , 0x03637C }, + { (char*) "Canada/Mountain" , 0x036A3D }, + { (char*) "Canada/Newfoundland" , 0x036E13 }, + { (char*) "Canada/Pacific" , 0x037575 }, + { (char*) "Canada/Saskatchewan" , 0x037AB3 }, + { (char*) "Canada/Yukon" , 0x037D3D }, + { (char*) "CET" , 0x03814E }, + { (char*) "Chile/Continental" , 0x0383C7 }, + { (char*) "Chile/EasterIsland" , 0x03891D }, + { (char*) "CST6CDT" , 0x038DBF }, + { (char*) "Cuba" , 0x039182 }, + { (char*) "EET" , 0x0395EB }, + { (char*) "Egypt" , 0x0397E8 }, + { (char*) "Eire" , 0x039CF0 }, + { (char*) "EST" , 0x03A2D4 }, + { (char*) "EST5EDT" , 0x03A34F }, + { (char*) "Etc/GMT" , 0x03A712 }, + { (char*) "Etc/GMT+0" , 0x03A78D }, + { (char*) "Etc/GMT+1" , 0x03A808 }, + { (char*) "Etc/GMT+10" , 0x03A885 }, + { (char*) "Etc/GMT+11" , 0x03A903 }, + { (char*) "Etc/GMT+12" , 0x03A981 }, + { (char*) "Etc/GMT+2" , 0x03A9FF }, + { (char*) "Etc/GMT+3" , 0x03AA7C }, + { (char*) "Etc/GMT+4" , 0x03AAF9 }, + { (char*) "Etc/GMT+5" , 0x03AB76 }, + { (char*) "Etc/GMT+6" , 0x03ABF3 }, + { (char*) "Etc/GMT+7" , 0x03AC70 }, + { (char*) "Etc/GMT+8" , 0x03ACED }, + { (char*) "Etc/GMT+9" , 0x03AD6A }, + { (char*) "Etc/GMT-0" , 0x03ADE7 }, + { (char*) "Etc/GMT-1" , 0x03AE62 }, + { (char*) "Etc/GMT-10" , 0x03AEE0 }, + { (char*) "Etc/GMT-11" , 0x03AF5F }, + { (char*) "Etc/GMT-12" , 0x03AFDE }, + { (char*) "Etc/GMT-13" , 0x03B05D }, + { (char*) "Etc/GMT-14" , 0x03B0DC }, + { (char*) "Etc/GMT-2" , 0x03B15B }, + { (char*) "Etc/GMT-3" , 0x03B1D9 }, + { (char*) "Etc/GMT-4" , 0x03B257 }, + { (char*) "Etc/GMT-5" , 0x03B2D5 }, + { (char*) "Etc/GMT-6" , 0x03B353 }, + { (char*) "Etc/GMT-7" , 0x03B3D1 }, + { (char*) "Etc/GMT-8" , 0x03B44F }, + { (char*) "Etc/GMT-9" , 0x03B4CD }, + { (char*) "Etc/GMT0" , 0x03B54B }, + { (char*) "Etc/Greenwich" , 0x03B5C6 }, + { (char*) "Etc/UCT" , 0x03B641 }, + { (char*) "Etc/Universal" , 0x03B6BC }, + { (char*) "Etc/UTC" , 0x03B737 }, + { (char*) "Etc/Zulu" , 0x03B7B2 }, + { (char*) "Europe/Amsterdam" , 0x03B82D }, + { (char*) "Europe/Andorra" , 0x03BC68 }, + { (char*) "Europe/Astrakhan" , 0x03BDF9 }, + { (char*) "Europe/Athens" , 0x03C0ED }, + { (char*) "Europe/Belfast" , 0x03C3A3 }, + { (char*) "Europe/Belgrade" , 0x03C9EE }, + { (char*) "Europe/Berlin" , 0x03CBD8 }, + { (char*) "Europe/Bratislava" , 0x03CEB9 }, + { (char*) "Europe/Brussels" , 0x03D198 }, + { (char*) "Europe/Bucharest" , 0x03D5F3 }, + { (char*) "Europe/Budapest" , 0x03D894 }, + { (char*) "Europe/Busingen" , 0x03DB9E }, + { (char*) "Europe/Chisinau" , 0x03DDA3 }, + { (char*) "Europe/Copenhagen" , 0x03E0A2 }, + { (char*) "Europe/Dublin" , 0x03E31D }, + { (char*) "Europe/Gibraltar" , 0x03E901 }, + { (char*) "Europe/Guernsey" , 0x03EDD1 }, + { (char*) "Europe/Helsinki" , 0x03F428 }, + { (char*) "Europe/Isle_of_Man" , 0x03F615 }, + { (char*) "Europe/Istanbul" , 0x03FC60 }, + { (char*) "Europe/Jersey" , 0x04011C }, + { (char*) "Europe/Kaliningrad" , 0x040773 }, + { (char*) "Europe/Kiev" , 0x040B1B }, + { (char*) "Europe/Kirov" , 0x040D55 }, + { (char*) "Europe/Kyiv" , 0x04103C }, + { (char*) "Europe/Lisbon" , 0x04128A }, + { (char*) "Europe/Ljubljana" , 0x041857 }, + { (char*) "Europe/London" , 0x041A41 }, + { (char*) "Europe/Luxembourg" , 0x04208C }, + { (char*) "Europe/Madrid" , 0x0424D7 }, + { (char*) "Europe/Malta" , 0x042874 }, + { (char*) "Europe/Mariehamn" , 0x042C20 }, + { (char*) "Europe/Minsk" , 0x042E0D }, + { (char*) "Europe/Monaco" , 0x043141 }, + { (char*) "Europe/Moscow" , 0x0435A7 }, + { (char*) "Europe/Nicosia" , 0x043953 }, + { (char*) "Europe/Oslo" , 0x043BB4 }, + { (char*) "Europe/Paris" , 0x043E64 }, + { (char*) "Europe/Podgorica" , 0x0442C1 }, + { (char*) "Europe/Prague" , 0x0444AB }, + { (char*) "Europe/Riga" , 0x04478A }, + { (char*) "Europe/Rome" , 0x044A4C }, + { (char*) "Europe/Samara" , 0x044E0B }, + { (char*) "Europe/San_Marino" , 0x04510C }, + { (char*) "Europe/Sarajevo" , 0x0454CB }, + { (char*) "Europe/Saratov" , 0x0456B5 }, + { (char*) "Europe/Simferopol" , 0x0459A7 }, + { (char*) "Europe/Skopje" , 0x045D1A }, + { (char*) "Europe/Sofia" , 0x045F04 }, + { (char*) "Europe/Stockholm" , 0x046160 }, + { (char*) "Europe/Tallinn" , 0x04635D }, + { (char*) "Europe/Tirane" , 0x04660C }, + { (char*) "Europe/Tiraspol" , 0x046874 }, + { (char*) "Europe/Ulyanovsk" , 0x046B73 }, + { (char*) "Europe/Uzhgorod" , 0x046E89 }, + { (char*) "Europe/Vaduz" , 0x0470C3 }, + { (char*) "Europe/Vatican" , 0x0472AD }, + { (char*) "Europe/Vienna" , 0x04766C }, + { (char*) "Europe/Vilnius" , 0x04790A }, + { (char*) "Europe/Volgograd" , 0x047BBA }, + { (char*) "Europe/Warsaw" , 0x047EB7 }, + { (char*) "Europe/Zagreb" , 0x04825E }, + { (char*) "Europe/Zaporozhye" , 0x048448 }, + { (char*) "Europe/Zurich" , 0x048682 }, + { (char*) "Factory" , 0x04887F }, + { (char*) "GB" , 0x0488FC }, + { (char*) "GB-Eire" , 0x048F47 }, + { (char*) "GMT" , 0x049592 }, + { (char*) "GMT+0" , 0x04960D }, + { (char*) "GMT-0" , 0x049688 }, + { (char*) "GMT0" , 0x049703 }, + { (char*) "Greenwich" , 0x04977E }, + { (char*) "Hongkong" , 0x0497F9 }, + { (char*) "HST" , 0x049B0C }, + { (char*) "Iceland" , 0x049B88 }, + { (char*) "Indian/Antananarivo" , 0x049C16 }, + { (char*) "Indian/Chagos" , 0x049CC2 }, + { (char*) "Indian/Christmas" , 0x049D66 }, + { (char*) "Indian/Cocos" , 0x049DF7 }, + { (char*) "Indian/Comoro" , 0x049E8F }, + { (char*) "Indian/Kerguelen" , 0x049F1E }, + { (char*) "Indian/Mahe" , 0x049FAF }, + { (char*) "Indian/Maldives" , 0x04A040 }, + { (char*) "Indian/Mauritius" , 0x04A0E4 }, + { (char*) "Indian/Mayotte" , 0x04A1A3 }, + { (char*) "Indian/Reunion" , 0x04A232 }, + { (char*) "Iran" , 0x04A2C3 }, + { (char*) "Israel" , 0x04A5FB }, + { (char*) "Jamaica" , 0x04AA39 }, + { (char*) "Japan" , 0x04AB98 }, + { (char*) "Kwajalein" , 0x04AC79 }, + { (char*) "Libya" , 0x04AD60 }, + { (char*) "MET" , 0x04AF1B }, + { (char*) "Mexico/BajaNorte" , 0x04B194 }, + { (char*) "Mexico/BajaSur" , 0x04B5A1 }, + { (char*) "Mexico/General" , 0x04B87B }, + { (char*) "MST" , 0x04BB8C }, + { (char*) "MST7MDT" , 0x04BC07 }, + { (char*) "Navajo" , 0x04BFCA }, + { (char*) "NZ" , 0x04C3E8 }, + { (char*) "NZ-CHAT" , 0x04C807 }, + { (char*) "Pacific/Apia" , 0x04CB3B }, + { (char*) "Pacific/Auckland" , 0x04CCDE }, + { (char*) "Pacific/Bougainville" , 0x04D115 }, + { (char*) "Pacific/Chatham" , 0x04D1F6 }, + { (char*) "Pacific/Chuuk" , 0x04D539 }, + { (char*) "Pacific/Easter" , 0x04D617 }, + { (char*) "Pacific/Efate" , 0x04DAC6 }, + { (char*) "Pacific/Enderbury" , 0x04DC28 }, + { (char*) "Pacific/Fakaofo" , 0x04DCE0 }, + { (char*) "Pacific/Fiji" , 0x04DD85 }, + { (char*) "Pacific/Funafuti" , 0x04DF1D }, + { (char*) "Pacific/Galapagos" , 0x04DFAF }, + { (char*) "Pacific/Gambier" , 0x04E07B }, + { (char*) "Pacific/Guadalcanal" , 0x04E11A }, + { (char*) "Pacific/Guam" , 0x04E1AC }, + { (char*) "Pacific/Honolulu" , 0x04E316 }, + { (char*) "Pacific/Johnston" , 0x04E405 }, + { (char*) "Pacific/Kanton" , 0x04E4EE }, + { (char*) "Pacific/Kiritimati" , 0x04E5B5 }, + { (char*) "Pacific/Kosrae" , 0x04E67B }, + { (char*) "Pacific/Kwajalein" , 0x04E77F }, + { (char*) "Pacific/Majuro" , 0x04E86F }, + { (char*) "Pacific/Marquesas" , 0x04E972 }, + { (char*) "Pacific/Midway" , 0x04EA1A }, + { (char*) "Pacific/Nauru" , 0x04EADD }, + { (char*) "Pacific/Niue" , 0x04EBA0 }, + { (char*) "Pacific/Norfolk" , 0x04EC46 }, + { (char*) "Pacific/Noumea" , 0x04ED49 }, + { (char*) "Pacific/Pago_Pago" , 0x04EE1B }, + { (char*) "Pacific/Palau" , 0x04EEB9 }, + { (char*) "Pacific/Pitcairn" , 0x04EF59 }, + { (char*) "Pacific/Pohnpei" , 0x04EFFE }, + { (char*) "Pacific/Ponape" , 0x04F0EE }, + { (char*) "Pacific/Port_Moresby" , 0x04F180 }, + { (char*) "Pacific/Rarotonga" , 0x04F243 }, + { (char*) "Pacific/Saipan" , 0x04F3E5 }, + { (char*) "Pacific/Samoa" , 0x04F546 }, + { (char*) "Pacific/Tahiti" , 0x04F5E4 }, + { (char*) "Pacific/Tarawa" , 0x04F684 }, + { (char*) "Pacific/Tongatapu" , 0x04F725 }, + { (char*) "Pacific/Truk" , 0x04F81E }, + { (char*) "Pacific/Wake" , 0x04F8C4 }, + { (char*) "Pacific/Wallis" , 0x04F961 }, + { (char*) "Pacific/Yap" , 0x04F9F3 }, + { (char*) "Poland" , 0x04FA99 }, + { (char*) "Portugal" , 0x04FE40 }, + { (char*) "PRC" , 0x0503FA }, + { (char*) "PST8PDT" , 0x05058F }, + { (char*) "ROC" , 0x050952 }, + { (char*) "ROK" , 0x050B5D }, + { (char*) "Singapore" , 0x050D08 }, + { (char*) "Turkey" , 0x050E14 }, + { (char*) "UCT" , 0x0512D0 }, + { (char*) "Universal" , 0x05134B }, + { (char*) "US/Alaska" , 0x0513C6 }, + { (char*) "US/Aleutian" , 0x0517A3 }, + { (char*) "US/Arizona" , 0x051B78 }, + { (char*) "US/Central" , 0x051C74 }, + { (char*) "US/East-Indiana" , 0x05235A }, + { (char*) "US/Eastern" , 0x052579 }, + { (char*) "US/Hawaii" , 0x052C55 }, + { (char*) "US/Indiana-Starke" , 0x052D3E }, + { (char*) "US/Michigan" , 0x053142 }, + { (char*) "US/Mountain" , 0x0534D1 }, + { (char*) "US/Pacific" , 0x0538EF }, + { (char*) "US/Samoa" , 0x053E09 }, + { (char*) "UTC" , 0x053EA7 }, + { (char*) "W-SU" , 0x053F22 }, + { (char*) "WET" , 0x0542BA }, + { (char*) "Zulu" , 0x0544B4 }, }; -const unsigned char timelib_timezone_db_data_builtin[343096] = { +const unsigned char timelib_timezone_db_data_builtin[345391] = { /* Africa/Abidjan */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -2853,9 +2854,8 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0x8F, 0x80, 0x00, 0x10, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x14, 0x4C, 0x4D, 0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x50, 0x53, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x0A, 0x43, 0x53, 0x54, 0x36, 0x0A, 0x00, 0xA9, 0x11, 0x40, 0x00, 0x72, 0x0F, 0x38, -0x00, 0x00, 0x00, 0x20, 0x43, 0x65, 0x6E, 0x74, 0x72, 0x61, 0x6C, 0x20, 0x54, 0x69, 0x6D, 0x65, -0x20, 0x2D, 0x20, 0x42, 0x61, 0x68, 0x69, 0x61, 0x20, 0x64, 0x65, 0x20, 0x42, 0x61, 0x6E, 0x64, -0x65, 0x72, 0x61, 0x73, +0x00, 0x00, 0x00, 0x11, 0x42, 0x61, 0x68, 0x69, 0x61, 0x20, 0x64, 0x65, 0x20, 0x42, 0x61, 0x6E, +0x64, 0x65, 0x72, 0x61, 0x73, /* America/Barbados */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -3033,7 +3033,7 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0x5E, 0x9C, 0x34, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0x98, 0x58, 0x55, 0x70, 0x00, -0x00, 0x00, 0x00, 0x2A, 0x03, 0x73, 0x50, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xBE, 0x5D, 0x40, 0x01, +0x00, 0x00, 0x00, 0x2A, 0x03, 0x73, 0x50, 0x00, 0x00, 0x00, 0x00, 0x2B, 0x74, 0x89, 0x40, 0x01, 0x03, 0x02, 0x03, 0xFF, 0xFF, 0xBA, 0x90, 0x00, 0x00, 0xFF, 0xFF, 0xBA, 0x90, 0x00, 0x04, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x08, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x34, 0x00, 0x2D, 0x30, 0x35, 0x00, 0x0A, 0x3C, 0x2D, 0x30, 0x35, @@ -3161,10 +3161,17 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x25, 0xFF, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0xF2, 0xCD, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x89, 0x0C, 0x90, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x61, 0x18, 0x00, 0xFF, -0xFF, 0xFF, 0xFF, 0xF7, 0x2F, 0x5A, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x28, 0x85, 0xF0, 0x00, +0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x61, 0x18, 0x00, 0x00, +0x00, 0x00, 0x00, 0x04, 0x61, 0x19, 0x90, 0x00, 0x00, 0x00, 0x00, 0x05, 0x50, 0xFC, 0x80, 0x00, +0x00, 0x00, 0x00, 0x06, 0x40, 0xFB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x07, 0x30, 0xDE, 0x80, 0x00, +0x00, 0x00, 0x00, 0x08, 0x20, 0xDD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x09, 0x10, 0xC0, 0x80, 0x00, +0x00, 0x00, 0x00, 0x0A, 0x00, 0xBF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xF0, 0xA2, 0x80, 0x00, +0x00, 0x00, 0x00, 0x0B, 0xE0, 0xA1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xD9, 0xBF, 0x00, 0x00, +0x00, 0x00, 0x00, 0x0D, 0xC0, 0x83, 0x90, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xB9, 0xA1, 0x00, 0x00, +0x00, 0x00, 0x00, 0x0F, 0xA9, 0xA0, 0x10, 0x00, 0x00, 0x00, 0x00, 0x10, 0x99, 0x83, 0x00, 0x00, +0x00, 0x00, 0x00, 0x11, 0x89, 0x82, 0x10, 0x00, 0x00, 0x00, 0x00, 0x12, 0x79, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x64, 0x10, 0x00, 0x00, 0x00, 0x00, 0x14, 0x59, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x49, 0x46, 0x10, 0x00, 0x00, 0x00, 0x00, 0x16, 0x39, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x29, 0x28, 0x10, 0x00, 0x00, 0x00, 0x00, 0x18, 0x22, 0x45, 0x80, 0x00, @@ -3193,20 +3200,20 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0x00, 0x00, 0x00, 0x41, 0x84, 0x9B, 0x80, 0x00, 0x00, 0x00, 0x00, 0x42, 0x4F, 0xB0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x7D, 0x80, 0x00, 0x00, 0x00, 0x00, 0x44, 0x2F, 0x92, 0x90, 0x00, 0x00, 0x00, 0x00, 0x45, 0x44, 0x5F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x45, 0xF3, 0xC5, 0x10, 0x03, -0x01, 0x02, 0x03, 0x04, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x07, 0x06, 0x08, 0x07, -0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x08, 0xFF, -0xFF, 0x9D, 0x90, 0x00, 0x0C, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x10, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, -0x15, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x19, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x1D, 0xFF, 0xFF, 0xB9, -0xB0, 0x00, 0x21, 0x2D, 0x30, 0x30, 0x00, 0x4D, 0x57, 0x54, 0x00, 0x4D, 0x50, 0x54, 0x00, 0x4D, -0x53, 0x54, 0x00, 0x4D, 0x44, 0x44, 0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, -0x43, 0x53, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x0A, 0x4D, 0x53, 0x54, 0x37, 0x4D, 0x44, 0x54, -0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, 0x31, 0x2E, 0x30, 0x0A, -0x00, 0xF2, 0xC9, 0xDC, 0x00, 0x72, 0x5C, 0x42, 0x00, 0x00, 0x00, 0x14, 0x4D, 0x6F, 0x75, 0x6E, -0x74, 0x61, 0x69, 0x6E, 0x20, 0x2D, 0x20, 0x4E, 0x55, 0x20, 0x28, 0x77, 0x65, 0x73, 0x74, 0x29, - +0x01, 0x02, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x06, 0x05, 0x07, 0x06, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x08, 0xFF, 0xFF, 0x9D, +0x90, 0x00, 0x0C, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x10, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x14, 0xFF, +0xFF, 0xAB, 0xA0, 0x00, 0x18, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x1C, 0x2D, 0x30, 0x30, 0x00, 0x4D, +0x57, 0x54, 0x00, 0x4D, 0x50, 0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x43, +0x44, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x0A, 0x4D, 0x53, 0x54, 0x37, +0x4D, 0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, 0x31, +0x2E, 0x30, 0x0A, 0x00, 0xF2, 0xC9, 0xDC, 0x00, 0x72, 0x5C, 0x42, 0x00, 0x00, 0x00, 0x14, 0x4D, +0x6F, 0x75, 0x6E, 0x74, 0x61, 0x69, 0x6E, 0x20, 0x2D, 0x20, 0x4E, 0x55, 0x20, 0x28, 0x77, 0x65, +0x73, 0x74, 0x29, /* America/Campo_Grande */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x42, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -3306,10 +3313,8 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0xFF, 0xAB, 0xA0, 0x00, 0x04, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x08, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x0C, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x10, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x45, 0x44, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x0A, 0x45, 0x53, 0x54, 0x35, -0x0A, 0x00, 0xA9, 0x7F, 0xED, 0x00, 0x8E, 0x43, 0x45, 0x00, 0x00, 0x00, 0x24, 0x45, 0x61, 0x73, -0x74, 0x65, 0x72, 0x6E, 0x20, 0x53, 0x74, 0x61, 0x6E, 0x64, 0x61, 0x72, 0x64, 0x20, 0x54, 0x69, -0x6D, 0x65, 0x20, 0x2D, 0x20, 0x51, 0x75, 0x69, 0x6E, 0x74, 0x61, 0x6E, 0x61, 0x20, 0x52, 0x6F, -0x6F, +0x0A, 0x00, 0xA9, 0x7F, 0xED, 0x00, 0x8E, 0x43, 0x45, 0x00, 0x00, 0x00, 0x0C, 0x51, 0x75, 0x69, +0x6E, 0x74, 0x61, 0x6E, 0x61, 0x20, 0x52, 0x6F, 0x6F, /* America/Caracas */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x56, 0x45, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -3558,11 +3563,60 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0x00, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x08, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x0C, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x10, 0x4C, 0x4D, 0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x0A, 0x43, 0x53, -0x54, 0x36, 0x0A, 0x00, 0xB5, 0x05, 0x25, 0x00, 0x70, 0xC9, 0xB2, 0x00, 0x00, 0x00, 0x26, 0x4D, -0x6F, 0x75, 0x6E, 0x74, 0x61, 0x69, 0x6E, 0x20, 0x54, 0x69, 0x6D, 0x65, 0x20, 0x2D, 0x20, 0x43, +0x54, 0x36, 0x0A, 0x00, 0xB5, 0x05, 0x25, 0x00, 0x70, 0xC9, 0xB2, 0x00, 0x00, 0x00, 0x16, 0x43, 0x68, 0x69, 0x68, 0x75, 0x61, 0x68, 0x75, 0x61, 0x20, 0x28, 0x6D, 0x6F, 0x73, 0x74, 0x20, 0x61, 0x72, 0x65, 0x61, 0x73, 0x29, +/* America/Ciudad_Juarez */ +0x50, 0x48, 0x50, 0x32, 0x01, 0x4D, 0x58, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0xFF, +0xFF, 0xFF, 0xFF, 0xA5, 0xB6, 0xE8, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xAF, 0xF2, 0x6E, 0xE0, 0xFF, +0xFF, 0xFF, 0xFF, 0xB6, 0x66, 0x56, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0x43, 0xD2, 0x60, 0xFF, +0xFF, 0xFF, 0xFF, 0xB8, 0x0C, 0x36, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0xFD, 0x86, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x31, 0x67, 0x76, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x73, 0x08, 0x70, 0x00, +0x00, 0x00, 0x00, 0x33, 0x47, 0x58, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0xEA, 0x70, 0x00, +0x00, 0x00, 0x00, 0x35, 0x27, 0x48, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0xDA, 0x80, 0x00, +0x00, 0x00, 0x00, 0x37, 0x07, 0x2A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0xF7, 0x00, 0x00, +0x00, 0x00, 0x00, 0x38, 0xE7, 0x0C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0xD9, 0x00, 0x00, +0x00, 0x00, 0x00, 0x3A, 0xF5, 0x12, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xB6, 0xD1, 0x00, 0x00, +0x00, 0x00, 0x00, 0x3C, 0xB0, 0x0A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x9D, 0x00, 0x00, +0x00, 0x00, 0x00, 0x3E, 0x8F, 0xEC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x7F, 0x00, 0x00, +0x00, 0x00, 0x00, 0x40, 0x6F, 0xCE, 0x90, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x9B, 0x80, 0x00, +0x00, 0x00, 0x00, 0x42, 0x4F, 0xB0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x7D, 0x80, 0x00, +0x00, 0x00, 0x00, 0x44, 0x2F, 0x92, 0x90, 0x00, 0x00, 0x00, 0x00, 0x45, 0x44, 0x5F, 0x80, 0x00, +0x00, 0x00, 0x00, 0x46, 0x0F, 0x74, 0x90, 0x00, 0x00, 0x00, 0x00, 0x47, 0x24, 0x41, 0x80, 0x00, +0x00, 0x00, 0x00, 0x47, 0xF8, 0x91, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, 0x04, 0x23, 0x80, 0x00, +0x00, 0x00, 0x00, 0x49, 0xD8, 0x73, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xE4, 0x05, 0x80, 0x00, +0x00, 0x00, 0x00, 0x4B, 0x9C, 0xA5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4C, 0xD6, 0x5C, 0x80, 0x00, +0x00, 0x00, 0x00, 0x4D, 0x7C, 0x87, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4E, 0xB6, 0x3E, 0x80, 0x00, +0x00, 0x00, 0x00, 0x4F, 0x5C, 0x69, 0x90, 0x00, 0x00, 0x00, 0x00, 0x50, 0x96, 0x20, 0x80, 0x00, +0x00, 0x00, 0x00, 0x51, 0x3C, 0x4B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x52, 0x76, 0x02, 0x80, 0x00, +0x00, 0x00, 0x00, 0x53, 0x1C, 0x2D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x54, 0x55, 0xE4, 0x80, 0x00, +0x00, 0x00, 0x00, 0x54, 0xFC, 0x0F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, 0x35, 0xC6, 0x80, 0x00, +0x00, 0x00, 0x00, 0x56, 0xE5, 0x2C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x58, 0x1E, 0xE3, 0x00, 0x00, +0x00, 0x00, 0x00, 0x58, 0xC5, 0x0E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x59, 0xFE, 0xC5, 0x00, 0x00, +0x00, 0x00, 0x00, 0x5A, 0xA4, 0xF0, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5B, 0xDE, 0xA7, 0x00, 0x00, +0x00, 0x00, 0x00, 0x5C, 0x84, 0xD2, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5D, 0xBE, 0x89, 0x00, 0x00, +0x00, 0x00, 0x00, 0x5E, 0x64, 0xB4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x9E, 0x6B, 0x00, 0x00, +0x00, 0x00, 0x00, 0x60, 0x4D, 0xD0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x61, 0x87, 0x87, 0x80, 0x00, +0x00, 0x00, 0x00, 0x62, 0x2D, 0xB2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x63, 0x5E, 0x2F, 0x00, 0x00, +0x00, 0x00, 0x00, 0x63, 0x86, 0xF1, 0x60, 0x01, 0x02, 0x01, 0x03, 0x01, 0x02, 0x04, 0x02, 0x04, +0x02, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, +0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, +0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, +0x01, 0x03, 0x02, 0x01, 0xFF, 0xFF, 0x9C, 0x2C, 0x00, 0x00, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x04, +0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x08, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x0C, 0xFF, 0xFF, 0xB9, 0xB0, +0x01, 0x10, 0x4C, 0x4D, 0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x4D, 0x44, +0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x0A, 0x4D, 0x53, 0x54, 0x37, 0x4D, 0x44, 0x54, 0x2C, 0x4D, +0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, 0x31, 0x2E, 0x30, 0x0A, 0x00, 0xB9, +0xC0, 0x15, 0x00, 0x70, 0x2D, 0x72, 0x00, 0x00, 0x00, 0x1C, 0x43, 0x68, 0x69, 0x68, 0x75, 0x61, +0x68, 0x75, 0x61, 0x20, 0x28, 0x55, 0x53, 0x20, 0x62, 0x6F, 0x72, 0x64, 0x65, 0x72, 0x20, 0x2D, +0x20, 0x77, 0x65, 0x73, 0x74, 0x29, + /* America/Coral_Harbour */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -4432,9 +4486,9 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0xFF, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0C, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x80, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x4D, 0x7C, 0x50, 0x00, 0x00, 0x00, 0x00, 0x14, 0x33, 0xFA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x15, 0x23, 0xEB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x16, 0x13, 0xDC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x17, 0x03, 0xCD, 0x90, 0x00, @@ -4451,14 +4505,43 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0x00, 0x00, 0x00, 0x2A, 0xC5, 0x07, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xB4, 0xF8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xA4, 0xE9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x94, 0xDA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x84, 0xCB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x74, 0xBC, 0x90, 0x00, -0x00, 0x00, 0x00, 0x30, 0x64, 0xAD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0xD9, 0x10, 0x01, +0x00, 0x00, 0x00, 0x30, 0x64, 0xAD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0xD9, 0x10, 0x00, +0x00, 0x00, 0x00, 0x32, 0x72, 0xB4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x33, 0x3D, 0xBB, 0x10, 0x00, +0x00, 0x00, 0x00, 0x34, 0x52, 0x96, 0x10, 0x00, 0x00, 0x00, 0x00, 0x35, 0x1D, 0x9D, 0x10, 0x00, +0x00, 0x00, 0x00, 0x36, 0x32, 0x78, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0xFD, 0x7F, 0x10, 0x00, +0x00, 0x00, 0x00, 0x38, 0x1B, 0x94, 0x90, 0x00, 0x00, 0x00, 0x00, 0x38, 0xDD, 0x61, 0x10, 0x00, +0x00, 0x00, 0x00, 0x39, 0xFB, 0x76, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xBD, 0x43, 0x10, 0x00, +0x00, 0x00, 0x00, 0x3B, 0xDB, 0x58, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xA6, 0x5F, 0x90, 0x00, +0x00, 0x00, 0x00, 0x3D, 0xBB, 0x3A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x86, 0x41, 0x90, 0x00, +0x00, 0x00, 0x00, 0x3F, 0x9B, 0x1C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x40, 0x66, 0x23, 0x90, 0x00, +0x00, 0x00, 0x00, 0x41, 0x84, 0x39, 0x10, 0x00, 0x00, 0x00, 0x00, 0x42, 0x46, 0x05, 0x90, 0x00, +0x00, 0x00, 0x00, 0x43, 0x64, 0x1B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x44, 0x25, 0xE7, 0x90, 0x00, +0x00, 0x00, 0x00, 0x45, 0x43, 0xFD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x46, 0x05, 0xC9, 0x90, 0x00, +0x00, 0x00, 0x00, 0x47, 0x23, 0xDF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x47, 0xEE, 0xE6, 0x10, 0x00, +0x00, 0x00, 0x00, 0x49, 0x03, 0xC1, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, 0xCE, 0xC8, 0x10, 0x00, +0x00, 0x00, 0x00, 0x4A, 0xE3, 0xA3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4B, 0xAE, 0xAA, 0x10, 0x00, +0x00, 0x00, 0x00, 0x4C, 0xCC, 0xBF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x8E, 0x8C, 0x10, 0x00, +0x00, 0x00, 0x00, 0x4E, 0xAC, 0xA1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x6E, 0x6E, 0x10, 0x00, +0x00, 0x00, 0x00, 0x50, 0x8C, 0x83, 0x90, 0x00, 0x00, 0x00, 0x00, 0x51, 0x57, 0x8A, 0x90, 0x00, +0x00, 0x00, 0x00, 0x52, 0x6C, 0x65, 0x90, 0x00, 0x00, 0x00, 0x00, 0x53, 0x37, 0x6C, 0x90, 0x00, +0x00, 0x00, 0x00, 0x54, 0x4C, 0x47, 0x90, 0x00, 0x00, 0x00, 0x00, 0x55, 0x17, 0x4E, 0x90, 0x00, +0x00, 0x00, 0x00, 0x56, 0x2C, 0x29, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, 0xF7, 0x30, 0x90, 0x00, +0x00, 0x00, 0x00, 0x58, 0x15, 0x46, 0x10, 0x00, 0x00, 0x00, 0x00, 0x58, 0xD7, 0x12, 0x90, 0x00, +0x00, 0x00, 0x00, 0x59, 0xF5, 0x28, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xB6, 0xF4, 0x90, 0x00, +0x00, 0x00, 0x00, 0x5B, 0xD5, 0x0A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5C, 0xA0, 0x11, 0x10, 0x00, +0x00, 0x00, 0x00, 0x5D, 0xB4, 0xEC, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x7F, 0xF3, 0x10, 0x00, +0x00, 0x00, 0x00, 0x5F, 0x94, 0xCE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x60, 0x5F, 0xD5, 0x10, 0x00, +0x00, 0x00, 0x00, 0x61, 0x7D, 0xEA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x62, 0x3F, 0xB7, 0x10, 0x00, +0x00, 0x00, 0x00, 0x63, 0x5D, 0xCC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x64, 0x1F, 0x99, 0x10, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0xFF, 0xFF, 0xCF, 0x80, 0x00, 0x00, 0xFF, 0xFF, 0xD5, 0xD0, 0x00, 0x04, 0xFF, 0xFF, 0xE3, -0xE0, 0x01, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x33, 0x00, 0x2D, 0x30, 0x32, 0x00, 0x0A, -0x3C, 0x2D, 0x30, 0x33, 0x3E, 0x33, 0x3C, 0x2D, 0x30, 0x32, 0x3E, 0x2C, 0x4D, 0x33, 0x2E, 0x35, -0x2E, 0x30, 0x2F, 0x2D, 0x32, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x2D, 0x31, -0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0xFF, 0xFF, 0xCF, 0x80, 0x00, 0x00, 0xFF, 0xFF, 0xD5, +0xD0, 0x00, 0x04, 0xFF, 0xFF, 0xE3, 0xE0, 0x01, 0x08, 0xFF, 0xFF, 0xE3, 0xE0, 0x00, 0x08, 0x4C, +0x4D, 0x54, 0x00, 0x2D, 0x30, 0x33, 0x00, 0x2D, 0x30, 0x32, 0x00, 0x0A, 0x3C, 0x2D, 0x30, 0x32, +0x3E, 0x32, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* America/Goose_Bay */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -4893,9 +4976,8 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0x00, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x08, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x0C, 0xFF, 0xFF, 0x8F, 0x80, 0x00, 0x10, 0x4C, 0x4D, 0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x50, 0x53, 0x54, 0x00, 0x0A, 0x4D, 0x53, 0x54, 0x37, 0x0A, 0x00, 0xB5, -0xAE, 0x6A, 0x00, 0x69, 0x56, 0x25, 0x00, 0x00, 0x00, 0x1F, 0x4D, 0x6F, 0x75, 0x6E, 0x74, 0x61, -0x69, 0x6E, 0x20, 0x53, 0x74, 0x61, 0x6E, 0x64, 0x61, 0x72, 0x64, 0x20, 0x54, 0x69, 0x6D, 0x65, -0x20, 0x2D, 0x20, 0x53, 0x6F, 0x6E, 0x6F, 0x72, 0x61, +0xAE, 0x6A, 0x00, 0x69, 0x56, 0x25, 0x00, 0x00, 0x00, 0x06, 0x53, 0x6F, 0x6E, 0x6F, 0x72, 0x61, + /* America/Indiana/Indianapolis */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x55, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -5280,47 +5362,55 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x15, 0xFF, -0xFF, 0xFF, 0xFF, 0xE0, 0x06, 0x4E, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x2F, 0x68, 0x80, 0xFF, -0xFF, 0xFF, 0xFF, 0xF8, 0x28, 0x94, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x89, 0x90, 0x20, 0x00, -0x00, 0x00, 0x00, 0x13, 0x69, 0x64, 0x10, 0x00, 0x00, 0x00, 0x00, 0x14, 0x59, 0x47, 0x00, 0x00, -0x00, 0x00, 0x00, 0x15, 0x49, 0x46, 0x10, 0x00, 0x00, 0x00, 0x00, 0x16, 0x39, 0x29, 0x00, 0x00, -0x00, 0x00, 0x00, 0x17, 0x29, 0x28, 0x10, 0x00, 0x00, 0x00, 0x00, 0x18, 0x22, 0x45, 0x80, 0x00, -0x00, 0x00, 0x00, 0x19, 0x09, 0x0A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x02, 0x27, 0x80, 0x00, -0x00, 0x00, 0x00, 0x1A, 0xF2, 0x26, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xE2, 0x09, 0x80, 0x00, -0x00, 0x00, 0x00, 0x1C, 0xD2, 0x08, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xC1, 0xEB, 0x80, 0x00, -0x00, 0x00, 0x00, 0x1E, 0xB1, 0xEA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xA1, 0xCD, 0x80, 0x00, -0x00, 0x00, 0x00, 0x20, 0x76, 0x1D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x21, 0x81, 0xAF, 0x80, 0x00, -0x00, 0x00, 0x00, 0x22, 0x55, 0xFF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x23, 0x6A, 0xCC, 0x00, 0x00, -0x00, 0x00, 0x00, 0x24, 0x35, 0xE1, 0x10, 0x00, 0x00, 0x00, 0x00, 0x25, 0x4A, 0xAE, 0x00, 0x00, -0x00, 0x00, 0x00, 0x26, 0x15, 0xC3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x27, 0x2A, 0x90, 0x00, 0x00, -0x00, 0x00, 0x00, 0x27, 0xFE, 0xDF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, 0x0A, 0x72, 0x00, 0x00, -0x00, 0x00, 0x00, 0x29, 0xDE, 0xC1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xEA, 0x54, 0x00, 0x00, -0x00, 0x00, 0x00, 0x2B, 0xBE, 0xA3, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xD3, 0x70, 0x80, 0x00, -0x00, 0x00, 0x00, 0x2D, 0x9E, 0x85, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2E, 0xB3, 0x52, 0x80, 0x00, -0x00, 0x00, 0x00, 0x2F, 0x7E, 0x67, 0x90, 0x00, 0x00, 0x00, 0x00, 0x30, 0x93, 0x34, 0x80, 0x00, -0x00, 0x00, 0x00, 0x31, 0x67, 0x84, 0x10, 0x00, 0x00, 0x00, 0x00, 0x32, 0x73, 0x16, 0x80, 0x00, -0x00, 0x00, 0x00, 0x33, 0x47, 0x66, 0x10, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0xF8, 0x80, 0x00, -0x00, 0x00, 0x00, 0x35, 0x27, 0x48, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0xDA, 0x80, 0x00, -0x00, 0x00, 0x00, 0x37, 0x07, 0x2A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0xF7, 0x00, 0x00, -0x00, 0x00, 0x00, 0x38, 0xE7, 0x0C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0xD9, 0x00, 0x00, -0x00, 0x00, 0x00, 0x3A, 0xC6, 0xEE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0xBB, 0x00, 0x00, -0x00, 0x00, 0x00, 0x3C, 0xB0, 0x0A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x9D, 0x00, 0x00, -0x00, 0x00, 0x00, 0x3E, 0x8F, 0xEC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x7F, 0x00, 0x00, -0x00, 0x00, 0x00, 0x40, 0x6F, 0xCE, 0x90, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x9B, 0x80, 0x00, -0x00, 0x00, 0x00, 0x42, 0x4F, 0xB0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x7D, 0x80, 0x00, -0x00, 0x00, 0x00, 0x44, 0x2F, 0x92, 0x90, 0x00, 0x00, 0x00, 0x00, 0x45, 0x44, 0x5F, 0x80, 0x00, -0x00, 0x00, 0x00, 0x45, 0xF3, 0xC5, 0x10, 0x02, 0x01, 0x02, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, -0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, -0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, -0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, -0x03, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x04, 0xFF, 0xFF, -0x8F, 0x80, 0x00, 0x09, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x0D, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x11, -0x2D, 0x30, 0x30, 0x00, 0x50, 0x44, 0x44, 0x54, 0x00, 0x50, 0x53, 0x54, 0x00, 0x4D, 0x53, 0x54, -0x00, 0x4D, 0x44, 0x54, 0x00, 0x0A, 0x4D, 0x53, 0x54, 0x37, 0x4D, 0x44, 0x54, 0x2C, 0x4D, 0x33, -0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, 0x31, 0x2E, 0x30, 0x0A, 0x00, 0xF1, 0x9F, -0x5C, 0x00, 0x46, 0x9F, 0x6D, 0x00, 0x00, 0x00, 0x14, 0x4D, 0x6F, 0x75, 0x6E, 0x74, 0x61, 0x69, -0x6E, 0x20, 0x2D, 0x20, 0x4E, 0x54, 0x20, 0x28, 0x77, 0x65, 0x73, 0x74, 0x29, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0xFF, +0xFF, 0xFF, 0xFF, 0xE0, 0x06, 0x4E, 0x80, 0x00, 0x00, 0x00, 0x00, 0x04, 0x61, 0x27, 0xA0, 0x00, +0x00, 0x00, 0x00, 0x05, 0x51, 0x0A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x06, 0x41, 0x09, 0xA0, 0x00, +0x00, 0x00, 0x00, 0x07, 0x30, 0xEC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x08, 0x20, 0xEB, 0xA0, 0x00, +0x00, 0x00, 0x00, 0x09, 0x10, 0xCE, 0x90, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0xCD, 0xA0, 0x00, +0x00, 0x00, 0x00, 0x0A, 0xF0, 0xB0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xE0, 0xAF, 0xA0, 0x00, +0x00, 0x00, 0x00, 0x0C, 0xD9, 0xCD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x0D, 0xC0, 0x91, 0xA0, 0x00, +0x00, 0x00, 0x00, 0x0E, 0xB9, 0xAF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xA9, 0xAE, 0x20, 0x00, +0x00, 0x00, 0x00, 0x10, 0x99, 0x91, 0x10, 0x00, 0x00, 0x00, 0x00, 0x11, 0x89, 0x90, 0x20, 0x00, +0x00, 0x00, 0x00, 0x12, 0x79, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x64, 0x10, 0x00, +0x00, 0x00, 0x00, 0x14, 0x59, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x49, 0x46, 0x10, 0x00, +0x00, 0x00, 0x00, 0x16, 0x39, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x29, 0x28, 0x10, 0x00, +0x00, 0x00, 0x00, 0x18, 0x22, 0x45, 0x80, 0x00, 0x00, 0x00, 0x00, 0x19, 0x09, 0x0A, 0x10, 0x00, +0x00, 0x00, 0x00, 0x1A, 0x02, 0x27, 0x80, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xF2, 0x26, 0x90, 0x00, +0x00, 0x00, 0x00, 0x1B, 0xE2, 0x09, 0x80, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xD2, 0x08, 0x90, 0x00, +0x00, 0x00, 0x00, 0x1D, 0xC1, 0xEB, 0x80, 0x00, 0x00, 0x00, 0x00, 0x1E, 0xB1, 0xEA, 0x90, 0x00, +0x00, 0x00, 0x00, 0x1F, 0xA1, 0xCD, 0x80, 0x00, 0x00, 0x00, 0x00, 0x20, 0x76, 0x1D, 0x10, 0x00, +0x00, 0x00, 0x00, 0x21, 0x81, 0xAF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x22, 0x55, 0xFF, 0x10, 0x00, +0x00, 0x00, 0x00, 0x23, 0x6A, 0xCC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x35, 0xE1, 0x10, 0x00, +0x00, 0x00, 0x00, 0x25, 0x4A, 0xAE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x26, 0x15, 0xC3, 0x10, 0x00, +0x00, 0x00, 0x00, 0x27, 0x2A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0xFE, 0xDF, 0x90, 0x00, +0x00, 0x00, 0x00, 0x29, 0x0A, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x29, 0xDE, 0xC1, 0x90, 0x00, +0x00, 0x00, 0x00, 0x2A, 0xEA, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xBE, 0xA3, 0x90, 0x00, +0x00, 0x00, 0x00, 0x2C, 0xD3, 0x70, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x9E, 0x85, 0x90, 0x00, +0x00, 0x00, 0x00, 0x2E, 0xB3, 0x52, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x7E, 0x67, 0x90, 0x00, +0x00, 0x00, 0x00, 0x30, 0x93, 0x34, 0x80, 0x00, 0x00, 0x00, 0x00, 0x31, 0x67, 0x84, 0x10, 0x00, +0x00, 0x00, 0x00, 0x32, 0x73, 0x16, 0x80, 0x00, 0x00, 0x00, 0x00, 0x33, 0x47, 0x66, 0x10, 0x00, +0x00, 0x00, 0x00, 0x34, 0x52, 0xF8, 0x80, 0x00, 0x00, 0x00, 0x00, 0x35, 0x27, 0x48, 0x10, 0x00, +0x00, 0x00, 0x00, 0x36, 0x32, 0xDA, 0x80, 0x00, 0x00, 0x00, 0x00, 0x37, 0x07, 0x2A, 0x10, 0x00, +0x00, 0x00, 0x00, 0x38, 0x1B, 0xF7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0xE7, 0x0C, 0x10, 0x00, +0x00, 0x00, 0x00, 0x39, 0xFB, 0xD9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xC6, 0xEE, 0x10, 0x00, +0x00, 0x00, 0x00, 0x3B, 0xDB, 0xBB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xB0, 0x0A, 0x90, 0x00, +0x00, 0x00, 0x00, 0x3D, 0xBB, 0x9D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x8F, 0xEC, 0x90, 0x00, +0x00, 0x00, 0x00, 0x3F, 0x9B, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x6F, 0xCE, 0x90, 0x00, +0x00, 0x00, 0x00, 0x41, 0x84, 0x9B, 0x80, 0x00, 0x00, 0x00, 0x00, 0x42, 0x4F, 0xB0, 0x90, 0x00, +0x00, 0x00, 0x00, 0x43, 0x64, 0x7D, 0x80, 0x00, 0x00, 0x00, 0x00, 0x44, 0x2F, 0x92, 0x90, 0x00, +0x00, 0x00, 0x00, 0x45, 0x44, 0x5F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x45, 0xF3, 0xC5, 0x10, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x9D, +0x90, 0x01, 0x04, 0xFF, 0xFF, 0x8F, 0x80, 0x00, 0x08, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x0C, 0xFF, +0xFF, 0xAB, 0xA0, 0x01, 0x10, 0x2D, 0x30, 0x30, 0x00, 0x50, 0x44, 0x54, 0x00, 0x50, 0x53, 0x54, +0x00, 0x4D, 0x53, 0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x0A, 0x4D, 0x53, 0x54, 0x37, 0x4D, 0x44, +0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, 0x31, 0x2E, 0x30, +0x0A, 0x00, 0xF1, 0x9F, 0x5C, 0x00, 0x46, 0x9F, 0x6D, 0x00, 0x00, 0x00, 0x14, 0x4D, 0x6F, 0x75, +0x6E, 0x74, 0x61, 0x69, 0x6E, 0x20, 0x2D, 0x20, 0x4E, 0x54, 0x20, 0x28, 0x77, 0x65, 0x73, 0x74, +0x29, /* America/Iqaluit */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -5328,10 +5418,17 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x21, 0xFF, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4A, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x1C, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0xA1, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xFB, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x2F, 0x3E, 0x50, 0xFF, -0xFF, 0xFF, 0xFF, 0xF8, 0x28, 0x69, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x47, 0xF0, 0x00, +0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xFB, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x04, 0x60, 0xFD, 0x70, 0x00, +0x00, 0x00, 0x00, 0x05, 0x50, 0xE0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x06, 0x40, 0xDF, 0x70, 0x00, +0x00, 0x00, 0x00, 0x07, 0x30, 0xC2, 0x60, 0x00, 0x00, 0x00, 0x00, 0x08, 0x20, 0xC1, 0x70, 0x00, +0x00, 0x00, 0x00, 0x09, 0x10, 0xA4, 0x60, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0xA3, 0x70, 0x00, +0x00, 0x00, 0x00, 0x0A, 0xF0, 0x86, 0x60, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xE0, 0x85, 0x70, 0x00, +0x00, 0x00, 0x00, 0x0C, 0xD9, 0xA2, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0D, 0xC0, 0x67, 0x70, 0x00, +0x00, 0x00, 0x00, 0x0E, 0xB9, 0x84, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xA9, 0x83, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x10, 0x99, 0x66, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x11, 0x89, 0x65, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x12, 0x79, 0x48, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x47, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x14, 0x59, 0x2A, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x15, 0x49, 0x29, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x39, 0x0C, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x17, 0x29, 0x0B, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x18, 0x22, 0x29, 0x60, 0x00, 0x00, 0x00, 0x00, 0x19, 0x08, 0xED, 0xF0, 0x00, @@ -5358,20 +5455,20 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x62, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x40, 0x6F, 0xB2, 0x70, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x7F, 0x60, 0x00, 0x00, 0x00, 0x00, 0x42, 0x4F, 0x94, 0x70, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x61, 0x60, 0x00, 0x00, 0x00, 0x00, 0x44, 0x2F, 0x76, 0x70, 0x00, -0x00, 0x00, 0x00, 0x45, 0x44, 0x43, 0x60, 0x00, 0x00, 0x00, 0x00, 0x45, 0xF3, 0xA8, 0xF0, 0x05, -0x01, 0x02, 0x03, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, -0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, -0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x06, 0x07, 0x02, 0x04, 0x02, -0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0xFF, 0xFF, 0xD5, -0xD0, 0x01, 0x0C, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x11, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x15, 0xFF, -0xFF, 0xAB, 0xA0, 0x00, 0x19, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x1D, 0x2D, 0x30, 0x30, 0x00, 0x45, -0x50, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x45, 0x44, 0x44, 0x54, 0x00, 0x45, 0x44, 0x54, 0x00, -0x45, 0x57, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x0A, 0x45, 0x53, 0x54, -0x35, 0x45, 0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, -0x31, 0x2E, 0x30, 0x0A, 0x00, 0xEA, 0x94, 0x15, 0x00, 0xAA, 0x2F, 0xB5, 0x00, 0x00, 0x00, 0x1E, -0x45, 0x61, 0x73, 0x74, 0x65, 0x72, 0x6E, 0x20, 0x2D, 0x20, 0x4E, 0x55, 0x20, 0x28, 0x6D, 0x6F, -0x73, 0x74, 0x20, 0x65, 0x61, 0x73, 0x74, 0x20, 0x61, 0x72, 0x65, 0x61, 0x73, 0x29, +0x00, 0x00, 0x00, 0x45, 0x44, 0x43, 0x60, 0x00, 0x00, 0x00, 0x00, 0x45, 0xF3, 0xA8, 0xF0, 0x04, +0x01, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x05, 0x06, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, +0xFF, 0xC7, 0xC0, 0x01, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, +0x0C, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x10, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x14, 0xFF, 0xFF, 0xB9, +0xB0, 0x01, 0x18, 0x2D, 0x30, 0x30, 0x00, 0x45, 0x50, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x45, +0x44, 0x54, 0x00, 0x45, 0x57, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x0A, +0x45, 0x53, 0x54, 0x35, 0x45, 0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, +0x31, 0x31, 0x2E, 0x31, 0x2E, 0x30, 0x0A, 0x00, 0xEA, 0x94, 0x15, 0x00, 0xAA, 0x2F, 0xB5, 0x00, +0x00, 0x00, 0x19, 0x45, 0x61, 0x73, 0x74, 0x65, 0x72, 0x6E, 0x20, 0x2D, 0x20, 0x4E, 0x55, 0x20, +0x28, 0x6D, 0x6F, 0x73, 0x74, 0x20, 0x61, 0x72, 0x65, 0x61, 0x73, 0x29, /* America/Jamaica */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4A, 0x4D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -6097,10 +6194,9 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x0A, 0x43, 0x53, 0x54, 0x36, 0x43, 0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, 0x31, 0x2E, 0x30, 0x0A, 0x00, 0xB0, 0xBF, 0x65, 0x00, 0x7D, 0xE2, 0x90, 0x00, 0x00, 0x00, -0x3E, 0x43, 0x65, 0x6E, 0x74, 0x72, 0x61, 0x6C, 0x20, 0x54, 0x69, 0x6D, 0x65, 0x20, 0x55, 0x53, -0x20, 0x2D, 0x20, 0x43, 0x6F, 0x61, 0x68, 0x75, 0x69, 0x6C, 0x61, 0x2C, 0x20, 0x4E, 0x75, 0x65, -0x76, 0x6F, 0x20, 0x4C, 0x65, 0x6F, 0x6E, 0x2C, 0x20, 0x54, 0x61, 0x6D, 0x61, 0x75, 0x6C, 0x69, -0x70, 0x61, 0x73, 0x20, 0x28, 0x55, 0x53, 0x20, 0x62, 0x6F, 0x72, 0x64, 0x65, 0x72, 0x29, +0x2C, 0x43, 0x6F, 0x61, 0x68, 0x75, 0x69, 0x6C, 0x61, 0x2C, 0x20, 0x4E, 0x75, 0x65, 0x76, 0x6F, +0x20, 0x4C, 0x65, 0x6F, 0x6E, 0x2C, 0x20, 0x54, 0x61, 0x6D, 0x61, 0x75, 0x6C, 0x69, 0x70, 0x61, +0x73, 0x20, 0x28, 0x55, 0x53, 0x20, 0x62, 0x6F, 0x72, 0x64, 0x65, 0x72, 0x29, /* America/Mazatlan */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4D, 0x58, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -6148,10 +6244,10 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0x00, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x08, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x0C, 0xFF, 0xFF, 0x8F, 0x80, 0x00, 0x10, 0x4C, 0x4D, 0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x50, 0x53, 0x54, 0x00, 0x0A, 0x4D, 0x53, 0x54, 0x37, 0x0A, 0x00, 0xAC, -0xC1, 0x42, 0x00, 0x70, 0x47, 0x7D, 0x00, 0x00, 0x00, 0x35, 0x4D, 0x6F, 0x75, 0x6E, 0x74, 0x61, -0x69, 0x6E, 0x20, 0x54, 0x69, 0x6D, 0x65, 0x20, 0x2D, 0x20, 0x42, 0x61, 0x6A, 0x61, 0x20, 0x43, +0xC1, 0x42, 0x00, 0x70, 0x47, 0x7D, 0x00, 0x00, 0x00, 0x32, 0x42, 0x61, 0x6A, 0x61, 0x20, 0x43, 0x61, 0x6C, 0x69, 0x66, 0x6F, 0x72, 0x6E, 0x69, 0x61, 0x20, 0x53, 0x75, 0x72, 0x2C, 0x20, 0x4E, -0x61, 0x79, 0x61, 0x72, 0x69, 0x74, 0x2C, 0x20, 0x53, 0x69, 0x6E, 0x61, 0x6C, 0x6F, 0x61, +0x61, 0x79, 0x61, 0x72, 0x69, 0x74, 0x20, 0x28, 0x6D, 0x6F, 0x73, 0x74, 0x20, 0x61, 0x72, 0x65, +0x61, 0x73, 0x29, 0x2C, 0x20, 0x53, 0x69, 0x6E, 0x61, 0x6C, 0x6F, 0x61, /* America/Mendoza */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -6306,9 +6402,8 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0xFF, 0xFF, 0xAB, 0xFC, 0x00, 0x00, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x0A, 0x43, 0x53, 0x54, 0x36, 0x0A, 0x00, 0xA9, -0x52, 0x5A, 0x00, 0x89, 0xE9, 0xFD, 0x00, 0x00, 0x00, 0x20, 0x43, 0x65, 0x6E, 0x74, 0x72, 0x61, -0x6C, 0x20, 0x54, 0x69, 0x6D, 0x65, 0x20, 0x2D, 0x20, 0x43, 0x61, 0x6D, 0x70, 0x65, 0x63, 0x68, -0x65, 0x2C, 0x20, 0x59, 0x75, 0x63, 0x61, 0x74, 0x61, 0x6E, +0x52, 0x5A, 0x00, 0x89, 0xE9, 0xFD, 0x00, 0x00, 0x00, 0x11, 0x43, 0x61, 0x6D, 0x70, 0x65, 0x63, +0x68, 0x65, 0x2C, 0x20, 0x59, 0x75, 0x63, 0x61, 0x74, 0x61, 0x6E, /* America/Metlakatla */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x55, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -6402,7 +6497,7 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0x10, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x14, 0x4C, 0x4D, 0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x43, 0x57, 0x54, 0x00, 0x0A, 0x43, 0x53, 0x54, 0x36, 0x0A, 0x00, 0xA6, 0xEE, 0x60, 0x00, 0x7B, 0x5E, 0x07, 0x00, 0x00, 0x00, -0x0C, 0x43, 0x65, 0x6E, 0x74, 0x72, 0x61, 0x6C, 0x20, 0x54, 0x69, 0x6D, 0x65, +0x0E, 0x43, 0x65, 0x6E, 0x74, 0x72, 0x61, 0x6C, 0x20, 0x4D, 0x65, 0x78, 0x69, 0x63, 0x6F, /* America/Miquelon */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x50, 0x4D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -6581,12 +6676,11 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0xFF, 0xFF, 0xA1, 0xF4, 0x00, 0x00, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x0A, 0x43, -0x53, 0x54, 0x36, 0x0A, 0x00, 0xB0, 0x7E, 0x4A, 0x00, 0x79, 0x96, 0x4D, 0x00, 0x00, 0x00, 0x45, -0x43, 0x65, 0x6E, 0x74, 0x72, 0x61, 0x6C, 0x20, 0x54, 0x69, 0x6D, 0x65, 0x20, 0x2D, 0x20, 0x44, -0x75, 0x72, 0x61, 0x6E, 0x67, 0x6F, 0x3B, 0x20, 0x43, 0x6F, 0x61, 0x68, 0x75, 0x69, 0x6C, 0x61, -0x2C, 0x20, 0x4E, 0x75, 0x65, 0x76, 0x6F, 0x20, 0x4C, 0x65, 0x6F, 0x6E, 0x2C, 0x20, 0x54, 0x61, -0x6D, 0x61, 0x75, 0x6C, 0x69, 0x70, 0x61, 0x73, 0x20, 0x28, 0x6D, 0x6F, 0x73, 0x74, 0x20, 0x61, -0x72, 0x65, 0x61, 0x73, 0x29, +0x53, 0x54, 0x36, 0x0A, 0x00, 0xB0, 0x7E, 0x4A, 0x00, 0x79, 0x96, 0x4D, 0x00, 0x00, 0x00, 0x36, +0x44, 0x75, 0x72, 0x61, 0x6E, 0x67, 0x6F, 0x3B, 0x20, 0x43, 0x6F, 0x61, 0x68, 0x75, 0x69, 0x6C, +0x61, 0x2C, 0x20, 0x4E, 0x75, 0x65, 0x76, 0x6F, 0x20, 0x4C, 0x65, 0x6F, 0x6E, 0x2C, 0x20, 0x54, +0x61, 0x6D, 0x61, 0x75, 0x6C, 0x69, 0x70, 0x61, 0x73, 0x20, 0x28, 0x6D, 0x6F, 0x73, 0x74, 0x20, +0x61, 0x72, 0x65, 0x61, 0x73, 0x29, /* America/Montevideo */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x55, 0x59, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -7372,9 +7466,9 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0x50, 0x48, 0x50, 0x32, 0x01, 0x47, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0xFF, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0C, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x80, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x4D, 0x7C, 0x50, 0x00, 0x00, 0x00, 0x00, 0x14, 0x33, 0xFA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x15, 0x23, 0xEB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x16, 0x13, 0xDC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x17, 0x03, 0xCD, 0x90, 0x00, @@ -7391,16 +7485,45 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0x00, 0x00, 0x00, 0x2A, 0xC5, 0x07, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xB4, 0xF8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xA4, 0xE9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x94, 0xDA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x84, 0xCB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x74, 0xBC, 0x90, 0x00, -0x00, 0x00, 0x00, 0x30, 0x64, 0xAD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0xD9, 0x10, 0x01, +0x00, 0x00, 0x00, 0x30, 0x64, 0xAD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0xD9, 0x10, 0x00, +0x00, 0x00, 0x00, 0x32, 0x72, 0xB4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x33, 0x3D, 0xBB, 0x10, 0x00, +0x00, 0x00, 0x00, 0x34, 0x52, 0x96, 0x10, 0x00, 0x00, 0x00, 0x00, 0x35, 0x1D, 0x9D, 0x10, 0x00, +0x00, 0x00, 0x00, 0x36, 0x32, 0x78, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0xFD, 0x7F, 0x10, 0x00, +0x00, 0x00, 0x00, 0x38, 0x1B, 0x94, 0x90, 0x00, 0x00, 0x00, 0x00, 0x38, 0xDD, 0x61, 0x10, 0x00, +0x00, 0x00, 0x00, 0x39, 0xFB, 0x76, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xBD, 0x43, 0x10, 0x00, +0x00, 0x00, 0x00, 0x3B, 0xDB, 0x58, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xA6, 0x5F, 0x90, 0x00, +0x00, 0x00, 0x00, 0x3D, 0xBB, 0x3A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x86, 0x41, 0x90, 0x00, +0x00, 0x00, 0x00, 0x3F, 0x9B, 0x1C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x40, 0x66, 0x23, 0x90, 0x00, +0x00, 0x00, 0x00, 0x41, 0x84, 0x39, 0x10, 0x00, 0x00, 0x00, 0x00, 0x42, 0x46, 0x05, 0x90, 0x00, +0x00, 0x00, 0x00, 0x43, 0x64, 0x1B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x44, 0x25, 0xE7, 0x90, 0x00, +0x00, 0x00, 0x00, 0x45, 0x43, 0xFD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x46, 0x05, 0xC9, 0x90, 0x00, +0x00, 0x00, 0x00, 0x47, 0x23, 0xDF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x47, 0xEE, 0xE6, 0x10, 0x00, +0x00, 0x00, 0x00, 0x49, 0x03, 0xC1, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, 0xCE, 0xC8, 0x10, 0x00, +0x00, 0x00, 0x00, 0x4A, 0xE3, 0xA3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4B, 0xAE, 0xAA, 0x10, 0x00, +0x00, 0x00, 0x00, 0x4C, 0xCC, 0xBF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x8E, 0x8C, 0x10, 0x00, +0x00, 0x00, 0x00, 0x4E, 0xAC, 0xA1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x6E, 0x6E, 0x10, 0x00, +0x00, 0x00, 0x00, 0x50, 0x8C, 0x83, 0x90, 0x00, 0x00, 0x00, 0x00, 0x51, 0x57, 0x8A, 0x90, 0x00, +0x00, 0x00, 0x00, 0x52, 0x6C, 0x65, 0x90, 0x00, 0x00, 0x00, 0x00, 0x53, 0x37, 0x6C, 0x90, 0x00, +0x00, 0x00, 0x00, 0x54, 0x4C, 0x47, 0x90, 0x00, 0x00, 0x00, 0x00, 0x55, 0x17, 0x4E, 0x90, 0x00, +0x00, 0x00, 0x00, 0x56, 0x2C, 0x29, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, 0xF7, 0x30, 0x90, 0x00, +0x00, 0x00, 0x00, 0x58, 0x15, 0x46, 0x10, 0x00, 0x00, 0x00, 0x00, 0x58, 0xD7, 0x12, 0x90, 0x00, +0x00, 0x00, 0x00, 0x59, 0xF5, 0x28, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xB6, 0xF4, 0x90, 0x00, +0x00, 0x00, 0x00, 0x5B, 0xD5, 0x0A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5C, 0xA0, 0x11, 0x10, 0x00, +0x00, 0x00, 0x00, 0x5D, 0xB4, 0xEC, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x7F, 0xF3, 0x10, 0x00, +0x00, 0x00, 0x00, 0x5F, 0x94, 0xCE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x60, 0x5F, 0xD5, 0x10, 0x00, +0x00, 0x00, 0x00, 0x61, 0x7D, 0xEA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x62, 0x3F, 0xB7, 0x10, 0x00, +0x00, 0x00, 0x00, 0x63, 0x5D, 0xCC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x64, 0x1F, 0x99, 0x10, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0xFF, 0xFF, 0xCF, 0x80, 0x00, 0x00, 0xFF, 0xFF, 0xD5, 0xD0, 0x00, 0x04, 0xFF, 0xFF, 0xE3, -0xE0, 0x01, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x33, 0x00, 0x2D, 0x30, 0x32, 0x00, 0x0A, -0x3C, 0x2D, 0x30, 0x33, 0x3E, 0x33, 0x3C, 0x2D, 0x30, 0x32, 0x3E, 0x2C, 0x4D, 0x33, 0x2E, 0x35, -0x2E, 0x30, 0x2F, 0x2D, 0x32, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x2D, 0x31, -0x0A, 0x00, 0xEB, 0x43, 0xDD, 0x00, 0xC3, 0xB8, 0x2A, 0x00, 0x00, 0x00, 0x16, 0x47, 0x72, 0x65, -0x65, 0x6E, 0x6C, 0x61, 0x6E, 0x64, 0x20, 0x28, 0x6D, 0x6F, 0x73, 0x74, 0x20, 0x61, 0x72, 0x65, -0x61, 0x73, 0x29, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0xFF, 0xFF, 0xCF, 0x80, 0x00, 0x00, 0xFF, 0xFF, 0xD5, +0xD0, 0x00, 0x04, 0xFF, 0xFF, 0xE3, 0xE0, 0x01, 0x08, 0xFF, 0xFF, 0xE3, 0xE0, 0x00, 0x08, 0x4C, +0x4D, 0x54, 0x00, 0x2D, 0x30, 0x33, 0x00, 0x2D, 0x30, 0x32, 0x00, 0x0A, 0x3C, 0x2D, 0x30, 0x32, +0x3E, 0x32, 0x0A, 0x00, 0xEB, 0x43, 0xDD, 0x00, 0xC3, 0xB8, 0x2A, 0x00, 0x00, 0x00, 0x16, 0x47, +0x72, 0x65, 0x65, 0x6E, 0x6C, 0x61, 0x6E, 0x64, 0x20, 0x28, 0x6D, 0x6F, 0x73, 0x74, 0x20, 0x61, +0x72, 0x65, 0x61, 0x73, 0x29, /* America/Ojinaga */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4D, 0x58, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -7446,10 +7569,10 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0x00, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x08, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x0C, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x10, 0x4C, 0x4D, 0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x0A, 0x43, 0x53, -0x54, 0x36, 0x0A, 0x00, 0xB6, 0x71, 0xBA, 0x00, 0x73, 0x54, 0xBD, 0x00, 0x00, 0x00, 0x28, 0x4D, -0x6F, 0x75, 0x6E, 0x74, 0x61, 0x69, 0x6E, 0x20, 0x54, 0x69, 0x6D, 0x65, 0x20, 0x55, 0x53, 0x20, -0x2D, 0x20, 0x43, 0x68, 0x69, 0x68, 0x75, 0x61, 0x68, 0x75, 0x61, 0x20, 0x28, 0x55, 0x53, 0x20, -0x62, 0x6F, 0x72, 0x64, 0x65, 0x72, 0x29, +0x54, 0x36, 0x43, 0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, +0x2E, 0x31, 0x2E, 0x30, 0x0A, 0x00, 0xB6, 0x71, 0xBA, 0x00, 0x73, 0x54, 0xBD, 0x00, 0x00, 0x00, +0x1C, 0x43, 0x68, 0x69, 0x68, 0x75, 0x61, 0x68, 0x75, 0x61, 0x20, 0x28, 0x55, 0x53, 0x20, 0x62, +0x6F, 0x72, 0x64, 0x65, 0x72, 0x20, 0x2D, 0x20, 0x65, 0x61, 0x73, 0x74, 0x29, /* America/Panama */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x50, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -7465,57 +7588,61 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0x00, /* America/Pangnirtung */ -0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x29, 0xFF, -0xFF, 0xFF, 0xFF, 0xA3, 0xD5, 0x52, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x88, 0xE2, 0x60, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0xFF, -0xFF, 0xFF, 0xFF, 0xF7, 0x2F, 0x30, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x28, 0x5B, 0xC0, 0x00, -0x00, 0x00, 0x00, 0x13, 0x69, 0x39, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x14, 0x59, 0x1C, 0xD0, 0x00, -0x00, 0x00, 0x00, 0x15, 0x49, 0x1B, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x38, 0xFE, 0xD0, 0x00, -0x00, 0x00, 0x00, 0x17, 0x28, 0xFD, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x18, 0x22, 0x1B, 0x50, 0x00, -0x00, 0x00, 0x00, 0x19, 0x08, 0xDF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x01, 0xFD, 0x50, 0x00, -0x00, 0x00, 0x00, 0x1A, 0xF1, 0xFC, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xE1, 0xDF, 0x50, 0x00, -0x00, 0x00, 0x00, 0x1C, 0xD1, 0xDE, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xC1, 0xC1, 0x50, 0x00, -0x00, 0x00, 0x00, 0x1E, 0xB1, 0xC0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xA1, 0xA3, 0x50, 0x00, -0x00, 0x00, 0x00, 0x20, 0x75, 0xF2, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x21, 0x81, 0x85, 0x50, 0x00, -0x00, 0x00, 0x00, 0x22, 0x55, 0xD4, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x23, 0x6A, 0xA1, 0xD0, 0x00, -0x00, 0x00, 0x00, 0x24, 0x35, 0xB6, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x25, 0x4A, 0x83, 0xD0, 0x00, -0x00, 0x00, 0x00, 0x26, 0x15, 0x98, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x27, 0x2A, 0x65, 0xD0, 0x00, -0x00, 0x00, 0x00, 0x27, 0xFE, 0xB5, 0x60, 0x00, 0x00, 0x00, 0x00, 0x29, 0x0A, 0x47, 0xD0, 0x00, -0x00, 0x00, 0x00, 0x29, 0xDE, 0x97, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xEA, 0x29, 0xD0, 0x00, -0x00, 0x00, 0x00, 0x2B, 0xBE, 0x79, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xD3, 0x46, 0x50, 0x00, -0x00, 0x00, 0x00, 0x2D, 0x9E, 0x5B, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2E, 0xB3, 0x28, 0x50, 0x00, -0x00, 0x00, 0x00, 0x2F, 0x7E, 0x3D, 0x60, 0x00, 0x00, 0x00, 0x00, 0x30, 0x93, 0x18, 0x60, 0x00, -0x00, 0x00, 0x00, 0x31, 0x67, 0x67, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x32, 0x72, 0xFA, 0x60, 0x00, -0x00, 0x00, 0x00, 0x33, 0x47, 0x49, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0xDC, 0x60, 0x00, -0x00, 0x00, 0x00, 0x35, 0x27, 0x2B, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0xBE, 0x60, 0x00, -0x00, 0x00, 0x00, 0x37, 0x07, 0x0D, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0xDA, 0xE0, 0x00, -0x00, 0x00, 0x00, 0x38, 0xE6, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0xCA, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x3A, 0xC6, 0xD1, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0x9E, 0xE0, 0x00, -0x00, 0x00, 0x00, 0x3C, 0xAF, 0xEE, 0x70, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x80, 0xE0, 0x00, -0x00, 0x00, 0x00, 0x3E, 0x8F, 0xD0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x62, 0xE0, 0x00, -0x00, 0x00, 0x00, 0x40, 0x6F, 0xB2, 0x70, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x7F, 0x60, 0x00, -0x00, 0x00, 0x00, 0x42, 0x4F, 0x94, 0x70, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x61, 0x60, 0x00, -0x00, 0x00, 0x00, 0x44, 0x2F, 0x76, 0x70, 0x00, 0x00, 0x00, 0x00, 0x45, 0x44, 0x43, 0x60, 0x00, -0x00, 0x00, 0x00, 0x45, 0xF3, 0xA8, 0xF0, 0x03, 0x01, 0x02, 0x03, 0x04, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x06, 0x07, 0x06, 0x07, 0x06, -0x07, 0x06, 0x07, 0x06, 0x08, 0x09, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, -0x07, 0x06, 0x07, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x04, -0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x08, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x0C, 0xFF, 0xFF, 0xE3, 0xE0, -0x01, 0x10, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x15, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x19, 0xFF, 0xFF, -0xB9, 0xB0, 0x00, 0x1D, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x21, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x25, -0x2D, 0x30, 0x30, 0x00, 0x41, 0x57, 0x54, 0x00, 0x41, 0x50, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x44, 0x44, 0x54, 0x00, 0x41, 0x44, 0x54, 0x00, 0x45, 0x44, 0x54, 0x00, 0x45, 0x53, 0x54, -0x00, 0x43, 0x53, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x0A, 0x45, 0x53, 0x54, 0x35, 0x45, 0x44, -0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, 0x31, 0x2E, 0x30, -0x0A, 0x00, 0xEE, 0x3D, 0x95, 0x00, 0xAE, 0x5B, 0x6A, 0x00, 0x00, 0x00, 0x1A, 0x45, 0x61, 0x73, -0x74, 0x65, 0x72, 0x6E, 0x20, 0x2D, 0x20, 0x4E, 0x55, 0x20, 0x28, 0x50, 0x61, 0x6E, 0x67, 0x6E, -0x69, 0x72, 0x74, 0x75, 0x6E, 0x67, 0x29, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4A, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x1C, 0xFF, +0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0xA1, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, +0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xFB, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x04, 0x60, 0xFD, 0x70, 0x00, +0x00, 0x00, 0x00, 0x05, 0x50, 0xE0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x06, 0x40, 0xDF, 0x70, 0x00, +0x00, 0x00, 0x00, 0x07, 0x30, 0xC2, 0x60, 0x00, 0x00, 0x00, 0x00, 0x08, 0x20, 0xC1, 0x70, 0x00, +0x00, 0x00, 0x00, 0x09, 0x10, 0xA4, 0x60, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0xA3, 0x70, 0x00, +0x00, 0x00, 0x00, 0x0A, 0xF0, 0x86, 0x60, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xE0, 0x85, 0x70, 0x00, +0x00, 0x00, 0x00, 0x0C, 0xD9, 0xA2, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0D, 0xC0, 0x67, 0x70, 0x00, +0x00, 0x00, 0x00, 0x0E, 0xB9, 0x84, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xA9, 0x83, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x10, 0x99, 0x66, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x11, 0x89, 0x65, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x12, 0x79, 0x48, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x47, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x14, 0x59, 0x2A, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x15, 0x49, 0x29, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x16, 0x39, 0x0C, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x17, 0x29, 0x0B, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x18, 0x22, 0x29, 0x60, 0x00, 0x00, 0x00, 0x00, 0x19, 0x08, 0xED, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x1A, 0x02, 0x0B, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xF2, 0x0A, 0x70, 0x00, +0x00, 0x00, 0x00, 0x1B, 0xE1, 0xED, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xD1, 0xEC, 0x70, 0x00, +0x00, 0x00, 0x00, 0x1D, 0xC1, 0xCF, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1E, 0xB1, 0xCE, 0x70, 0x00, +0x00, 0x00, 0x00, 0x1F, 0xA1, 0xB1, 0x60, 0x00, 0x00, 0x00, 0x00, 0x20, 0x76, 0x00, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x21, 0x81, 0x93, 0x60, 0x00, 0x00, 0x00, 0x00, 0x22, 0x55, 0xE2, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x23, 0x6A, 0xAF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x24, 0x35, 0xC4, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x25, 0x4A, 0x91, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x26, 0x15, 0xA6, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x27, 0x2A, 0x73, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x27, 0xFE, 0xC3, 0x70, 0x00, +0x00, 0x00, 0x00, 0x29, 0x0A, 0x55, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x29, 0xDE, 0xA5, 0x70, 0x00, +0x00, 0x00, 0x00, 0x2A, 0xEA, 0x37, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xBE, 0x87, 0x70, 0x00, +0x00, 0x00, 0x00, 0x2C, 0xD3, 0x54, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x9E, 0x69, 0x70, 0x00, +0x00, 0x00, 0x00, 0x2E, 0xB3, 0x36, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x7E, 0x4B, 0x70, 0x00, +0x00, 0x00, 0x00, 0x30, 0x93, 0x18, 0x60, 0x00, 0x00, 0x00, 0x00, 0x31, 0x67, 0x67, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x32, 0x72, 0xFA, 0x60, 0x00, 0x00, 0x00, 0x00, 0x33, 0x47, 0x49, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x34, 0x52, 0xDC, 0x60, 0x00, 0x00, 0x00, 0x00, 0x35, 0x27, 0x2B, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x36, 0x32, 0xBE, 0x60, 0x00, 0x00, 0x00, 0x00, 0x37, 0x07, 0x0D, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x38, 0x1B, 0xDA, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x38, 0xE6, 0xFE, 0x00, 0x00, +0x00, 0x00, 0x00, 0x39, 0xFB, 0xCA, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xC6, 0xD1, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x3B, 0xDB, 0x9E, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xAF, 0xEE, 0x70, 0x00, +0x00, 0x00, 0x00, 0x3D, 0xBB, 0x80, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x8F, 0xD0, 0x70, 0x00, +0x00, 0x00, 0x00, 0x3F, 0x9B, 0x62, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x40, 0x6F, 0xB2, 0x70, 0x00, +0x00, 0x00, 0x00, 0x41, 0x84, 0x7F, 0x60, 0x00, 0x00, 0x00, 0x00, 0x42, 0x4F, 0x94, 0x70, 0x00, +0x00, 0x00, 0x00, 0x43, 0x64, 0x61, 0x60, 0x00, 0x00, 0x00, 0x00, 0x44, 0x2F, 0x76, 0x70, 0x00, +0x00, 0x00, 0x00, 0x45, 0x44, 0x43, 0x60, 0x00, 0x00, 0x00, 0x00, 0x45, 0xF3, 0xA8, 0xF0, 0x04, +0x01, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x05, 0x06, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, +0xFF, 0xC7, 0xC0, 0x01, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, +0x0C, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x10, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x14, 0xFF, 0xFF, 0xB9, +0xB0, 0x01, 0x18, 0x2D, 0x30, 0x30, 0x00, 0x45, 0x50, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x45, +0x44, 0x54, 0x00, 0x45, 0x57, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x0A, +0x45, 0x53, 0x54, 0x35, 0x45, 0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, +0x31, 0x31, 0x2E, 0x31, 0x2E, 0x30, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, /* America/Paramaribo */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x53, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -7844,9 +7971,16 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3A, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x15, 0xFF, -0xFF, 0xFF, 0xFF, 0xE7, 0x8C, 0x6E, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x2F, 0x4C, 0x60, 0xFF, -0xFF, 0xFF, 0xFF, 0xF8, 0x28, 0x77, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x56, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, +0xFF, 0xFF, 0xFF, 0xE7, 0x8C, 0x6E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x61, 0x0B, 0x80, 0x00, +0x00, 0x00, 0x00, 0x05, 0x50, 0xEE, 0x70, 0x00, 0x00, 0x00, 0x00, 0x06, 0x40, 0xED, 0x80, 0x00, +0x00, 0x00, 0x00, 0x07, 0x30, 0xD0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x08, 0x20, 0xCF, 0x80, 0x00, +0x00, 0x00, 0x00, 0x09, 0x10, 0xB2, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0xB1, 0x80, 0x00, +0x00, 0x00, 0x00, 0x0A, 0xF0, 0x94, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xE0, 0x93, 0x80, 0x00, +0x00, 0x00, 0x00, 0x0C, 0xD9, 0xB0, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x0D, 0xC0, 0x75, 0x80, 0x00, +0x00, 0x00, 0x00, 0x0E, 0xB9, 0x92, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xA9, 0x92, 0x00, 0x00, +0x00, 0x00, 0x00, 0x10, 0x99, 0x74, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x11, 0x89, 0x74, 0x00, 0x00, +0x00, 0x00, 0x00, 0x12, 0x79, 0x56, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x56, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x59, 0x38, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x15, 0x49, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0x39, 0x1A, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x17, 0x29, 0x1A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x22, 0x37, 0x70, 0x00, 0x00, 0x00, 0x00, 0x19, 0x08, 0xFC, 0x00, 0x00, @@ -7874,17 +8008,17 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0x00, 0x00, 0x00, 0x41, 0x84, 0x8D, 0x70, 0x00, 0x00, 0x00, 0x00, 0x42, 0x4F, 0xA2, 0x80, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x6F, 0x70, 0x00, 0x00, 0x00, 0x00, 0x44, 0x2F, 0x84, 0x80, 0x00, 0x00, 0x00, 0x00, 0x45, 0x44, 0x51, 0x70, 0x00, 0x00, 0x00, 0x00, 0x45, 0xF3, 0xB7, 0x00, 0x02, -0x01, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, -0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, -0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x04, 0x03, 0x02, 0x03, 0x02, -0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, -0xFF, 0xC7, 0xC0, 0x01, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x09, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, -0x0D, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x11, 0x2D, 0x30, 0x30, 0x00, 0x43, 0x44, 0x44, 0x54, 0x00, -0x43, 0x53, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x0A, 0x43, 0x53, 0x54, -0x36, 0x43, 0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, -0x31, 0x2E, 0x30, 0x0A, 0x00, 0xE9, 0x2E, 0x02, 0x00, 0x86, 0x26, 0x8E, 0x00, 0x00, 0x00, 0x16, -0x43, 0x65, 0x6E, 0x74, 0x72, 0x61, 0x6C, 0x20, 0x2D, 0x20, 0x4E, 0x55, 0x20, 0x28, 0x63, 0x65, -0x6E, 0x74, 0x72, 0x61, 0x6C, 0x29, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xB9, +0xB0, 0x01, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x08, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x0C, 0x2D, +0x30, 0x30, 0x00, 0x43, 0x44, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x0A, +0x43, 0x53, 0x54, 0x36, 0x43, 0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, +0x31, 0x31, 0x2E, 0x31, 0x2E, 0x30, 0x0A, 0x00, 0xE9, 0x2E, 0x02, 0x00, 0x86, 0x26, 0x8E, 0x00, +0x00, 0x00, 0x16, 0x43, 0x65, 0x6E, 0x74, 0x72, 0x61, 0x6C, 0x20, 0x2D, 0x20, 0x4E, 0x55, 0x20, +0x28, 0x63, 0x65, 0x6E, 0x74, 0x72, 0x61, 0x6C, 0x29, /* America/Recife */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x42, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -7970,9 +8104,16 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3A, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x15, 0xFF, -0xFF, 0xFF, 0xFF, 0xD5, 0xFB, 0x81, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x2F, 0x4C, 0x60, 0xFF, -0xFF, 0xFF, 0xFF, 0xF8, 0x28, 0x77, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x56, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, +0xFF, 0xFF, 0xFF, 0xD5, 0xFB, 0x81, 0x80, 0x00, 0x00, 0x00, 0x00, 0x04, 0x61, 0x0B, 0x80, 0x00, +0x00, 0x00, 0x00, 0x05, 0x50, 0xEE, 0x70, 0x00, 0x00, 0x00, 0x00, 0x06, 0x40, 0xED, 0x80, 0x00, +0x00, 0x00, 0x00, 0x07, 0x30, 0xD0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x08, 0x20, 0xCF, 0x80, 0x00, +0x00, 0x00, 0x00, 0x09, 0x10, 0xB2, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0xB1, 0x80, 0x00, +0x00, 0x00, 0x00, 0x0A, 0xF0, 0x94, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xE0, 0x93, 0x80, 0x00, +0x00, 0x00, 0x00, 0x0C, 0xD9, 0xB0, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x0D, 0xC0, 0x75, 0x80, 0x00, +0x00, 0x00, 0x00, 0x0E, 0xB9, 0x92, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xA9, 0x92, 0x00, 0x00, +0x00, 0x00, 0x00, 0x10, 0x99, 0x74, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x11, 0x89, 0x74, 0x00, 0x00, +0x00, 0x00, 0x00, 0x12, 0x79, 0x56, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x56, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x59, 0x38, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x15, 0x49, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0x39, 0x1A, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x17, 0x29, 0x1A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x22, 0x37, 0x70, 0x00, 0x00, 0x00, 0x00, 0x19, 0x08, 0xFC, 0x00, 0x00, @@ -8000,17 +8141,17 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0x00, 0x00, 0x00, 0x41, 0x84, 0x8D, 0x70, 0x00, 0x00, 0x00, 0x00, 0x42, 0x4F, 0xA2, 0x80, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x6F, 0x70, 0x00, 0x00, 0x00, 0x00, 0x44, 0x2F, 0x84, 0x80, 0x00, 0x00, 0x00, 0x00, 0x45, 0x44, 0x51, 0x70, 0x00, 0x00, 0x00, 0x00, 0x45, 0xF3, 0xB7, 0x00, 0x02, -0x01, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, -0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, -0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x04, 0x03, 0x02, 0x03, 0x02, -0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x04, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, -0xFF, 0xC7, 0xC0, 0x01, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x09, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, -0x0D, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x11, 0x2D, 0x30, 0x30, 0x00, 0x43, 0x44, 0x44, 0x54, 0x00, -0x43, 0x53, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x0A, 0x43, 0x53, 0x54, -0x36, 0x43, 0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, -0x31, 0x2E, 0x30, 0x0A, 0x00, 0xFB, 0x4E, 0x33, 0x00, 0x81, 0xF5, 0xDB, 0x00, 0x00, 0x00, 0x17, -0x43, 0x65, 0x6E, 0x74, 0x72, 0x61, 0x6C, 0x20, 0x2D, 0x20, 0x4E, 0x55, 0x20, 0x28, 0x52, 0x65, -0x73, 0x6F, 0x6C, 0x75, 0x74, 0x65, 0x29, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xB9, +0xB0, 0x01, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x08, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x0C, 0x2D, +0x30, 0x30, 0x00, 0x43, 0x44, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x0A, +0x43, 0x53, 0x54, 0x36, 0x43, 0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, +0x31, 0x31, 0x2E, 0x31, 0x2E, 0x30, 0x0A, 0x00, 0xFB, 0x4E, 0x33, 0x00, 0x81, 0xF5, 0xDB, 0x00, +0x00, 0x00, 0x17, 0x43, 0x65, 0x6E, 0x74, 0x72, 0x61, 0x6C, 0x20, 0x2D, 0x20, 0x4E, 0x55, 0x20, +0x28, 0x52, 0x65, 0x73, 0x6F, 0x6C, 0x75, 0x74, 0x65, 0x29, /* America/Rio_Branco */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x42, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -8968,9 +9109,8 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0x14, 0x4C, 0x4D, 0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, 0x50, 0x53, 0x54, 0x00, 0x50, 0x44, 0x54, 0x00, 0x50, 0x57, 0x54, 0x00, 0x50, 0x50, 0x54, 0x00, 0x0A, 0x50, 0x53, 0x54, 0x38, 0x50, 0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, 0x31, 0x2E, 0x30, -0x0A, 0x00, 0xBA, 0xF8, 0x95, 0x00, 0x60, 0x1A, 0xDD, 0x00, 0x00, 0x00, 0x21, 0x50, 0x61, 0x63, -0x69, 0x66, 0x69, 0x63, 0x20, 0x54, 0x69, 0x6D, 0x65, 0x20, 0x55, 0x53, 0x20, 0x2D, 0x20, 0x42, -0x61, 0x6A, 0x61, 0x20, 0x43, 0x61, 0x6C, 0x69, 0x66, 0x6F, 0x72, 0x6E, 0x69, 0x61, +0x0A, 0x00, 0xBA, 0xF8, 0x95, 0x00, 0x60, 0x1A, 0xDD, 0x00, 0x00, 0x00, 0x0F, 0x42, 0x61, 0x6A, +0x61, 0x20, 0x43, 0x61, 0x6C, 0x69, 0x66, 0x6F, 0x72, 0x6E, 0x69, 0x61, /* America/Toronto */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -9209,7 +9349,7 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0xFF, 0xFF, 0xFF, 0xA1, 0xA2, 0xD2, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x89, 0x28, 0xB0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x61, 0x34, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x2F, 0x76, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x28, 0xA2, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0xFB, 0x1D, 0x5F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x72, 0x20, 0x00, +0xFF, 0xFF, 0xFF, 0xF8, 0xC5, 0x84, 0x90, 0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x72, 0x20, 0x00, 0x00, 0x00, 0x00, 0x14, 0x59, 0x55, 0x10, 0x00, 0x00, 0x00, 0x00, 0x15, 0x49, 0x54, 0x20, 0x00, 0x00, 0x00, 0x00, 0x16, 0x39, 0x37, 0x10, 0x00, 0x00, 0x00, 0x00, 0x17, 0x29, 0x36, 0x20, 0x00, 0x00, 0x00, 0x00, 0x18, 0x22, 0x53, 0x90, 0x00, 0x00, 0x00, 0x00, 0x19, 0x09, 0x18, 0x20, 0x00, @@ -9421,10 +9561,17 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x19, 0xFF, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4B, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0x2A, 0x18, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x89, 0x0C, 0x90, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x61, 0x18, 0x00, 0xFF, -0xFF, 0xFF, 0xFF, 0xF7, 0x2F, 0x5A, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x28, 0x85, 0xF0, 0x00, +0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x61, 0x18, 0x00, 0x00, +0x00, 0x00, 0x00, 0x04, 0x61, 0x19, 0x90, 0x00, 0x00, 0x00, 0x00, 0x05, 0x50, 0xFC, 0x80, 0x00, +0x00, 0x00, 0x00, 0x06, 0x40, 0xFB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x07, 0x30, 0xDE, 0x80, 0x00, +0x00, 0x00, 0x00, 0x08, 0x20, 0xDD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x09, 0x10, 0xC0, 0x80, 0x00, +0x00, 0x00, 0x00, 0x0A, 0x00, 0xBF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xF0, 0xA2, 0x80, 0x00, +0x00, 0x00, 0x00, 0x0B, 0xE0, 0xA1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xD9, 0xBF, 0x00, 0x00, +0x00, 0x00, 0x00, 0x0D, 0xC0, 0x83, 0x90, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xB9, 0xA1, 0x00, 0x00, +0x00, 0x00, 0x00, 0x0F, 0xA9, 0xA0, 0x10, 0x00, 0x00, 0x00, 0x00, 0x10, 0x99, 0x83, 0x00, 0x00, +0x00, 0x00, 0x00, 0x11, 0x89, 0x82, 0x10, 0x00, 0x00, 0x00, 0x00, 0x12, 0x79, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x64, 0x10, 0x00, 0x00, 0x00, 0x00, 0x14, 0x59, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x49, 0x46, 0x10, 0x00, 0x00, 0x00, 0x00, 0x16, 0x39, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x29, 0x28, 0x10, 0x00, 0x00, 0x00, 0x00, 0x18, 0x22, 0x45, 0x80, 0x00, @@ -9452,18 +9599,18 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0x00, 0x00, 0x00, 0x40, 0x6F, 0xCE, 0x90, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x9B, 0x80, 0x00, 0x00, 0x00, 0x00, 0x42, 0x4F, 0xB0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x7D, 0x80, 0x00, 0x00, 0x00, 0x00, 0x44, 0x2F, 0x92, 0x90, 0x00, 0x00, 0x00, 0x00, 0x45, 0x44, 0x5F, 0x80, 0x00, -0x00, 0x00, 0x00, 0x45, 0xF3, 0xC5, 0x10, 0x03, 0x01, 0x02, 0x03, 0x04, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x04, -0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x08, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x0C, 0xFF, 0xFF, 0xB9, 0xB0, -0x01, 0x10, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x15, 0x2D, 0x30, 0x30, 0x00, 0x4D, 0x57, 0x54, 0x00, -0x4D, 0x50, 0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, 0x4D, 0x44, 0x44, 0x54, 0x00, 0x4D, 0x44, 0x54, -0x00, 0x0A, 0x4D, 0x53, 0x54, 0x37, 0x4D, 0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, -0x2C, 0x4D, 0x31, 0x31, 0x2E, 0x31, 0x2E, 0x30, 0x0A, 0x00, 0xE8, 0x9E, 0xC7, 0x00, 0x64, 0x2C, -0x88, 0x00, 0x00, 0x00, 0x17, 0x4D, 0x6F, 0x75, 0x6E, 0x74, 0x61, 0x69, 0x6E, 0x20, 0x2D, 0x20, -0x4E, 0x54, 0x20, 0x28, 0x63, 0x65, 0x6E, 0x74, 0x72, 0x61, 0x6C, 0x29, +0x00, 0x00, 0x00, 0x45, 0xF3, 0xC5, 0x10, 0x03, 0x01, 0x02, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, +0x03, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x04, 0xFF, 0xFF, +0xAB, 0xA0, 0x01, 0x08, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x0C, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x10, +0x2D, 0x30, 0x30, 0x00, 0x4D, 0x57, 0x54, 0x00, 0x4D, 0x50, 0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, +0x4D, 0x44, 0x54, 0x00, 0x0A, 0x4D, 0x53, 0x54, 0x37, 0x4D, 0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, +0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, 0x31, 0x2E, 0x30, 0x0A, 0x00, 0xE8, 0x9E, 0xC7, +0x00, 0x64, 0x2C, 0x88, 0x00, 0x00, 0x00, 0x17, 0x4D, 0x6F, 0x75, 0x6E, 0x74, 0x61, 0x69, 0x6E, +0x20, 0x2D, 0x20, 0x4E, 0x54, 0x20, 0x28, 0x63, 0x65, 0x6E, 0x74, 0x72, 0x61, 0x6C, 0x29, /* Antarctica/Casey */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x41, 0x51, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -11710,7 +11857,7 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0xFF, 0xFF, 0xFF, 0x7E, 0x36, 0x55, 0xAA, 0xFF, 0xFF, 0xFF, 0xFF, 0x86, 0x83, 0x85, 0xA3, 0xFF, 0xFF, 0xFF, 0xFF, 0xBA, 0x67, 0x4E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x0A, 0xE4, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0xB3, 0xE5, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x91, 0x5F, 0x08, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x48, 0x6D, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x91, 0xF5, 0x08, 0x01, +0xFF, 0xFF, 0xFF, 0xD2, 0x48, 0x6D, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x91, 0xEE, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x05, 0x07, 0x00, 0x00, 0x5F, 0x56, 0x00, 0x00, 0x00, 0x00, 0x61, 0x5D, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x08, 0x00, 0x00, 0x67, 0x20, 0x01, 0x0C, 0x00, 0x00, 0x67, 0x20, 0x00, 0x0C, 0x00, 0x00, 0x69, 0x78, 0x00, 0x12, 0x00, 0x00, 0x7E, 0x90, 0x00, @@ -12544,7 +12691,7 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0xFF, 0xFF, 0xFF, 0x7E, 0x36, 0x53, 0xA3, 0xFF, 0xFF, 0xFF, 0xFF, 0x86, 0x83, 0x85, 0xA3, 0xFF, 0xFF, 0xFF, 0xFF, 0xBA, 0x67, 0x4E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x0A, 0xE4, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0xB3, 0xE5, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x91, 0x5F, 0x08, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x48, 0x6D, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x91, 0xF5, 0x08, 0x01, +0xFF, 0xFF, 0xFF, 0xD2, 0x48, 0x6D, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x91, 0xEE, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x05, 0x07, 0x00, 0x00, 0x61, 0x5D, 0x00, 0x00, 0x00, 0x00, 0x61, 0x5D, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x08, 0x00, 0x00, 0x67, 0x20, 0x01, 0x0C, 0x00, 0x00, 0x67, 0x20, 0x00, 0x0C, 0x00, 0x00, 0x69, 0x78, 0x00, 0x12, 0x00, 0x00, 0x7E, 0x90, 0x00, @@ -15730,7 +15877,7 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0xFF, 0xFF, 0xFF, 0xA1, 0xA2, 0xD2, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x89, 0x28, 0xB0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x61, 0x34, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x2F, 0x76, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x28, 0xA2, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0xFB, 0x1D, 0x5F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x72, 0x20, 0x00, +0xFF, 0xFF, 0xFF, 0xF8, 0xC5, 0x84, 0x90, 0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x72, 0x20, 0x00, 0x00, 0x00, 0x00, 0x14, 0x59, 0x55, 0x10, 0x00, 0x00, 0x00, 0x00, 0x15, 0x49, 0x54, 0x20, 0x00, 0x00, 0x00, 0x00, 0x16, 0x39, 0x37, 0x10, 0x00, 0x00, 0x00, 0x00, 0x17, 0x29, 0x36, 0x20, 0x00, 0x00, 0x00, 0x00, 0x18, 0x22, 0x53, 0x90, 0x00, 0x00, 0x00, 0x00, 0x19, 0x09, 0x18, 0x20, 0x00, @@ -22607,7 +22754,7 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0xFF, 0xFF, 0xFF, 0x7E, 0x36, 0x53, 0xA3, 0xFF, 0xFF, 0xFF, 0xFF, 0x86, 0x83, 0x85, 0xA3, 0xFF, 0xFF, 0xFF, 0xFF, 0xBA, 0x67, 0x4E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x0A, 0xE4, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0xB3, 0xE5, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x91, 0x5F, 0x08, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x48, 0x6D, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x91, 0xF5, 0x08, 0x01, +0xFF, 0xFF, 0xFF, 0xD2, 0x48, 0x6D, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x91, 0xEE, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x05, 0x07, 0x00, 0x00, 0x61, 0x5D, 0x00, 0x00, 0x00, 0x00, 0x61, 0x5D, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x08, 0x00, 0x00, 0x67, 0x20, 0x01, 0x0C, 0x00, 0x00, 0x67, 0x20, 0x00, 0x0C, 0x00, 0x00, 0x69, 0x78, 0x00, 0x12, 0x00, 0x00, 0x7E, 0x90, 0x00, @@ -23543,7 +23690,7 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; #else -const timelib_tzdb_index_entry timezonedb_idx_builtin[596] = { +const timelib_tzdb_index_entry timezonedb_idx_builtin[597] = { { (char*) "Africa/Abidjan" , 0x000000 }, { (char*) "Africa/Accra" , 0x0000A0 }, { (char*) "Africa/Addis_Ababa" , 0x0004D0 }, @@ -23622,528 +23769,529 @@ const timelib_tzdb_index_entry timezonedb_idx_builtin[596] = { { (char*) "America/Atka" , 0x00B430 }, { (char*) "America/Bahia" , 0x00BD70 }, { (char*) "America/Bahia_Banderas" , 0x00C173 }, - { (char*) "America/Barbados" , 0x00C61F }, - { (char*) "America/Belem" , 0x00C7DF }, - { (char*) "America/Belize" , 0x00CA2F }, - { (char*) "America/Blanc-Sablon" , 0x00D089 }, - { (char*) "America/Boa_Vista" , 0x00D1DB }, - { (char*) "America/Bogota" , 0x00D458 }, - { (char*) "America/Boise" , 0x00D54C }, - { (char*) "America/Buenos_Aires" , 0x00DEE2 }, - { (char*) "America/Cambridge_Bay" , 0x00E314 }, - { (char*) "America/Campo_Grande" , 0x00EB58 }, - { (char*) "America/Cancun" , 0x00F10C }, - { (char*) "America/Caracas" , 0x00F47E }, - { (char*) "America/Catamarca" , 0x00F584 }, - { (char*) "America/Cayenne" , 0x00F9B6 }, - { (char*) "America/Cayman" , 0x00FA7A }, - { (char*) "America/Chicago" , 0x00FB3C }, - { (char*) "America/Chihuahua" , 0x010964 }, - { (char*) "America/Coral_Harbour" , 0x010DE4 }, - { (char*) "America/Cordoba" , 0x010EA6 }, - { (char*) "America/Costa_Rica" , 0x0112D8 }, - { (char*) "America/Creston" , 0x011420 }, - { (char*) "America/Cuiaba" , 0x01150E }, - { (char*) "America/Curacao" , 0x011A9F }, - { (char*) "America/Danmarkshavn" , 0x011B65 }, - { (char*) "America/Dawson" , 0x011E45 }, - { (char*) "America/Dawson_Creek" , 0x0124B1 }, - { (char*) "America/Denver" , 0x0128F7 }, - { (char*) "America/Detroit" , 0x0132B4 }, - { (char*) "America/Dominica" , 0x013B8F }, - { (char*) "America/Edmonton" , 0x013C2F }, - { (char*) "America/Eirunepe" , 0x014574 }, - { (char*) "America/El_Salvador" , 0x014811 }, - { (char*) "America/Ensenada" , 0x0148FD }, - { (char*) "America/Fort_Nelson" , 0x01524F }, - { (char*) "America/Fort_Wayne" , 0x015B2F }, - { (char*) "America/Fortaleza" , 0x0161CD }, - { (char*) "America/Glace_Bay" , 0x0164BD }, - { (char*) "America/Godthab" , 0x016D74 }, - { (char*) "America/Goose_Bay" , 0x0174C8 }, - { (char*) "America/Grand_Turk" , 0x01817E }, - { (char*) "America/Grenada" , 0x0188B4 }, - { (char*) "America/Guadeloupe" , 0x018954 }, - { (char*) "America/Guatemala" , 0x0189F4 }, - { (char*) "America/Guayaquil" , 0x018B18 }, - { (char*) "America/Guyana" , 0x018C1E }, - { (char*) "America/Halifax" , 0x018D22 }, - { (char*) "America/Havana" , 0x019AAC }, - { (char*) "America/Hermosillo" , 0x01A428 }, - { (char*) "America/Indiana/Indianapolis" , 0x01A61B }, - { (char*) "America/Indiana/Knox" , 0x01ACD2 }, - { (char*) "America/Indiana/Marengo" , 0x01B67F }, - { (char*) "America/Indiana/Petersburg" , 0x01BD6C }, - { (char*) "America/Indiana/Tell_City" , 0x01C50B }, - { (char*) "America/Indiana/Vevay" , 0x01CBCF }, - { (char*) "America/Indiana/Vincennes" , 0x01D18B }, - { (char*) "America/Indiana/Winamac" , 0x01D861 }, - { (char*) "America/Indianapolis" , 0x01DF85 }, - { (char*) "America/Inuvik" , 0x01E623 }, - { (char*) "America/Iqaluit" , 0x01EDA9 }, - { (char*) "America/Jamaica" , 0x01F5C3 }, - { (char*) "America/Jujuy" , 0x01F7B1 }, - { (char*) "America/Juneau" , 0x01FBC7 }, - { (char*) "America/Kentucky/Louisville" , 0x020518 }, - { (char*) "America/Kentucky/Monticello" , 0x021026 }, - { (char*) "America/Knox_IN" , 0x021986 }, - { (char*) "America/Kralendijk" , 0x02231E }, - { (char*) "America/La_Paz" , 0x022420 }, - { (char*) "America/Lima" , 0x022506 }, - { (char*) "America/Los_Angeles" , 0x02269A }, - { (char*) "America/Louisville" , 0x0231D1 }, - { (char*) "America/Lower_Princes" , 0x023CC1 }, - { (char*) "America/Maceio" , 0x023DC3 }, - { (char*) "America/Managua" , 0x0240B9 }, - { (char*) "America/Manaus" , 0x024273 }, - { (char*) "America/Marigot" , 0x0244DC }, - { (char*) "America/Martinique" , 0x0245DE }, - { (char*) "America/Matamoros" , 0x0246D2 }, - { (char*) "America/Mazatlan" , 0x024CA6 }, - { (char*) "America/Mendoza" , 0x02514F }, - { (char*) "America/Menominee" , 0x025581 }, - { (char*) "America/Merida" , 0x025E8E }, - { (char*) "America/Metlakatla" , 0x0262A6 }, - { (char*) "America/Mexico_City" , 0x026858 }, - { (char*) "America/Miquelon" , 0x026D36 }, - { (char*) "America/Moncton" , 0x0273B6 }, - { (char*) "America/Monterrey" , 0x02802C }, - { (char*) "America/Montevideo" , 0x028451 }, - { (char*) "America/Montreal" , 0x028A35 }, - { (char*) "America/Montserrat" , 0x0297E7 }, - { (char*) "America/Nassau" , 0x029887 }, - { (char*) "America/New_York" , 0x02A1E7 }, - { (char*) "America/Nipigon" , 0x02AFE7 }, - { (char*) "America/Nome" , 0x02BD99 }, - { (char*) "America/Noronha" , 0x02C6F1 }, - { (char*) "America/North_Dakota/Beulah" , 0x02C9CB }, - { (char*) "America/North_Dakota/Center" , 0x02D348 }, - { (char*) "America/North_Dakota/New_Salem" , 0x02DCC5 }, - { (char*) "America/Nuuk" , 0x02E648 }, - { (char*) "America/Ojinaga" , 0x02EDB2 }, - { (char*) "America/Panama" , 0x02F234 }, - { (char*) "America/Pangnirtung" , 0x02F2F6 }, - { (char*) "America/Paramaribo" , 0x02FB4A }, - { (char*) "America/Phoenix" , 0x02FC4E }, - { (char*) "America/Port-au-Prince" , 0x02FDDF }, - { (char*) "America/Port_of_Spain" , 0x030385 }, - { (char*) "America/Porto_Acre" , 0x030425 }, - { (char*) "America/Porto_Velho" , 0x030697 }, - { (char*) "America/Puerto_Rico" , 0x0308DD }, - { (char*) "America/Punta_Arenas" , 0x0309DF }, - { (char*) "America/Rainy_River" , 0x03116D }, - { (char*) "America/Rankin_Inlet" , 0x031CAD }, - { (char*) "America/Recife" , 0x032433 }, - { (char*) "America/Regina" , 0x032707 }, - { (char*) "America/Resolute" , 0x032AFC }, - { (char*) "America/Rio_Branco" , 0x033283 }, - { (char*) "America/Rosario" , 0x0334F9 }, - { (char*) "America/Santa_Isabel" , 0x03392B }, - { (char*) "America/Santarem" , 0x03427D }, - { (char*) "America/Santiago" , 0x0344E0 }, - { (char*) "America/Santo_Domingo" , 0x034ED1 }, - { (char*) "America/Sao_Paulo" , 0x0350A7 }, - { (char*) "America/Scoresbysund" , 0x03567F }, - { (char*) "America/Shiprock" , 0x035E16 }, - { (char*) "America/Sitka" , 0x0367BE }, - { (char*) "America/St_Barthelemy" , 0x0370F6 }, - { (char*) "America/St_Johns" , 0x0371F8 }, - { (char*) "America/St_Kitts" , 0x03806D }, - { (char*) "America/St_Lucia" , 0x03810D }, - { (char*) "America/St_Thomas" , 0x0381CF }, - { (char*) "America/St_Vincent" , 0x03826F }, - { (char*) "America/Swift_Current" , 0x038331 }, - { (char*) "America/Tegucigalpa" , 0x03857F }, - { (char*) "America/Thule" , 0x038687 }, - { (char*) "America/Thunder_Bay" , 0x038C7F }, - { (char*) "America/Tijuana" , 0x039A31 }, - { (char*) "America/Toronto" , 0x03A3A4 }, - { (char*) "America/Tortola" , 0x03B173 }, - { (char*) "America/Vancouver" , 0x03B213 }, - { (char*) "America/Virgin" , 0x03BD84 }, - { (char*) "America/Whitehorse" , 0x03BE86 }, - { (char*) "America/Winnipeg" , 0x03C4F2 }, - { (char*) "America/Yakutat" , 0x03D04F }, - { (char*) "America/Yellowknife" , 0x03D96C }, - { (char*) "Antarctica/Casey" , 0x03E13D }, - { (char*) "Antarctica/Davis" , 0x03E2C0 }, - { (char*) "Antarctica/DumontDUrville" , 0x03E3EC }, - { (char*) "Antarctica/Macquarie" , 0x03E4BC }, - { (char*) "Antarctica/Mawson" , 0x03EDAC }, - { (char*) "Antarctica/McMurdo" , 0x03EE77 }, - { (char*) "Antarctica/Palmer" , 0x03F672 }, - { (char*) "Antarctica/Rothera" , 0x03FC00 }, - { (char*) "Antarctica/South_Pole" , 0x03FCA9 }, - { (char*) "Antarctica/Syowa" , 0x04063A }, - { (char*) "Antarctica/Troll" , 0x0406E2 }, - { (char*) "Antarctica/Vostok" , 0x040B6F }, - { (char*) "Arctic/Longyearbyen" , 0x040C18 }, - { (char*) "Asia/Aden" , 0x04151E }, - { (char*) "Asia/Almaty" , 0x0415C1 }, - { (char*) "Asia/Amman" , 0x0419BB }, - { (char*) "Asia/Anadyr" , 0x041F60 }, - { (char*) "Asia/Aqtau" , 0x042415 }, - { (char*) "Asia/Aqtobe" , 0x0427FF }, - { (char*) "Asia/Ashgabat" , 0x042BFD }, - { (char*) "Asia/Ashkhabad" , 0x042E66 }, - { (char*) "Asia/Atyrau" , 0x0430CF }, - { (char*) "Asia/Baghdad" , 0x0434C1 }, - { (char*) "Asia/Bahrain" , 0x043896 }, - { (char*) "Asia/Baku" , 0x043981 }, - { (char*) "Asia/Bangkok" , 0x043E4A }, - { (char*) "Asia/Barnaul" , 0x043F0F }, - { (char*) "Asia/Beirut" , 0x0443E0 }, - { (char*) "Asia/Bishkek" , 0x044C56 }, - { (char*) "Asia/Brunei" , 0x04502B }, - { (char*) "Asia/Calcutta" , 0x0450F4 }, - { (char*) "Asia/Chita" , 0x04521D }, - { (char*) "Asia/Choibalsan" , 0x0456F4 }, - { (char*) "Asia/Chongqing" , 0x045AB9 }, - { (char*) "Asia/Chungking" , 0x045CF6 }, - { (char*) "Asia/Colombo" , 0x045F33 }, - { (char*) "Asia/Dacca" , 0x0460A5 }, - { (char*) "Asia/Damascus" , 0x0461F4 }, - { (char*) "Asia/Dhaka" , 0x046951 }, - { (char*) "Asia/Dili" , 0x046AA0 }, - { (char*) "Asia/Dubai" , 0x046B81 }, - { (char*) "Asia/Dushanbe" , 0x046C24 }, - { (char*) "Asia/Famagusta" , 0x046E71 }, - { (char*) "Asia/Gaza" , 0x047678 }, - { (char*) "Asia/Harbin" , 0x048004 }, - { (char*) "Asia/Hebron" , 0x048241 }, - { (char*) "Asia/Ho_Chi_Minh" , 0x048BE8 }, - { (char*) "Asia/Hong_Kong" , 0x048D45 }, - { (char*) "Asia/Hovd" , 0x049222 }, - { (char*) "Asia/Irkutsk" , 0x0495C6 }, - { (char*) "Asia/Istanbul" , 0x049AB9 }, - { (char*) "Asia/Jakarta" , 0x04A252 }, - { (char*) "Asia/Jayapura" , 0x04A3EA }, - { (char*) "Asia/Jerusalem" , 0x04A509 }, - { (char*) "Asia/Kabul" , 0x04AE69 }, - { (char*) "Asia/Kamchatka" , 0x04AF37 }, - { (char*) "Asia/Karachi" , 0x04B3D5 }, - { (char*) "Asia/Kashgar" , 0x04B55C }, - { (char*) "Asia/Kathmandu" , 0x04B5FF }, - { (char*) "Asia/Katmandu" , 0x04B6D1 }, - { (char*) "Asia/Khandyga" , 0x04B7A3 }, - { (char*) "Asia/Kolkata" , 0x04BCB6 }, - { (char*) "Asia/Krasnoyarsk" , 0x04BDDF }, - { (char*) "Asia/Kuala_Lumpur" , 0x04C2AD }, - { (char*) "Asia/Kuching" , 0x04C43E }, - { (char*) "Asia/Kuwait" , 0x04C62D }, - { (char*) "Asia/Macao" , 0x04C6D0 }, - { (char*) "Asia/Macau" , 0x04CBA7 }, - { (char*) "Asia/Magadan" , 0x04D07E }, - { (char*) "Asia/Makassar" , 0x04D552 }, - { (char*) "Asia/Manila" , 0x04D6A5 }, - { (char*) "Asia/Muscat" , 0x04D7F9 }, - { (char*) "Asia/Nicosia" , 0x04D89C }, - { (char*) "Asia/Novokuznetsk" , 0x04E08D }, - { (char*) "Asia/Novosibirsk" , 0x04E529 }, - { (char*) "Asia/Omsk" , 0x04EA00 }, - { (char*) "Asia/Oral" , 0x04EEC2 }, - { (char*) "Asia/Phnom_Penh" , 0x04F2BC }, - { (char*) "Asia/Pontianak" , 0x04F3E1 }, - { (char*) "Asia/Pyongyang" , 0x04F564 }, - { (char*) "Asia/Qatar" , 0x04F65D }, - { (char*) "Asia/Qostanay" , 0x04F722 }, - { (char*) "Asia/Qyzylorda" , 0x04FB2D }, - { (char*) "Asia/Rangoon" , 0x04FF49 }, - { (char*) "Asia/Riyadh" , 0x050053 }, - { (char*) "Asia/Saigon" , 0x0500F6 }, - { (char*) "Asia/Sakhalin" , 0x050253 }, - { (char*) "Asia/Samarkand" , 0x05071B }, - { (char*) "Asia/Seoul" , 0x05096B }, - { (char*) "Asia/Shanghai" , 0x050BE0 }, - { (char*) "Asia/Singapore" , 0x050E29 }, - { (char*) "Asia/Srednekolymsk" , 0x050FA6 }, - { (char*) "Asia/Taipei" , 0x05147E }, - { (char*) "Asia/Tashkent" , 0x051783 }, - { (char*) "Asia/Tbilisi" , 0x0519E1 }, - { (char*) "Asia/Tehran" , 0x051DEA }, - { (char*) "Asia/Tel_Aviv" , 0x0522D6 }, - { (char*) "Asia/Thimbu" , 0x052C36 }, - { (char*) "Asia/Thimphu" , 0x052CFF }, - { (char*) "Asia/Tokyo" , 0x052DC8 }, - { (char*) "Asia/Tomsk" , 0x052F09 }, - { (char*) "Asia/Ujung_Pandang" , 0x0533DA }, - { (char*) "Asia/Ulaanbaatar" , 0x0534E4 }, - { (char*) "Asia/Ulan_Bator" , 0x053872 }, - { (char*) "Asia/Urumqi" , 0x053BEB }, - { (char*) "Asia/Ust-Nera" , 0x053C9B }, - { (char*) "Asia/Vientiane" , 0x054191 }, - { (char*) "Asia/Vladivostok" , 0x0542D2 }, - { (char*) "Asia/Yakutsk" , 0x05479B }, - { (char*) "Asia/Yangon" , 0x054C63 }, - { (char*) "Asia/Yekaterinburg" , 0x054D6D }, - { (char*) "Asia/Yerevan" , 0x055254 }, - { (char*) "Atlantic/Azores" , 0x0556D1 }, - { (char*) "Atlantic/Bermuda" , 0x05648D }, - { (char*) "Atlantic/Canary" , 0x056DF5 }, - { (char*) "Atlantic/Cape_Verde" , 0x057578 }, - { (char*) "Atlantic/Faeroe" , 0x057684 }, - { (char*) "Atlantic/Faroe" , 0x057DA7 }, - { (char*) "Atlantic/Jan_Mayen" , 0x0584CA }, - { (char*) "Atlantic/Madeira" , 0x058DD0 }, - { (char*) "Atlantic/Reykjavik" , 0x059B9A }, - { (char*) "Atlantic/South_Georgia" , 0x05A030 }, - { (char*) "Atlantic/St_Helena" , 0x05A0D2 }, - { (char*) "Atlantic/Stanley" , 0x05A194 }, - { (char*) "Australia/ACT" , 0x05A650 }, - { (char*) "Australia/Adelaide" , 0x05AEEA }, - { (char*) "Australia/Brisbane" , 0x05B7A5 }, - { (char*) "Australia/Broken_Hill" , 0x05B96B }, - { (char*) "Australia/Canberra" , 0x05C248 }, - { (char*) "Australia/Currie" , 0x05CAE2 }, - { (char*) "Australia/Darwin" , 0x05D424 }, - { (char*) "Australia/Eucla" , 0x05D587 }, - { (char*) "Australia/Hobart" , 0x05D774 }, - { (char*) "Australia/LHI" , 0x05E0BE }, - { (char*) "Australia/Lindeman" , 0x05E800 }, - { (char*) "Australia/Lord_Howe" , 0x05EA06 }, - { (char*) "Australia/Melbourne" , 0x05F158 }, - { (char*) "Australia/North" , 0x05F9FA }, - { (char*) "Australia/NSW" , 0x05FB4B }, - { (char*) "Australia/Perth" , 0x0603E5 }, - { (char*) "Australia/Queensland" , 0x0605CD }, - { (char*) "Australia/South" , 0x06077C }, - { (char*) "Australia/Sydney" , 0x061028 }, - { (char*) "Australia/Tasmania" , 0x0618DE }, - { (char*) "Australia/Victoria" , 0x062220 }, - { (char*) "Australia/West" , 0x062ABA }, - { (char*) "Australia/Yancowinna" , 0x062C84 }, - { (char*) "Brazil/Acre" , 0x063545 }, - { (char*) "Brazil/DeNoronha" , 0x0637B7 }, - { (char*) "Brazil/East" , 0x063A81 }, - { (char*) "Brazil/West" , 0x064023 }, - { (char*) "Canada/Atlantic" , 0x06427D }, - { (char*) "Canada/Central" , 0x064FE9 }, - { (char*) "Canada/Eastern" , 0x065B29 }, - { (char*) "Canada/Mountain" , 0x0668DB }, - { (char*) "Canada/Newfoundland" , 0x067203 }, - { (char*) "Canada/Pacific" , 0x068056 }, - { (char*) "Canada/Saskatchewan" , 0x068BAE }, - { (char*) "Canada/Yukon" , 0x068F8E }, - { (char*) "CET" , 0x0695E8 }, - { (char*) "Chile/Continental" , 0x069E22 }, - { (char*) "Chile/EasterIsland" , 0x06A801 }, - { (char*) "CST6CDT" , 0x06B0B8 }, - { (char*) "Cuba" , 0x06B9CA }, - { (char*) "EET" , 0x06C346 }, - { (char*) "Egypt" , 0x06CAC6 }, - { (char*) "Eire" , 0x06D275 }, - { (char*) "EST" , 0x06E025 }, - { (char*) "EST5EDT" , 0x06E0A3 }, - { (char*) "Etc/GMT" , 0x06E9B5 }, - { (char*) "Etc/GMT+0" , 0x06EA33 }, - { (char*) "Etc/GMT+1" , 0x06EAB1 }, - { (char*) "Etc/GMT+10" , 0x06EB31 }, - { (char*) "Etc/GMT+11" , 0x06EBB2 }, - { (char*) "Etc/GMT+12" , 0x06EC33 }, - { (char*) "Etc/GMT+2" , 0x06ECB4 }, - { (char*) "Etc/GMT+3" , 0x06ED34 }, - { (char*) "Etc/GMT+4" , 0x06EDB4 }, - { (char*) "Etc/GMT+5" , 0x06EE34 }, - { (char*) "Etc/GMT+6" , 0x06EEB4 }, - { (char*) "Etc/GMT+7" , 0x06EF34 }, - { (char*) "Etc/GMT+8" , 0x06EFB4 }, - { (char*) "Etc/GMT+9" , 0x06F034 }, - { (char*) "Etc/GMT-0" , 0x06F0B4 }, - { (char*) "Etc/GMT-1" , 0x06F132 }, - { (char*) "Etc/GMT-10" , 0x06F1B3 }, - { (char*) "Etc/GMT-11" , 0x06F235 }, - { (char*) "Etc/GMT-12" , 0x06F2B7 }, - { (char*) "Etc/GMT-13" , 0x06F339 }, - { (char*) "Etc/GMT-14" , 0x06F3BB }, - { (char*) "Etc/GMT-2" , 0x06F43D }, - { (char*) "Etc/GMT-3" , 0x06F4BE }, - { (char*) "Etc/GMT-4" , 0x06F53F }, - { (char*) "Etc/GMT-5" , 0x06F5C0 }, - { (char*) "Etc/GMT-6" , 0x06F641 }, - { (char*) "Etc/GMT-7" , 0x06F6C2 }, - { (char*) "Etc/GMT-8" , 0x06F743 }, - { (char*) "Etc/GMT-9" , 0x06F7C4 }, - { (char*) "Etc/GMT0" , 0x06F845 }, - { (char*) "Etc/Greenwich" , 0x06F8C3 }, - { (char*) "Etc/UCT" , 0x06F941 }, - { (char*) "Etc/Universal" , 0x06F9BF }, - { (char*) "Etc/UTC" , 0x06FA3D }, - { (char*) "Etc/Zulu" , 0x06FABB }, - { (char*) "Europe/Amsterdam" , 0x06FB39 }, - { (char*) "Europe/Andorra" , 0x0706A3 }, - { (char*) "Europe/Astrakhan" , 0x070D7D }, - { (char*) "Europe/Athens" , 0x07121A }, - { (char*) "Europe/Belfast" , 0x071AFC }, - { (char*) "Europe/Belgrade" , 0x072958 }, - { (char*) "Europe/Berlin" , 0x0730E4 }, - { (char*) "Europe/Bratislava" , 0x0739FE }, - { (char*) "Europe/Brussels" , 0x074307 }, - { (char*) "Europe/Bucharest" , 0x074E88 }, - { (char*) "Europe/Budapest" , 0x07571C }, - { (char*) "Europe/Busingen" , 0x076068 }, - { (char*) "Europe/Chisinau" , 0x0767F1 }, - { (char*) "Europe/Copenhagen" , 0x077153 }, - { (char*) "Europe/Dublin" , 0x0779B8 }, - { (char*) "Europe/Gibraltar" , 0x078768 }, - { (char*) "Europe/Guernsey" , 0x079370 }, - { (char*) "Europe/Helsinki" , 0x07A210 }, - { (char*) "Europe/Isle_of_Man" , 0x07A988 }, - { (char*) "Europe/Istanbul" , 0x07B7D4 }, - { (char*) "Europe/Jersey" , 0x07BF6D }, - { (char*) "Europe/Kaliningrad" , 0x07CE0D }, - { (char*) "Europe/Kiev" , 0x07D402 }, - { (char*) "Europe/Kirov" , 0x07DC56 }, - { (char*) "Europe/Kyiv" , 0x07E0E3 }, - { (char*) "Europe/Lisbon" , 0x07E94B }, - { (char*) "Europe/Ljubljana" , 0x07F713 }, - { (char*) "Europe/London" , 0x07FE9F }, - { (char*) "Europe/Luxembourg" , 0x080CFB }, - { (char*) "Europe/Madrid" , 0x081889 }, - { (char*) "Europe/Malta" , 0x0822DB }, - { (char*) "Europe/Mariehamn" , 0x082D23 }, - { (char*) "Europe/Minsk" , 0x08349B }, - { (char*) "Europe/Monaco" , 0x0839C2 }, - { (char*) "Europe/Moscow" , 0x08454E }, - { (char*) "Europe/Nicosia" , 0x084B6D }, - { (char*) "Europe/Oslo" , 0x08534B }, - { (char*) "Europe/Paris" , 0x085C0B }, - { (char*) "Europe/Podgorica" , 0x0867A9 }, - { (char*) "Europe/Prague" , 0x086F35 }, - { (char*) "Europe/Riga" , 0x08783E }, - { (char*) "Europe/Rome" , 0x0880E0 }, - { (char*) "Europe/Samara" , 0x088B3D }, - { (char*) "Europe/San_Marino" , 0x089013 }, - { (char*) "Europe/Sarajevo" , 0x089A70 }, - { (char*) "Europe/Saratov" , 0x08A1FC }, - { (char*) "Europe/Simferopol" , 0x08A6A9 }, - { (char*) "Europe/Skopje" , 0x08AC78 }, - { (char*) "Europe/Sofia" , 0x08B404 }, - { (char*) "Europe/Stockholm" , 0x08BC2D }, - { (char*) "Europe/Tallinn" , 0x08C3AE }, - { (char*) "Europe/Tirane" , 0x08CC1E }, - { (char*) "Europe/Tiraspol" , 0x08D44E }, - { (char*) "Europe/Ulyanovsk" , 0x08DDB0 }, - { (char*) "Europe/Uzhgorod" , 0x08E2B3 }, - { (char*) "Europe/Vaduz" , 0x08EB07 }, - { (char*) "Europe/Vatican" , 0x08F273 }, - { (char*) "Europe/Vienna" , 0x08FCD0 }, - { (char*) "Europe/Vilnius" , 0x090574 }, - { (char*) "Europe/Volgograd" , 0x090DF2 }, - { (char*) "Europe/Warsaw" , 0x09128F }, - { (char*) "Europe/Zagreb" , 0x091CF9 }, - { (char*) "Europe/Zaporozhye" , 0x092485 }, - { (char*) "Europe/Zurich" , 0x092CD9 }, - { (char*) "Factory" , 0x09345A }, - { (char*) "GB" , 0x0934DA }, - { (char*) "GB-Eire" , 0x094336 }, - { (char*) "GMT" , 0x095192 }, - { (char*) "GMT+0" , 0x095210 }, - { (char*) "GMT-0" , 0x09528E }, - { (char*) "GMT0" , 0x09530C }, - { (char*) "Greenwich" , 0x09538A }, - { (char*) "Hongkong" , 0x095408 }, - { (char*) "HST" , 0x0958E5 }, - { (char*) "Iceland" , 0x095964 }, - { (char*) "Indian/Antananarivo" , 0x095A04 }, - { (char*) "Indian/Chagos" , 0x095AEB }, - { (char*) "Indian/Christmas" , 0x095BB0 }, - { (char*) "Indian/Cocos" , 0x095C53 }, - { (char*) "Indian/Comoro" , 0x095CFF }, - { (char*) "Indian/Kerguelen" , 0x095DA0 }, - { (char*) "Indian/Mahe" , 0x095E43 }, - { (char*) "Indian/Maldives" , 0x095EE6 }, - { (char*) "Indian/Mauritius" , 0x095FAB }, - { (char*) "Indian/Mayotte" , 0x09609A }, - { (char*) "Indian/Reunion" , 0x09613B }, - { (char*) "Iran" , 0x0961DE }, - { (char*) "Israel" , 0x0966CA }, - { (char*) "Jamaica" , 0x09702A }, - { (char*) "Japan" , 0x097218 }, - { (char*) "Kwajalein" , 0x097359 }, - { (char*) "Libya" , 0x097493 }, - { (char*) "MET" , 0x097710 }, - { (char*) "Mexico/BajaNorte" , 0x097F4A }, - { (char*) "Mexico/BajaSur" , 0x09889C }, - { (char*) "Mexico/General" , 0x098D10 }, - { (char*) "MST" , 0x0991E2 }, - { (char*) "MST7MDT" , 0x099260 }, - { (char*) "Navajo" , 0x099B72 }, - { (char*) "NZ" , 0x09A51A }, - { (char*) "NZ-CHAT" , 0x09AEAB }, - { (char*) "Pacific/Apia" , 0x09B6BD }, - { (char*) "Pacific/Auckland" , 0x09B91F }, - { (char*) "Pacific/Bougainville" , 0x09C2C8 }, - { (char*) "Pacific/Chatham" , 0x09C3DE }, - { (char*) "Pacific/Chuuk" , 0x09CBFF }, - { (char*) "Pacific/Easter" , 0x09CD19 }, - { (char*) "Pacific/Efate" , 0x09D5DD }, - { (char*) "Pacific/Enderbury" , 0x09D7F5 }, - { (char*) "Pacific/Fakaofo" , 0x09D8DD }, - { (char*) "Pacific/Fiji" , 0x09D9A3 }, - { (char*) "Pacific/Funafuti" , 0x09DBE3 }, - { (char*) "Pacific/Galapagos" , 0x09DC87 }, - { (char*) "Pacific/Gambier" , 0x09DD84 }, - { (char*) "Pacific/Guadalcanal" , 0x09DE35 }, - { (char*) "Pacific/Guam" , 0x09DED9 }, - { (char*) "Pacific/Honolulu" , 0x09E0D3 }, - { (char*) "Pacific/Johnston" , 0x09E22E }, - { (char*) "Pacific/Kanton" , 0x09E383 }, - { (char*) "Pacific/Kiritimati" , 0x09E47A }, - { (char*) "Pacific/Kosrae" , 0x09E572 }, - { (char*) "Pacific/Kwajalein" , 0x09E6D5 }, - { (char*) "Pacific/Majuro" , 0x09E818 }, - { (char*) "Pacific/Marquesas" , 0x09E969 }, - { (char*) "Pacific/Midway" , 0x09EA25 }, - { (char*) "Pacific/Nauru" , 0x09EB18 }, - { (char*) "Pacific/Niue" , 0x09EC12 }, - { (char*) "Pacific/Norfolk" , 0x09ECDB }, - { (char*) "Pacific/Noumea" , 0x09F049 }, - { (char*) "Pacific/Pago_Pago" , 0x09F177 }, - { (char*) "Pacific/Palau" , 0x09F232 }, - { (char*) "Pacific/Pitcairn" , 0x09F2E4 }, - { (char*) "Pacific/Pohnpei" , 0x09F3AC }, - { (char*) "Pacific/Ponape" , 0x09F4E7 }, - { (char*) "Pacific/Port_Moresby" , 0x09F58B }, - { (char*) "Pacific/Rarotonga" , 0x09F660 }, - { (char*) "Pacific/Saipan" , 0x09F8B9 }, - { (char*) "Pacific/Samoa" , 0x09FAA5 }, - { (char*) "Pacific/Tahiti" , 0x09FB60 }, - { (char*) "Pacific/Tarawa" , 0x09FC12 }, - { (char*) "Pacific/Tongatapu" , 0x09FCC5 }, - { (char*) "Pacific/Truk" , 0x09FE37 }, - { (char*) "Pacific/Wake" , 0x09FEEF }, - { (char*) "Pacific/Wallis" , 0x09FF9E }, - { (char*) "Pacific/Yap" , 0x0A0042 }, - { (char*) "Poland" , 0x0A00FA }, - { (char*) "Portugal" , 0x0A0B64 }, - { (char*) "PRC" , 0x0A1919 }, - { (char*) "PST8PDT" , 0x0A1B56 }, - { (char*) "ROC" , 0x0A2468 }, - { (char*) "ROK" , 0x0A276D }, - { (char*) "Singapore" , 0x0A29E2 }, - { (char*) "Turkey" , 0x0A2B5F }, - { (char*) "UCT" , 0x0A32F8 }, - { (char*) "Universal" , 0x0A3376 }, - { (char*) "US/Alaska" , 0x0A33F4 }, - { (char*) "US/Aleutian" , 0x0A3D43 }, - { (char*) "US/Arizona" , 0x0A4683 }, - { (char*) "US/Central" , 0x0A47F7 }, - { (char*) "US/East-Indiana" , 0x0A560B }, - { (char*) "US/Eastern" , 0x0A5CA9 }, - { (char*) "US/Hawaii" , 0x0A6A95 }, - { (char*) "US/Indiana-Starke" , 0x0A6BEA }, - { (char*) "US/Michigan" , 0x0A7582 }, - { (char*) "US/Mountain" , 0x0A7E44 }, - { (char*) "US/Pacific" , 0x0A87EC }, - { (char*) "US/Samoa" , 0x0A931C }, - { (char*) "UTC" , 0x0A93D7 }, - { (char*) "W-SU" , 0x0A9455 }, - { (char*) "WET" , 0x0A9A60 }, - { (char*) "Zulu" , 0x0AA1DD }, + { (char*) "America/Barbados" , 0x00C610 }, + { (char*) "America/Belem" , 0x00C7D0 }, + { (char*) "America/Belize" , 0x00CA20 }, + { (char*) "America/Blanc-Sablon" , 0x00D07A }, + { (char*) "America/Boa_Vista" , 0x00D1CC }, + { (char*) "America/Bogota" , 0x00D449 }, + { (char*) "America/Boise" , 0x00D53D }, + { (char*) "America/Buenos_Aires" , 0x00DED3 }, + { (char*) "America/Cambridge_Bay" , 0x00E305 }, + { (char*) "America/Campo_Grande" , 0x00EBF3 }, + { (char*) "America/Cancun" , 0x00F1A7 }, + { (char*) "America/Caracas" , 0x00F501 }, + { (char*) "America/Catamarca" , 0x00F607 }, + { (char*) "America/Cayenne" , 0x00FA39 }, + { (char*) "America/Cayman" , 0x00FAFD }, + { (char*) "America/Chicago" , 0x00FBBF }, + { (char*) "America/Chihuahua" , 0x0109E7 }, + { (char*) "America/Ciudad_Juarez" , 0x010E57 }, + { (char*) "America/Coral_Harbour" , 0x011481 }, + { (char*) "America/Cordoba" , 0x011543 }, + { (char*) "America/Costa_Rica" , 0x011975 }, + { (char*) "America/Creston" , 0x011ABD }, + { (char*) "America/Cuiaba" , 0x011BAB }, + { (char*) "America/Curacao" , 0x01213C }, + { (char*) "America/Danmarkshavn" , 0x012202 }, + { (char*) "America/Dawson" , 0x0124E2 }, + { (char*) "America/Dawson_Creek" , 0x012B4E }, + { (char*) "America/Denver" , 0x012F94 }, + { (char*) "America/Detroit" , 0x013951 }, + { (char*) "America/Dominica" , 0x01422C }, + { (char*) "America/Edmonton" , 0x0142CC }, + { (char*) "America/Eirunepe" , 0x014C11 }, + { (char*) "America/El_Salvador" , 0x014EAE }, + { (char*) "America/Ensenada" , 0x014F9A }, + { (char*) "America/Fort_Nelson" , 0x0158EC }, + { (char*) "America/Fort_Wayne" , 0x0161CC }, + { (char*) "America/Fortaleza" , 0x01686A }, + { (char*) "America/Glace_Bay" , 0x016B5A }, + { (char*) "America/Godthab" , 0x017411 }, + { (char*) "America/Goose_Bay" , 0x0179C5 }, + { (char*) "America/Grand_Turk" , 0x01867B }, + { (char*) "America/Grenada" , 0x018DB1 }, + { (char*) "America/Guadeloupe" , 0x018E51 }, + { (char*) "America/Guatemala" , 0x018EF1 }, + { (char*) "America/Guayaquil" , 0x019015 }, + { (char*) "America/Guyana" , 0x01911B }, + { (char*) "America/Halifax" , 0x01921F }, + { (char*) "America/Havana" , 0x019FA9 }, + { (char*) "America/Hermosillo" , 0x01A925 }, + { (char*) "America/Indiana/Indianapolis" , 0x01AAFF }, + { (char*) "America/Indiana/Knox" , 0x01B1B6 }, + { (char*) "America/Indiana/Marengo" , 0x01BB63 }, + { (char*) "America/Indiana/Petersburg" , 0x01C250 }, + { (char*) "America/Indiana/Tell_City" , 0x01C9EF }, + { (char*) "America/Indiana/Vevay" , 0x01D0B3 }, + { (char*) "America/Indiana/Vincennes" , 0x01D66F }, + { (char*) "America/Indiana/Winamac" , 0x01DD45 }, + { (char*) "America/Indianapolis" , 0x01E469 }, + { (char*) "America/Inuvik" , 0x01EB07 }, + { (char*) "America/Iqaluit" , 0x01F341 }, + { (char*) "America/Jamaica" , 0x01FC00 }, + { (char*) "America/Jujuy" , 0x01FDEE }, + { (char*) "America/Juneau" , 0x020204 }, + { (char*) "America/Kentucky/Louisville" , 0x020B55 }, + { (char*) "America/Kentucky/Monticello" , 0x021663 }, + { (char*) "America/Knox_IN" , 0x021FC3 }, + { (char*) "America/Kralendijk" , 0x02295B }, + { (char*) "America/La_Paz" , 0x022A5D }, + { (char*) "America/Lima" , 0x022B43 }, + { (char*) "America/Los_Angeles" , 0x022CD7 }, + { (char*) "America/Louisville" , 0x02380E }, + { (char*) "America/Lower_Princes" , 0x0242FE }, + { (char*) "America/Maceio" , 0x024400 }, + { (char*) "America/Managua" , 0x0246F6 }, + { (char*) "America/Manaus" , 0x0248B0 }, + { (char*) "America/Marigot" , 0x024B19 }, + { (char*) "America/Martinique" , 0x024C1B }, + { (char*) "America/Matamoros" , 0x024D0F }, + { (char*) "America/Mazatlan" , 0x0252D1 }, + { (char*) "America/Mendoza" , 0x025777 }, + { (char*) "America/Menominee" , 0x025BA9 }, + { (char*) "America/Merida" , 0x0264B6 }, + { (char*) "America/Metlakatla" , 0x0268BF }, + { (char*) "America/Mexico_City" , 0x026E71 }, + { (char*) "America/Miquelon" , 0x027351 }, + { (char*) "America/Moncton" , 0x0279D1 }, + { (char*) "America/Monterrey" , 0x028647 }, + { (char*) "America/Montevideo" , 0x028A5D }, + { (char*) "America/Montreal" , 0x029041 }, + { (char*) "America/Montserrat" , 0x029DF3 }, + { (char*) "America/Nassau" , 0x029E93 }, + { (char*) "America/New_York" , 0x02A7F3 }, + { (char*) "America/Nipigon" , 0x02B5F3 }, + { (char*) "America/Nome" , 0x02C3A5 }, + { (char*) "America/Noronha" , 0x02CCFD }, + { (char*) "America/North_Dakota/Beulah" , 0x02CFD7 }, + { (char*) "America/North_Dakota/Center" , 0x02D954 }, + { (char*) "America/North_Dakota/New_Salem" , 0x02E2D1 }, + { (char*) "America/Nuuk" , 0x02EC54 }, + { (char*) "America/Ojinaga" , 0x02F21E }, + { (char*) "America/Panama" , 0x02F83A }, + { (char*) "America/Pangnirtung" , 0x02F8FC }, + { (char*) "America/Paramaribo" , 0x0301A2 }, + { (char*) "America/Phoenix" , 0x0302A6 }, + { (char*) "America/Port-au-Prince" , 0x030437 }, + { (char*) "America/Port_of_Spain" , 0x0309DD }, + { (char*) "America/Porto_Acre" , 0x030A7D }, + { (char*) "America/Porto_Velho" , 0x030CEF }, + { (char*) "America/Puerto_Rico" , 0x030F35 }, + { (char*) "America/Punta_Arenas" , 0x031037 }, + { (char*) "America/Rainy_River" , 0x0317C5 }, + { (char*) "America/Rankin_Inlet" , 0x032305 }, + { (char*) "America/Recife" , 0x032B39 }, + { (char*) "America/Regina" , 0x032E0D }, + { (char*) "America/Resolute" , 0x033202 }, + { (char*) "America/Rio_Branco" , 0x033A37 }, + { (char*) "America/Rosario" , 0x033CAD }, + { (char*) "America/Santa_Isabel" , 0x0340DF }, + { (char*) "America/Santarem" , 0x034A31 }, + { (char*) "America/Santiago" , 0x034C94 }, + { (char*) "America/Santo_Domingo" , 0x035685 }, + { (char*) "America/Sao_Paulo" , 0x03585B }, + { (char*) "America/Scoresbysund" , 0x035E33 }, + { (char*) "America/Shiprock" , 0x0365CA }, + { (char*) "America/Sitka" , 0x036F72 }, + { (char*) "America/St_Barthelemy" , 0x0378AA }, + { (char*) "America/St_Johns" , 0x0379AC }, + { (char*) "America/St_Kitts" , 0x038821 }, + { (char*) "America/St_Lucia" , 0x0388C1 }, + { (char*) "America/St_Thomas" , 0x038983 }, + { (char*) "America/St_Vincent" , 0x038A23 }, + { (char*) "America/Swift_Current" , 0x038AE5 }, + { (char*) "America/Tegucigalpa" , 0x038D33 }, + { (char*) "America/Thule" , 0x038E3B }, + { (char*) "America/Thunder_Bay" , 0x039433 }, + { (char*) "America/Tijuana" , 0x03A1E5 }, + { (char*) "America/Toronto" , 0x03AB46 }, + { (char*) "America/Tortola" , 0x03B915 }, + { (char*) "America/Vancouver" , 0x03B9B5 }, + { (char*) "America/Virgin" , 0x03C526 }, + { (char*) "America/Whitehorse" , 0x03C628 }, + { (char*) "America/Winnipeg" , 0x03CC94 }, + { (char*) "America/Yakutat" , 0x03D7F1 }, + { (char*) "America/Yellowknife" , 0x03E10E }, + { (char*) "Antarctica/Casey" , 0x03E989 }, + { (char*) "Antarctica/Davis" , 0x03EB0C }, + { (char*) "Antarctica/DumontDUrville" , 0x03EC38 }, + { (char*) "Antarctica/Macquarie" , 0x03ED08 }, + { (char*) "Antarctica/Mawson" , 0x03F5F8 }, + { (char*) "Antarctica/McMurdo" , 0x03F6C3 }, + { (char*) "Antarctica/Palmer" , 0x03FEBE }, + { (char*) "Antarctica/Rothera" , 0x04044C }, + { (char*) "Antarctica/South_Pole" , 0x0404F5 }, + { (char*) "Antarctica/Syowa" , 0x040E86 }, + { (char*) "Antarctica/Troll" , 0x040F2E }, + { (char*) "Antarctica/Vostok" , 0x0413BB }, + { (char*) "Arctic/Longyearbyen" , 0x041464 }, + { (char*) "Asia/Aden" , 0x041D6A }, + { (char*) "Asia/Almaty" , 0x041E0D }, + { (char*) "Asia/Amman" , 0x042207 }, + { (char*) "Asia/Anadyr" , 0x0427AC }, + { (char*) "Asia/Aqtau" , 0x042C61 }, + { (char*) "Asia/Aqtobe" , 0x04304B }, + { (char*) "Asia/Ashgabat" , 0x043449 }, + { (char*) "Asia/Ashkhabad" , 0x0436B2 }, + { (char*) "Asia/Atyrau" , 0x04391B }, + { (char*) "Asia/Baghdad" , 0x043D0D }, + { (char*) "Asia/Bahrain" , 0x0440E2 }, + { (char*) "Asia/Baku" , 0x0441CD }, + { (char*) "Asia/Bangkok" , 0x044696 }, + { (char*) "Asia/Barnaul" , 0x04475B }, + { (char*) "Asia/Beirut" , 0x044C2C }, + { (char*) "Asia/Bishkek" , 0x0454A2 }, + { (char*) "Asia/Brunei" , 0x045877 }, + { (char*) "Asia/Calcutta" , 0x045940 }, + { (char*) "Asia/Chita" , 0x045A69 }, + { (char*) "Asia/Choibalsan" , 0x045F40 }, + { (char*) "Asia/Chongqing" , 0x046305 }, + { (char*) "Asia/Chungking" , 0x046542 }, + { (char*) "Asia/Colombo" , 0x04677F }, + { (char*) "Asia/Dacca" , 0x0468F1 }, + { (char*) "Asia/Damascus" , 0x046A40 }, + { (char*) "Asia/Dhaka" , 0x04719D }, + { (char*) "Asia/Dili" , 0x0472EC }, + { (char*) "Asia/Dubai" , 0x0473CD }, + { (char*) "Asia/Dushanbe" , 0x047470 }, + { (char*) "Asia/Famagusta" , 0x0476BD }, + { (char*) "Asia/Gaza" , 0x047EC4 }, + { (char*) "Asia/Harbin" , 0x048850 }, + { (char*) "Asia/Hebron" , 0x048A8D }, + { (char*) "Asia/Ho_Chi_Minh" , 0x049434 }, + { (char*) "Asia/Hong_Kong" , 0x049591 }, + { (char*) "Asia/Hovd" , 0x049A6E }, + { (char*) "Asia/Irkutsk" , 0x049E12 }, + { (char*) "Asia/Istanbul" , 0x04A305 }, + { (char*) "Asia/Jakarta" , 0x04AA9E }, + { (char*) "Asia/Jayapura" , 0x04AC36 }, + { (char*) "Asia/Jerusalem" , 0x04AD55 }, + { (char*) "Asia/Kabul" , 0x04B6B5 }, + { (char*) "Asia/Kamchatka" , 0x04B783 }, + { (char*) "Asia/Karachi" , 0x04BC21 }, + { (char*) "Asia/Kashgar" , 0x04BDA8 }, + { (char*) "Asia/Kathmandu" , 0x04BE4B }, + { (char*) "Asia/Katmandu" , 0x04BF1D }, + { (char*) "Asia/Khandyga" , 0x04BFEF }, + { (char*) "Asia/Kolkata" , 0x04C502 }, + { (char*) "Asia/Krasnoyarsk" , 0x04C62B }, + { (char*) "Asia/Kuala_Lumpur" , 0x04CAF9 }, + { (char*) "Asia/Kuching" , 0x04CCAA }, + { (char*) "Asia/Kuwait" , 0x04CE99 }, + { (char*) "Asia/Macao" , 0x04CF3C }, + { (char*) "Asia/Macau" , 0x04D413 }, + { (char*) "Asia/Magadan" , 0x04D8EA }, + { (char*) "Asia/Makassar" , 0x04DDBE }, + { (char*) "Asia/Manila" , 0x04DF11 }, + { (char*) "Asia/Muscat" , 0x04E065 }, + { (char*) "Asia/Nicosia" , 0x04E108 }, + { (char*) "Asia/Novokuznetsk" , 0x04E8F9 }, + { (char*) "Asia/Novosibirsk" , 0x04ED95 }, + { (char*) "Asia/Omsk" , 0x04F26C }, + { (char*) "Asia/Oral" , 0x04F72E }, + { (char*) "Asia/Phnom_Penh" , 0x04FB28 }, + { (char*) "Asia/Pontianak" , 0x04FC4D }, + { (char*) "Asia/Pyongyang" , 0x04FDD0 }, + { (char*) "Asia/Qatar" , 0x04FEC9 }, + { (char*) "Asia/Qostanay" , 0x04FF8E }, + { (char*) "Asia/Qyzylorda" , 0x050399 }, + { (char*) "Asia/Rangoon" , 0x0507B5 }, + { (char*) "Asia/Riyadh" , 0x0508BF }, + { (char*) "Asia/Saigon" , 0x050962 }, + { (char*) "Asia/Sakhalin" , 0x050ABF }, + { (char*) "Asia/Samarkand" , 0x050F87 }, + { (char*) "Asia/Seoul" , 0x0511D7 }, + { (char*) "Asia/Shanghai" , 0x05144C }, + { (char*) "Asia/Singapore" , 0x051695 }, + { (char*) "Asia/Srednekolymsk" , 0x051832 }, + { (char*) "Asia/Taipei" , 0x051D0A }, + { (char*) "Asia/Tashkent" , 0x05200F }, + { (char*) "Asia/Tbilisi" , 0x05226D }, + { (char*) "Asia/Tehran" , 0x052676 }, + { (char*) "Asia/Tel_Aviv" , 0x052B62 }, + { (char*) "Asia/Thimbu" , 0x0534C2 }, + { (char*) "Asia/Thimphu" , 0x05358B }, + { (char*) "Asia/Tokyo" , 0x053654 }, + { (char*) "Asia/Tomsk" , 0x053795 }, + { (char*) "Asia/Ujung_Pandang" , 0x053C66 }, + { (char*) "Asia/Ulaanbaatar" , 0x053D70 }, + { (char*) "Asia/Ulan_Bator" , 0x0540FE }, + { (char*) "Asia/Urumqi" , 0x054477 }, + { (char*) "Asia/Ust-Nera" , 0x054527 }, + { (char*) "Asia/Vientiane" , 0x054A1D }, + { (char*) "Asia/Vladivostok" , 0x054B5E }, + { (char*) "Asia/Yakutsk" , 0x055027 }, + { (char*) "Asia/Yangon" , 0x0554EF }, + { (char*) "Asia/Yekaterinburg" , 0x0555F9 }, + { (char*) "Asia/Yerevan" , 0x055AE0 }, + { (char*) "Atlantic/Azores" , 0x055F5D }, + { (char*) "Atlantic/Bermuda" , 0x056D19 }, + { (char*) "Atlantic/Canary" , 0x057681 }, + { (char*) "Atlantic/Cape_Verde" , 0x057E04 }, + { (char*) "Atlantic/Faeroe" , 0x057F10 }, + { (char*) "Atlantic/Faroe" , 0x058633 }, + { (char*) "Atlantic/Jan_Mayen" , 0x058D56 }, + { (char*) "Atlantic/Madeira" , 0x05965C }, + { (char*) "Atlantic/Reykjavik" , 0x05A426 }, + { (char*) "Atlantic/South_Georgia" , 0x05A8BC }, + { (char*) "Atlantic/St_Helena" , 0x05A95E }, + { (char*) "Atlantic/Stanley" , 0x05AA20 }, + { (char*) "Australia/ACT" , 0x05AEDC }, + { (char*) "Australia/Adelaide" , 0x05B776 }, + { (char*) "Australia/Brisbane" , 0x05C031 }, + { (char*) "Australia/Broken_Hill" , 0x05C1F7 }, + { (char*) "Australia/Canberra" , 0x05CAD4 }, + { (char*) "Australia/Currie" , 0x05D36E }, + { (char*) "Australia/Darwin" , 0x05DCB0 }, + { (char*) "Australia/Eucla" , 0x05DE13 }, + { (char*) "Australia/Hobart" , 0x05E000 }, + { (char*) "Australia/LHI" , 0x05E94A }, + { (char*) "Australia/Lindeman" , 0x05F08C }, + { (char*) "Australia/Lord_Howe" , 0x05F292 }, + { (char*) "Australia/Melbourne" , 0x05F9E4 }, + { (char*) "Australia/North" , 0x060286 }, + { (char*) "Australia/NSW" , 0x0603D7 }, + { (char*) "Australia/Perth" , 0x060C71 }, + { (char*) "Australia/Queensland" , 0x060E59 }, + { (char*) "Australia/South" , 0x061008 }, + { (char*) "Australia/Sydney" , 0x0618B4 }, + { (char*) "Australia/Tasmania" , 0x06216A }, + { (char*) "Australia/Victoria" , 0x062AAC }, + { (char*) "Australia/West" , 0x063346 }, + { (char*) "Australia/Yancowinna" , 0x063510 }, + { (char*) "Brazil/Acre" , 0x063DD1 }, + { (char*) "Brazil/DeNoronha" , 0x064043 }, + { (char*) "Brazil/East" , 0x06430D }, + { (char*) "Brazil/West" , 0x0648AF }, + { (char*) "Canada/Atlantic" , 0x064B09 }, + { (char*) "Canada/Central" , 0x065875 }, + { (char*) "Canada/Eastern" , 0x0663B5 }, + { (char*) "Canada/Mountain" , 0x067167 }, + { (char*) "Canada/Newfoundland" , 0x067A8F }, + { (char*) "Canada/Pacific" , 0x0688E2 }, + { (char*) "Canada/Saskatchewan" , 0x06943A }, + { (char*) "Canada/Yukon" , 0x06981A }, + { (char*) "CET" , 0x069E74 }, + { (char*) "Chile/Continental" , 0x06A6AE }, + { (char*) "Chile/EasterIsland" , 0x06B08D }, + { (char*) "CST6CDT" , 0x06B944 }, + { (char*) "Cuba" , 0x06C256 }, + { (char*) "EET" , 0x06CBD2 }, + { (char*) "Egypt" , 0x06D352 }, + { (char*) "Eire" , 0x06DB01 }, + { (char*) "EST" , 0x06E8B1 }, + { (char*) "EST5EDT" , 0x06E92F }, + { (char*) "Etc/GMT" , 0x06F241 }, + { (char*) "Etc/GMT+0" , 0x06F2BF }, + { (char*) "Etc/GMT+1" , 0x06F33D }, + { (char*) "Etc/GMT+10" , 0x06F3BD }, + { (char*) "Etc/GMT+11" , 0x06F43E }, + { (char*) "Etc/GMT+12" , 0x06F4BF }, + { (char*) "Etc/GMT+2" , 0x06F540 }, + { (char*) "Etc/GMT+3" , 0x06F5C0 }, + { (char*) "Etc/GMT+4" , 0x06F640 }, + { (char*) "Etc/GMT+5" , 0x06F6C0 }, + { (char*) "Etc/GMT+6" , 0x06F740 }, + { (char*) "Etc/GMT+7" , 0x06F7C0 }, + { (char*) "Etc/GMT+8" , 0x06F840 }, + { (char*) "Etc/GMT+9" , 0x06F8C0 }, + { (char*) "Etc/GMT-0" , 0x06F940 }, + { (char*) "Etc/GMT-1" , 0x06F9BE }, + { (char*) "Etc/GMT-10" , 0x06FA3F }, + { (char*) "Etc/GMT-11" , 0x06FAC1 }, + { (char*) "Etc/GMT-12" , 0x06FB43 }, + { (char*) "Etc/GMT-13" , 0x06FBC5 }, + { (char*) "Etc/GMT-14" , 0x06FC47 }, + { (char*) "Etc/GMT-2" , 0x06FCC9 }, + { (char*) "Etc/GMT-3" , 0x06FD4A }, + { (char*) "Etc/GMT-4" , 0x06FDCB }, + { (char*) "Etc/GMT-5" , 0x06FE4C }, + { (char*) "Etc/GMT-6" , 0x06FECD }, + { (char*) "Etc/GMT-7" , 0x06FF4E }, + { (char*) "Etc/GMT-8" , 0x06FFCF }, + { (char*) "Etc/GMT-9" , 0x070050 }, + { (char*) "Etc/GMT0" , 0x0700D1 }, + { (char*) "Etc/Greenwich" , 0x07014F }, + { (char*) "Etc/UCT" , 0x0701CD }, + { (char*) "Etc/Universal" , 0x07024B }, + { (char*) "Etc/UTC" , 0x0702C9 }, + { (char*) "Etc/Zulu" , 0x070347 }, + { (char*) "Europe/Amsterdam" , 0x0703C5 }, + { (char*) "Europe/Andorra" , 0x070F2F }, + { (char*) "Europe/Astrakhan" , 0x071609 }, + { (char*) "Europe/Athens" , 0x071AA6 }, + { (char*) "Europe/Belfast" , 0x072388 }, + { (char*) "Europe/Belgrade" , 0x0731E4 }, + { (char*) "Europe/Berlin" , 0x073970 }, + { (char*) "Europe/Bratislava" , 0x07428A }, + { (char*) "Europe/Brussels" , 0x074B93 }, + { (char*) "Europe/Bucharest" , 0x075714 }, + { (char*) "Europe/Budapest" , 0x075FA8 }, + { (char*) "Europe/Busingen" , 0x0768F4 }, + { (char*) "Europe/Chisinau" , 0x07707D }, + { (char*) "Europe/Copenhagen" , 0x0779DF }, + { (char*) "Europe/Dublin" , 0x078244 }, + { (char*) "Europe/Gibraltar" , 0x078FF4 }, + { (char*) "Europe/Guernsey" , 0x079BFC }, + { (char*) "Europe/Helsinki" , 0x07AA9C }, + { (char*) "Europe/Isle_of_Man" , 0x07B214 }, + { (char*) "Europe/Istanbul" , 0x07C060 }, + { (char*) "Europe/Jersey" , 0x07C7F9 }, + { (char*) "Europe/Kaliningrad" , 0x07D699 }, + { (char*) "Europe/Kiev" , 0x07DC8E }, + { (char*) "Europe/Kirov" , 0x07E4E2 }, + { (char*) "Europe/Kyiv" , 0x07E96F }, + { (char*) "Europe/Lisbon" , 0x07F1D7 }, + { (char*) "Europe/Ljubljana" , 0x07FF9F }, + { (char*) "Europe/London" , 0x08072B }, + { (char*) "Europe/Luxembourg" , 0x081587 }, + { (char*) "Europe/Madrid" , 0x082115 }, + { (char*) "Europe/Malta" , 0x082B67 }, + { (char*) "Europe/Mariehamn" , 0x0835AF }, + { (char*) "Europe/Minsk" , 0x083D27 }, + { (char*) "Europe/Monaco" , 0x08424E }, + { (char*) "Europe/Moscow" , 0x084DDA }, + { (char*) "Europe/Nicosia" , 0x0853F9 }, + { (char*) "Europe/Oslo" , 0x085BD7 }, + { (char*) "Europe/Paris" , 0x086497 }, + { (char*) "Europe/Podgorica" , 0x087035 }, + { (char*) "Europe/Prague" , 0x0877C1 }, + { (char*) "Europe/Riga" , 0x0880CA }, + { (char*) "Europe/Rome" , 0x08896C }, + { (char*) "Europe/Samara" , 0x0893C9 }, + { (char*) "Europe/San_Marino" , 0x08989F }, + { (char*) "Europe/Sarajevo" , 0x08A2FC }, + { (char*) "Europe/Saratov" , 0x08AA88 }, + { (char*) "Europe/Simferopol" , 0x08AF35 }, + { (char*) "Europe/Skopje" , 0x08B504 }, + { (char*) "Europe/Sofia" , 0x08BC90 }, + { (char*) "Europe/Stockholm" , 0x08C4B9 }, + { (char*) "Europe/Tallinn" , 0x08CC3A }, + { (char*) "Europe/Tirane" , 0x08D4AA }, + { (char*) "Europe/Tiraspol" , 0x08DCDA }, + { (char*) "Europe/Ulyanovsk" , 0x08E63C }, + { (char*) "Europe/Uzhgorod" , 0x08EB3F }, + { (char*) "Europe/Vaduz" , 0x08F393 }, + { (char*) "Europe/Vatican" , 0x08FAFF }, + { (char*) "Europe/Vienna" , 0x09055C }, + { (char*) "Europe/Vilnius" , 0x090E00 }, + { (char*) "Europe/Volgograd" , 0x09167E }, + { (char*) "Europe/Warsaw" , 0x091B1B }, + { (char*) "Europe/Zagreb" , 0x092585 }, + { (char*) "Europe/Zaporozhye" , 0x092D11 }, + { (char*) "Europe/Zurich" , 0x093565 }, + { (char*) "Factory" , 0x093CE6 }, + { (char*) "GB" , 0x093D66 }, + { (char*) "GB-Eire" , 0x094BC2 }, + { (char*) "GMT" , 0x095A1E }, + { (char*) "GMT+0" , 0x095A9C }, + { (char*) "GMT-0" , 0x095B1A }, + { (char*) "GMT0" , 0x095B98 }, + { (char*) "Greenwich" , 0x095C16 }, + { (char*) "Hongkong" , 0x095C94 }, + { (char*) "HST" , 0x096171 }, + { (char*) "Iceland" , 0x0961F0 }, + { (char*) "Indian/Antananarivo" , 0x096290 }, + { (char*) "Indian/Chagos" , 0x096377 }, + { (char*) "Indian/Christmas" , 0x09643C }, + { (char*) "Indian/Cocos" , 0x0964DF }, + { (char*) "Indian/Comoro" , 0x09658B }, + { (char*) "Indian/Kerguelen" , 0x09662C }, + { (char*) "Indian/Mahe" , 0x0966CF }, + { (char*) "Indian/Maldives" , 0x096772 }, + { (char*) "Indian/Mauritius" , 0x096837 }, + { (char*) "Indian/Mayotte" , 0x096926 }, + { (char*) "Indian/Reunion" , 0x0969C7 }, + { (char*) "Iran" , 0x096A6A }, + { (char*) "Israel" , 0x096F56 }, + { (char*) "Jamaica" , 0x0978B6 }, + { (char*) "Japan" , 0x097AA4 }, + { (char*) "Kwajalein" , 0x097BE5 }, + { (char*) "Libya" , 0x097D1F }, + { (char*) "MET" , 0x097F9C }, + { (char*) "Mexico/BajaNorte" , 0x0987D6 }, + { (char*) "Mexico/BajaSur" , 0x099128 }, + { (char*) "Mexico/General" , 0x09959C }, + { (char*) "MST" , 0x099A6E }, + { (char*) "MST7MDT" , 0x099AEC }, + { (char*) "Navajo" , 0x09A3FE }, + { (char*) "NZ" , 0x09ADA6 }, + { (char*) "NZ-CHAT" , 0x09B737 }, + { (char*) "Pacific/Apia" , 0x09BF49 }, + { (char*) "Pacific/Auckland" , 0x09C1AB }, + { (char*) "Pacific/Bougainville" , 0x09CB54 }, + { (char*) "Pacific/Chatham" , 0x09CC6A }, + { (char*) "Pacific/Chuuk" , 0x09D48B }, + { (char*) "Pacific/Easter" , 0x09D5A5 }, + { (char*) "Pacific/Efate" , 0x09DE69 }, + { (char*) "Pacific/Enderbury" , 0x09E081 }, + { (char*) "Pacific/Fakaofo" , 0x09E169 }, + { (char*) "Pacific/Fiji" , 0x09E22F }, + { (char*) "Pacific/Funafuti" , 0x09E46F }, + { (char*) "Pacific/Galapagos" , 0x09E513 }, + { (char*) "Pacific/Gambier" , 0x09E610 }, + { (char*) "Pacific/Guadalcanal" , 0x09E6C1 }, + { (char*) "Pacific/Guam" , 0x09E765 }, + { (char*) "Pacific/Honolulu" , 0x09E95F }, + { (char*) "Pacific/Johnston" , 0x09EABA }, + { (char*) "Pacific/Kanton" , 0x09EC0F }, + { (char*) "Pacific/Kiritimati" , 0x09ED06 }, + { (char*) "Pacific/Kosrae" , 0x09EDFE }, + { (char*) "Pacific/Kwajalein" , 0x09EF61 }, + { (char*) "Pacific/Majuro" , 0x09F0A4 }, + { (char*) "Pacific/Marquesas" , 0x09F1F5 }, + { (char*) "Pacific/Midway" , 0x09F2B1 }, + { (char*) "Pacific/Nauru" , 0x09F3A4 }, + { (char*) "Pacific/Niue" , 0x09F49E }, + { (char*) "Pacific/Norfolk" , 0x09F567 }, + { (char*) "Pacific/Noumea" , 0x09F8D5 }, + { (char*) "Pacific/Pago_Pago" , 0x09FA03 }, + { (char*) "Pacific/Palau" , 0x09FABE }, + { (char*) "Pacific/Pitcairn" , 0x09FB70 }, + { (char*) "Pacific/Pohnpei" , 0x09FC38 }, + { (char*) "Pacific/Ponape" , 0x09FD73 }, + { (char*) "Pacific/Port_Moresby" , 0x09FE17 }, + { (char*) "Pacific/Rarotonga" , 0x09FEEC }, + { (char*) "Pacific/Saipan" , 0x0A0145 }, + { (char*) "Pacific/Samoa" , 0x0A0331 }, + { (char*) "Pacific/Tahiti" , 0x0A03EC }, + { (char*) "Pacific/Tarawa" , 0x0A049E }, + { (char*) "Pacific/Tongatapu" , 0x0A0551 }, + { (char*) "Pacific/Truk" , 0x0A06C3 }, + { (char*) "Pacific/Wake" , 0x0A077B }, + { (char*) "Pacific/Wallis" , 0x0A082A }, + { (char*) "Pacific/Yap" , 0x0A08CE }, + { (char*) "Poland" , 0x0A0986 }, + { (char*) "Portugal" , 0x0A13F0 }, + { (char*) "PRC" , 0x0A21A5 }, + { (char*) "PST8PDT" , 0x0A23E2 }, + { (char*) "ROC" , 0x0A2CF4 }, + { (char*) "ROK" , 0x0A2FF9 }, + { (char*) "Singapore" , 0x0A326E }, + { (char*) "Turkey" , 0x0A340B }, + { (char*) "UCT" , 0x0A3BA4 }, + { (char*) "Universal" , 0x0A3C22 }, + { (char*) "US/Alaska" , 0x0A3CA0 }, + { (char*) "US/Aleutian" , 0x0A45EF }, + { (char*) "US/Arizona" , 0x0A4F2F }, + { (char*) "US/Central" , 0x0A50A3 }, + { (char*) "US/East-Indiana" , 0x0A5EB7 }, + { (char*) "US/Eastern" , 0x0A6555 }, + { (char*) "US/Hawaii" , 0x0A7341 }, + { (char*) "US/Indiana-Starke" , 0x0A7496 }, + { (char*) "US/Michigan" , 0x0A7E2E }, + { (char*) "US/Mountain" , 0x0A86F0 }, + { (char*) "US/Pacific" , 0x0A9098 }, + { (char*) "US/Samoa" , 0x0A9BC8 }, + { (char*) "UTC" , 0x0A9C83 }, + { (char*) "W-SU" , 0x0A9D01 }, + { (char*) "WET" , 0x0AA30C }, + { (char*) "Zulu" , 0x0AAA89 }, }; -const unsigned char timelib_timezone_db_data_builtin[696923] = { +const unsigned char timelib_timezone_db_data_builtin[699143] = { /* Africa/Abidjan */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -27515,9 +27663,8 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x50, 0x53, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x43, 0x53, 0x54, 0x36, 0x0A, -0x00, 0xA9, 0x11, 0x40, 0x00, 0x72, 0x0F, 0x38, 0x00, 0x00, 0x00, 0x20, 0x43, 0x65, 0x6E, 0x74, -0x72, 0x61, 0x6C, 0x20, 0x54, 0x69, 0x6D, 0x65, 0x20, 0x2D, 0x20, 0x42, 0x61, 0x68, 0x69, 0x61, -0x20, 0x64, 0x65, 0x20, 0x42, 0x61, 0x6E, 0x64, 0x65, 0x72, 0x61, 0x73, +0x00, 0xA9, 0x11, 0x40, 0x00, 0x72, 0x0F, 0x38, 0x00, 0x00, 0x00, 0x11, 0x42, 0x61, 0x68, 0x69, +0x61, 0x20, 0x64, 0x65, 0x20, 0x42, 0x61, 0x6E, 0x64, 0x65, 0x72, 0x61, 0x73, /* America/Barbados */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -27764,7 +27911,7 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x4F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x80, 0x00, 0x00, 0x00, -0x98, 0x58, 0x55, 0x70, 0x2A, 0x03, 0x73, 0x50, 0x2B, 0xBE, 0x5D, 0x40, 0x01, 0x03, 0x02, 0x03, +0x98, 0x58, 0x55, 0x70, 0x2A, 0x03, 0x73, 0x50, 0x2B, 0x74, 0x89, 0x40, 0x01, 0x03, 0x02, 0x03, 0xFF, 0xFF, 0xBA, 0x90, 0x00, 0x00, 0xFF, 0xFF, 0xBA, 0x90, 0x00, 0x04, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x08, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x34, 0x00, 0x2D, 0x30, 0x35, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, @@ -27772,7 +27919,7 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0x5E, 0x9C, 0x34, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0x98, 0x58, 0x55, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x03, 0x73, 0x50, 0x00, 0x00, 0x00, 0x00, -0x2B, 0xBE, 0x5D, 0x40, 0x01, 0x03, 0x02, 0x03, 0xFF, 0xFF, 0xBA, 0x90, 0x00, 0x00, 0xFF, 0xFF, +0x2B, 0x74, 0x89, 0x40, 0x01, 0x03, 0x02, 0x03, 0xFF, 0xFF, 0xBA, 0x90, 0x00, 0x00, 0xFF, 0xFF, 0xBA, 0x90, 0x00, 0x04, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x08, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x34, 0x00, 0x2D, 0x30, 0x35, 0x00, 0x0A, 0x3C, 0x2D, 0x30, 0x35, 0x3E, 0x35, 0x0A, 0x00, 0x90, 0x59, 0x20, 0x00, 0xA1, 0x9D, 0xB2, @@ -28006,138 +28153,148 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { /* America/Cambridge_Bay */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x7B, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x25, 0xA1, 0xF2, 0xCD, 0x80, -0xCB, 0x89, 0x0C, 0x90, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x61, 0x18, 0x00, 0xF7, 0x2F, 0x5A, 0x70, -0xF8, 0x28, 0x85, 0xF0, 0x13, 0x69, 0x64, 0x10, 0x14, 0x59, 0x47, 0x00, 0x15, 0x49, 0x46, 0x10, -0x16, 0x39, 0x29, 0x00, 0x17, 0x29, 0x28, 0x10, 0x18, 0x22, 0x45, 0x80, 0x19, 0x09, 0x0A, 0x10, -0x1A, 0x02, 0x27, 0x80, 0x1A, 0xF2, 0x26, 0x90, 0x1B, 0xE2, 0x09, 0x80, 0x1C, 0xD2, 0x08, 0x90, -0x1D, 0xC1, 0xEB, 0x80, 0x1E, 0xB1, 0xEA, 0x90, 0x1F, 0xA1, 0xCD, 0x80, 0x20, 0x76, 0x1D, 0x10, -0x21, 0x81, 0xAF, 0x80, 0x22, 0x55, 0xFF, 0x10, 0x23, 0x6A, 0xCC, 0x00, 0x24, 0x35, 0xE1, 0x10, -0x25, 0x4A, 0xAE, 0x00, 0x26, 0x15, 0xC3, 0x10, 0x27, 0x2A, 0x90, 0x00, 0x27, 0xFE, 0xDF, 0x90, -0x29, 0x0A, 0x72, 0x00, 0x29, 0xDE, 0xC1, 0x90, 0x2A, 0xEA, 0x54, 0x00, 0x2B, 0xBE, 0xA3, 0x90, -0x2C, 0xD3, 0x70, 0x80, 0x2D, 0x9E, 0x85, 0x90, 0x2E, 0xB3, 0x52, 0x80, 0x2F, 0x7E, 0x67, 0x90, -0x30, 0x93, 0x34, 0x80, 0x31, 0x67, 0x84, 0x10, 0x32, 0x73, 0x16, 0x80, 0x33, 0x47, 0x66, 0x10, -0x34, 0x52, 0xF8, 0x80, 0x35, 0x27, 0x48, 0x10, 0x36, 0x32, 0xDA, 0x80, 0x37, 0x07, 0x2A, 0x10, -0x38, 0x1B, 0xF7, 0x00, 0x38, 0xE6, 0xFE, 0x00, 0x39, 0xFB, 0xCA, 0xF0, 0x3A, 0x04, 0xE9, 0x50, -0x3A, 0xC6, 0xEE, 0x10, 0x3B, 0xDB, 0xBB, 0x00, 0x3C, 0xB0, 0x0A, 0x90, 0x3D, 0xBB, 0x9D, 0x00, -0x3E, 0x8F, 0xEC, 0x90, 0x3F, 0x9B, 0x7F, 0x00, 0x40, 0x6F, 0xCE, 0x90, 0x41, 0x84, 0x9B, 0x80, -0x42, 0x4F, 0xB0, 0x90, 0x43, 0x64, 0x7D, 0x80, 0x44, 0x2F, 0x92, 0x90, 0x45, 0x44, 0x5F, 0x80, -0x45, 0xF3, 0xC5, 0x10, 0x47, 0x2D, 0x7C, 0x00, 0x47, 0xD3, 0xA7, 0x10, 0x49, 0x0D, 0x5E, 0x00, -0x49, 0xB3, 0x89, 0x10, 0x4A, 0xED, 0x40, 0x00, 0x4B, 0x9C, 0xA5, 0x90, 0x4C, 0xD6, 0x5C, 0x80, -0x4D, 0x7C, 0x87, 0x90, 0x4E, 0xB6, 0x3E, 0x80, 0x4F, 0x5C, 0x69, 0x90, 0x50, 0x96, 0x20, 0x80, -0x51, 0x3C, 0x4B, 0x90, 0x52, 0x76, 0x02, 0x80, 0x53, 0x1C, 0x2D, 0x90, 0x54, 0x55, 0xE4, 0x80, -0x54, 0xFC, 0x0F, 0x90, 0x56, 0x35, 0xC6, 0x80, 0x56, 0xE5, 0x2C, 0x10, 0x58, 0x1E, 0xE3, 0x00, -0x58, 0xC5, 0x0E, 0x10, 0x59, 0xFE, 0xC5, 0x00, 0x5A, 0xA4, 0xF0, 0x10, 0x5B, 0xDE, 0xA7, 0x00, -0x5C, 0x84, 0xD2, 0x10, 0x5D, 0xBE, 0x89, 0x00, 0x5E, 0x64, 0xB4, 0x10, 0x5F, 0x9E, 0x6B, 0x00, -0x60, 0x4D, 0xD0, 0x90, 0x61, 0x87, 0x87, 0x80, 0x62, 0x2D, 0xB2, 0x90, 0x63, 0x67, 0x69, 0x80, -0x64, 0x0D, 0x94, 0x90, 0x65, 0x47, 0x4B, 0x80, 0x65, 0xED, 0x76, 0x90, 0x67, 0x27, 0x2D, 0x80, -0x67, 0xCD, 0x58, 0x90, 0x69, 0x07, 0x0F, 0x80, 0x69, 0xAD, 0x3A, 0x90, 0x6A, 0xE6, 0xF1, 0x80, -0x6B, 0x96, 0x57, 0x10, 0x6C, 0xD0, 0x0E, 0x00, 0x6D, 0x76, 0x39, 0x10, 0x6E, 0xAF, 0xF0, 0x00, -0x6F, 0x56, 0x1B, 0x10, 0x70, 0x8F, 0xD2, 0x00, 0x71, 0x35, 0xFD, 0x10, 0x72, 0x6F, 0xB4, 0x00, -0x73, 0x15, 0xDF, 0x10, 0x74, 0x4F, 0x96, 0x00, 0x74, 0xFE, 0xFB, 0x90, 0x76, 0x38, 0xB2, 0x80, -0x76, 0xDE, 0xDD, 0x90, 0x78, 0x18, 0x94, 0x80, 0x78, 0xBE, 0xBF, 0x90, 0x79, 0xF8, 0x76, 0x80, -0x7A, 0x9E, 0xA1, 0x90, 0x7B, 0xD8, 0x58, 0x80, 0x7C, 0x7E, 0x83, 0x90, 0x7D, 0xB8, 0x3A, 0x80, -0x7E, 0x5E, 0x65, 0x90, 0x7F, 0x98, 0x1C, 0x80, 0x03, 0x01, 0x02, 0x03, 0x04, 0x03, 0x05, 0x03, -0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, -0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, -0x05, 0x03, 0x05, 0x03, 0x05, 0x07, 0x06, 0x08, 0x07, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x04, 0xFF, -0xFF, 0xAB, 0xA0, 0x01, 0x08, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x0C, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, -0x10, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x15, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x19, 0xFF, 0xFF, 0xAB, -0xA0, 0x00, 0x1D, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x21, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x15, 0xFF, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x89, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x20, 0xA1, 0xF2, 0xCD, 0x80, +0xCB, 0x89, 0x0C, 0x90, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x61, 0x18, 0x00, 0x04, 0x61, 0x19, 0x90, +0x05, 0x50, 0xFC, 0x80, 0x06, 0x40, 0xFB, 0x90, 0x07, 0x30, 0xDE, 0x80, 0x08, 0x20, 0xDD, 0x90, +0x09, 0x10, 0xC0, 0x80, 0x0A, 0x00, 0xBF, 0x90, 0x0A, 0xF0, 0xA2, 0x80, 0x0B, 0xE0, 0xA1, 0x90, +0x0C, 0xD9, 0xBF, 0x00, 0x0D, 0xC0, 0x83, 0x90, 0x0E, 0xB9, 0xA1, 0x00, 0x0F, 0xA9, 0xA0, 0x10, +0x10, 0x99, 0x83, 0x00, 0x11, 0x89, 0x82, 0x10, 0x12, 0x79, 0x65, 0x00, 0x13, 0x69, 0x64, 0x10, +0x14, 0x59, 0x47, 0x00, 0x15, 0x49, 0x46, 0x10, 0x16, 0x39, 0x29, 0x00, 0x17, 0x29, 0x28, 0x10, +0x18, 0x22, 0x45, 0x80, 0x19, 0x09, 0x0A, 0x10, 0x1A, 0x02, 0x27, 0x80, 0x1A, 0xF2, 0x26, 0x90, +0x1B, 0xE2, 0x09, 0x80, 0x1C, 0xD2, 0x08, 0x90, 0x1D, 0xC1, 0xEB, 0x80, 0x1E, 0xB1, 0xEA, 0x90, +0x1F, 0xA1, 0xCD, 0x80, 0x20, 0x76, 0x1D, 0x10, 0x21, 0x81, 0xAF, 0x80, 0x22, 0x55, 0xFF, 0x10, +0x23, 0x6A, 0xCC, 0x00, 0x24, 0x35, 0xE1, 0x10, 0x25, 0x4A, 0xAE, 0x00, 0x26, 0x15, 0xC3, 0x10, +0x27, 0x2A, 0x90, 0x00, 0x27, 0xFE, 0xDF, 0x90, 0x29, 0x0A, 0x72, 0x00, 0x29, 0xDE, 0xC1, 0x90, +0x2A, 0xEA, 0x54, 0x00, 0x2B, 0xBE, 0xA3, 0x90, 0x2C, 0xD3, 0x70, 0x80, 0x2D, 0x9E, 0x85, 0x90, +0x2E, 0xB3, 0x52, 0x80, 0x2F, 0x7E, 0x67, 0x90, 0x30, 0x93, 0x34, 0x80, 0x31, 0x67, 0x84, 0x10, +0x32, 0x73, 0x16, 0x80, 0x33, 0x47, 0x66, 0x10, 0x34, 0x52, 0xF8, 0x80, 0x35, 0x27, 0x48, 0x10, +0x36, 0x32, 0xDA, 0x80, 0x37, 0x07, 0x2A, 0x10, 0x38, 0x1B, 0xF7, 0x00, 0x38, 0xE6, 0xFE, 0x00, +0x39, 0xFB, 0xCA, 0xF0, 0x3A, 0x04, 0xE9, 0x50, 0x3A, 0xC6, 0xEE, 0x10, 0x3B, 0xDB, 0xBB, 0x00, +0x3C, 0xB0, 0x0A, 0x90, 0x3D, 0xBB, 0x9D, 0x00, 0x3E, 0x8F, 0xEC, 0x90, 0x3F, 0x9B, 0x7F, 0x00, +0x40, 0x6F, 0xCE, 0x90, 0x41, 0x84, 0x9B, 0x80, 0x42, 0x4F, 0xB0, 0x90, 0x43, 0x64, 0x7D, 0x80, +0x44, 0x2F, 0x92, 0x90, 0x45, 0x44, 0x5F, 0x80, 0x45, 0xF3, 0xC5, 0x10, 0x47, 0x2D, 0x7C, 0x00, +0x47, 0xD3, 0xA7, 0x10, 0x49, 0x0D, 0x5E, 0x00, 0x49, 0xB3, 0x89, 0x10, 0x4A, 0xED, 0x40, 0x00, +0x4B, 0x9C, 0xA5, 0x90, 0x4C, 0xD6, 0x5C, 0x80, 0x4D, 0x7C, 0x87, 0x90, 0x4E, 0xB6, 0x3E, 0x80, +0x4F, 0x5C, 0x69, 0x90, 0x50, 0x96, 0x20, 0x80, 0x51, 0x3C, 0x4B, 0x90, 0x52, 0x76, 0x02, 0x80, +0x53, 0x1C, 0x2D, 0x90, 0x54, 0x55, 0xE4, 0x80, 0x54, 0xFC, 0x0F, 0x90, 0x56, 0x35, 0xC6, 0x80, +0x56, 0xE5, 0x2C, 0x10, 0x58, 0x1E, 0xE3, 0x00, 0x58, 0xC5, 0x0E, 0x10, 0x59, 0xFE, 0xC5, 0x00, +0x5A, 0xA4, 0xF0, 0x10, 0x5B, 0xDE, 0xA7, 0x00, 0x5C, 0x84, 0xD2, 0x10, 0x5D, 0xBE, 0x89, 0x00, +0x5E, 0x64, 0xB4, 0x10, 0x5F, 0x9E, 0x6B, 0x00, 0x60, 0x4D, 0xD0, 0x90, 0x61, 0x87, 0x87, 0x80, +0x62, 0x2D, 0xB2, 0x90, 0x63, 0x67, 0x69, 0x80, 0x64, 0x0D, 0x94, 0x90, 0x65, 0x47, 0x4B, 0x80, +0x65, 0xED, 0x76, 0x90, 0x67, 0x27, 0x2D, 0x80, 0x67, 0xCD, 0x58, 0x90, 0x69, 0x07, 0x0F, 0x80, +0x69, 0xAD, 0x3A, 0x90, 0x6A, 0xE6, 0xF1, 0x80, 0x6B, 0x96, 0x57, 0x10, 0x6C, 0xD0, 0x0E, 0x00, +0x6D, 0x76, 0x39, 0x10, 0x6E, 0xAF, 0xF0, 0x00, 0x6F, 0x56, 0x1B, 0x10, 0x70, 0x8F, 0xD2, 0x00, +0x71, 0x35, 0xFD, 0x10, 0x72, 0x6F, 0xB4, 0x00, 0x73, 0x15, 0xDF, 0x10, 0x74, 0x4F, 0x96, 0x00, +0x74, 0xFE, 0xFB, 0x90, 0x76, 0x38, 0xB2, 0x80, 0x76, 0xDE, 0xDD, 0x90, 0x78, 0x18, 0x94, 0x80, +0x78, 0xBE, 0xBF, 0x90, 0x79, 0xF8, 0x76, 0x80, 0x7A, 0x9E, 0xA1, 0x90, 0x7B, 0xD8, 0x58, 0x80, +0x7C, 0x7E, 0x83, 0x90, 0x7D, 0xB8, 0x3A, 0x80, 0x7E, 0x5E, 0x65, 0x90, 0x7F, 0x98, 0x1C, 0x80, +0x03, 0x01, 0x02, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x06, 0x05, 0x07, 0x06, 0x04, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, +0xFF, 0xAB, 0xA0, 0x01, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x08, 0xFF, 0xFF, 0x9D, 0x90, 0x00, +0x0C, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x10, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x14, 0xFF, 0xFF, 0xAB, +0xA0, 0x00, 0x18, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x1C, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x10, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x0C, 0x2D, 0x30, 0x30, 0x00, 0x4D, 0x57, 0x54, 0x00, 0x4D, 0x50, 0x54, -0x00, 0x4D, 0x53, 0x54, 0x00, 0x4D, 0x44, 0x44, 0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x43, 0x44, -0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x7B, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x25, 0xFF, 0xFF, 0xFF, 0xFF, -0xA1, 0xF2, 0xCD, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x89, 0x0C, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, -0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x61, 0x18, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, -0xF7, 0x2F, 0x5A, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x28, 0x85, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x13, 0x69, 0x64, 0x10, 0x00, 0x00, 0x00, 0x00, 0x14, 0x59, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, -0x15, 0x49, 0x46, 0x10, 0x00, 0x00, 0x00, 0x00, 0x16, 0x39, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, -0x17, 0x29, 0x28, 0x10, 0x00, 0x00, 0x00, 0x00, 0x18, 0x22, 0x45, 0x80, 0x00, 0x00, 0x00, 0x00, -0x19, 0x09, 0x0A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x02, 0x27, 0x80, 0x00, 0x00, 0x00, 0x00, -0x1A, 0xF2, 0x26, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xE2, 0x09, 0x80, 0x00, 0x00, 0x00, 0x00, -0x1C, 0xD2, 0x08, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xC1, 0xEB, 0x80, 0x00, 0x00, 0x00, 0x00, -0x1E, 0xB1, 0xEA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xA1, 0xCD, 0x80, 0x00, 0x00, 0x00, 0x00, -0x20, 0x76, 0x1D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x21, 0x81, 0xAF, 0x80, 0x00, 0x00, 0x00, 0x00, -0x22, 0x55, 0xFF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x23, 0x6A, 0xCC, 0x00, 0x00, 0x00, 0x00, 0x00, -0x24, 0x35, 0xE1, 0x10, 0x00, 0x00, 0x00, 0x00, 0x25, 0x4A, 0xAE, 0x00, 0x00, 0x00, 0x00, 0x00, -0x26, 0x15, 0xC3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x27, 0x2A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, -0x27, 0xFE, 0xDF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, 0x0A, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, -0x29, 0xDE, 0xC1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xEA, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, -0x2B, 0xBE, 0xA3, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xD3, 0x70, 0x80, 0x00, 0x00, 0x00, 0x00, -0x2D, 0x9E, 0x85, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2E, 0xB3, 0x52, 0x80, 0x00, 0x00, 0x00, 0x00, -0x2F, 0x7E, 0x67, 0x90, 0x00, 0x00, 0x00, 0x00, 0x30, 0x93, 0x34, 0x80, 0x00, 0x00, 0x00, 0x00, -0x31, 0x67, 0x84, 0x10, 0x00, 0x00, 0x00, 0x00, 0x32, 0x73, 0x16, 0x80, 0x00, 0x00, 0x00, 0x00, -0x33, 0x47, 0x66, 0x10, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0xF8, 0x80, 0x00, 0x00, 0x00, 0x00, -0x35, 0x27, 0x48, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0xDA, 0x80, 0x00, 0x00, 0x00, 0x00, -0x37, 0x07, 0x2A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0xF7, 0x00, 0x00, 0x00, 0x00, 0x00, -0x38, 0xE6, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0xCA, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x3A, 0x04, 0xE9, 0x50, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xC6, 0xEE, 0x10, 0x00, 0x00, 0x00, 0x00, -0x3B, 0xDB, 0xBB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xB0, 0x0A, 0x90, 0x00, 0x00, 0x00, 0x00, -0x3D, 0xBB, 0x9D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x8F, 0xEC, 0x90, 0x00, 0x00, 0x00, 0x00, -0x3F, 0x9B, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x6F, 0xCE, 0x90, 0x00, 0x00, 0x00, 0x00, -0x41, 0x84, 0x9B, 0x80, 0x00, 0x00, 0x00, 0x00, 0x42, 0x4F, 0xB0, 0x90, 0x00, 0x00, 0x00, 0x00, -0x43, 0x64, 0x7D, 0x80, 0x00, 0x00, 0x00, 0x00, 0x44, 0x2F, 0x92, 0x90, 0x00, 0x00, 0x00, 0x00, -0x45, 0x44, 0x5F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x45, 0xF3, 0xC5, 0x10, 0x00, 0x00, 0x00, 0x00, -0x47, 0x2D, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0xD3, 0xA7, 0x10, 0x00, 0x00, 0x00, 0x00, -0x49, 0x0D, 0x5E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0xB3, 0x89, 0x10, 0x00, 0x00, 0x00, 0x00, -0x4A, 0xED, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4B, 0x9C, 0xA5, 0x90, 0x00, 0x00, 0x00, 0x00, -0x4C, 0xD6, 0x5C, 0x80, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x7C, 0x87, 0x90, 0x00, 0x00, 0x00, 0x00, -0x4E, 0xB6, 0x3E, 0x80, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x5C, 0x69, 0x90, 0x00, 0x00, 0x00, 0x00, -0x50, 0x96, 0x20, 0x80, 0x00, 0x00, 0x00, 0x00, 0x51, 0x3C, 0x4B, 0x90, 0x00, 0x00, 0x00, 0x00, -0x52, 0x76, 0x02, 0x80, 0x00, 0x00, 0x00, 0x00, 0x53, 0x1C, 0x2D, 0x90, 0x00, 0x00, 0x00, 0x00, -0x54, 0x55, 0xE4, 0x80, 0x00, 0x00, 0x00, 0x00, 0x54, 0xFC, 0x0F, 0x90, 0x00, 0x00, 0x00, 0x00, -0x56, 0x35, 0xC6, 0x80, 0x00, 0x00, 0x00, 0x00, 0x56, 0xE5, 0x2C, 0x10, 0x00, 0x00, 0x00, 0x00, -0x58, 0x1E, 0xE3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 0xC5, 0x0E, 0x10, 0x00, 0x00, 0x00, 0x00, -0x59, 0xFE, 0xC5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xA4, 0xF0, 0x10, 0x00, 0x00, 0x00, 0x00, -0x5B, 0xDE, 0xA7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5C, 0x84, 0xD2, 0x10, 0x00, 0x00, 0x00, 0x00, -0x5D, 0xBE, 0x89, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x64, 0xB4, 0x10, 0x00, 0x00, 0x00, 0x00, -0x5F, 0x9E, 0x6B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x4D, 0xD0, 0x90, 0x00, 0x00, 0x00, 0x00, -0x61, 0x87, 0x87, 0x80, 0x00, 0x00, 0x00, 0x00, 0x62, 0x2D, 0xB2, 0x90, 0x00, 0x00, 0x00, 0x00, -0x63, 0x67, 0x69, 0x80, 0x00, 0x00, 0x00, 0x00, 0x64, 0x0D, 0x94, 0x90, 0x00, 0x00, 0x00, 0x00, -0x65, 0x47, 0x4B, 0x80, 0x00, 0x00, 0x00, 0x00, 0x65, 0xED, 0x76, 0x90, 0x00, 0x00, 0x00, 0x00, -0x67, 0x27, 0x2D, 0x80, 0x00, 0x00, 0x00, 0x00, 0x67, 0xCD, 0x58, 0x90, 0x00, 0x00, 0x00, 0x00, -0x69, 0x07, 0x0F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x69, 0xAD, 0x3A, 0x90, 0x00, 0x00, 0x00, 0x00, -0x6A, 0xE6, 0xF1, 0x80, 0x00, 0x00, 0x00, 0x00, 0x6B, 0x96, 0x57, 0x10, 0x00, 0x00, 0x00, 0x00, -0x6C, 0xD0, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x76, 0x39, 0x10, 0x00, 0x00, 0x00, 0x00, -0x6E, 0xAF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x56, 0x1B, 0x10, 0x00, 0x00, 0x00, 0x00, -0x70, 0x8F, 0xD2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x71, 0x35, 0xFD, 0x10, 0x00, 0x00, 0x00, 0x00, -0x72, 0x6F, 0xB4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x73, 0x15, 0xDF, 0x10, 0x00, 0x00, 0x00, 0x00, -0x74, 0x4F, 0x96, 0x00, 0x00, 0x00, 0x00, 0x00, 0x74, 0xFE, 0xFB, 0x90, 0x00, 0x00, 0x00, 0x00, -0x76, 0x38, 0xB2, 0x80, 0x00, 0x00, 0x00, 0x00, 0x76, 0xDE, 0xDD, 0x90, 0x00, 0x00, 0x00, 0x00, -0x78, 0x18, 0x94, 0x80, 0x00, 0x00, 0x00, 0x00, 0x78, 0xBE, 0xBF, 0x90, 0x00, 0x00, 0x00, 0x00, -0x79, 0xF8, 0x76, 0x80, 0x00, 0x00, 0x00, 0x00, 0x7A, 0x9E, 0xA1, 0x90, 0x00, 0x00, 0x00, 0x00, -0x7B, 0xD8, 0x58, 0x80, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x7E, 0x83, 0x90, 0x00, 0x00, 0x00, 0x00, -0x7D, 0xB8, 0x3A, 0x80, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x5E, 0x65, 0x90, 0x00, 0x00, 0x00, 0x00, -0x7F, 0x98, 0x1C, 0x80, 0x03, 0x01, 0x02, 0x03, 0x04, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, -0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, -0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, -0x05, 0x07, 0x06, 0x08, 0x07, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, -0x08, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x0C, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x10, 0xFF, 0xFF, 0xAB, -0xA0, 0x01, 0x15, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x19, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x1D, 0xFF, -0xFF, 0xB9, 0xB0, 0x00, 0x21, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x15, 0xFF, 0xFF, 0x9D, 0x90, 0x00, -0x0C, 0x2D, 0x30, 0x30, 0x00, 0x4D, 0x57, 0x54, 0x00, 0x4D, 0x50, 0x54, 0x00, 0x4D, 0x53, 0x54, -0x00, 0x4D, 0x44, 0x44, 0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x43, 0x53, -0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x4D, 0x53, 0x54, -0x37, 0x4D, 0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, -0x31, 0x2E, 0x30, 0x0A, 0x00, 0xF2, 0xC9, 0xDC, 0x00, 0x72, 0x5C, 0x42, 0x00, 0x00, 0x00, 0x14, -0x4D, 0x6F, 0x75, 0x6E, 0x74, 0x61, 0x69, 0x6E, 0x20, 0x2D, 0x20, 0x4E, 0x55, 0x20, 0x28, 0x77, -0x65, 0x73, 0x74, 0x29, +0x00, 0x4D, 0x53, 0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x43, 0x53, 0x54, +0x00, 0x45, 0x53, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x89, 0x00, 0x00, 0x00, +0x0A, 0x00, 0x00, 0x00, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0xF2, 0xCD, 0x80, 0xFF, 0xFF, 0xFF, +0xFF, 0xCB, 0x89, 0x0C, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, +0xFF, 0xD2, 0x61, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x61, 0x19, 0x90, 0x00, 0x00, 0x00, +0x00, 0x05, 0x50, 0xFC, 0x80, 0x00, 0x00, 0x00, 0x00, 0x06, 0x40, 0xFB, 0x90, 0x00, 0x00, 0x00, +0x00, 0x07, 0x30, 0xDE, 0x80, 0x00, 0x00, 0x00, 0x00, 0x08, 0x20, 0xDD, 0x90, 0x00, 0x00, 0x00, +0x00, 0x09, 0x10, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0xBF, 0x90, 0x00, 0x00, 0x00, +0x00, 0x0A, 0xF0, 0xA2, 0x80, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xE0, 0xA1, 0x90, 0x00, 0x00, 0x00, +0x00, 0x0C, 0xD9, 0xBF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, 0xC0, 0x83, 0x90, 0x00, 0x00, 0x00, +0x00, 0x0E, 0xB9, 0xA1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xA9, 0xA0, 0x10, 0x00, 0x00, 0x00, +0x00, 0x10, 0x99, 0x83, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x89, 0x82, 0x10, 0x00, 0x00, 0x00, +0x00, 0x12, 0x79, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x64, 0x10, 0x00, 0x00, 0x00, +0x00, 0x14, 0x59, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x49, 0x46, 0x10, 0x00, 0x00, 0x00, +0x00, 0x16, 0x39, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x29, 0x28, 0x10, 0x00, 0x00, 0x00, +0x00, 0x18, 0x22, 0x45, 0x80, 0x00, 0x00, 0x00, 0x00, 0x19, 0x09, 0x0A, 0x10, 0x00, 0x00, 0x00, +0x00, 0x1A, 0x02, 0x27, 0x80, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xF2, 0x26, 0x90, 0x00, 0x00, 0x00, +0x00, 0x1B, 0xE2, 0x09, 0x80, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xD2, 0x08, 0x90, 0x00, 0x00, 0x00, +0x00, 0x1D, 0xC1, 0xEB, 0x80, 0x00, 0x00, 0x00, 0x00, 0x1E, 0xB1, 0xEA, 0x90, 0x00, 0x00, 0x00, +0x00, 0x1F, 0xA1, 0xCD, 0x80, 0x00, 0x00, 0x00, 0x00, 0x20, 0x76, 0x1D, 0x10, 0x00, 0x00, 0x00, +0x00, 0x21, 0x81, 0xAF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x22, 0x55, 0xFF, 0x10, 0x00, 0x00, 0x00, +0x00, 0x23, 0x6A, 0xCC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x35, 0xE1, 0x10, 0x00, 0x00, 0x00, +0x00, 0x25, 0x4A, 0xAE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x26, 0x15, 0xC3, 0x10, 0x00, 0x00, 0x00, +0x00, 0x27, 0x2A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0xFE, 0xDF, 0x90, 0x00, 0x00, 0x00, +0x00, 0x29, 0x0A, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x29, 0xDE, 0xC1, 0x90, 0x00, 0x00, 0x00, +0x00, 0x2A, 0xEA, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xBE, 0xA3, 0x90, 0x00, 0x00, 0x00, +0x00, 0x2C, 0xD3, 0x70, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x9E, 0x85, 0x90, 0x00, 0x00, 0x00, +0x00, 0x2E, 0xB3, 0x52, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x7E, 0x67, 0x90, 0x00, 0x00, 0x00, +0x00, 0x30, 0x93, 0x34, 0x80, 0x00, 0x00, 0x00, 0x00, 0x31, 0x67, 0x84, 0x10, 0x00, 0x00, 0x00, +0x00, 0x32, 0x73, 0x16, 0x80, 0x00, 0x00, 0x00, 0x00, 0x33, 0x47, 0x66, 0x10, 0x00, 0x00, 0x00, +0x00, 0x34, 0x52, 0xF8, 0x80, 0x00, 0x00, 0x00, 0x00, 0x35, 0x27, 0x48, 0x10, 0x00, 0x00, 0x00, +0x00, 0x36, 0x32, 0xDA, 0x80, 0x00, 0x00, 0x00, 0x00, 0x37, 0x07, 0x2A, 0x10, 0x00, 0x00, 0x00, +0x00, 0x38, 0x1B, 0xF7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0xE6, 0xFE, 0x00, 0x00, 0x00, 0x00, +0x00, 0x39, 0xFB, 0xCA, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x3A, 0x04, 0xE9, 0x50, 0x00, 0x00, 0x00, +0x00, 0x3A, 0xC6, 0xEE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0xBB, 0x00, 0x00, 0x00, 0x00, +0x00, 0x3C, 0xB0, 0x0A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x9D, 0x00, 0x00, 0x00, 0x00, +0x00, 0x3E, 0x8F, 0xEC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x7F, 0x00, 0x00, 0x00, 0x00, +0x00, 0x40, 0x6F, 0xCE, 0x90, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x9B, 0x80, 0x00, 0x00, 0x00, +0x00, 0x42, 0x4F, 0xB0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x7D, 0x80, 0x00, 0x00, 0x00, +0x00, 0x44, 0x2F, 0x92, 0x90, 0x00, 0x00, 0x00, 0x00, 0x45, 0x44, 0x5F, 0x80, 0x00, 0x00, 0x00, +0x00, 0x45, 0xF3, 0xC5, 0x10, 0x00, 0x00, 0x00, 0x00, 0x47, 0x2D, 0x7C, 0x00, 0x00, 0x00, 0x00, +0x00, 0x47, 0xD3, 0xA7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, 0x0D, 0x5E, 0x00, 0x00, 0x00, 0x00, +0x00, 0x49, 0xB3, 0x89, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xED, 0x40, 0x00, 0x00, 0x00, 0x00, +0x00, 0x4B, 0x9C, 0xA5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4C, 0xD6, 0x5C, 0x80, 0x00, 0x00, 0x00, +0x00, 0x4D, 0x7C, 0x87, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4E, 0xB6, 0x3E, 0x80, 0x00, 0x00, 0x00, +0x00, 0x4F, 0x5C, 0x69, 0x90, 0x00, 0x00, 0x00, 0x00, 0x50, 0x96, 0x20, 0x80, 0x00, 0x00, 0x00, +0x00, 0x51, 0x3C, 0x4B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x52, 0x76, 0x02, 0x80, 0x00, 0x00, 0x00, +0x00, 0x53, 0x1C, 0x2D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x54, 0x55, 0xE4, 0x80, 0x00, 0x00, 0x00, +0x00, 0x54, 0xFC, 0x0F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, 0x35, 0xC6, 0x80, 0x00, 0x00, 0x00, +0x00, 0x56, 0xE5, 0x2C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x58, 0x1E, 0xE3, 0x00, 0x00, 0x00, 0x00, +0x00, 0x58, 0xC5, 0x0E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x59, 0xFE, 0xC5, 0x00, 0x00, 0x00, 0x00, +0x00, 0x5A, 0xA4, 0xF0, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5B, 0xDE, 0xA7, 0x00, 0x00, 0x00, 0x00, +0x00, 0x5C, 0x84, 0xD2, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5D, 0xBE, 0x89, 0x00, 0x00, 0x00, 0x00, +0x00, 0x5E, 0x64, 0xB4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x9E, 0x6B, 0x00, 0x00, 0x00, 0x00, +0x00, 0x60, 0x4D, 0xD0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x61, 0x87, 0x87, 0x80, 0x00, 0x00, 0x00, +0x00, 0x62, 0x2D, 0xB2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x63, 0x67, 0x69, 0x80, 0x00, 0x00, 0x00, +0x00, 0x64, 0x0D, 0x94, 0x90, 0x00, 0x00, 0x00, 0x00, 0x65, 0x47, 0x4B, 0x80, 0x00, 0x00, 0x00, +0x00, 0x65, 0xED, 0x76, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, 0x27, 0x2D, 0x80, 0x00, 0x00, 0x00, +0x00, 0x67, 0xCD, 0x58, 0x90, 0x00, 0x00, 0x00, 0x00, 0x69, 0x07, 0x0F, 0x80, 0x00, 0x00, 0x00, +0x00, 0x69, 0xAD, 0x3A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xE6, 0xF1, 0x80, 0x00, 0x00, 0x00, +0x00, 0x6B, 0x96, 0x57, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xD0, 0x0E, 0x00, 0x00, 0x00, 0x00, +0x00, 0x6D, 0x76, 0x39, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6E, 0xAF, 0xF0, 0x00, 0x00, 0x00, 0x00, +0x00, 0x6F, 0x56, 0x1B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x70, 0x8F, 0xD2, 0x00, 0x00, 0x00, 0x00, +0x00, 0x71, 0x35, 0xFD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x72, 0x6F, 0xB4, 0x00, 0x00, 0x00, 0x00, +0x00, 0x73, 0x15, 0xDF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x74, 0x4F, 0x96, 0x00, 0x00, 0x00, 0x00, +0x00, 0x74, 0xFE, 0xFB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x76, 0x38, 0xB2, 0x80, 0x00, 0x00, 0x00, +0x00, 0x76, 0xDE, 0xDD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x78, 0x18, 0x94, 0x80, 0x00, 0x00, 0x00, +0x00, 0x78, 0xBE, 0xBF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x79, 0xF8, 0x76, 0x80, 0x00, 0x00, 0x00, +0x00, 0x7A, 0x9E, 0xA1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7B, 0xD8, 0x58, 0x80, 0x00, 0x00, 0x00, +0x00, 0x7C, 0x7E, 0x83, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7D, 0xB8, 0x3A, 0x80, 0x00, 0x00, 0x00, +0x00, 0x7E, 0x5E, 0x65, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x98, 0x1C, 0x80, 0x03, 0x01, 0x02, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x06, 0x05, 0x07, 0x06, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xAB, 0xA0, +0x01, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x08, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x0C, 0xFF, 0xFF, +0xAB, 0xA0, 0x01, 0x10, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x14, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x18, +0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x1C, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x10, 0xFF, 0xFF, 0x9D, 0x90, +0x00, 0x0C, 0x2D, 0x30, 0x30, 0x00, 0x4D, 0x57, 0x54, 0x00, 0x4D, 0x50, 0x54, 0x00, 0x4D, 0x53, +0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x45, 0x53, +0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x4D, 0x53, 0x54, 0x37, 0x4D, 0x44, 0x54, 0x2C, 0x4D, +0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, 0x31, 0x2E, 0x30, 0x0A, 0x00, 0xF2, +0xC9, 0xDC, 0x00, 0x72, 0x5C, 0x42, 0x00, 0x00, 0x00, 0x14, 0x4D, 0x6F, 0x75, 0x6E, 0x74, 0x61, +0x69, 0x6E, 0x20, 0x2D, 0x20, 0x4E, 0x55, 0x20, 0x28, 0x77, 0x65, 0x73, 0x74, 0x29, /* America/Campo_Grande */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x42, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -28286,10 +28443,8 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { 0xB9, 0xB0, 0x01, 0x10, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x45, 0x44, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x45, 0x53, 0x54, -0x35, 0x0A, 0x00, 0xA9, 0x7F, 0xED, 0x00, 0x8E, 0x43, 0x45, 0x00, 0x00, 0x00, 0x24, 0x45, 0x61, -0x73, 0x74, 0x65, 0x72, 0x6E, 0x20, 0x53, 0x74, 0x61, 0x6E, 0x64, 0x61, 0x72, 0x64, 0x20, 0x54, -0x69, 0x6D, 0x65, 0x20, 0x2D, 0x20, 0x51, 0x75, 0x69, 0x6E, 0x74, 0x61, 0x6E, 0x61, 0x20, 0x52, -0x6F, 0x6F, +0x35, 0x0A, 0x00, 0xA9, 0x7F, 0xED, 0x00, 0x8E, 0x43, 0x45, 0x00, 0x00, 0x00, 0x0C, 0x51, 0x75, +0x69, 0x6E, 0x74, 0x61, 0x6E, 0x61, 0x20, 0x52, 0x6F, 0x6F, /* America/Caracas */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x56, 0x45, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -28709,11 +28864,111 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { 0xAB, 0xA0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x43, 0x53, 0x54, 0x36, 0x0A, 0x00, 0xB5, -0x05, 0x25, 0x00, 0x70, 0xC9, 0xB2, 0x00, 0x00, 0x00, 0x26, 0x4D, 0x6F, 0x75, 0x6E, 0x74, 0x61, -0x69, 0x6E, 0x20, 0x54, 0x69, 0x6D, 0x65, 0x20, 0x2D, 0x20, 0x43, 0x68, 0x69, 0x68, 0x75, 0x61, +0x05, 0x25, 0x00, 0x70, 0xC9, 0xB2, 0x00, 0x00, 0x00, 0x16, 0x43, 0x68, 0x69, 0x68, 0x75, 0x61, 0x68, 0x75, 0x61, 0x20, 0x28, 0x6D, 0x6F, 0x73, 0x74, 0x20, 0x61, 0x72, 0x65, 0x61, 0x73, 0x29, +/* America/Ciudad_Juarez */ +0x50, 0x48, 0x50, 0x32, 0x01, 0x4D, 0x58, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x5B, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x14, 0xA5, 0xB6, 0xE8, 0x70, +0xAF, 0xF2, 0x6E, 0xE0, 0xB6, 0x66, 0x56, 0x60, 0xB7, 0x43, 0xD2, 0x60, 0xB8, 0x0C, 0x36, 0x60, +0xB8, 0xFD, 0x86, 0xF0, 0x31, 0x67, 0x76, 0x00, 0x32, 0x73, 0x08, 0x70, 0x33, 0x47, 0x58, 0x00, +0x34, 0x52, 0xEA, 0x70, 0x35, 0x27, 0x48, 0x10, 0x36, 0x32, 0xDA, 0x80, 0x37, 0x07, 0x2A, 0x10, +0x38, 0x1B, 0xF7, 0x00, 0x38, 0xE7, 0x0C, 0x10, 0x39, 0xFB, 0xD9, 0x00, 0x3A, 0xF5, 0x12, 0x90, +0x3B, 0xB6, 0xD1, 0x00, 0x3C, 0xB0, 0x0A, 0x90, 0x3D, 0xBB, 0x9D, 0x00, 0x3E, 0x8F, 0xEC, 0x90, +0x3F, 0x9B, 0x7F, 0x00, 0x40, 0x6F, 0xCE, 0x90, 0x41, 0x84, 0x9B, 0x80, 0x42, 0x4F, 0xB0, 0x90, +0x43, 0x64, 0x7D, 0x80, 0x44, 0x2F, 0x92, 0x90, 0x45, 0x44, 0x5F, 0x80, 0x46, 0x0F, 0x74, 0x90, +0x47, 0x24, 0x41, 0x80, 0x47, 0xF8, 0x91, 0x10, 0x49, 0x04, 0x23, 0x80, 0x49, 0xD8, 0x73, 0x10, +0x4A, 0xE4, 0x05, 0x80, 0x4B, 0x9C, 0xA5, 0x90, 0x4C, 0xD6, 0x5C, 0x80, 0x4D, 0x7C, 0x87, 0x90, +0x4E, 0xB6, 0x3E, 0x80, 0x4F, 0x5C, 0x69, 0x90, 0x50, 0x96, 0x20, 0x80, 0x51, 0x3C, 0x4B, 0x90, +0x52, 0x76, 0x02, 0x80, 0x53, 0x1C, 0x2D, 0x90, 0x54, 0x55, 0xE4, 0x80, 0x54, 0xFC, 0x0F, 0x90, +0x56, 0x35, 0xC6, 0x80, 0x56, 0xE5, 0x2C, 0x10, 0x58, 0x1E, 0xE3, 0x00, 0x58, 0xC5, 0x0E, 0x10, +0x59, 0xFE, 0xC5, 0x00, 0x5A, 0xA4, 0xF0, 0x10, 0x5B, 0xDE, 0xA7, 0x00, 0x5C, 0x84, 0xD2, 0x10, +0x5D, 0xBE, 0x89, 0x00, 0x5E, 0x64, 0xB4, 0x10, 0x5F, 0x9E, 0x6B, 0x00, 0x60, 0x4D, 0xD0, 0x90, +0x61, 0x87, 0x87, 0x80, 0x62, 0x2D, 0xB2, 0x90, 0x63, 0x5E, 0x2F, 0x00, 0x63, 0x86, 0xF1, 0x60, +0x64, 0x0D, 0x94, 0x90, 0x65, 0x47, 0x4B, 0x80, 0x65, 0xED, 0x76, 0x90, 0x67, 0x27, 0x2D, 0x80, +0x67, 0xCD, 0x58, 0x90, 0x69, 0x07, 0x0F, 0x80, 0x69, 0xAD, 0x3A, 0x90, 0x6A, 0xE6, 0xF1, 0x80, +0x6B, 0x96, 0x57, 0x10, 0x6C, 0xD0, 0x0E, 0x00, 0x6D, 0x76, 0x39, 0x10, 0x6E, 0xAF, 0xF0, 0x00, +0x6F, 0x56, 0x1B, 0x10, 0x70, 0x8F, 0xD2, 0x00, 0x71, 0x35, 0xFD, 0x10, 0x72, 0x6F, 0xB4, 0x00, +0x73, 0x15, 0xDF, 0x10, 0x74, 0x4F, 0x96, 0x00, 0x74, 0xFE, 0xFB, 0x90, 0x76, 0x38, 0xB2, 0x80, +0x76, 0xDE, 0xDD, 0x90, 0x78, 0x18, 0x94, 0x80, 0x78, 0xBE, 0xBF, 0x90, 0x79, 0xF8, 0x76, 0x80, +0x7A, 0x9E, 0xA1, 0x90, 0x7B, 0xD8, 0x58, 0x80, 0x7C, 0x7E, 0x83, 0x90, 0x7D, 0xB8, 0x3A, 0x80, +0x7E, 0x5E, 0x65, 0x90, 0x7F, 0x98, 0x1C, 0x80, 0x01, 0x02, 0x04, 0x03, 0x04, 0x02, 0x05, 0x02, +0x05, 0x02, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, +0x03, 0x04, 0x03, 0x02, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0xFF, 0xFF, 0x9C, 0x2C, 0x00, 0x00, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x04, 0xFF, +0xFF, 0xAB, 0xA0, 0x00, 0x08, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x0C, 0xFF, 0xFF, 0x9D, 0x90, 0x00, +0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x10, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, +0x00, 0x4D, 0x53, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x43, 0x44, 0x54, +0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, +0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x5B, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, +0xB6, 0xE8, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xAF, 0xF2, 0x6E, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, +0x66, 0x56, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0x43, 0xD2, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, +0x0C, 0x36, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0xFD, 0x86, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x31, +0x67, 0x76, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x73, 0x08, 0x70, 0x00, 0x00, 0x00, 0x00, 0x33, +0x47, 0x58, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0xEA, 0x70, 0x00, 0x00, 0x00, 0x00, 0x35, +0x27, 0x48, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0xDA, 0x80, 0x00, 0x00, 0x00, 0x00, 0x37, +0x07, 0x2A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0xF7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, +0xE7, 0x0C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0xD9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3A, +0xF5, 0x12, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xB6, 0xD1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, +0xB0, 0x0A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x9D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, +0x8F, 0xEC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, +0x6F, 0xCE, 0x90, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x9B, 0x80, 0x00, 0x00, 0x00, 0x00, 0x42, +0x4F, 0xB0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x7D, 0x80, 0x00, 0x00, 0x00, 0x00, 0x44, +0x2F, 0x92, 0x90, 0x00, 0x00, 0x00, 0x00, 0x45, 0x44, 0x5F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x46, +0x0F, 0x74, 0x90, 0x00, 0x00, 0x00, 0x00, 0x47, 0x24, 0x41, 0x80, 0x00, 0x00, 0x00, 0x00, 0x47, +0xF8, 0x91, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, 0x04, 0x23, 0x80, 0x00, 0x00, 0x00, 0x00, 0x49, +0xD8, 0x73, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xE4, 0x05, 0x80, 0x00, 0x00, 0x00, 0x00, 0x4B, +0x9C, 0xA5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4C, 0xD6, 0x5C, 0x80, 0x00, 0x00, 0x00, 0x00, 0x4D, +0x7C, 0x87, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4E, 0xB6, 0x3E, 0x80, 0x00, 0x00, 0x00, 0x00, 0x4F, +0x5C, 0x69, 0x90, 0x00, 0x00, 0x00, 0x00, 0x50, 0x96, 0x20, 0x80, 0x00, 0x00, 0x00, 0x00, 0x51, +0x3C, 0x4B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x52, 0x76, 0x02, 0x80, 0x00, 0x00, 0x00, 0x00, 0x53, +0x1C, 0x2D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x54, 0x55, 0xE4, 0x80, 0x00, 0x00, 0x00, 0x00, 0x54, +0xFC, 0x0F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, 0x35, 0xC6, 0x80, 0x00, 0x00, 0x00, 0x00, 0x56, +0xE5, 0x2C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x58, 0x1E, 0xE3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, +0xC5, 0x0E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x59, 0xFE, 0xC5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5A, +0xA4, 0xF0, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5B, 0xDE, 0xA7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5C, +0x84, 0xD2, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5D, 0xBE, 0x89, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5E, +0x64, 0xB4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x9E, 0x6B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, +0x4D, 0xD0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x61, 0x87, 0x87, 0x80, 0x00, 0x00, 0x00, 0x00, 0x62, +0x2D, 0xB2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x63, 0x5E, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x63, +0x86, 0xF1, 0x60, 0x00, 0x00, 0x00, 0x00, 0x64, 0x0D, 0x94, 0x90, 0x00, 0x00, 0x00, 0x00, 0x65, +0x47, 0x4B, 0x80, 0x00, 0x00, 0x00, 0x00, 0x65, 0xED, 0x76, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, +0x27, 0x2D, 0x80, 0x00, 0x00, 0x00, 0x00, 0x67, 0xCD, 0x58, 0x90, 0x00, 0x00, 0x00, 0x00, 0x69, +0x07, 0x0F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x69, 0xAD, 0x3A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6A, +0xE6, 0xF1, 0x80, 0x00, 0x00, 0x00, 0x00, 0x6B, 0x96, 0x57, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6C, +0xD0, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x76, 0x39, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6E, +0xAF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x56, 0x1B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x70, +0x8F, 0xD2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x71, 0x35, 0xFD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x72, +0x6F, 0xB4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x73, 0x15, 0xDF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x74, +0x4F, 0x96, 0x00, 0x00, 0x00, 0x00, 0x00, 0x74, 0xFE, 0xFB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x76, +0x38, 0xB2, 0x80, 0x00, 0x00, 0x00, 0x00, 0x76, 0xDE, 0xDD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x78, +0x18, 0x94, 0x80, 0x00, 0x00, 0x00, 0x00, 0x78, 0xBE, 0xBF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x79, +0xF8, 0x76, 0x80, 0x00, 0x00, 0x00, 0x00, 0x7A, 0x9E, 0xA1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7B, +0xD8, 0x58, 0x80, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x7E, 0x83, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7D, +0xB8, 0x3A, 0x80, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x5E, 0x65, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7F, +0x98, 0x1C, 0x80, 0x01, 0x02, 0x04, 0x03, 0x04, 0x02, 0x05, 0x02, 0x05, 0x02, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x02, 0x04, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0xFF, 0xFF, +0x9C, 0x2C, 0x00, 0x00, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x08, +0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x0C, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, +0x01, 0x10, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, +0x43, 0x53, 0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x00, 0x01, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x4D, 0x53, 0x54, 0x37, 0x4D, +0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, 0x31, 0x2E, +0x30, 0x0A, 0x00, 0xB9, 0xC0, 0x15, 0x00, 0x70, 0x2D, 0x72, 0x00, 0x00, 0x00, 0x1C, 0x43, 0x68, +0x69, 0x68, 0x75, 0x61, 0x68, 0x75, 0x61, 0x20, 0x28, 0x55, 0x53, 0x20, 0x62, 0x6F, 0x72, 0x64, +0x65, 0x72, 0x20, 0x2D, 0x20, 0x77, 0x65, 0x73, 0x74, 0x29, + /* America/Coral_Harbour */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -30297,8 +30552,8 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { /* America/Godthab */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x0C, 0x9B, 0x80, 0x68, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0C, 0x9B, 0x80, 0x68, 0x00, 0x13, 0x4D, 0x7C, 0x50, 0x14, 0x33, 0xFA, 0x90, 0x15, 0x23, 0xEB, 0x90, 0x16, 0x13, 0xDC, 0x90, 0x17, 0x03, 0xCD, 0x90, 0x17, 0xF3, 0xBE, 0x90, 0x18, 0xE3, 0xAF, 0x90, 0x19, 0xD3, 0xA0, 0x90, 0x1A, 0xC3, 0x91, 0x90, 0x1B, 0xBC, 0xBD, 0x10, 0x1C, 0xAC, 0xAE, 0x10, 0x1D, 0x9C, 0x9F, 0x10, @@ -30320,99 +30575,73 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { 0x56, 0xF7, 0x30, 0x90, 0x58, 0x15, 0x46, 0x10, 0x58, 0xD7, 0x12, 0x90, 0x59, 0xF5, 0x28, 0x10, 0x5A, 0xB6, 0xF4, 0x90, 0x5B, 0xD5, 0x0A, 0x10, 0x5C, 0xA0, 0x11, 0x10, 0x5D, 0xB4, 0xEC, 0x10, 0x5E, 0x7F, 0xF3, 0x10, 0x5F, 0x94, 0xCE, 0x10, 0x60, 0x5F, 0xD5, 0x10, 0x61, 0x7D, 0xEA, 0x90, -0x62, 0x3F, 0xB7, 0x10, 0x63, 0x5D, 0xCC, 0x90, 0x64, 0x1F, 0x99, 0x10, 0x65, 0x3D, 0xAE, 0x90, -0x66, 0x08, 0xB5, 0x90, 0x67, 0x1D, 0x90, 0x90, 0x67, 0xE8, 0x97, 0x90, 0x68, 0xFD, 0x72, 0x90, -0x69, 0xC8, 0x79, 0x90, 0x6A, 0xDD, 0x54, 0x90, 0x6B, 0xA8, 0x5B, 0x90, 0x6C, 0xC6, 0x71, 0x10, -0x6D, 0x88, 0x3D, 0x90, 0x6E, 0xA6, 0x53, 0x10, 0x6F, 0x68, 0x1F, 0x90, 0x70, 0x86, 0x35, 0x10, -0x71, 0x51, 0x3C, 0x10, 0x72, 0x66, 0x17, 0x10, 0x73, 0x31, 0x1E, 0x10, 0x74, 0x45, 0xF9, 0x10, -0x75, 0x11, 0x00, 0x10, 0x76, 0x2F, 0x15, 0x90, 0x76, 0xF0, 0xE2, 0x10, 0x78, 0x0E, 0xF7, 0x90, -0x78, 0xD0, 0xC4, 0x10, 0x79, 0xEE, 0xD9, 0x90, 0x7A, 0xB0, 0xA6, 0x10, 0x7B, 0xCE, 0xBB, 0x90, -0x7C, 0x99, 0xC2, 0x90, 0x7D, 0xAE, 0x9D, 0x90, 0x7E, 0x79, 0xA4, 0x90, 0x7F, 0x8E, 0x7F, 0x90, -0x01, 0x04, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x62, 0x3F, 0xB7, 0x10, 0x63, 0x5D, 0xCC, 0x90, 0x64, 0x1F, 0x99, 0x10, 0x01, 0x04, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x05, 0xFF, 0xFF, 0xCF, 0x80, 0x00, 0x00, 0xFF, 0xFF, 0xD5, 0xD0, 0x00, 0x04, +0xFF, 0xFF, 0xD5, 0xD0, 0x00, 0x04, 0xFF, 0xFF, 0xE3, 0xE0, 0x01, 0x08, 0xFF, 0xFF, 0xE3, 0xE0, +0x01, 0x08, 0xFF, 0xFF, 0xE3, 0xE0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x33, 0x00, +0x2D, 0x30, 0x32, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, +0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0C, 0xFF, 0xFF, 0xFF, 0xFF, +0x9B, 0x80, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x4D, 0x7C, 0x50, 0x00, 0x00, 0x00, 0x00, +0x14, 0x33, 0xFA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x15, 0x23, 0xEB, 0x90, 0x00, 0x00, 0x00, 0x00, +0x16, 0x13, 0xDC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x17, 0x03, 0xCD, 0x90, 0x00, 0x00, 0x00, 0x00, +0x17, 0xF3, 0xBE, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, 0xE3, 0xAF, 0x90, 0x00, 0x00, 0x00, 0x00, +0x19, 0xD3, 0xA0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xC3, 0x91, 0x90, 0x00, 0x00, 0x00, 0x00, +0x1B, 0xBC, 0xBD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xAC, 0xAE, 0x10, 0x00, 0x00, 0x00, 0x00, +0x1D, 0x9C, 0x9F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x8C, 0x90, 0x10, 0x00, 0x00, 0x00, 0x00, +0x1F, 0x7C, 0x81, 0x10, 0x00, 0x00, 0x00, 0x00, 0x20, 0x6C, 0x72, 0x10, 0x00, 0x00, 0x00, 0x00, +0x21, 0x5C, 0x63, 0x10, 0x00, 0x00, 0x00, 0x00, 0x22, 0x4C, 0x54, 0x10, 0x00, 0x00, 0x00, 0x00, +0x23, 0x3C, 0x45, 0x10, 0x00, 0x00, 0x00, 0x00, 0x24, 0x2C, 0x36, 0x10, 0x00, 0x00, 0x00, 0x00, +0x25, 0x1C, 0x27, 0x10, 0x00, 0x00, 0x00, 0x00, 0x26, 0x0C, 0x18, 0x10, 0x00, 0x00, 0x00, 0x00, +0x27, 0x05, 0x43, 0x90, 0x00, 0x00, 0x00, 0x00, 0x27, 0xF5, 0x34, 0x90, 0x00, 0x00, 0x00, 0x00, +0x28, 0xE5, 0x25, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, 0xD5, 0x16, 0x90, 0x00, 0x00, 0x00, 0x00, +0x2A, 0xC5, 0x07, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xB4, 0xF8, 0x90, 0x00, 0x00, 0x00, 0x00, +0x2C, 0xA4, 0xE9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x94, 0xDA, 0x90, 0x00, 0x00, 0x00, 0x00, +0x2E, 0x84, 0xCB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x74, 0xBC, 0x90, 0x00, 0x00, 0x00, 0x00, +0x30, 0x64, 0xAD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0xD9, 0x10, 0x00, 0x00, 0x00, 0x00, +0x32, 0x72, 0xB4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x33, 0x3D, 0xBB, 0x10, 0x00, 0x00, 0x00, 0x00, +0x34, 0x52, 0x96, 0x10, 0x00, 0x00, 0x00, 0x00, 0x35, 0x1D, 0x9D, 0x10, 0x00, 0x00, 0x00, 0x00, +0x36, 0x32, 0x78, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0xFD, 0x7F, 0x10, 0x00, 0x00, 0x00, 0x00, +0x38, 0x1B, 0x94, 0x90, 0x00, 0x00, 0x00, 0x00, 0x38, 0xDD, 0x61, 0x10, 0x00, 0x00, 0x00, 0x00, +0x39, 0xFB, 0x76, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xBD, 0x43, 0x10, 0x00, 0x00, 0x00, 0x00, +0x3B, 0xDB, 0x58, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xA6, 0x5F, 0x90, 0x00, 0x00, 0x00, 0x00, +0x3D, 0xBB, 0x3A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x86, 0x41, 0x90, 0x00, 0x00, 0x00, 0x00, +0x3F, 0x9B, 0x1C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x40, 0x66, 0x23, 0x90, 0x00, 0x00, 0x00, 0x00, +0x41, 0x84, 0x39, 0x10, 0x00, 0x00, 0x00, 0x00, 0x42, 0x46, 0x05, 0x90, 0x00, 0x00, 0x00, 0x00, +0x43, 0x64, 0x1B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x44, 0x25, 0xE7, 0x90, 0x00, 0x00, 0x00, 0x00, +0x45, 0x43, 0xFD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x46, 0x05, 0xC9, 0x90, 0x00, 0x00, 0x00, 0x00, +0x47, 0x23, 0xDF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x47, 0xEE, 0xE6, 0x10, 0x00, 0x00, 0x00, 0x00, +0x49, 0x03, 0xC1, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, 0xCE, 0xC8, 0x10, 0x00, 0x00, 0x00, 0x00, +0x4A, 0xE3, 0xA3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4B, 0xAE, 0xAA, 0x10, 0x00, 0x00, 0x00, 0x00, +0x4C, 0xCC, 0xBF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x8E, 0x8C, 0x10, 0x00, 0x00, 0x00, 0x00, +0x4E, 0xAC, 0xA1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x6E, 0x6E, 0x10, 0x00, 0x00, 0x00, 0x00, +0x50, 0x8C, 0x83, 0x90, 0x00, 0x00, 0x00, 0x00, 0x51, 0x57, 0x8A, 0x90, 0x00, 0x00, 0x00, 0x00, +0x52, 0x6C, 0x65, 0x90, 0x00, 0x00, 0x00, 0x00, 0x53, 0x37, 0x6C, 0x90, 0x00, 0x00, 0x00, 0x00, +0x54, 0x4C, 0x47, 0x90, 0x00, 0x00, 0x00, 0x00, 0x55, 0x17, 0x4E, 0x90, 0x00, 0x00, 0x00, 0x00, +0x56, 0x2C, 0x29, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, 0xF7, 0x30, 0x90, 0x00, 0x00, 0x00, 0x00, +0x58, 0x15, 0x46, 0x10, 0x00, 0x00, 0x00, 0x00, 0x58, 0xD7, 0x12, 0x90, 0x00, 0x00, 0x00, 0x00, +0x59, 0xF5, 0x28, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xB6, 0xF4, 0x90, 0x00, 0x00, 0x00, 0x00, +0x5B, 0xD5, 0x0A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5C, 0xA0, 0x11, 0x10, 0x00, 0x00, 0x00, 0x00, +0x5D, 0xB4, 0xEC, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x7F, 0xF3, 0x10, 0x00, 0x00, 0x00, 0x00, +0x5F, 0x94, 0xCE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x60, 0x5F, 0xD5, 0x10, 0x00, 0x00, 0x00, 0x00, +0x61, 0x7D, 0xEA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x62, 0x3F, 0xB7, 0x10, 0x00, 0x00, 0x00, 0x00, +0x63, 0x5D, 0xCC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x64, 0x1F, 0x99, 0x10, 0x01, 0x04, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0xFF, 0xFF, 0xCF, 0x80, 0x00, 0x00, 0xFF, 0xFF, 0xD5, 0xD0, 0x00, -0x04, 0xFF, 0xFF, 0xD5, 0xD0, 0x00, 0x04, 0xFF, 0xFF, 0xE3, 0xE0, 0x01, 0x08, 0xFF, 0xFF, 0xE3, -0xE0, 0x01, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x33, 0x00, 0x2D, 0x30, 0x32, 0x00, 0x00, -0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x33, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, -0x05, 0x00, 0x00, 0x00, 0x0C, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x80, 0x68, 0x00, 0x00, 0x00, 0x00, -0x00, 0x13, 0x4D, 0x7C, 0x50, 0x00, 0x00, 0x00, 0x00, 0x14, 0x33, 0xFA, 0x90, 0x00, 0x00, 0x00, -0x00, 0x15, 0x23, 0xEB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x16, 0x13, 0xDC, 0x90, 0x00, 0x00, 0x00, -0x00, 0x17, 0x03, 0xCD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x17, 0xF3, 0xBE, 0x90, 0x00, 0x00, 0x00, -0x00, 0x18, 0xE3, 0xAF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x19, 0xD3, 0xA0, 0x90, 0x00, 0x00, 0x00, -0x00, 0x1A, 0xC3, 0x91, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xBC, 0xBD, 0x10, 0x00, 0x00, 0x00, -0x00, 0x1C, 0xAC, 0xAE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1D, 0x9C, 0x9F, 0x10, 0x00, 0x00, 0x00, -0x00, 0x1E, 0x8C, 0x90, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x7C, 0x81, 0x10, 0x00, 0x00, 0x00, -0x00, 0x20, 0x6C, 0x72, 0x10, 0x00, 0x00, 0x00, 0x00, 0x21, 0x5C, 0x63, 0x10, 0x00, 0x00, 0x00, -0x00, 0x22, 0x4C, 0x54, 0x10, 0x00, 0x00, 0x00, 0x00, 0x23, 0x3C, 0x45, 0x10, 0x00, 0x00, 0x00, -0x00, 0x24, 0x2C, 0x36, 0x10, 0x00, 0x00, 0x00, 0x00, 0x25, 0x1C, 0x27, 0x10, 0x00, 0x00, 0x00, -0x00, 0x26, 0x0C, 0x18, 0x10, 0x00, 0x00, 0x00, 0x00, 0x27, 0x05, 0x43, 0x90, 0x00, 0x00, 0x00, -0x00, 0x27, 0xF5, 0x34, 0x90, 0x00, 0x00, 0x00, 0x00, 0x28, 0xE5, 0x25, 0x90, 0x00, 0x00, 0x00, -0x00, 0x29, 0xD5, 0x16, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xC5, 0x07, 0x90, 0x00, 0x00, 0x00, -0x00, 0x2B, 0xB4, 0xF8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xA4, 0xE9, 0x90, 0x00, 0x00, 0x00, -0x00, 0x2D, 0x94, 0xDA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x84, 0xCB, 0x90, 0x00, 0x00, 0x00, -0x00, 0x2F, 0x74, 0xBC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x30, 0x64, 0xAD, 0x90, 0x00, 0x00, 0x00, -0x00, 0x31, 0x5D, 0xD9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x32, 0x72, 0xB4, 0x10, 0x00, 0x00, 0x00, -0x00, 0x33, 0x3D, 0xBB, 0x10, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0x96, 0x10, 0x00, 0x00, 0x00, -0x00, 0x35, 0x1D, 0x9D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0x78, 0x10, 0x00, 0x00, 0x00, -0x00, 0x36, 0xFD, 0x7F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0x94, 0x90, 0x00, 0x00, 0x00, -0x00, 0x38, 0xDD, 0x61, 0x10, 0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0x76, 0x90, 0x00, 0x00, 0x00, -0x00, 0x3A, 0xBD, 0x43, 0x10, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0x58, 0x90, 0x00, 0x00, 0x00, -0x00, 0x3C, 0xA6, 0x5F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x3A, 0x90, 0x00, 0x00, 0x00, -0x00, 0x3E, 0x86, 0x41, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x1C, 0x90, 0x00, 0x00, 0x00, -0x00, 0x40, 0x66, 0x23, 0x90, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x39, 0x10, 0x00, 0x00, 0x00, -0x00, 0x42, 0x46, 0x05, 0x90, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x1B, 0x10, 0x00, 0x00, 0x00, -0x00, 0x44, 0x25, 0xE7, 0x90, 0x00, 0x00, 0x00, 0x00, 0x45, 0x43, 0xFD, 0x10, 0x00, 0x00, 0x00, -0x00, 0x46, 0x05, 0xC9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x47, 0x23, 0xDF, 0x10, 0x00, 0x00, 0x00, -0x00, 0x47, 0xEE, 0xE6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, 0x03, 0xC1, 0x10, 0x00, 0x00, 0x00, -0x00, 0x49, 0xCE, 0xC8, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xE3, 0xA3, 0x10, 0x00, 0x00, 0x00, -0x00, 0x4B, 0xAE, 0xAA, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4C, 0xCC, 0xBF, 0x90, 0x00, 0x00, 0x00, -0x00, 0x4D, 0x8E, 0x8C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4E, 0xAC, 0xA1, 0x90, 0x00, 0x00, 0x00, -0x00, 0x4F, 0x6E, 0x6E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x50, 0x8C, 0x83, 0x90, 0x00, 0x00, 0x00, -0x00, 0x51, 0x57, 0x8A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x52, 0x6C, 0x65, 0x90, 0x00, 0x00, 0x00, -0x00, 0x53, 0x37, 0x6C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x54, 0x4C, 0x47, 0x90, 0x00, 0x00, 0x00, -0x00, 0x55, 0x17, 0x4E, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, 0x2C, 0x29, 0x90, 0x00, 0x00, 0x00, -0x00, 0x56, 0xF7, 0x30, 0x90, 0x00, 0x00, 0x00, 0x00, 0x58, 0x15, 0x46, 0x10, 0x00, 0x00, 0x00, -0x00, 0x58, 0xD7, 0x12, 0x90, 0x00, 0x00, 0x00, 0x00, 0x59, 0xF5, 0x28, 0x10, 0x00, 0x00, 0x00, -0x00, 0x5A, 0xB6, 0xF4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x5B, 0xD5, 0x0A, 0x10, 0x00, 0x00, 0x00, -0x00, 0x5C, 0xA0, 0x11, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5D, 0xB4, 0xEC, 0x10, 0x00, 0x00, 0x00, -0x00, 0x5E, 0x7F, 0xF3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x94, 0xCE, 0x10, 0x00, 0x00, 0x00, -0x00, 0x60, 0x5F, 0xD5, 0x10, 0x00, 0x00, 0x00, 0x00, 0x61, 0x7D, 0xEA, 0x90, 0x00, 0x00, 0x00, -0x00, 0x62, 0x3F, 0xB7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x63, 0x5D, 0xCC, 0x90, 0x00, 0x00, 0x00, -0x00, 0x64, 0x1F, 0x99, 0x10, 0x00, 0x00, 0x00, 0x00, 0x65, 0x3D, 0xAE, 0x90, 0x00, 0x00, 0x00, -0x00, 0x66, 0x08, 0xB5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, 0x1D, 0x90, 0x90, 0x00, 0x00, 0x00, -0x00, 0x67, 0xE8, 0x97, 0x90, 0x00, 0x00, 0x00, 0x00, 0x68, 0xFD, 0x72, 0x90, 0x00, 0x00, 0x00, -0x00, 0x69, 0xC8, 0x79, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xDD, 0x54, 0x90, 0x00, 0x00, 0x00, -0x00, 0x6B, 0xA8, 0x5B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xC6, 0x71, 0x10, 0x00, 0x00, 0x00, -0x00, 0x6D, 0x88, 0x3D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6E, 0xA6, 0x53, 0x10, 0x00, 0x00, 0x00, -0x00, 0x6F, 0x68, 0x1F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x70, 0x86, 0x35, 0x10, 0x00, 0x00, 0x00, -0x00, 0x71, 0x51, 0x3C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x72, 0x66, 0x17, 0x10, 0x00, 0x00, 0x00, -0x00, 0x73, 0x31, 0x1E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x74, 0x45, 0xF9, 0x10, 0x00, 0x00, 0x00, -0x00, 0x75, 0x11, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x76, 0x2F, 0x15, 0x90, 0x00, 0x00, 0x00, -0x00, 0x76, 0xF0, 0xE2, 0x10, 0x00, 0x00, 0x00, 0x00, 0x78, 0x0E, 0xF7, 0x90, 0x00, 0x00, 0x00, -0x00, 0x78, 0xD0, 0xC4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x79, 0xEE, 0xD9, 0x90, 0x00, 0x00, 0x00, -0x00, 0x7A, 0xB0, 0xA6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x7B, 0xCE, 0xBB, 0x90, 0x00, 0x00, 0x00, -0x00, 0x7C, 0x99, 0xC2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7D, 0xAE, 0x9D, 0x90, 0x00, 0x00, 0x00, -0x00, 0x7E, 0x79, 0xA4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x8E, 0x7F, 0x90, 0x01, 0x04, 0x02, -0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, -0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, -0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, -0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, -0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, -0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, -0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, -0x03, 0x02, 0xFF, 0xFF, 0xCF, 0x80, 0x00, 0x00, 0xFF, 0xFF, 0xD5, 0xD0, 0x00, 0x04, 0xFF, 0xFF, -0xD5, 0xD0, 0x00, 0x04, 0xFF, 0xFF, 0xE3, 0xE0, 0x01, 0x08, 0xFF, 0xFF, 0xE3, 0xE0, 0x01, 0x08, -0x4C, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x33, 0x00, 0x2D, 0x30, 0x32, 0x00, 0x00, 0x00, 0x01, 0x01, -0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x0A, 0x3C, 0x2D, 0x30, 0x33, 0x3E, 0x33, 0x3C, 0x2D, 0x30, -0x32, 0x3E, 0x2C, 0x4D, 0x33, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x2D, 0x32, 0x2C, 0x4D, 0x31, 0x30, -0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x2D, 0x31, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x02, 0x03, 0x02, 0x05, 0xFF, 0xFF, 0xCF, 0x80, 0x00, 0x00, 0xFF, 0xFF, 0xD5, 0xD0, 0x00, 0x04, +0xFF, 0xFF, 0xD5, 0xD0, 0x00, 0x04, 0xFF, 0xFF, 0xE3, 0xE0, 0x01, 0x08, 0xFF, 0xFF, 0xE3, 0xE0, +0x01, 0x08, 0xFF, 0xFF, 0xE3, 0xE0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x33, 0x00, +0x2D, 0x30, 0x32, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, +0x0A, 0x3C, 0x2D, 0x30, 0x32, 0x3E, 0x32, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* America/Goose_Bay */ @@ -31227,9 +31456,7 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { 0x4C, 0x4D, 0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x50, 0x53, 0x54, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x4D, 0x53, 0x54, 0x37, 0x0A, 0x00, 0xB5, 0xAE, 0x6A, 0x00, 0x69, 0x56, 0x25, -0x00, 0x00, 0x00, 0x1F, 0x4D, 0x6F, 0x75, 0x6E, 0x74, 0x61, 0x69, 0x6E, 0x20, 0x53, 0x74, 0x61, -0x6E, 0x64, 0x61, 0x72, 0x64, 0x20, 0x54, 0x69, 0x6D, 0x65, 0x20, 0x2D, 0x20, 0x53, 0x6F, 0x6E, -0x6F, 0x72, 0x61, +0x00, 0x00, 0x00, 0x06, 0x53, 0x6F, 0x6E, 0x6F, 0x72, 0x61, /* America/Indiana/Indianapolis */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x55, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -32280,37 +32507,122 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { /* America/Inuvik */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x15, 0xE0, 0x06, 0x4E, 0x80, -0xF7, 0x2F, 0x68, 0x80, 0xF8, 0x28, 0x94, 0x00, 0x11, 0x89, 0x90, 0x20, 0x13, 0x69, 0x64, 0x10, -0x14, 0x59, 0x47, 0x00, 0x15, 0x49, 0x46, 0x10, 0x16, 0x39, 0x29, 0x00, 0x17, 0x29, 0x28, 0x10, -0x18, 0x22, 0x45, 0x80, 0x19, 0x09, 0x0A, 0x10, 0x1A, 0x02, 0x27, 0x80, 0x1A, 0xF2, 0x26, 0x90, -0x1B, 0xE2, 0x09, 0x80, 0x1C, 0xD2, 0x08, 0x90, 0x1D, 0xC1, 0xEB, 0x80, 0x1E, 0xB1, 0xEA, 0x90, -0x1F, 0xA1, 0xCD, 0x80, 0x20, 0x76, 0x1D, 0x10, 0x21, 0x81, 0xAF, 0x80, 0x22, 0x55, 0xFF, 0x10, -0x23, 0x6A, 0xCC, 0x00, 0x24, 0x35, 0xE1, 0x10, 0x25, 0x4A, 0xAE, 0x00, 0x26, 0x15, 0xC3, 0x10, -0x27, 0x2A, 0x90, 0x00, 0x27, 0xFE, 0xDF, 0x90, 0x29, 0x0A, 0x72, 0x00, 0x29, 0xDE, 0xC1, 0x90, -0x2A, 0xEA, 0x54, 0x00, 0x2B, 0xBE, 0xA3, 0x90, 0x2C, 0xD3, 0x70, 0x80, 0x2D, 0x9E, 0x85, 0x90, -0x2E, 0xB3, 0x52, 0x80, 0x2F, 0x7E, 0x67, 0x90, 0x30, 0x93, 0x34, 0x80, 0x31, 0x67, 0x84, 0x10, -0x32, 0x73, 0x16, 0x80, 0x33, 0x47, 0x66, 0x10, 0x34, 0x52, 0xF8, 0x80, 0x35, 0x27, 0x48, 0x10, -0x36, 0x32, 0xDA, 0x80, 0x37, 0x07, 0x2A, 0x10, 0x38, 0x1B, 0xF7, 0x00, 0x38, 0xE7, 0x0C, 0x10, -0x39, 0xFB, 0xD9, 0x00, 0x3A, 0xC6, 0xEE, 0x10, 0x3B, 0xDB, 0xBB, 0x00, 0x3C, 0xB0, 0x0A, 0x90, -0x3D, 0xBB, 0x9D, 0x00, 0x3E, 0x8F, 0xEC, 0x90, 0x3F, 0x9B, 0x7F, 0x00, 0x40, 0x6F, 0xCE, 0x90, -0x41, 0x84, 0x9B, 0x80, 0x42, 0x4F, 0xB0, 0x90, 0x43, 0x64, 0x7D, 0x80, 0x44, 0x2F, 0x92, 0x90, -0x45, 0x44, 0x5F, 0x80, 0x45, 0xF3, 0xC5, 0x10, 0x47, 0x2D, 0x7C, 0x00, 0x47, 0xD3, 0xA7, 0x10, -0x49, 0x0D, 0x5E, 0x00, 0x49, 0xB3, 0x89, 0x10, 0x4A, 0xED, 0x40, 0x00, 0x4B, 0x9C, 0xA5, 0x90, -0x4C, 0xD6, 0x5C, 0x80, 0x4D, 0x7C, 0x87, 0x90, 0x4E, 0xB6, 0x3E, 0x80, 0x4F, 0x5C, 0x69, 0x90, -0x50, 0x96, 0x20, 0x80, 0x51, 0x3C, 0x4B, 0x90, 0x52, 0x76, 0x02, 0x80, 0x53, 0x1C, 0x2D, 0x90, -0x54, 0x55, 0xE4, 0x80, 0x54, 0xFC, 0x0F, 0x90, 0x56, 0x35, 0xC6, 0x80, 0x56, 0xE5, 0x2C, 0x10, -0x58, 0x1E, 0xE3, 0x00, 0x58, 0xC5, 0x0E, 0x10, 0x59, 0xFE, 0xC5, 0x00, 0x5A, 0xA4, 0xF0, 0x10, -0x5B, 0xDE, 0xA7, 0x00, 0x5C, 0x84, 0xD2, 0x10, 0x5D, 0xBE, 0x89, 0x00, 0x5E, 0x64, 0xB4, 0x10, -0x5F, 0x9E, 0x6B, 0x00, 0x60, 0x4D, 0xD0, 0x90, 0x61, 0x87, 0x87, 0x80, 0x62, 0x2D, 0xB2, 0x90, -0x63, 0x67, 0x69, 0x80, 0x64, 0x0D, 0x94, 0x90, 0x65, 0x47, 0x4B, 0x80, 0x65, 0xED, 0x76, 0x90, -0x67, 0x27, 0x2D, 0x80, 0x67, 0xCD, 0x58, 0x90, 0x69, 0x07, 0x0F, 0x80, 0x69, 0xAD, 0x3A, 0x90, -0x6A, 0xE6, 0xF1, 0x80, 0x6B, 0x96, 0x57, 0x10, 0x6C, 0xD0, 0x0E, 0x00, 0x6D, 0x76, 0x39, 0x10, -0x6E, 0xAF, 0xF0, 0x00, 0x6F, 0x56, 0x1B, 0x10, 0x70, 0x8F, 0xD2, 0x00, 0x71, 0x35, 0xFD, 0x10, -0x72, 0x6F, 0xB4, 0x00, 0x73, 0x15, 0xDF, 0x10, 0x74, 0x4F, 0x96, 0x00, 0x74, 0xFE, 0xFB, 0x90, -0x76, 0x38, 0xB2, 0x80, 0x76, 0xDE, 0xDD, 0x90, 0x78, 0x18, 0x94, 0x80, 0x78, 0xBE, 0xBF, 0x90, -0x79, 0xF8, 0x76, 0x80, 0x7A, 0x9E, 0xA1, 0x90, 0x7B, 0xD8, 0x58, 0x80, 0x7C, 0x7E, 0x83, 0x90, -0x7D, 0xB8, 0x3A, 0x80, 0x7E, 0x5E, 0x65, 0x90, 0x7F, 0x98, 0x1C, 0x80, 0x02, 0x01, 0x02, 0x03, +0x00, 0x00, 0x00, 0x85, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0xE0, 0x06, 0x4E, 0x80, +0x04, 0x61, 0x27, 0xA0, 0x05, 0x51, 0x0A, 0x90, 0x06, 0x41, 0x09, 0xA0, 0x07, 0x30, 0xEC, 0x90, +0x08, 0x20, 0xEB, 0xA0, 0x09, 0x10, 0xCE, 0x90, 0x0A, 0x00, 0xCD, 0xA0, 0x0A, 0xF0, 0xB0, 0x90, +0x0B, 0xE0, 0xAF, 0xA0, 0x0C, 0xD9, 0xCD, 0x10, 0x0D, 0xC0, 0x91, 0xA0, 0x0E, 0xB9, 0xAF, 0x10, +0x0F, 0xA9, 0xAE, 0x20, 0x10, 0x99, 0x91, 0x10, 0x11, 0x89, 0x90, 0x20, 0x12, 0x79, 0x65, 0x00, +0x13, 0x69, 0x64, 0x10, 0x14, 0x59, 0x47, 0x00, 0x15, 0x49, 0x46, 0x10, 0x16, 0x39, 0x29, 0x00, +0x17, 0x29, 0x28, 0x10, 0x18, 0x22, 0x45, 0x80, 0x19, 0x09, 0x0A, 0x10, 0x1A, 0x02, 0x27, 0x80, +0x1A, 0xF2, 0x26, 0x90, 0x1B, 0xE2, 0x09, 0x80, 0x1C, 0xD2, 0x08, 0x90, 0x1D, 0xC1, 0xEB, 0x80, +0x1E, 0xB1, 0xEA, 0x90, 0x1F, 0xA1, 0xCD, 0x80, 0x20, 0x76, 0x1D, 0x10, 0x21, 0x81, 0xAF, 0x80, +0x22, 0x55, 0xFF, 0x10, 0x23, 0x6A, 0xCC, 0x00, 0x24, 0x35, 0xE1, 0x10, 0x25, 0x4A, 0xAE, 0x00, +0x26, 0x15, 0xC3, 0x10, 0x27, 0x2A, 0x90, 0x00, 0x27, 0xFE, 0xDF, 0x90, 0x29, 0x0A, 0x72, 0x00, +0x29, 0xDE, 0xC1, 0x90, 0x2A, 0xEA, 0x54, 0x00, 0x2B, 0xBE, 0xA3, 0x90, 0x2C, 0xD3, 0x70, 0x80, +0x2D, 0x9E, 0x85, 0x90, 0x2E, 0xB3, 0x52, 0x80, 0x2F, 0x7E, 0x67, 0x90, 0x30, 0x93, 0x34, 0x80, +0x31, 0x67, 0x84, 0x10, 0x32, 0x73, 0x16, 0x80, 0x33, 0x47, 0x66, 0x10, 0x34, 0x52, 0xF8, 0x80, +0x35, 0x27, 0x48, 0x10, 0x36, 0x32, 0xDA, 0x80, 0x37, 0x07, 0x2A, 0x10, 0x38, 0x1B, 0xF7, 0x00, +0x38, 0xE7, 0x0C, 0x10, 0x39, 0xFB, 0xD9, 0x00, 0x3A, 0xC6, 0xEE, 0x10, 0x3B, 0xDB, 0xBB, 0x00, +0x3C, 0xB0, 0x0A, 0x90, 0x3D, 0xBB, 0x9D, 0x00, 0x3E, 0x8F, 0xEC, 0x90, 0x3F, 0x9B, 0x7F, 0x00, +0x40, 0x6F, 0xCE, 0x90, 0x41, 0x84, 0x9B, 0x80, 0x42, 0x4F, 0xB0, 0x90, 0x43, 0x64, 0x7D, 0x80, +0x44, 0x2F, 0x92, 0x90, 0x45, 0x44, 0x5F, 0x80, 0x45, 0xF3, 0xC5, 0x10, 0x47, 0x2D, 0x7C, 0x00, +0x47, 0xD3, 0xA7, 0x10, 0x49, 0x0D, 0x5E, 0x00, 0x49, 0xB3, 0x89, 0x10, 0x4A, 0xED, 0x40, 0x00, +0x4B, 0x9C, 0xA5, 0x90, 0x4C, 0xD6, 0x5C, 0x80, 0x4D, 0x7C, 0x87, 0x90, 0x4E, 0xB6, 0x3E, 0x80, +0x4F, 0x5C, 0x69, 0x90, 0x50, 0x96, 0x20, 0x80, 0x51, 0x3C, 0x4B, 0x90, 0x52, 0x76, 0x02, 0x80, +0x53, 0x1C, 0x2D, 0x90, 0x54, 0x55, 0xE4, 0x80, 0x54, 0xFC, 0x0F, 0x90, 0x56, 0x35, 0xC6, 0x80, +0x56, 0xE5, 0x2C, 0x10, 0x58, 0x1E, 0xE3, 0x00, 0x58, 0xC5, 0x0E, 0x10, 0x59, 0xFE, 0xC5, 0x00, +0x5A, 0xA4, 0xF0, 0x10, 0x5B, 0xDE, 0xA7, 0x00, 0x5C, 0x84, 0xD2, 0x10, 0x5D, 0xBE, 0x89, 0x00, +0x5E, 0x64, 0xB4, 0x10, 0x5F, 0x9E, 0x6B, 0x00, 0x60, 0x4D, 0xD0, 0x90, 0x61, 0x87, 0x87, 0x80, +0x62, 0x2D, 0xB2, 0x90, 0x63, 0x67, 0x69, 0x80, 0x64, 0x0D, 0x94, 0x90, 0x65, 0x47, 0x4B, 0x80, +0x65, 0xED, 0x76, 0x90, 0x67, 0x27, 0x2D, 0x80, 0x67, 0xCD, 0x58, 0x90, 0x69, 0x07, 0x0F, 0x80, +0x69, 0xAD, 0x3A, 0x90, 0x6A, 0xE6, 0xF1, 0x80, 0x6B, 0x96, 0x57, 0x10, 0x6C, 0xD0, 0x0E, 0x00, +0x6D, 0x76, 0x39, 0x10, 0x6E, 0xAF, 0xF0, 0x00, 0x6F, 0x56, 0x1B, 0x10, 0x70, 0x8F, 0xD2, 0x00, +0x71, 0x35, 0xFD, 0x10, 0x72, 0x6F, 0xB4, 0x00, 0x73, 0x15, 0xDF, 0x10, 0x74, 0x4F, 0x96, 0x00, +0x74, 0xFE, 0xFB, 0x90, 0x76, 0x38, 0xB2, 0x80, 0x76, 0xDE, 0xDD, 0x90, 0x78, 0x18, 0x94, 0x80, +0x78, 0xBE, 0xBF, 0x90, 0x79, 0xF8, 0x76, 0x80, 0x7A, 0x9E, 0xA1, 0x90, 0x7B, 0xD8, 0x58, 0x80, +0x7C, 0x7E, 0x83, 0x90, 0x7D, 0xB8, 0x3A, 0x80, 0x7E, 0x5E, 0x65, 0x90, 0x7F, 0x98, 0x1C, 0x80, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x04, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, +0x03, 0x04, 0x03, 0x04, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x9D, 0x90, 0x01, +0x04, 0xFF, 0xFF, 0x8F, 0x80, 0x00, 0x08, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x0C, 0xFF, 0xFF, 0xAB, +0xA0, 0x01, 0x10, 0x2D, 0x30, 0x30, 0x00, 0x50, 0x44, 0x54, 0x00, 0x50, 0x53, 0x54, 0x00, 0x4D, +0x53, 0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x85, 0x00, 0x00, 0x00, 0x05, 0x00, +0x00, 0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x06, 0x4E, 0x80, 0x00, 0x00, 0x00, 0x00, 0x04, +0x61, 0x27, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x05, 0x51, 0x0A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x06, +0x41, 0x09, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x07, 0x30, 0xEC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x08, +0x20, 0xEB, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x09, 0x10, 0xCE, 0x90, 0x00, 0x00, 0x00, 0x00, 0x0A, +0x00, 0xCD, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xF0, 0xB0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x0B, +0xE0, 0xAF, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xD9, 0xCD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x0D, +0xC0, 0x91, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xB9, 0xAF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x0F, +0xA9, 0xAE, 0x20, 0x00, 0x00, 0x00, 0x00, 0x10, 0x99, 0x91, 0x10, 0x00, 0x00, 0x00, 0x00, 0x11, +0x89, 0x90, 0x20, 0x00, 0x00, 0x00, 0x00, 0x12, 0x79, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, +0x69, 0x64, 0x10, 0x00, 0x00, 0x00, 0x00, 0x14, 0x59, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, +0x49, 0x46, 0x10, 0x00, 0x00, 0x00, 0x00, 0x16, 0x39, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, +0x29, 0x28, 0x10, 0x00, 0x00, 0x00, 0x00, 0x18, 0x22, 0x45, 0x80, 0x00, 0x00, 0x00, 0x00, 0x19, +0x09, 0x0A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x02, 0x27, 0x80, 0x00, 0x00, 0x00, 0x00, 0x1A, +0xF2, 0x26, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xE2, 0x09, 0x80, 0x00, 0x00, 0x00, 0x00, 0x1C, +0xD2, 0x08, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xC1, 0xEB, 0x80, 0x00, 0x00, 0x00, 0x00, 0x1E, +0xB1, 0xEA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xA1, 0xCD, 0x80, 0x00, 0x00, 0x00, 0x00, 0x20, +0x76, 0x1D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x21, 0x81, 0xAF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x22, +0x55, 0xFF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x23, 0x6A, 0xCC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, +0x35, 0xE1, 0x10, 0x00, 0x00, 0x00, 0x00, 0x25, 0x4A, 0xAE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x26, +0x15, 0xC3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x27, 0x2A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, +0xFE, 0xDF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, 0x0A, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x29, +0xDE, 0xC1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xEA, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2B, +0xBE, 0xA3, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xD3, 0x70, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2D, +0x9E, 0x85, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2E, 0xB3, 0x52, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2F, +0x7E, 0x67, 0x90, 0x00, 0x00, 0x00, 0x00, 0x30, 0x93, 0x34, 0x80, 0x00, 0x00, 0x00, 0x00, 0x31, +0x67, 0x84, 0x10, 0x00, 0x00, 0x00, 0x00, 0x32, 0x73, 0x16, 0x80, 0x00, 0x00, 0x00, 0x00, 0x33, +0x47, 0x66, 0x10, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0xF8, 0x80, 0x00, 0x00, 0x00, 0x00, 0x35, +0x27, 0x48, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0xDA, 0x80, 0x00, 0x00, 0x00, 0x00, 0x37, +0x07, 0x2A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0xF7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, +0xE7, 0x0C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0xD9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3A, +0xC6, 0xEE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0xBB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, +0xB0, 0x0A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x9D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, +0x8F, 0xEC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, +0x6F, 0xCE, 0x90, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x9B, 0x80, 0x00, 0x00, 0x00, 0x00, 0x42, +0x4F, 0xB0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x7D, 0x80, 0x00, 0x00, 0x00, 0x00, 0x44, +0x2F, 0x92, 0x90, 0x00, 0x00, 0x00, 0x00, 0x45, 0x44, 0x5F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x45, +0xF3, 0xC5, 0x10, 0x00, 0x00, 0x00, 0x00, 0x47, 0x2D, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, +0xD3, 0xA7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, 0x0D, 0x5E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, +0xB3, 0x89, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xED, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4B, +0x9C, 0xA5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4C, 0xD6, 0x5C, 0x80, 0x00, 0x00, 0x00, 0x00, 0x4D, +0x7C, 0x87, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4E, 0xB6, 0x3E, 0x80, 0x00, 0x00, 0x00, 0x00, 0x4F, +0x5C, 0x69, 0x90, 0x00, 0x00, 0x00, 0x00, 0x50, 0x96, 0x20, 0x80, 0x00, 0x00, 0x00, 0x00, 0x51, +0x3C, 0x4B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x52, 0x76, 0x02, 0x80, 0x00, 0x00, 0x00, 0x00, 0x53, +0x1C, 0x2D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x54, 0x55, 0xE4, 0x80, 0x00, 0x00, 0x00, 0x00, 0x54, +0xFC, 0x0F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, 0x35, 0xC6, 0x80, 0x00, 0x00, 0x00, 0x00, 0x56, +0xE5, 0x2C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x58, 0x1E, 0xE3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, +0xC5, 0x0E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x59, 0xFE, 0xC5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5A, +0xA4, 0xF0, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5B, 0xDE, 0xA7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5C, +0x84, 0xD2, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5D, 0xBE, 0x89, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5E, +0x64, 0xB4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x9E, 0x6B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, +0x4D, 0xD0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x61, 0x87, 0x87, 0x80, 0x00, 0x00, 0x00, 0x00, 0x62, +0x2D, 0xB2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x63, 0x67, 0x69, 0x80, 0x00, 0x00, 0x00, 0x00, 0x64, +0x0D, 0x94, 0x90, 0x00, 0x00, 0x00, 0x00, 0x65, 0x47, 0x4B, 0x80, 0x00, 0x00, 0x00, 0x00, 0x65, +0xED, 0x76, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, 0x27, 0x2D, 0x80, 0x00, 0x00, 0x00, 0x00, 0x67, +0xCD, 0x58, 0x90, 0x00, 0x00, 0x00, 0x00, 0x69, 0x07, 0x0F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x69, +0xAD, 0x3A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xE6, 0xF1, 0x80, 0x00, 0x00, 0x00, 0x00, 0x6B, +0x96, 0x57, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xD0, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6D, +0x76, 0x39, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6E, 0xAF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6F, +0x56, 0x1B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x70, 0x8F, 0xD2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x71, +0x35, 0xFD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x72, 0x6F, 0xB4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x73, +0x15, 0xDF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x74, 0x4F, 0x96, 0x00, 0x00, 0x00, 0x00, 0x00, 0x74, +0xFE, 0xFB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x76, 0x38, 0xB2, 0x80, 0x00, 0x00, 0x00, 0x00, 0x76, +0xDE, 0xDD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x78, 0x18, 0x94, 0x80, 0x00, 0x00, 0x00, 0x00, 0x78, +0xBE, 0xBF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x79, 0xF8, 0x76, 0x80, 0x00, 0x00, 0x00, 0x00, 0x7A, +0x9E, 0xA1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7B, 0xD8, 0x58, 0x80, 0x00, 0x00, 0x00, 0x00, 0x7C, +0x7E, 0x83, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7D, 0xB8, 0x3A, 0x80, 0x00, 0x00, 0x00, 0x00, 0x7E, +0x5E, 0x65, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x98, 0x1C, 0x80, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, @@ -32318,219 +32630,155 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, -0x04, 0x03, 0x04, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x04, -0xFF, 0xFF, 0x8F, 0x80, 0x00, 0x09, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x0D, 0xFF, 0xFF, 0xAB, 0xA0, -0x01, 0x11, 0x2D, 0x30, 0x30, 0x00, 0x50, 0x44, 0x44, 0x54, 0x00, 0x50, 0x53, 0x54, 0x00, 0x4D, -0x53, 0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x05, 0x00, -0x00, 0x00, 0x15, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x06, 0x4E, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, -0x2F, 0x68, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x28, 0x94, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, -0x89, 0x90, 0x20, 0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x64, 0x10, 0x00, 0x00, 0x00, 0x00, 0x14, -0x59, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x49, 0x46, 0x10, 0x00, 0x00, 0x00, 0x00, 0x16, -0x39, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x29, 0x28, 0x10, 0x00, 0x00, 0x00, 0x00, 0x18, -0x22, 0x45, 0x80, 0x00, 0x00, 0x00, 0x00, 0x19, 0x09, 0x0A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1A, -0x02, 0x27, 0x80, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xF2, 0x26, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, -0xE2, 0x09, 0x80, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xD2, 0x08, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1D, -0xC1, 0xEB, 0x80, 0x00, 0x00, 0x00, 0x00, 0x1E, 0xB1, 0xEA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1F, -0xA1, 0xCD, 0x80, 0x00, 0x00, 0x00, 0x00, 0x20, 0x76, 0x1D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x21, -0x81, 0xAF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x22, 0x55, 0xFF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x23, -0x6A, 0xCC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x35, 0xE1, 0x10, 0x00, 0x00, 0x00, 0x00, 0x25, -0x4A, 0xAE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x26, 0x15, 0xC3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x27, -0x2A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0xFE, 0xDF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, -0x0A, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x29, 0xDE, 0xC1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2A, -0xEA, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xBE, 0xA3, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2C, -0xD3, 0x70, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x9E, 0x85, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2E, -0xB3, 0x52, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x7E, 0x67, 0x90, 0x00, 0x00, 0x00, 0x00, 0x30, -0x93, 0x34, 0x80, 0x00, 0x00, 0x00, 0x00, 0x31, 0x67, 0x84, 0x10, 0x00, 0x00, 0x00, 0x00, 0x32, -0x73, 0x16, 0x80, 0x00, 0x00, 0x00, 0x00, 0x33, 0x47, 0x66, 0x10, 0x00, 0x00, 0x00, 0x00, 0x34, -0x52, 0xF8, 0x80, 0x00, 0x00, 0x00, 0x00, 0x35, 0x27, 0x48, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, -0x32, 0xDA, 0x80, 0x00, 0x00, 0x00, 0x00, 0x37, 0x07, 0x2A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x38, -0x1B, 0xF7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0xE7, 0x0C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x39, -0xFB, 0xD9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xC6, 0xEE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x3B, -0xDB, 0xBB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xB0, 0x0A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3D, -0xBB, 0x9D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x8F, 0xEC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3F, -0x9B, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x6F, 0xCE, 0x90, 0x00, 0x00, 0x00, 0x00, 0x41, -0x84, 0x9B, 0x80, 0x00, 0x00, 0x00, 0x00, 0x42, 0x4F, 0xB0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x43, -0x64, 0x7D, 0x80, 0x00, 0x00, 0x00, 0x00, 0x44, 0x2F, 0x92, 0x90, 0x00, 0x00, 0x00, 0x00, 0x45, -0x44, 0x5F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x45, 0xF3, 0xC5, 0x10, 0x00, 0x00, 0x00, 0x00, 0x47, -0x2D, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0xD3, 0xA7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, -0x0D, 0x5E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0xB3, 0x89, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4A, -0xED, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4B, 0x9C, 0xA5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4C, -0xD6, 0x5C, 0x80, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x7C, 0x87, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4E, -0xB6, 0x3E, 0x80, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x5C, 0x69, 0x90, 0x00, 0x00, 0x00, 0x00, 0x50, -0x96, 0x20, 0x80, 0x00, 0x00, 0x00, 0x00, 0x51, 0x3C, 0x4B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x52, -0x76, 0x02, 0x80, 0x00, 0x00, 0x00, 0x00, 0x53, 0x1C, 0x2D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x54, -0x55, 0xE4, 0x80, 0x00, 0x00, 0x00, 0x00, 0x54, 0xFC, 0x0F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, -0x35, 0xC6, 0x80, 0x00, 0x00, 0x00, 0x00, 0x56, 0xE5, 0x2C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x58, -0x1E, 0xE3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 0xC5, 0x0E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x59, -0xFE, 0xC5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xA4, 0xF0, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5B, -0xDE, 0xA7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5C, 0x84, 0xD2, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5D, -0xBE, 0x89, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x64, 0xB4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5F, -0x9E, 0x6B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x4D, 0xD0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x61, -0x87, 0x87, 0x80, 0x00, 0x00, 0x00, 0x00, 0x62, 0x2D, 0xB2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x63, -0x67, 0x69, 0x80, 0x00, 0x00, 0x00, 0x00, 0x64, 0x0D, 0x94, 0x90, 0x00, 0x00, 0x00, 0x00, 0x65, -0x47, 0x4B, 0x80, 0x00, 0x00, 0x00, 0x00, 0x65, 0xED, 0x76, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, -0x27, 0x2D, 0x80, 0x00, 0x00, 0x00, 0x00, 0x67, 0xCD, 0x58, 0x90, 0x00, 0x00, 0x00, 0x00, 0x69, -0x07, 0x0F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x69, 0xAD, 0x3A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6A, -0xE6, 0xF1, 0x80, 0x00, 0x00, 0x00, 0x00, 0x6B, 0x96, 0x57, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6C, -0xD0, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x76, 0x39, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6E, -0xAF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x56, 0x1B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x70, -0x8F, 0xD2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x71, 0x35, 0xFD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x72, -0x6F, 0xB4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x73, 0x15, 0xDF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x74, -0x4F, 0x96, 0x00, 0x00, 0x00, 0x00, 0x00, 0x74, 0xFE, 0xFB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x76, -0x38, 0xB2, 0x80, 0x00, 0x00, 0x00, 0x00, 0x76, 0xDE, 0xDD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x78, -0x18, 0x94, 0x80, 0x00, 0x00, 0x00, 0x00, 0x78, 0xBE, 0xBF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x79, -0xF8, 0x76, 0x80, 0x00, 0x00, 0x00, 0x00, 0x7A, 0x9E, 0xA1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7B, -0xD8, 0x58, 0x80, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x7E, 0x83, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7D, -0xB8, 0x3A, 0x80, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x5E, 0x65, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7F, -0x98, 0x1C, 0x80, 0x02, 0x01, 0x02, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, -0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, -0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, -0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, -0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, -0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, -0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, -0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x04, 0xFF, 0xFF, 0x8F, 0x80, 0x00, 0x09, 0xFF, 0xFF, 0x9D, -0x90, 0x00, 0x0D, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x11, 0x2D, 0x30, 0x30, 0x00, 0x50, 0x44, 0x44, -0x54, 0x00, 0x50, 0x53, 0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x0A, 0x4D, -0x53, 0x54, 0x37, 0x4D, 0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, -0x31, 0x2E, 0x31, 0x2E, 0x30, 0x0A, 0x00, 0xF1, 0x9F, 0x5C, 0x00, 0x46, 0x9F, 0x6D, 0x00, 0x00, -0x00, 0x14, 0x4D, 0x6F, 0x75, 0x6E, 0x74, 0x61, 0x69, 0x6E, 0x20, 0x2D, 0x20, 0x4E, 0x54, 0x20, -0x28, 0x77, 0x65, 0x73, 0x74, 0x29, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x9D, 0x90, 0x01, 0x04, 0xFF, 0xFF, 0x8F, 0x80, +0x00, 0x08, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x0C, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x10, 0x2D, 0x30, +0x30, 0x00, 0x50, 0x44, 0x54, 0x00, 0x50, 0x53, 0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, 0x4D, 0x44, +0x54, 0x00, 0x0A, 0x4D, 0x53, 0x54, 0x37, 0x4D, 0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, +0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, 0x31, 0x2E, 0x30, 0x0A, 0x00, 0xF1, 0x9F, 0x5C, 0x00, 0x46, +0x9F, 0x6D, 0x00, 0x00, 0x00, 0x14, 0x4D, 0x6F, 0x75, 0x6E, 0x74, 0x61, 0x69, 0x6E, 0x20, 0x2D, +0x20, 0x4E, 0x54, 0x20, 0x28, 0x77, 0x65, 0x73, 0x74, 0x29, /* America/Iqaluit */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x79, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x21, 0xCC, 0x6C, 0xA1, 0x80, -0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xFB, 0xE0, 0xF7, 0x2F, 0x3E, 0x50, 0xF8, 0x28, 0x69, 0xD0, -0x13, 0x69, 0x47, 0xF0, 0x14, 0x59, 0x2A, 0xE0, 0x15, 0x49, 0x29, 0xF0, 0x16, 0x39, 0x0C, 0xE0, -0x17, 0x29, 0x0B, 0xF0, 0x18, 0x22, 0x29, 0x60, 0x19, 0x08, 0xED, 0xF0, 0x1A, 0x02, 0x0B, 0x60, -0x1A, 0xF2, 0x0A, 0x70, 0x1B, 0xE1, 0xED, 0x60, 0x1C, 0xD1, 0xEC, 0x70, 0x1D, 0xC1, 0xCF, 0x60, -0x1E, 0xB1, 0xCE, 0x70, 0x1F, 0xA1, 0xB1, 0x60, 0x20, 0x76, 0x00, 0xF0, 0x21, 0x81, 0x93, 0x60, -0x22, 0x55, 0xE2, 0xF0, 0x23, 0x6A, 0xAF, 0xE0, 0x24, 0x35, 0xC4, 0xF0, 0x25, 0x4A, 0x91, 0xE0, -0x26, 0x15, 0xA6, 0xF0, 0x27, 0x2A, 0x73, 0xE0, 0x27, 0xFE, 0xC3, 0x70, 0x29, 0x0A, 0x55, 0xE0, -0x29, 0xDE, 0xA5, 0x70, 0x2A, 0xEA, 0x37, 0xE0, 0x2B, 0xBE, 0x87, 0x70, 0x2C, 0xD3, 0x54, 0x60, -0x2D, 0x9E, 0x69, 0x70, 0x2E, 0xB3, 0x36, 0x60, 0x2F, 0x7E, 0x4B, 0x70, 0x30, 0x93, 0x18, 0x60, -0x31, 0x67, 0x67, 0xF0, 0x32, 0x72, 0xFA, 0x60, 0x33, 0x47, 0x49, 0xF0, 0x34, 0x52, 0xDC, 0x60, -0x35, 0x27, 0x2B, 0xF0, 0x36, 0x32, 0xBE, 0x60, 0x37, 0x07, 0x0D, 0xF0, 0x38, 0x1B, 0xDA, 0xE0, -0x38, 0xE6, 0xFE, 0x00, 0x39, 0xFB, 0xCA, 0xF0, 0x3A, 0xC6, 0xD1, 0xF0, 0x3B, 0xDB, 0x9E, 0xE0, -0x3C, 0xAF, 0xEE, 0x70, 0x3D, 0xBB, 0x80, 0xE0, 0x3E, 0x8F, 0xD0, 0x70, 0x3F, 0x9B, 0x62, 0xE0, -0x40, 0x6F, 0xB2, 0x70, 0x41, 0x84, 0x7F, 0x60, 0x42, 0x4F, 0x94, 0x70, 0x43, 0x64, 0x61, 0x60, -0x44, 0x2F, 0x76, 0x70, 0x45, 0x44, 0x43, 0x60, 0x45, 0xF3, 0xA8, 0xF0, 0x47, 0x2D, 0x5F, 0xE0, -0x47, 0xD3, 0x8A, 0xF0, 0x49, 0x0D, 0x41, 0xE0, 0x49, 0xB3, 0x6C, 0xF0, 0x4A, 0xED, 0x23, 0xE0, -0x4B, 0x9C, 0x89, 0x70, 0x4C, 0xD6, 0x40, 0x60, 0x4D, 0x7C, 0x6B, 0x70, 0x4E, 0xB6, 0x22, 0x60, -0x4F, 0x5C, 0x4D, 0x70, 0x50, 0x96, 0x04, 0x60, 0x51, 0x3C, 0x2F, 0x70, 0x52, 0x75, 0xE6, 0x60, -0x53, 0x1C, 0x11, 0x70, 0x54, 0x55, 0xC8, 0x60, 0x54, 0xFB, 0xF3, 0x70, 0x56, 0x35, 0xAA, 0x60, -0x56, 0xE5, 0x0F, 0xF0, 0x58, 0x1E, 0xC6, 0xE0, 0x58, 0xC4, 0xF1, 0xF0, 0x59, 0xFE, 0xA8, 0xE0, -0x5A, 0xA4, 0xD3, 0xF0, 0x5B, 0xDE, 0x8A, 0xE0, 0x5C, 0x84, 0xB5, 0xF0, 0x5D, 0xBE, 0x6C, 0xE0, -0x5E, 0x64, 0x97, 0xF0, 0x5F, 0x9E, 0x4E, 0xE0, 0x60, 0x4D, 0xB4, 0x70, 0x61, 0x87, 0x6B, 0x60, -0x62, 0x2D, 0x96, 0x70, 0x63, 0x67, 0x4D, 0x60, 0x64, 0x0D, 0x78, 0x70, 0x65, 0x47, 0x2F, 0x60, -0x65, 0xED, 0x5A, 0x70, 0x67, 0x27, 0x11, 0x60, 0x67, 0xCD, 0x3C, 0x70, 0x69, 0x06, 0xF3, 0x60, -0x69, 0xAD, 0x1E, 0x70, 0x6A, 0xE6, 0xD5, 0x60, 0x6B, 0x96, 0x3A, 0xF0, 0x6C, 0xCF, 0xF1, 0xE0, -0x6D, 0x76, 0x1C, 0xF0, 0x6E, 0xAF, 0xD3, 0xE0, 0x6F, 0x55, 0xFE, 0xF0, 0x70, 0x8F, 0xB5, 0xE0, -0x71, 0x35, 0xE0, 0xF0, 0x72, 0x6F, 0x97, 0xE0, 0x73, 0x15, 0xC2, 0xF0, 0x74, 0x4F, 0x79, 0xE0, -0x74, 0xFE, 0xDF, 0x70, 0x76, 0x38, 0x96, 0x60, 0x76, 0xDE, 0xC1, 0x70, 0x78, 0x18, 0x78, 0x60, -0x78, 0xBE, 0xA3, 0x70, 0x79, 0xF8, 0x5A, 0x60, 0x7A, 0x9E, 0x85, 0x70, 0x7B, 0xD8, 0x3C, 0x60, -0x7C, 0x7E, 0x67, 0x70, 0x7D, 0xB8, 0x1E, 0x60, 0x7E, 0x5E, 0x49, 0x70, 0x7F, 0x98, 0x00, 0x60, -0x05, 0x01, 0x02, 0x03, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, -0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, -0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x06, 0x07, 0x02, 0x04, -0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, -0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, -0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, -0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, -0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, -0xFF, 0xC7, 0xC0, 0x01, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, -0x0C, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x11, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x15, 0xFF, 0xFF, 0xAB, -0xA0, 0x00, 0x19, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x1D, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x11, 0xFF, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x87, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x1C, 0xCC, 0x6C, 0xA1, 0x80, +0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xFB, 0xE0, 0x04, 0x60, 0xFD, 0x70, 0x05, 0x50, 0xE0, 0x60, +0x06, 0x40, 0xDF, 0x70, 0x07, 0x30, 0xC2, 0x60, 0x08, 0x20, 0xC1, 0x70, 0x09, 0x10, 0xA4, 0x60, +0x0A, 0x00, 0xA3, 0x70, 0x0A, 0xF0, 0x86, 0x60, 0x0B, 0xE0, 0x85, 0x70, 0x0C, 0xD9, 0xA2, 0xE0, +0x0D, 0xC0, 0x67, 0x70, 0x0E, 0xB9, 0x84, 0xE0, 0x0F, 0xA9, 0x83, 0xF0, 0x10, 0x99, 0x66, 0xE0, +0x11, 0x89, 0x65, 0xF0, 0x12, 0x79, 0x48, 0xE0, 0x13, 0x69, 0x47, 0xF0, 0x14, 0x59, 0x2A, 0xE0, +0x15, 0x49, 0x29, 0xF0, 0x16, 0x39, 0x0C, 0xE0, 0x17, 0x29, 0x0B, 0xF0, 0x18, 0x22, 0x29, 0x60, +0x19, 0x08, 0xED, 0xF0, 0x1A, 0x02, 0x0B, 0x60, 0x1A, 0xF2, 0x0A, 0x70, 0x1B, 0xE1, 0xED, 0x60, +0x1C, 0xD1, 0xEC, 0x70, 0x1D, 0xC1, 0xCF, 0x60, 0x1E, 0xB1, 0xCE, 0x70, 0x1F, 0xA1, 0xB1, 0x60, +0x20, 0x76, 0x00, 0xF0, 0x21, 0x81, 0x93, 0x60, 0x22, 0x55, 0xE2, 0xF0, 0x23, 0x6A, 0xAF, 0xE0, +0x24, 0x35, 0xC4, 0xF0, 0x25, 0x4A, 0x91, 0xE0, 0x26, 0x15, 0xA6, 0xF0, 0x27, 0x2A, 0x73, 0xE0, +0x27, 0xFE, 0xC3, 0x70, 0x29, 0x0A, 0x55, 0xE0, 0x29, 0xDE, 0xA5, 0x70, 0x2A, 0xEA, 0x37, 0xE0, +0x2B, 0xBE, 0x87, 0x70, 0x2C, 0xD3, 0x54, 0x60, 0x2D, 0x9E, 0x69, 0x70, 0x2E, 0xB3, 0x36, 0x60, +0x2F, 0x7E, 0x4B, 0x70, 0x30, 0x93, 0x18, 0x60, 0x31, 0x67, 0x67, 0xF0, 0x32, 0x72, 0xFA, 0x60, +0x33, 0x47, 0x49, 0xF0, 0x34, 0x52, 0xDC, 0x60, 0x35, 0x27, 0x2B, 0xF0, 0x36, 0x32, 0xBE, 0x60, +0x37, 0x07, 0x0D, 0xF0, 0x38, 0x1B, 0xDA, 0xE0, 0x38, 0xE6, 0xFE, 0x00, 0x39, 0xFB, 0xCA, 0xF0, +0x3A, 0xC6, 0xD1, 0xF0, 0x3B, 0xDB, 0x9E, 0xE0, 0x3C, 0xAF, 0xEE, 0x70, 0x3D, 0xBB, 0x80, 0xE0, +0x3E, 0x8F, 0xD0, 0x70, 0x3F, 0x9B, 0x62, 0xE0, 0x40, 0x6F, 0xB2, 0x70, 0x41, 0x84, 0x7F, 0x60, +0x42, 0x4F, 0x94, 0x70, 0x43, 0x64, 0x61, 0x60, 0x44, 0x2F, 0x76, 0x70, 0x45, 0x44, 0x43, 0x60, +0x45, 0xF3, 0xA8, 0xF0, 0x47, 0x2D, 0x5F, 0xE0, 0x47, 0xD3, 0x8A, 0xF0, 0x49, 0x0D, 0x41, 0xE0, +0x49, 0xB3, 0x6C, 0xF0, 0x4A, 0xED, 0x23, 0xE0, 0x4B, 0x9C, 0x89, 0x70, 0x4C, 0xD6, 0x40, 0x60, +0x4D, 0x7C, 0x6B, 0x70, 0x4E, 0xB6, 0x22, 0x60, 0x4F, 0x5C, 0x4D, 0x70, 0x50, 0x96, 0x04, 0x60, +0x51, 0x3C, 0x2F, 0x70, 0x52, 0x75, 0xE6, 0x60, 0x53, 0x1C, 0x11, 0x70, 0x54, 0x55, 0xC8, 0x60, +0x54, 0xFB, 0xF3, 0x70, 0x56, 0x35, 0xAA, 0x60, 0x56, 0xE5, 0x0F, 0xF0, 0x58, 0x1E, 0xC6, 0xE0, +0x58, 0xC4, 0xF1, 0xF0, 0x59, 0xFE, 0xA8, 0xE0, 0x5A, 0xA4, 0xD3, 0xF0, 0x5B, 0xDE, 0x8A, 0xE0, +0x5C, 0x84, 0xB5, 0xF0, 0x5D, 0xBE, 0x6C, 0xE0, 0x5E, 0x64, 0x97, 0xF0, 0x5F, 0x9E, 0x4E, 0xE0, +0x60, 0x4D, 0xB4, 0x70, 0x61, 0x87, 0x6B, 0x60, 0x62, 0x2D, 0x96, 0x70, 0x63, 0x67, 0x4D, 0x60, +0x64, 0x0D, 0x78, 0x70, 0x65, 0x47, 0x2F, 0x60, 0x65, 0xED, 0x5A, 0x70, 0x67, 0x27, 0x11, 0x60, +0x67, 0xCD, 0x3C, 0x70, 0x69, 0x06, 0xF3, 0x60, 0x69, 0xAD, 0x1E, 0x70, 0x6A, 0xE6, 0xD5, 0x60, +0x6B, 0x96, 0x3A, 0xF0, 0x6C, 0xCF, 0xF1, 0xE0, 0x6D, 0x76, 0x1C, 0xF0, 0x6E, 0xAF, 0xD3, 0xE0, +0x6F, 0x55, 0xFE, 0xF0, 0x70, 0x8F, 0xB5, 0xE0, 0x71, 0x35, 0xE0, 0xF0, 0x72, 0x6F, 0x97, 0xE0, +0x73, 0x15, 0xC2, 0xF0, 0x74, 0x4F, 0x79, 0xE0, 0x74, 0xFE, 0xDF, 0x70, 0x76, 0x38, 0x96, 0x60, +0x76, 0xDE, 0xC1, 0x70, 0x78, 0x18, 0x78, 0x60, 0x78, 0xBE, 0xA3, 0x70, 0x79, 0xF8, 0x5A, 0x60, +0x7A, 0x9E, 0x85, 0x70, 0x7B, 0xD8, 0x3C, 0x60, 0x7C, 0x7E, 0x67, 0x70, 0x7D, 0xB8, 0x1E, 0x60, +0x7E, 0x5E, 0x49, 0x70, 0x7F, 0x98, 0x00, 0x60, 0x04, 0x01, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x05, 0x06, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, +0x08, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x0C, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x10, 0xFF, 0xFF, 0xAB, +0xA0, 0x00, 0x14, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x18, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x0C, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0x2D, 0x30, 0x30, 0x00, 0x45, 0x50, 0x54, 0x00, 0x45, 0x53, 0x54, -0x00, 0x45, 0x44, 0x44, 0x54, 0x00, 0x45, 0x44, 0x54, 0x00, 0x45, 0x57, 0x54, 0x00, 0x43, 0x53, -0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x79, 0x00, 0x00, -0x00, 0x0A, 0x00, 0x00, 0x00, 0x21, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0xA1, 0x80, 0xFF, 0xFF, -0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xFB, 0xE0, 0xFF, 0xFF, -0xFF, 0xFF, 0xF7, 0x2F, 0x3E, 0x50, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x28, 0x69, 0xD0, 0x00, 0x00, -0x00, 0x00, 0x13, 0x69, 0x47, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x14, 0x59, 0x2A, 0xE0, 0x00, 0x00, -0x00, 0x00, 0x15, 0x49, 0x29, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x39, 0x0C, 0xE0, 0x00, 0x00, -0x00, 0x00, 0x17, 0x29, 0x0B, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x18, 0x22, 0x29, 0x60, 0x00, 0x00, -0x00, 0x00, 0x19, 0x08, 0xED, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x02, 0x0B, 0x60, 0x00, 0x00, -0x00, 0x00, 0x1A, 0xF2, 0x0A, 0x70, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xE1, 0xED, 0x60, 0x00, 0x00, -0x00, 0x00, 0x1C, 0xD1, 0xEC, 0x70, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xC1, 0xCF, 0x60, 0x00, 0x00, -0x00, 0x00, 0x1E, 0xB1, 0xCE, 0x70, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xA1, 0xB1, 0x60, 0x00, 0x00, -0x00, 0x00, 0x20, 0x76, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x21, 0x81, 0x93, 0x60, 0x00, 0x00, -0x00, 0x00, 0x22, 0x55, 0xE2, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x23, 0x6A, 0xAF, 0xE0, 0x00, 0x00, -0x00, 0x00, 0x24, 0x35, 0xC4, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x25, 0x4A, 0x91, 0xE0, 0x00, 0x00, -0x00, 0x00, 0x26, 0x15, 0xA6, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x27, 0x2A, 0x73, 0xE0, 0x00, 0x00, -0x00, 0x00, 0x27, 0xFE, 0xC3, 0x70, 0x00, 0x00, 0x00, 0x00, 0x29, 0x0A, 0x55, 0xE0, 0x00, 0x00, -0x00, 0x00, 0x29, 0xDE, 0xA5, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xEA, 0x37, 0xE0, 0x00, 0x00, -0x00, 0x00, 0x2B, 0xBE, 0x87, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xD3, 0x54, 0x60, 0x00, 0x00, -0x00, 0x00, 0x2D, 0x9E, 0x69, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2E, 0xB3, 0x36, 0x60, 0x00, 0x00, -0x00, 0x00, 0x2F, 0x7E, 0x4B, 0x70, 0x00, 0x00, 0x00, 0x00, 0x30, 0x93, 0x18, 0x60, 0x00, 0x00, -0x00, 0x00, 0x31, 0x67, 0x67, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x32, 0x72, 0xFA, 0x60, 0x00, 0x00, -0x00, 0x00, 0x33, 0x47, 0x49, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0xDC, 0x60, 0x00, 0x00, -0x00, 0x00, 0x35, 0x27, 0x2B, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0xBE, 0x60, 0x00, 0x00, -0x00, 0x00, 0x37, 0x07, 0x0D, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0xDA, 0xE0, 0x00, 0x00, -0x00, 0x00, 0x38, 0xE6, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0xCA, 0xF0, 0x00, 0x00, -0x00, 0x00, 0x3A, 0xC6, 0xD1, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0x9E, 0xE0, 0x00, 0x00, -0x00, 0x00, 0x3C, 0xAF, 0xEE, 0x70, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x80, 0xE0, 0x00, 0x00, -0x00, 0x00, 0x3E, 0x8F, 0xD0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x62, 0xE0, 0x00, 0x00, -0x00, 0x00, 0x40, 0x6F, 0xB2, 0x70, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x7F, 0x60, 0x00, 0x00, -0x00, 0x00, 0x42, 0x4F, 0x94, 0x70, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x61, 0x60, 0x00, 0x00, -0x00, 0x00, 0x44, 0x2F, 0x76, 0x70, 0x00, 0x00, 0x00, 0x00, 0x45, 0x44, 0x43, 0x60, 0x00, 0x00, -0x00, 0x00, 0x45, 0xF3, 0xA8, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x47, 0x2D, 0x5F, 0xE0, 0x00, 0x00, -0x00, 0x00, 0x47, 0xD3, 0x8A, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x49, 0x0D, 0x41, 0xE0, 0x00, 0x00, -0x00, 0x00, 0x49, 0xB3, 0x6C, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xED, 0x23, 0xE0, 0x00, 0x00, -0x00, 0x00, 0x4B, 0x9C, 0x89, 0x70, 0x00, 0x00, 0x00, 0x00, 0x4C, 0xD6, 0x40, 0x60, 0x00, 0x00, -0x00, 0x00, 0x4D, 0x7C, 0x6B, 0x70, 0x00, 0x00, 0x00, 0x00, 0x4E, 0xB6, 0x22, 0x60, 0x00, 0x00, -0x00, 0x00, 0x4F, 0x5C, 0x4D, 0x70, 0x00, 0x00, 0x00, 0x00, 0x50, 0x96, 0x04, 0x60, 0x00, 0x00, -0x00, 0x00, 0x51, 0x3C, 0x2F, 0x70, 0x00, 0x00, 0x00, 0x00, 0x52, 0x75, 0xE6, 0x60, 0x00, 0x00, -0x00, 0x00, 0x53, 0x1C, 0x11, 0x70, 0x00, 0x00, 0x00, 0x00, 0x54, 0x55, 0xC8, 0x60, 0x00, 0x00, -0x00, 0x00, 0x54, 0xFB, 0xF3, 0x70, 0x00, 0x00, 0x00, 0x00, 0x56, 0x35, 0xAA, 0x60, 0x00, 0x00, -0x00, 0x00, 0x56, 0xE5, 0x0F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x58, 0x1E, 0xC6, 0xE0, 0x00, 0x00, -0x00, 0x00, 0x58, 0xC4, 0xF1, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x59, 0xFE, 0xA8, 0xE0, 0x00, 0x00, -0x00, 0x00, 0x5A, 0xA4, 0xD3, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x5B, 0xDE, 0x8A, 0xE0, 0x00, 0x00, -0x00, 0x00, 0x5C, 0x84, 0xB5, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x5D, 0xBE, 0x6C, 0xE0, 0x00, 0x00, -0x00, 0x00, 0x5E, 0x64, 0x97, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x9E, 0x4E, 0xE0, 0x00, 0x00, -0x00, 0x00, 0x60, 0x4D, 0xB4, 0x70, 0x00, 0x00, 0x00, 0x00, 0x61, 0x87, 0x6B, 0x60, 0x00, 0x00, -0x00, 0x00, 0x62, 0x2D, 0x96, 0x70, 0x00, 0x00, 0x00, 0x00, 0x63, 0x67, 0x4D, 0x60, 0x00, 0x00, -0x00, 0x00, 0x64, 0x0D, 0x78, 0x70, 0x00, 0x00, 0x00, 0x00, 0x65, 0x47, 0x2F, 0x60, 0x00, 0x00, -0x00, 0x00, 0x65, 0xED, 0x5A, 0x70, 0x00, 0x00, 0x00, 0x00, 0x67, 0x27, 0x11, 0x60, 0x00, 0x00, -0x00, 0x00, 0x67, 0xCD, 0x3C, 0x70, 0x00, 0x00, 0x00, 0x00, 0x69, 0x06, 0xF3, 0x60, 0x00, 0x00, -0x00, 0x00, 0x69, 0xAD, 0x1E, 0x70, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xE6, 0xD5, 0x60, 0x00, 0x00, -0x00, 0x00, 0x6B, 0x96, 0x3A, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xCF, 0xF1, 0xE0, 0x00, 0x00, -0x00, 0x00, 0x6D, 0x76, 0x1C, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x6E, 0xAF, 0xD3, 0xE0, 0x00, 0x00, -0x00, 0x00, 0x6F, 0x55, 0xFE, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x70, 0x8F, 0xB5, 0xE0, 0x00, 0x00, -0x00, 0x00, 0x71, 0x35, 0xE0, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x72, 0x6F, 0x97, 0xE0, 0x00, 0x00, -0x00, 0x00, 0x73, 0x15, 0xC2, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x74, 0x4F, 0x79, 0xE0, 0x00, 0x00, -0x00, 0x00, 0x74, 0xFE, 0xDF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x76, 0x38, 0x96, 0x60, 0x00, 0x00, -0x00, 0x00, 0x76, 0xDE, 0xC1, 0x70, 0x00, 0x00, 0x00, 0x00, 0x78, 0x18, 0x78, 0x60, 0x00, 0x00, -0x00, 0x00, 0x78, 0xBE, 0xA3, 0x70, 0x00, 0x00, 0x00, 0x00, 0x79, 0xF8, 0x5A, 0x60, 0x00, 0x00, -0x00, 0x00, 0x7A, 0x9E, 0x85, 0x70, 0x00, 0x00, 0x00, 0x00, 0x7B, 0xD8, 0x3C, 0x60, 0x00, 0x00, -0x00, 0x00, 0x7C, 0x7E, 0x67, 0x70, 0x00, 0x00, 0x00, 0x00, 0x7D, 0xB8, 0x1E, 0x60, 0x00, 0x00, -0x00, 0x00, 0x7E, 0x5E, 0x49, 0x70, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x98, 0x00, 0x60, 0x05, 0x01, -0x02, 0x03, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, -0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, -0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x06, 0x07, 0x02, 0x04, 0x02, 0x04, -0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, -0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, -0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, -0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, -0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xC7, -0xC0, 0x01, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0xFF, -0xFF, 0xC7, 0xC0, 0x01, 0x11, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x15, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, -0x19, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x1D, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x11, 0xFF, 0xFF, 0xB9, -0xB0, 0x00, 0x08, 0x2D, 0x30, 0x30, 0x00, 0x45, 0x50, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x45, -0x44, 0x44, 0x54, 0x00, 0x45, 0x44, 0x54, 0x00, 0x45, 0x57, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, -0x43, 0x44, 0x54, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x45, 0x53, 0x54, 0x35, 0x45, 0x44, 0x54, -0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, 0x31, 0x2E, 0x30, 0x0A, -0x00, 0xEA, 0x94, 0x15, 0x00, 0xAA, 0x2F, 0xB5, 0x00, 0x00, 0x00, 0x1E, 0x45, 0x61, 0x73, 0x74, -0x65, 0x72, 0x6E, 0x20, 0x2D, 0x20, 0x4E, 0x55, 0x20, 0x28, 0x6D, 0x6F, 0x73, 0x74, 0x20, 0x65, -0x61, 0x73, 0x74, 0x20, 0x61, 0x72, 0x65, 0x61, 0x73, 0x29, +0x00, 0x45, 0x44, 0x54, 0x00, 0x45, 0x57, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x43, 0x44, 0x54, +0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x09, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x87, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x1C, 0xFF, +0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0xA1, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, +0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xFB, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x04, 0x60, 0xFD, 0x70, 0x00, +0x00, 0x00, 0x00, 0x05, 0x50, 0xE0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x06, 0x40, 0xDF, 0x70, 0x00, +0x00, 0x00, 0x00, 0x07, 0x30, 0xC2, 0x60, 0x00, 0x00, 0x00, 0x00, 0x08, 0x20, 0xC1, 0x70, 0x00, +0x00, 0x00, 0x00, 0x09, 0x10, 0xA4, 0x60, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0xA3, 0x70, 0x00, +0x00, 0x00, 0x00, 0x0A, 0xF0, 0x86, 0x60, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xE0, 0x85, 0x70, 0x00, +0x00, 0x00, 0x00, 0x0C, 0xD9, 0xA2, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0D, 0xC0, 0x67, 0x70, 0x00, +0x00, 0x00, 0x00, 0x0E, 0xB9, 0x84, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xA9, 0x83, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x10, 0x99, 0x66, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x11, 0x89, 0x65, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x12, 0x79, 0x48, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x47, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x14, 0x59, 0x2A, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x15, 0x49, 0x29, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x16, 0x39, 0x0C, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x17, 0x29, 0x0B, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x18, 0x22, 0x29, 0x60, 0x00, 0x00, 0x00, 0x00, 0x19, 0x08, 0xED, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x1A, 0x02, 0x0B, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xF2, 0x0A, 0x70, 0x00, +0x00, 0x00, 0x00, 0x1B, 0xE1, 0xED, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xD1, 0xEC, 0x70, 0x00, +0x00, 0x00, 0x00, 0x1D, 0xC1, 0xCF, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1E, 0xB1, 0xCE, 0x70, 0x00, +0x00, 0x00, 0x00, 0x1F, 0xA1, 0xB1, 0x60, 0x00, 0x00, 0x00, 0x00, 0x20, 0x76, 0x00, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x21, 0x81, 0x93, 0x60, 0x00, 0x00, 0x00, 0x00, 0x22, 0x55, 0xE2, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x23, 0x6A, 0xAF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x24, 0x35, 0xC4, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x25, 0x4A, 0x91, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x26, 0x15, 0xA6, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x27, 0x2A, 0x73, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x27, 0xFE, 0xC3, 0x70, 0x00, +0x00, 0x00, 0x00, 0x29, 0x0A, 0x55, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x29, 0xDE, 0xA5, 0x70, 0x00, +0x00, 0x00, 0x00, 0x2A, 0xEA, 0x37, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xBE, 0x87, 0x70, 0x00, +0x00, 0x00, 0x00, 0x2C, 0xD3, 0x54, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x9E, 0x69, 0x70, 0x00, +0x00, 0x00, 0x00, 0x2E, 0xB3, 0x36, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x7E, 0x4B, 0x70, 0x00, +0x00, 0x00, 0x00, 0x30, 0x93, 0x18, 0x60, 0x00, 0x00, 0x00, 0x00, 0x31, 0x67, 0x67, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x32, 0x72, 0xFA, 0x60, 0x00, 0x00, 0x00, 0x00, 0x33, 0x47, 0x49, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x34, 0x52, 0xDC, 0x60, 0x00, 0x00, 0x00, 0x00, 0x35, 0x27, 0x2B, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x36, 0x32, 0xBE, 0x60, 0x00, 0x00, 0x00, 0x00, 0x37, 0x07, 0x0D, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x38, 0x1B, 0xDA, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x38, 0xE6, 0xFE, 0x00, 0x00, +0x00, 0x00, 0x00, 0x39, 0xFB, 0xCA, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xC6, 0xD1, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x3B, 0xDB, 0x9E, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xAF, 0xEE, 0x70, 0x00, +0x00, 0x00, 0x00, 0x3D, 0xBB, 0x80, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x8F, 0xD0, 0x70, 0x00, +0x00, 0x00, 0x00, 0x3F, 0x9B, 0x62, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x40, 0x6F, 0xB2, 0x70, 0x00, +0x00, 0x00, 0x00, 0x41, 0x84, 0x7F, 0x60, 0x00, 0x00, 0x00, 0x00, 0x42, 0x4F, 0x94, 0x70, 0x00, +0x00, 0x00, 0x00, 0x43, 0x64, 0x61, 0x60, 0x00, 0x00, 0x00, 0x00, 0x44, 0x2F, 0x76, 0x70, 0x00, +0x00, 0x00, 0x00, 0x45, 0x44, 0x43, 0x60, 0x00, 0x00, 0x00, 0x00, 0x45, 0xF3, 0xA8, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x47, 0x2D, 0x5F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x47, 0xD3, 0x8A, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x49, 0x0D, 0x41, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x49, 0xB3, 0x6C, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x4A, 0xED, 0x23, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x4B, 0x9C, 0x89, 0x70, 0x00, +0x00, 0x00, 0x00, 0x4C, 0xD6, 0x40, 0x60, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x7C, 0x6B, 0x70, 0x00, +0x00, 0x00, 0x00, 0x4E, 0xB6, 0x22, 0x60, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x5C, 0x4D, 0x70, 0x00, +0x00, 0x00, 0x00, 0x50, 0x96, 0x04, 0x60, 0x00, 0x00, 0x00, 0x00, 0x51, 0x3C, 0x2F, 0x70, 0x00, +0x00, 0x00, 0x00, 0x52, 0x75, 0xE6, 0x60, 0x00, 0x00, 0x00, 0x00, 0x53, 0x1C, 0x11, 0x70, 0x00, +0x00, 0x00, 0x00, 0x54, 0x55, 0xC8, 0x60, 0x00, 0x00, 0x00, 0x00, 0x54, 0xFB, 0xF3, 0x70, 0x00, +0x00, 0x00, 0x00, 0x56, 0x35, 0xAA, 0x60, 0x00, 0x00, 0x00, 0x00, 0x56, 0xE5, 0x0F, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x58, 0x1E, 0xC6, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x58, 0xC4, 0xF1, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x59, 0xFE, 0xA8, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xA4, 0xD3, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x5B, 0xDE, 0x8A, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x5C, 0x84, 0xB5, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x5D, 0xBE, 0x6C, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x64, 0x97, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x5F, 0x9E, 0x4E, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x60, 0x4D, 0xB4, 0x70, 0x00, +0x00, 0x00, 0x00, 0x61, 0x87, 0x6B, 0x60, 0x00, 0x00, 0x00, 0x00, 0x62, 0x2D, 0x96, 0x70, 0x00, +0x00, 0x00, 0x00, 0x63, 0x67, 0x4D, 0x60, 0x00, 0x00, 0x00, 0x00, 0x64, 0x0D, 0x78, 0x70, 0x00, +0x00, 0x00, 0x00, 0x65, 0x47, 0x2F, 0x60, 0x00, 0x00, 0x00, 0x00, 0x65, 0xED, 0x5A, 0x70, 0x00, +0x00, 0x00, 0x00, 0x67, 0x27, 0x11, 0x60, 0x00, 0x00, 0x00, 0x00, 0x67, 0xCD, 0x3C, 0x70, 0x00, +0x00, 0x00, 0x00, 0x69, 0x06, 0xF3, 0x60, 0x00, 0x00, 0x00, 0x00, 0x69, 0xAD, 0x1E, 0x70, 0x00, +0x00, 0x00, 0x00, 0x6A, 0xE6, 0xD5, 0x60, 0x00, 0x00, 0x00, 0x00, 0x6B, 0x96, 0x3A, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x6C, 0xCF, 0xF1, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x76, 0x1C, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x6E, 0xAF, 0xD3, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x55, 0xFE, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x70, 0x8F, 0xB5, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x71, 0x35, 0xE0, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x72, 0x6F, 0x97, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x73, 0x15, 0xC2, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x74, 0x4F, 0x79, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x74, 0xFE, 0xDF, 0x70, 0x00, +0x00, 0x00, 0x00, 0x76, 0x38, 0x96, 0x60, 0x00, 0x00, 0x00, 0x00, 0x76, 0xDE, 0xC1, 0x70, 0x00, +0x00, 0x00, 0x00, 0x78, 0x18, 0x78, 0x60, 0x00, 0x00, 0x00, 0x00, 0x78, 0xBE, 0xA3, 0x70, 0x00, +0x00, 0x00, 0x00, 0x79, 0xF8, 0x5A, 0x60, 0x00, 0x00, 0x00, 0x00, 0x7A, 0x9E, 0x85, 0x70, 0x00, +0x00, 0x00, 0x00, 0x7B, 0xD8, 0x3C, 0x60, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x7E, 0x67, 0x70, 0x00, +0x00, 0x00, 0x00, 0x7D, 0xB8, 0x1E, 0x60, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x5E, 0x49, 0x70, 0x00, +0x00, 0x00, 0x00, 0x7F, 0x98, 0x00, 0x60, 0x04, 0x01, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x05, 0x06, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, +0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x0C, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x10, 0xFF, 0xFF, 0xAB, 0xA0, +0x00, 0x14, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x18, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x0C, 0xFF, 0xFF, +0xB9, 0xB0, 0x00, 0x08, 0x2D, 0x30, 0x30, 0x00, 0x45, 0x50, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, +0x45, 0x44, 0x54, 0x00, 0x45, 0x57, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, +0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x0A, 0x45, 0x53, 0x54, 0x35, 0x45, 0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, +0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, 0x31, 0x2E, 0x30, 0x0A, 0x00, 0xEA, 0x94, 0x15, 0x00, 0xAA, +0x2F, 0xB5, 0x00, 0x00, 0x00, 0x19, 0x45, 0x61, 0x73, 0x74, 0x65, 0x72, 0x6E, 0x20, 0x2D, 0x20, +0x4E, 0x55, 0x20, 0x28, 0x6D, 0x6F, 0x73, 0x74, 0x20, 0x61, 0x72, 0x65, 0x61, 0x73, 0x29, /* America/Jamaica */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4A, 0x4D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -33964,11 +34212,10 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0A, 0x43, 0x53, 0x54, 0x36, 0x43, 0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, 0x31, 0x2E, 0x30, 0x0A, 0x00, 0xB0, 0xBF, 0x65, 0x00, 0x7D, -0xE2, 0x90, 0x00, 0x00, 0x00, 0x3E, 0x43, 0x65, 0x6E, 0x74, 0x72, 0x61, 0x6C, 0x20, 0x54, 0x69, -0x6D, 0x65, 0x20, 0x55, 0x53, 0x20, 0x2D, 0x20, 0x43, 0x6F, 0x61, 0x68, 0x75, 0x69, 0x6C, 0x61, -0x2C, 0x20, 0x4E, 0x75, 0x65, 0x76, 0x6F, 0x20, 0x4C, 0x65, 0x6F, 0x6E, 0x2C, 0x20, 0x54, 0x61, -0x6D, 0x61, 0x75, 0x6C, 0x69, 0x70, 0x61, 0x73, 0x20, 0x28, 0x55, 0x53, 0x20, 0x62, 0x6F, 0x72, -0x64, 0x65, 0x72, 0x29, +0xE2, 0x90, 0x00, 0x00, 0x00, 0x2C, 0x43, 0x6F, 0x61, 0x68, 0x75, 0x69, 0x6C, 0x61, 0x2C, 0x20, +0x4E, 0x75, 0x65, 0x76, 0x6F, 0x20, 0x4C, 0x65, 0x6F, 0x6E, 0x2C, 0x20, 0x54, 0x61, 0x6D, 0x61, +0x75, 0x6C, 0x69, 0x70, 0x61, 0x73, 0x20, 0x28, 0x55, 0x53, 0x20, 0x62, 0x6F, 0x72, 0x64, 0x65, +0x72, 0x29, /* America/Mazatlan */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4D, 0x58, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -34042,10 +34289,10 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { 0x4C, 0x4D, 0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x50, 0x53, 0x54, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x4D, 0x53, 0x54, 0x37, 0x0A, 0x00, 0xAC, 0xC1, 0x42, 0x00, 0x70, 0x47, 0x7D, -0x00, 0x00, 0x00, 0x35, 0x4D, 0x6F, 0x75, 0x6E, 0x74, 0x61, 0x69, 0x6E, 0x20, 0x54, 0x69, 0x6D, -0x65, 0x20, 0x2D, 0x20, 0x42, 0x61, 0x6A, 0x61, 0x20, 0x43, 0x61, 0x6C, 0x69, 0x66, 0x6F, 0x72, +0x00, 0x00, 0x00, 0x32, 0x42, 0x61, 0x6A, 0x61, 0x20, 0x43, 0x61, 0x6C, 0x69, 0x66, 0x6F, 0x72, 0x6E, 0x69, 0x61, 0x20, 0x53, 0x75, 0x72, 0x2C, 0x20, 0x4E, 0x61, 0x79, 0x61, 0x72, 0x69, 0x74, -0x2C, 0x20, 0x53, 0x69, 0x6E, 0x61, 0x6C, 0x6F, 0x61, +0x20, 0x28, 0x6D, 0x6F, 0x73, 0x74, 0x20, 0x61, 0x72, 0x65, 0x61, 0x73, 0x29, 0x2C, 0x20, 0x53, +0x69, 0x6E, 0x61, 0x6C, 0x6F, 0x61, /* America/Mendoza */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -34328,9 +34575,8 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x0C, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0A, 0x43, 0x53, 0x54, 0x36, 0x0A, 0x00, 0xA9, 0x52, 0x5A, -0x00, 0x89, 0xE9, 0xFD, 0x00, 0x00, 0x00, 0x20, 0x43, 0x65, 0x6E, 0x74, 0x72, 0x61, 0x6C, 0x20, -0x54, 0x69, 0x6D, 0x65, 0x20, 0x2D, 0x20, 0x43, 0x61, 0x6D, 0x70, 0x65, 0x63, 0x68, 0x65, 0x2C, -0x20, 0x59, 0x75, 0x63, 0x61, 0x74, 0x61, 0x6E, +0x00, 0x89, 0xE9, 0xFD, 0x00, 0x00, 0x00, 0x11, 0x43, 0x61, 0x6D, 0x70, 0x65, 0x63, 0x68, 0x65, +0x2C, 0x20, 0x59, 0x75, 0x63, 0x61, 0x74, 0x61, 0x6E, /* America/Metlakatla */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x55, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -34504,7 +34750,8 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { 0x43, 0x53, 0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x43, 0x57, 0x54, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x43, 0x53, 0x54, 0x36, 0x0A, 0x00, 0xA6, 0xEE, 0x60, 0x00, 0x7B, 0x5E, 0x07, 0x00, 0x00, -0x00, 0x0C, 0x43, 0x65, 0x6E, 0x74, 0x72, 0x61, 0x6C, 0x20, 0x54, 0x69, 0x6D, 0x65, +0x00, 0x0E, 0x43, 0x65, 0x6E, 0x74, 0x72, 0x61, 0x6C, 0x20, 0x4D, 0x65, 0x78, 0x69, 0x63, 0x6F, + /* America/Miquelon */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x50, 0x4D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -34877,12 +35124,11 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { 0x02, 0x03, 0xFF, 0xFF, 0xA1, 0xF4, 0x00, 0x00, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x08, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0A, 0x43, -0x53, 0x54, 0x36, 0x0A, 0x00, 0xB0, 0x7E, 0x4A, 0x00, 0x79, 0x96, 0x4D, 0x00, 0x00, 0x00, 0x45, -0x43, 0x65, 0x6E, 0x74, 0x72, 0x61, 0x6C, 0x20, 0x54, 0x69, 0x6D, 0x65, 0x20, 0x2D, 0x20, 0x44, -0x75, 0x72, 0x61, 0x6E, 0x67, 0x6F, 0x3B, 0x20, 0x43, 0x6F, 0x61, 0x68, 0x75, 0x69, 0x6C, 0x61, -0x2C, 0x20, 0x4E, 0x75, 0x65, 0x76, 0x6F, 0x20, 0x4C, 0x65, 0x6F, 0x6E, 0x2C, 0x20, 0x54, 0x61, -0x6D, 0x61, 0x75, 0x6C, 0x69, 0x70, 0x61, 0x73, 0x20, 0x28, 0x6D, 0x6F, 0x73, 0x74, 0x20, 0x61, -0x72, 0x65, 0x61, 0x73, 0x29, +0x53, 0x54, 0x36, 0x0A, 0x00, 0xB0, 0x7E, 0x4A, 0x00, 0x79, 0x96, 0x4D, 0x00, 0x00, 0x00, 0x36, +0x44, 0x75, 0x72, 0x61, 0x6E, 0x67, 0x6F, 0x3B, 0x20, 0x43, 0x6F, 0x61, 0x68, 0x75, 0x69, 0x6C, +0x61, 0x2C, 0x20, 0x4E, 0x75, 0x65, 0x76, 0x6F, 0x20, 0x4C, 0x65, 0x6F, 0x6E, 0x2C, 0x20, 0x54, +0x61, 0x6D, 0x61, 0x75, 0x6C, 0x69, 0x70, 0x61, 0x73, 0x20, 0x28, 0x6D, 0x6F, 0x73, 0x74, 0x20, +0x61, 0x72, 0x65, 0x61, 0x73, 0x29, /* America/Montevideo */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x55, 0x59, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -36483,8 +36729,8 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { /* America/Nuuk */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x47, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x0C, 0x9B, 0x80, 0x68, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0C, 0x9B, 0x80, 0x68, 0x00, 0x13, 0x4D, 0x7C, 0x50, 0x14, 0x33, 0xFA, 0x90, 0x15, 0x23, 0xEB, 0x90, 0x16, 0x13, 0xDC, 0x90, 0x17, 0x03, 0xCD, 0x90, 0x17, 0xF3, 0xBE, 0x90, 0x18, 0xE3, 0xAF, 0x90, 0x19, 0xD3, 0xA0, 0x90, 0x1A, 0xC3, 0x91, 0x90, 0x1B, 0xBC, 0xBD, 0x10, 0x1C, 0xAC, 0xAE, 0x10, 0x1D, 0x9C, 0x9F, 0x10, @@ -36506,106 +36752,80 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { 0x56, 0xF7, 0x30, 0x90, 0x58, 0x15, 0x46, 0x10, 0x58, 0xD7, 0x12, 0x90, 0x59, 0xF5, 0x28, 0x10, 0x5A, 0xB6, 0xF4, 0x90, 0x5B, 0xD5, 0x0A, 0x10, 0x5C, 0xA0, 0x11, 0x10, 0x5D, 0xB4, 0xEC, 0x10, 0x5E, 0x7F, 0xF3, 0x10, 0x5F, 0x94, 0xCE, 0x10, 0x60, 0x5F, 0xD5, 0x10, 0x61, 0x7D, 0xEA, 0x90, -0x62, 0x3F, 0xB7, 0x10, 0x63, 0x5D, 0xCC, 0x90, 0x64, 0x1F, 0x99, 0x10, 0x65, 0x3D, 0xAE, 0x90, -0x66, 0x08, 0xB5, 0x90, 0x67, 0x1D, 0x90, 0x90, 0x67, 0xE8, 0x97, 0x90, 0x68, 0xFD, 0x72, 0x90, -0x69, 0xC8, 0x79, 0x90, 0x6A, 0xDD, 0x54, 0x90, 0x6B, 0xA8, 0x5B, 0x90, 0x6C, 0xC6, 0x71, 0x10, -0x6D, 0x88, 0x3D, 0x90, 0x6E, 0xA6, 0x53, 0x10, 0x6F, 0x68, 0x1F, 0x90, 0x70, 0x86, 0x35, 0x10, -0x71, 0x51, 0x3C, 0x10, 0x72, 0x66, 0x17, 0x10, 0x73, 0x31, 0x1E, 0x10, 0x74, 0x45, 0xF9, 0x10, -0x75, 0x11, 0x00, 0x10, 0x76, 0x2F, 0x15, 0x90, 0x76, 0xF0, 0xE2, 0x10, 0x78, 0x0E, 0xF7, 0x90, -0x78, 0xD0, 0xC4, 0x10, 0x79, 0xEE, 0xD9, 0x90, 0x7A, 0xB0, 0xA6, 0x10, 0x7B, 0xCE, 0xBB, 0x90, -0x7C, 0x99, 0xC2, 0x90, 0x7D, 0xAE, 0x9D, 0x90, 0x7E, 0x79, 0xA4, 0x90, 0x7F, 0x8E, 0x7F, 0x90, -0x01, 0x04, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x62, 0x3F, 0xB7, 0x10, 0x63, 0x5D, 0xCC, 0x90, 0x64, 0x1F, 0x99, 0x10, 0x01, 0x04, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x05, 0xFF, 0xFF, 0xCF, 0x80, 0x00, 0x00, 0xFF, 0xFF, 0xD5, 0xD0, 0x00, 0x04, +0xFF, 0xFF, 0xD5, 0xD0, 0x00, 0x04, 0xFF, 0xFF, 0xE3, 0xE0, 0x01, 0x08, 0xFF, 0xFF, 0xE3, 0xE0, +0x01, 0x08, 0xFF, 0xFF, 0xE3, 0xE0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x33, 0x00, +0x2D, 0x30, 0x32, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, +0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0C, 0xFF, 0xFF, 0xFF, 0xFF, +0x9B, 0x80, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x4D, 0x7C, 0x50, 0x00, 0x00, 0x00, 0x00, +0x14, 0x33, 0xFA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x15, 0x23, 0xEB, 0x90, 0x00, 0x00, 0x00, 0x00, +0x16, 0x13, 0xDC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x17, 0x03, 0xCD, 0x90, 0x00, 0x00, 0x00, 0x00, +0x17, 0xF3, 0xBE, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, 0xE3, 0xAF, 0x90, 0x00, 0x00, 0x00, 0x00, +0x19, 0xD3, 0xA0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xC3, 0x91, 0x90, 0x00, 0x00, 0x00, 0x00, +0x1B, 0xBC, 0xBD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xAC, 0xAE, 0x10, 0x00, 0x00, 0x00, 0x00, +0x1D, 0x9C, 0x9F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x8C, 0x90, 0x10, 0x00, 0x00, 0x00, 0x00, +0x1F, 0x7C, 0x81, 0x10, 0x00, 0x00, 0x00, 0x00, 0x20, 0x6C, 0x72, 0x10, 0x00, 0x00, 0x00, 0x00, +0x21, 0x5C, 0x63, 0x10, 0x00, 0x00, 0x00, 0x00, 0x22, 0x4C, 0x54, 0x10, 0x00, 0x00, 0x00, 0x00, +0x23, 0x3C, 0x45, 0x10, 0x00, 0x00, 0x00, 0x00, 0x24, 0x2C, 0x36, 0x10, 0x00, 0x00, 0x00, 0x00, +0x25, 0x1C, 0x27, 0x10, 0x00, 0x00, 0x00, 0x00, 0x26, 0x0C, 0x18, 0x10, 0x00, 0x00, 0x00, 0x00, +0x27, 0x05, 0x43, 0x90, 0x00, 0x00, 0x00, 0x00, 0x27, 0xF5, 0x34, 0x90, 0x00, 0x00, 0x00, 0x00, +0x28, 0xE5, 0x25, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, 0xD5, 0x16, 0x90, 0x00, 0x00, 0x00, 0x00, +0x2A, 0xC5, 0x07, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xB4, 0xF8, 0x90, 0x00, 0x00, 0x00, 0x00, +0x2C, 0xA4, 0xE9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x94, 0xDA, 0x90, 0x00, 0x00, 0x00, 0x00, +0x2E, 0x84, 0xCB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x74, 0xBC, 0x90, 0x00, 0x00, 0x00, 0x00, +0x30, 0x64, 0xAD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0xD9, 0x10, 0x00, 0x00, 0x00, 0x00, +0x32, 0x72, 0xB4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x33, 0x3D, 0xBB, 0x10, 0x00, 0x00, 0x00, 0x00, +0x34, 0x52, 0x96, 0x10, 0x00, 0x00, 0x00, 0x00, 0x35, 0x1D, 0x9D, 0x10, 0x00, 0x00, 0x00, 0x00, +0x36, 0x32, 0x78, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0xFD, 0x7F, 0x10, 0x00, 0x00, 0x00, 0x00, +0x38, 0x1B, 0x94, 0x90, 0x00, 0x00, 0x00, 0x00, 0x38, 0xDD, 0x61, 0x10, 0x00, 0x00, 0x00, 0x00, +0x39, 0xFB, 0x76, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xBD, 0x43, 0x10, 0x00, 0x00, 0x00, 0x00, +0x3B, 0xDB, 0x58, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xA6, 0x5F, 0x90, 0x00, 0x00, 0x00, 0x00, +0x3D, 0xBB, 0x3A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x86, 0x41, 0x90, 0x00, 0x00, 0x00, 0x00, +0x3F, 0x9B, 0x1C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x40, 0x66, 0x23, 0x90, 0x00, 0x00, 0x00, 0x00, +0x41, 0x84, 0x39, 0x10, 0x00, 0x00, 0x00, 0x00, 0x42, 0x46, 0x05, 0x90, 0x00, 0x00, 0x00, 0x00, +0x43, 0x64, 0x1B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x44, 0x25, 0xE7, 0x90, 0x00, 0x00, 0x00, 0x00, +0x45, 0x43, 0xFD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x46, 0x05, 0xC9, 0x90, 0x00, 0x00, 0x00, 0x00, +0x47, 0x23, 0xDF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x47, 0xEE, 0xE6, 0x10, 0x00, 0x00, 0x00, 0x00, +0x49, 0x03, 0xC1, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, 0xCE, 0xC8, 0x10, 0x00, 0x00, 0x00, 0x00, +0x4A, 0xE3, 0xA3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4B, 0xAE, 0xAA, 0x10, 0x00, 0x00, 0x00, 0x00, +0x4C, 0xCC, 0xBF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x8E, 0x8C, 0x10, 0x00, 0x00, 0x00, 0x00, +0x4E, 0xAC, 0xA1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x6E, 0x6E, 0x10, 0x00, 0x00, 0x00, 0x00, +0x50, 0x8C, 0x83, 0x90, 0x00, 0x00, 0x00, 0x00, 0x51, 0x57, 0x8A, 0x90, 0x00, 0x00, 0x00, 0x00, +0x52, 0x6C, 0x65, 0x90, 0x00, 0x00, 0x00, 0x00, 0x53, 0x37, 0x6C, 0x90, 0x00, 0x00, 0x00, 0x00, +0x54, 0x4C, 0x47, 0x90, 0x00, 0x00, 0x00, 0x00, 0x55, 0x17, 0x4E, 0x90, 0x00, 0x00, 0x00, 0x00, +0x56, 0x2C, 0x29, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, 0xF7, 0x30, 0x90, 0x00, 0x00, 0x00, 0x00, +0x58, 0x15, 0x46, 0x10, 0x00, 0x00, 0x00, 0x00, 0x58, 0xD7, 0x12, 0x90, 0x00, 0x00, 0x00, 0x00, +0x59, 0xF5, 0x28, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xB6, 0xF4, 0x90, 0x00, 0x00, 0x00, 0x00, +0x5B, 0xD5, 0x0A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5C, 0xA0, 0x11, 0x10, 0x00, 0x00, 0x00, 0x00, +0x5D, 0xB4, 0xEC, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x7F, 0xF3, 0x10, 0x00, 0x00, 0x00, 0x00, +0x5F, 0x94, 0xCE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x60, 0x5F, 0xD5, 0x10, 0x00, 0x00, 0x00, 0x00, +0x61, 0x7D, 0xEA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x62, 0x3F, 0xB7, 0x10, 0x00, 0x00, 0x00, 0x00, +0x63, 0x5D, 0xCC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x64, 0x1F, 0x99, 0x10, 0x01, 0x04, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0xFF, 0xFF, 0xCF, 0x80, 0x00, 0x00, 0xFF, 0xFF, 0xD5, 0xD0, 0x00, -0x04, 0xFF, 0xFF, 0xD5, 0xD0, 0x00, 0x04, 0xFF, 0xFF, 0xE3, 0xE0, 0x01, 0x08, 0xFF, 0xFF, 0xE3, -0xE0, 0x01, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x33, 0x00, 0x2D, 0x30, 0x32, 0x00, 0x00, -0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x33, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, -0x05, 0x00, 0x00, 0x00, 0x0C, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x80, 0x68, 0x00, 0x00, 0x00, 0x00, -0x00, 0x13, 0x4D, 0x7C, 0x50, 0x00, 0x00, 0x00, 0x00, 0x14, 0x33, 0xFA, 0x90, 0x00, 0x00, 0x00, -0x00, 0x15, 0x23, 0xEB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x16, 0x13, 0xDC, 0x90, 0x00, 0x00, 0x00, -0x00, 0x17, 0x03, 0xCD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x17, 0xF3, 0xBE, 0x90, 0x00, 0x00, 0x00, -0x00, 0x18, 0xE3, 0xAF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x19, 0xD3, 0xA0, 0x90, 0x00, 0x00, 0x00, -0x00, 0x1A, 0xC3, 0x91, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xBC, 0xBD, 0x10, 0x00, 0x00, 0x00, -0x00, 0x1C, 0xAC, 0xAE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1D, 0x9C, 0x9F, 0x10, 0x00, 0x00, 0x00, -0x00, 0x1E, 0x8C, 0x90, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x7C, 0x81, 0x10, 0x00, 0x00, 0x00, -0x00, 0x20, 0x6C, 0x72, 0x10, 0x00, 0x00, 0x00, 0x00, 0x21, 0x5C, 0x63, 0x10, 0x00, 0x00, 0x00, -0x00, 0x22, 0x4C, 0x54, 0x10, 0x00, 0x00, 0x00, 0x00, 0x23, 0x3C, 0x45, 0x10, 0x00, 0x00, 0x00, -0x00, 0x24, 0x2C, 0x36, 0x10, 0x00, 0x00, 0x00, 0x00, 0x25, 0x1C, 0x27, 0x10, 0x00, 0x00, 0x00, -0x00, 0x26, 0x0C, 0x18, 0x10, 0x00, 0x00, 0x00, 0x00, 0x27, 0x05, 0x43, 0x90, 0x00, 0x00, 0x00, -0x00, 0x27, 0xF5, 0x34, 0x90, 0x00, 0x00, 0x00, 0x00, 0x28, 0xE5, 0x25, 0x90, 0x00, 0x00, 0x00, -0x00, 0x29, 0xD5, 0x16, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xC5, 0x07, 0x90, 0x00, 0x00, 0x00, -0x00, 0x2B, 0xB4, 0xF8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xA4, 0xE9, 0x90, 0x00, 0x00, 0x00, -0x00, 0x2D, 0x94, 0xDA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x84, 0xCB, 0x90, 0x00, 0x00, 0x00, -0x00, 0x2F, 0x74, 0xBC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x30, 0x64, 0xAD, 0x90, 0x00, 0x00, 0x00, -0x00, 0x31, 0x5D, 0xD9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x32, 0x72, 0xB4, 0x10, 0x00, 0x00, 0x00, -0x00, 0x33, 0x3D, 0xBB, 0x10, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0x96, 0x10, 0x00, 0x00, 0x00, -0x00, 0x35, 0x1D, 0x9D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0x78, 0x10, 0x00, 0x00, 0x00, -0x00, 0x36, 0xFD, 0x7F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0x94, 0x90, 0x00, 0x00, 0x00, -0x00, 0x38, 0xDD, 0x61, 0x10, 0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0x76, 0x90, 0x00, 0x00, 0x00, -0x00, 0x3A, 0xBD, 0x43, 0x10, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0x58, 0x90, 0x00, 0x00, 0x00, -0x00, 0x3C, 0xA6, 0x5F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x3A, 0x90, 0x00, 0x00, 0x00, -0x00, 0x3E, 0x86, 0x41, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x1C, 0x90, 0x00, 0x00, 0x00, -0x00, 0x40, 0x66, 0x23, 0x90, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x39, 0x10, 0x00, 0x00, 0x00, -0x00, 0x42, 0x46, 0x05, 0x90, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x1B, 0x10, 0x00, 0x00, 0x00, -0x00, 0x44, 0x25, 0xE7, 0x90, 0x00, 0x00, 0x00, 0x00, 0x45, 0x43, 0xFD, 0x10, 0x00, 0x00, 0x00, -0x00, 0x46, 0x05, 0xC9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x47, 0x23, 0xDF, 0x10, 0x00, 0x00, 0x00, -0x00, 0x47, 0xEE, 0xE6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, 0x03, 0xC1, 0x10, 0x00, 0x00, 0x00, -0x00, 0x49, 0xCE, 0xC8, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xE3, 0xA3, 0x10, 0x00, 0x00, 0x00, -0x00, 0x4B, 0xAE, 0xAA, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4C, 0xCC, 0xBF, 0x90, 0x00, 0x00, 0x00, -0x00, 0x4D, 0x8E, 0x8C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4E, 0xAC, 0xA1, 0x90, 0x00, 0x00, 0x00, -0x00, 0x4F, 0x6E, 0x6E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x50, 0x8C, 0x83, 0x90, 0x00, 0x00, 0x00, -0x00, 0x51, 0x57, 0x8A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x52, 0x6C, 0x65, 0x90, 0x00, 0x00, 0x00, -0x00, 0x53, 0x37, 0x6C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x54, 0x4C, 0x47, 0x90, 0x00, 0x00, 0x00, -0x00, 0x55, 0x17, 0x4E, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, 0x2C, 0x29, 0x90, 0x00, 0x00, 0x00, -0x00, 0x56, 0xF7, 0x30, 0x90, 0x00, 0x00, 0x00, 0x00, 0x58, 0x15, 0x46, 0x10, 0x00, 0x00, 0x00, -0x00, 0x58, 0xD7, 0x12, 0x90, 0x00, 0x00, 0x00, 0x00, 0x59, 0xF5, 0x28, 0x10, 0x00, 0x00, 0x00, -0x00, 0x5A, 0xB6, 0xF4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x5B, 0xD5, 0x0A, 0x10, 0x00, 0x00, 0x00, -0x00, 0x5C, 0xA0, 0x11, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5D, 0xB4, 0xEC, 0x10, 0x00, 0x00, 0x00, -0x00, 0x5E, 0x7F, 0xF3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x94, 0xCE, 0x10, 0x00, 0x00, 0x00, -0x00, 0x60, 0x5F, 0xD5, 0x10, 0x00, 0x00, 0x00, 0x00, 0x61, 0x7D, 0xEA, 0x90, 0x00, 0x00, 0x00, -0x00, 0x62, 0x3F, 0xB7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x63, 0x5D, 0xCC, 0x90, 0x00, 0x00, 0x00, -0x00, 0x64, 0x1F, 0x99, 0x10, 0x00, 0x00, 0x00, 0x00, 0x65, 0x3D, 0xAE, 0x90, 0x00, 0x00, 0x00, -0x00, 0x66, 0x08, 0xB5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, 0x1D, 0x90, 0x90, 0x00, 0x00, 0x00, -0x00, 0x67, 0xE8, 0x97, 0x90, 0x00, 0x00, 0x00, 0x00, 0x68, 0xFD, 0x72, 0x90, 0x00, 0x00, 0x00, -0x00, 0x69, 0xC8, 0x79, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xDD, 0x54, 0x90, 0x00, 0x00, 0x00, -0x00, 0x6B, 0xA8, 0x5B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xC6, 0x71, 0x10, 0x00, 0x00, 0x00, -0x00, 0x6D, 0x88, 0x3D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6E, 0xA6, 0x53, 0x10, 0x00, 0x00, 0x00, -0x00, 0x6F, 0x68, 0x1F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x70, 0x86, 0x35, 0x10, 0x00, 0x00, 0x00, -0x00, 0x71, 0x51, 0x3C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x72, 0x66, 0x17, 0x10, 0x00, 0x00, 0x00, -0x00, 0x73, 0x31, 0x1E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x74, 0x45, 0xF9, 0x10, 0x00, 0x00, 0x00, -0x00, 0x75, 0x11, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x76, 0x2F, 0x15, 0x90, 0x00, 0x00, 0x00, -0x00, 0x76, 0xF0, 0xE2, 0x10, 0x00, 0x00, 0x00, 0x00, 0x78, 0x0E, 0xF7, 0x90, 0x00, 0x00, 0x00, -0x00, 0x78, 0xD0, 0xC4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x79, 0xEE, 0xD9, 0x90, 0x00, 0x00, 0x00, -0x00, 0x7A, 0xB0, 0xA6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x7B, 0xCE, 0xBB, 0x90, 0x00, 0x00, 0x00, -0x00, 0x7C, 0x99, 0xC2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7D, 0xAE, 0x9D, 0x90, 0x00, 0x00, 0x00, -0x00, 0x7E, 0x79, 0xA4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x8E, 0x7F, 0x90, 0x01, 0x04, 0x02, -0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, -0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, -0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, -0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, -0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, -0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, -0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, -0x03, 0x02, 0xFF, 0xFF, 0xCF, 0x80, 0x00, 0x00, 0xFF, 0xFF, 0xD5, 0xD0, 0x00, 0x04, 0xFF, 0xFF, -0xD5, 0xD0, 0x00, 0x04, 0xFF, 0xFF, 0xE3, 0xE0, 0x01, 0x08, 0xFF, 0xFF, 0xE3, 0xE0, 0x01, 0x08, -0x4C, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x33, 0x00, 0x2D, 0x30, 0x32, 0x00, 0x00, 0x00, 0x01, 0x01, -0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x0A, 0x3C, 0x2D, 0x30, 0x33, 0x3E, 0x33, 0x3C, 0x2D, 0x30, -0x32, 0x3E, 0x2C, 0x4D, 0x33, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x2D, 0x32, 0x2C, 0x4D, 0x31, 0x30, -0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x2D, 0x31, 0x0A, 0x00, 0xEB, 0x43, 0xDD, 0x00, 0xC3, 0xB8, 0x2A, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x05, 0xFF, 0xFF, 0xCF, 0x80, 0x00, 0x00, 0xFF, 0xFF, 0xD5, 0xD0, 0x00, 0x04, +0xFF, 0xFF, 0xD5, 0xD0, 0x00, 0x04, 0xFF, 0xFF, 0xE3, 0xE0, 0x01, 0x08, 0xFF, 0xFF, 0xE3, 0xE0, +0x01, 0x08, 0xFF, 0xFF, 0xE3, 0xE0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x33, 0x00, +0x2D, 0x30, 0x32, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, +0x0A, 0x3C, 0x2D, 0x30, 0x32, 0x3E, 0x32, 0x0A, 0x00, 0xEB, 0x43, 0xDD, 0x00, 0xC3, 0xB8, 0x2A, 0x00, 0x00, 0x00, 0x16, 0x47, 0x72, 0x65, 0x65, 0x6E, 0x6C, 0x61, 0x6E, 0x64, 0x20, 0x28, 0x6D, 0x6F, 0x73, 0x74, 0x20, 0x61, 0x72, 0x65, 0x61, 0x73, 0x29, /* America/Ojinaga */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4D, 0x58, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x14, 0xA5, 0xB6, 0xE8, 0x70, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x14, 0xA5, 0xB6, 0xE8, 0x70, 0xAF, 0xF2, 0x6E, 0xE0, 0xB6, 0x66, 0x56, 0x60, 0xB7, 0x43, 0xD2, 0x60, 0xB8, 0x0C, 0x36, 0x60, 0xB8, 0xFD, 0x86, 0xF0, 0x31, 0x67, 0x76, 0x00, 0x32, 0x73, 0x08, 0x70, 0x33, 0x47, 0x58, 0x00, 0x34, 0x52, 0xEA, 0x70, 0x35, 0x27, 0x48, 0x10, 0x36, 0x32, 0xDA, 0x80, 0x37, 0x07, 0x2A, 0x10, @@ -36620,62 +36840,87 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { 0x56, 0x35, 0xC6, 0x80, 0x56, 0xE5, 0x2C, 0x10, 0x58, 0x1E, 0xE3, 0x00, 0x58, 0xC5, 0x0E, 0x10, 0x59, 0xFE, 0xC5, 0x00, 0x5A, 0xA4, 0xF0, 0x10, 0x5B, 0xDE, 0xA7, 0x00, 0x5C, 0x84, 0xD2, 0x10, 0x5D, 0xBE, 0x89, 0x00, 0x5E, 0x64, 0xB4, 0x10, 0x5F, 0x9E, 0x6B, 0x00, 0x60, 0x4D, 0xD0, 0x90, -0x61, 0x87, 0x87, 0x80, 0x62, 0x2D, 0xB2, 0x90, 0x63, 0x5E, 0x2F, 0x00, 0x01, 0x02, 0x04, 0x03, -0x04, 0x02, 0x05, 0x02, 0x05, 0x02, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, +0x61, 0x87, 0x87, 0x80, 0x62, 0x2D, 0xB2, 0x90, 0x63, 0x5E, 0x2F, 0x00, 0x64, 0x0D, 0x86, 0x80, +0x65, 0x47, 0x3D, 0x70, 0x65, 0xED, 0x68, 0x80, 0x67, 0x27, 0x1F, 0x70, 0x67, 0xCD, 0x4A, 0x80, +0x69, 0x07, 0x01, 0x70, 0x69, 0xAD, 0x2C, 0x80, 0x6A, 0xE6, 0xE3, 0x70, 0x6B, 0x96, 0x49, 0x00, +0x6C, 0xCF, 0xFF, 0xF0, 0x6D, 0x76, 0x2B, 0x00, 0x6E, 0xAF, 0xE1, 0xF0, 0x6F, 0x56, 0x0D, 0x00, +0x70, 0x8F, 0xC3, 0xF0, 0x71, 0x35, 0xEF, 0x00, 0x72, 0x6F, 0xA5, 0xF0, 0x73, 0x15, 0xD1, 0x00, +0x74, 0x4F, 0x87, 0xF0, 0x74, 0xFE, 0xED, 0x80, 0x76, 0x38, 0xA4, 0x70, 0x76, 0xDE, 0xCF, 0x80, +0x78, 0x18, 0x86, 0x70, 0x78, 0xBE, 0xB1, 0x80, 0x79, 0xF8, 0x68, 0x70, 0x7A, 0x9E, 0x93, 0x80, +0x7B, 0xD8, 0x4A, 0x70, 0x7C, 0x7E, 0x75, 0x80, 0x7D, 0xB8, 0x2C, 0x70, 0x7E, 0x5E, 0x57, 0x80, +0x7F, 0x98, 0x0E, 0x70, 0x01, 0x02, 0x04, 0x03, 0x04, 0x02, 0x05, 0x02, 0x05, 0x02, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, -0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x02, 0xFF, 0xFF, 0x9E, 0x1C, 0x00, 0x00, 0xFF, 0xFF, -0x9D, 0x90, 0x00, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x08, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x0C, -0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x10, 0xFF, 0xFF, 0xAB, 0xA0, -0x01, 0x0C, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x02, +0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, +0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0xFF, 0xFF, +0x9E, 0x1C, 0x00, 0x00, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x08, +0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x0C, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, +0x01, 0x10, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x00, 0x01, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, -0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, -0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, 0xB6, 0xE8, 0x70, -0xFF, 0xFF, 0xFF, 0xFF, 0xAF, 0xF2, 0x6E, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x66, 0x56, 0x60, -0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0x43, 0xD2, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0x0C, 0x36, 0x60, -0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0xFD, 0x86, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x31, 0x67, 0x76, 0x00, -0x00, 0x00, 0x00, 0x00, 0x32, 0x73, 0x08, 0x70, 0x00, 0x00, 0x00, 0x00, 0x33, 0x47, 0x58, 0x00, -0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0xEA, 0x70, 0x00, 0x00, 0x00, 0x00, 0x35, 0x27, 0x48, 0x10, -0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0xDA, 0x80, 0x00, 0x00, 0x00, 0x00, 0x37, 0x07, 0x2A, 0x10, -0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0xF7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0xE7, 0x0C, 0x10, -0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0xD9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xF5, 0x12, 0x90, -0x00, 0x00, 0x00, 0x00, 0x3B, 0xB6, 0xD1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xB0, 0x0A, 0x90, -0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x9D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x8F, 0xEC, 0x90, -0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x6F, 0xCE, 0x90, -0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x9B, 0x80, 0x00, 0x00, 0x00, 0x00, 0x42, 0x4F, 0xB0, 0x90, -0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x7D, 0x80, 0x00, 0x00, 0x00, 0x00, 0x44, 0x2F, 0x92, 0x90, -0x00, 0x00, 0x00, 0x00, 0x45, 0x44, 0x5F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x46, 0x0F, 0x74, 0x90, -0x00, 0x00, 0x00, 0x00, 0x47, 0x24, 0x41, 0x80, 0x00, 0x00, 0x00, 0x00, 0x47, 0xF8, 0x91, 0x10, -0x00, 0x00, 0x00, 0x00, 0x49, 0x04, 0x23, 0x80, 0x00, 0x00, 0x00, 0x00, 0x49, 0xD8, 0x73, 0x10, -0x00, 0x00, 0x00, 0x00, 0x4A, 0xE4, 0x05, 0x80, 0x00, 0x00, 0x00, 0x00, 0x4B, 0x9C, 0xA5, 0x90, -0x00, 0x00, 0x00, 0x00, 0x4C, 0xD6, 0x5C, 0x80, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x7C, 0x87, 0x90, -0x00, 0x00, 0x00, 0x00, 0x4E, 0xB6, 0x3E, 0x80, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x5C, 0x69, 0x90, -0x00, 0x00, 0x00, 0x00, 0x50, 0x96, 0x20, 0x80, 0x00, 0x00, 0x00, 0x00, 0x51, 0x3C, 0x4B, 0x90, -0x00, 0x00, 0x00, 0x00, 0x52, 0x76, 0x02, 0x80, 0x00, 0x00, 0x00, 0x00, 0x53, 0x1C, 0x2D, 0x90, -0x00, 0x00, 0x00, 0x00, 0x54, 0x55, 0xE4, 0x80, 0x00, 0x00, 0x00, 0x00, 0x54, 0xFC, 0x0F, 0x90, -0x00, 0x00, 0x00, 0x00, 0x56, 0x35, 0xC6, 0x80, 0x00, 0x00, 0x00, 0x00, 0x56, 0xE5, 0x2C, 0x10, -0x00, 0x00, 0x00, 0x00, 0x58, 0x1E, 0xE3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 0xC5, 0x0E, 0x10, -0x00, 0x00, 0x00, 0x00, 0x59, 0xFE, 0xC5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xA4, 0xF0, 0x10, -0x00, 0x00, 0x00, 0x00, 0x5B, 0xDE, 0xA7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5C, 0x84, 0xD2, 0x10, -0x00, 0x00, 0x00, 0x00, 0x5D, 0xBE, 0x89, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x64, 0xB4, 0x10, -0x00, 0x00, 0x00, 0x00, 0x5F, 0x9E, 0x6B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x4D, 0xD0, 0x90, -0x00, 0x00, 0x00, 0x00, 0x61, 0x87, 0x87, 0x80, 0x00, 0x00, 0x00, 0x00, 0x62, 0x2D, 0xB2, 0x90, -0x00, 0x00, 0x00, 0x00, 0x63, 0x5E, 0x2F, 0x00, 0x01, 0x02, 0x04, 0x03, 0x04, 0x02, 0x05, 0x02, -0x05, 0x02, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, +0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, +0x00, 0x07, 0x00, 0x00, 0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, 0xB6, 0xE8, 0x70, 0xFF, 0xFF, +0xFF, 0xFF, 0xAF, 0xF2, 0x6E, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x66, 0x56, 0x60, 0xFF, 0xFF, +0xFF, 0xFF, 0xB7, 0x43, 0xD2, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0x0C, 0x36, 0x60, 0xFF, 0xFF, +0xFF, 0xFF, 0xB8, 0xFD, 0x86, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x31, 0x67, 0x76, 0x00, 0x00, 0x00, +0x00, 0x00, 0x32, 0x73, 0x08, 0x70, 0x00, 0x00, 0x00, 0x00, 0x33, 0x47, 0x58, 0x00, 0x00, 0x00, +0x00, 0x00, 0x34, 0x52, 0xEA, 0x70, 0x00, 0x00, 0x00, 0x00, 0x35, 0x27, 0x48, 0x10, 0x00, 0x00, +0x00, 0x00, 0x36, 0x32, 0xDA, 0x80, 0x00, 0x00, 0x00, 0x00, 0x37, 0x07, 0x2A, 0x10, 0x00, 0x00, +0x00, 0x00, 0x38, 0x1B, 0xF7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0xE7, 0x0C, 0x10, 0x00, 0x00, +0x00, 0x00, 0x39, 0xFB, 0xD9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xF5, 0x12, 0x90, 0x00, 0x00, +0x00, 0x00, 0x3B, 0xB6, 0xD1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xB0, 0x0A, 0x90, 0x00, 0x00, +0x00, 0x00, 0x3D, 0xBB, 0x9D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x8F, 0xEC, 0x90, 0x00, 0x00, +0x00, 0x00, 0x3F, 0x9B, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x6F, 0xCE, 0x90, 0x00, 0x00, +0x00, 0x00, 0x41, 0x84, 0x9B, 0x80, 0x00, 0x00, 0x00, 0x00, 0x42, 0x4F, 0xB0, 0x90, 0x00, 0x00, +0x00, 0x00, 0x43, 0x64, 0x7D, 0x80, 0x00, 0x00, 0x00, 0x00, 0x44, 0x2F, 0x92, 0x90, 0x00, 0x00, +0x00, 0x00, 0x45, 0x44, 0x5F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x46, 0x0F, 0x74, 0x90, 0x00, 0x00, +0x00, 0x00, 0x47, 0x24, 0x41, 0x80, 0x00, 0x00, 0x00, 0x00, 0x47, 0xF8, 0x91, 0x10, 0x00, 0x00, +0x00, 0x00, 0x49, 0x04, 0x23, 0x80, 0x00, 0x00, 0x00, 0x00, 0x49, 0xD8, 0x73, 0x10, 0x00, 0x00, +0x00, 0x00, 0x4A, 0xE4, 0x05, 0x80, 0x00, 0x00, 0x00, 0x00, 0x4B, 0x9C, 0xA5, 0x90, 0x00, 0x00, +0x00, 0x00, 0x4C, 0xD6, 0x5C, 0x80, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x7C, 0x87, 0x90, 0x00, 0x00, +0x00, 0x00, 0x4E, 0xB6, 0x3E, 0x80, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x5C, 0x69, 0x90, 0x00, 0x00, +0x00, 0x00, 0x50, 0x96, 0x20, 0x80, 0x00, 0x00, 0x00, 0x00, 0x51, 0x3C, 0x4B, 0x90, 0x00, 0x00, +0x00, 0x00, 0x52, 0x76, 0x02, 0x80, 0x00, 0x00, 0x00, 0x00, 0x53, 0x1C, 0x2D, 0x90, 0x00, 0x00, +0x00, 0x00, 0x54, 0x55, 0xE4, 0x80, 0x00, 0x00, 0x00, 0x00, 0x54, 0xFC, 0x0F, 0x90, 0x00, 0x00, +0x00, 0x00, 0x56, 0x35, 0xC6, 0x80, 0x00, 0x00, 0x00, 0x00, 0x56, 0xE5, 0x2C, 0x10, 0x00, 0x00, +0x00, 0x00, 0x58, 0x1E, 0xE3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 0xC5, 0x0E, 0x10, 0x00, 0x00, +0x00, 0x00, 0x59, 0xFE, 0xC5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xA4, 0xF0, 0x10, 0x00, 0x00, +0x00, 0x00, 0x5B, 0xDE, 0xA7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5C, 0x84, 0xD2, 0x10, 0x00, 0x00, +0x00, 0x00, 0x5D, 0xBE, 0x89, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x64, 0xB4, 0x10, 0x00, 0x00, +0x00, 0x00, 0x5F, 0x9E, 0x6B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x4D, 0xD0, 0x90, 0x00, 0x00, +0x00, 0x00, 0x61, 0x87, 0x87, 0x80, 0x00, 0x00, 0x00, 0x00, 0x62, 0x2D, 0xB2, 0x90, 0x00, 0x00, +0x00, 0x00, 0x63, 0x5E, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x0D, 0x86, 0x80, 0x00, 0x00, +0x00, 0x00, 0x65, 0x47, 0x3D, 0x70, 0x00, 0x00, 0x00, 0x00, 0x65, 0xED, 0x68, 0x80, 0x00, 0x00, +0x00, 0x00, 0x67, 0x27, 0x1F, 0x70, 0x00, 0x00, 0x00, 0x00, 0x67, 0xCD, 0x4A, 0x80, 0x00, 0x00, +0x00, 0x00, 0x69, 0x07, 0x01, 0x70, 0x00, 0x00, 0x00, 0x00, 0x69, 0xAD, 0x2C, 0x80, 0x00, 0x00, +0x00, 0x00, 0x6A, 0xE6, 0xE3, 0x70, 0x00, 0x00, 0x00, 0x00, 0x6B, 0x96, 0x49, 0x00, 0x00, 0x00, +0x00, 0x00, 0x6C, 0xCF, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x76, 0x2B, 0x00, 0x00, 0x00, +0x00, 0x00, 0x6E, 0xAF, 0xE1, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x56, 0x0D, 0x00, 0x00, 0x00, +0x00, 0x00, 0x70, 0x8F, 0xC3, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x71, 0x35, 0xEF, 0x00, 0x00, 0x00, +0x00, 0x00, 0x72, 0x6F, 0xA5, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x73, 0x15, 0xD1, 0x00, 0x00, 0x00, +0x00, 0x00, 0x74, 0x4F, 0x87, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x74, 0xFE, 0xED, 0x80, 0x00, 0x00, +0x00, 0x00, 0x76, 0x38, 0xA4, 0x70, 0x00, 0x00, 0x00, 0x00, 0x76, 0xDE, 0xCF, 0x80, 0x00, 0x00, +0x00, 0x00, 0x78, 0x18, 0x86, 0x70, 0x00, 0x00, 0x00, 0x00, 0x78, 0xBE, 0xB1, 0x80, 0x00, 0x00, +0x00, 0x00, 0x79, 0xF8, 0x68, 0x70, 0x00, 0x00, 0x00, 0x00, 0x7A, 0x9E, 0x93, 0x80, 0x00, 0x00, +0x00, 0x00, 0x7B, 0xD8, 0x4A, 0x70, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x7E, 0x75, 0x80, 0x00, 0x00, +0x00, 0x00, 0x7D, 0xB8, 0x2C, 0x70, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x5E, 0x57, 0x80, 0x00, 0x00, +0x00, 0x00, 0x7F, 0x98, 0x0E, 0x70, 0x01, 0x02, 0x04, 0x03, 0x04, 0x02, 0x05, 0x02, 0x05, 0x02, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, -0x03, 0x04, 0x03, 0x02, 0xFF, 0xFF, 0x9E, 0x1C, 0x00, 0x00, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x04, -0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x08, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x0C, 0xFF, 0xFF, 0x9D, 0x90, -0x00, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x10, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x0C, 0xFF, 0xFF, -0xAB, 0xA0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, -0x4D, 0x44, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x43, 0x53, 0x54, 0x36, 0x0A, 0x00, 0xB6, -0x71, 0xBA, 0x00, 0x73, 0x54, 0xBD, 0x00, 0x00, 0x00, 0x28, 0x4D, 0x6F, 0x75, 0x6E, 0x74, 0x61, -0x69, 0x6E, 0x20, 0x54, 0x69, 0x6D, 0x65, 0x20, 0x55, 0x53, 0x20, 0x2D, 0x20, 0x43, 0x68, 0x69, -0x68, 0x75, 0x61, 0x68, 0x75, 0x61, 0x20, 0x28, 0x55, 0x53, 0x20, 0x62, 0x6F, 0x72, 0x64, 0x65, -0x72, 0x29, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, +0x03, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, +0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, +0xFF, 0xFF, 0x9E, 0x1C, 0x00, 0x00, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, +0x00, 0x08, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x0C, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x04, 0xFF, 0xFF, +0xB9, 0xB0, 0x01, 0x10, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x4D, 0x53, +0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x00, 0x01, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x43, 0x53, 0x54, +0x36, 0x43, 0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, +0x31, 0x2E, 0x30, 0x0A, 0x00, 0xB6, 0x71, 0xBA, 0x00, 0x73, 0x54, 0xBD, 0x00, 0x00, 0x00, 0x1C, +0x43, 0x68, 0x69, 0x68, 0x75, 0x61, 0x68, 0x75, 0x61, 0x20, 0x28, 0x55, 0x53, 0x20, 0x62, 0x6F, +0x72, 0x64, 0x65, 0x72, 0x20, 0x2D, 0x20, 0x65, 0x61, 0x73, 0x74, 0x29, /* America/Panama */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x50, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -36693,140 +36938,145 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { 0x00, 0x00, /* America/Pangnirtung */ -0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x7A, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x29, 0xA3, 0xD5, 0x52, 0x80, -0xCB, 0x88, 0xE2, 0x60, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xED, 0xD0, 0xF7, 0x2F, 0x30, 0x40, -0xF8, 0x28, 0x5B, 0xC0, 0x13, 0x69, 0x39, 0xE0, 0x14, 0x59, 0x1C, 0xD0, 0x15, 0x49, 0x1B, 0xE0, -0x16, 0x38, 0xFE, 0xD0, 0x17, 0x28, 0xFD, 0xE0, 0x18, 0x22, 0x1B, 0x50, 0x19, 0x08, 0xDF, 0xE0, -0x1A, 0x01, 0xFD, 0x50, 0x1A, 0xF1, 0xFC, 0x60, 0x1B, 0xE1, 0xDF, 0x50, 0x1C, 0xD1, 0xDE, 0x60, -0x1D, 0xC1, 0xC1, 0x50, 0x1E, 0xB1, 0xC0, 0x60, 0x1F, 0xA1, 0xA3, 0x50, 0x20, 0x75, 0xF2, 0xE0, -0x21, 0x81, 0x85, 0x50, 0x22, 0x55, 0xD4, 0xE0, 0x23, 0x6A, 0xA1, 0xD0, 0x24, 0x35, 0xB6, 0xE0, -0x25, 0x4A, 0x83, 0xD0, 0x26, 0x15, 0x98, 0xE0, 0x27, 0x2A, 0x65, 0xD0, 0x27, 0xFE, 0xB5, 0x60, -0x29, 0x0A, 0x47, 0xD0, 0x29, 0xDE, 0x97, 0x60, 0x2A, 0xEA, 0x29, 0xD0, 0x2B, 0xBE, 0x79, 0x60, -0x2C, 0xD3, 0x46, 0x50, 0x2D, 0x9E, 0x5B, 0x60, 0x2E, 0xB3, 0x28, 0x50, 0x2F, 0x7E, 0x3D, 0x60, -0x30, 0x93, 0x18, 0x60, 0x31, 0x67, 0x67, 0xF0, 0x32, 0x72, 0xFA, 0x60, 0x33, 0x47, 0x49, 0xF0, -0x34, 0x52, 0xDC, 0x60, 0x35, 0x27, 0x2B, 0xF0, 0x36, 0x32, 0xBE, 0x60, 0x37, 0x07, 0x0D, 0xF0, -0x38, 0x1B, 0xDA, 0xE0, 0x38, 0xE6, 0xFE, 0x00, 0x39, 0xFB, 0xCA, 0xF0, 0x3A, 0xC6, 0xD1, 0xF0, -0x3B, 0xDB, 0x9E, 0xE0, 0x3C, 0xAF, 0xEE, 0x70, 0x3D, 0xBB, 0x80, 0xE0, 0x3E, 0x8F, 0xD0, 0x70, -0x3F, 0x9B, 0x62, 0xE0, 0x40, 0x6F, 0xB2, 0x70, 0x41, 0x84, 0x7F, 0x60, 0x42, 0x4F, 0x94, 0x70, -0x43, 0x64, 0x61, 0x60, 0x44, 0x2F, 0x76, 0x70, 0x45, 0x44, 0x43, 0x60, 0x45, 0xF3, 0xA8, 0xF0, -0x47, 0x2D, 0x5F, 0xE0, 0x47, 0xD3, 0x8A, 0xF0, 0x49, 0x0D, 0x41, 0xE0, 0x49, 0xB3, 0x6C, 0xF0, -0x4A, 0xED, 0x23, 0xE0, 0x4B, 0x9C, 0x89, 0x70, 0x4C, 0xD6, 0x40, 0x60, 0x4D, 0x7C, 0x6B, 0x70, -0x4E, 0xB6, 0x22, 0x60, 0x4F, 0x5C, 0x4D, 0x70, 0x50, 0x96, 0x04, 0x60, 0x51, 0x3C, 0x2F, 0x70, -0x52, 0x75, 0xE6, 0x60, 0x53, 0x1C, 0x11, 0x70, 0x54, 0x55, 0xC8, 0x60, 0x54, 0xFB, 0xF3, 0x70, -0x56, 0x35, 0xAA, 0x60, 0x56, 0xE5, 0x0F, 0xF0, 0x58, 0x1E, 0xC6, 0xE0, 0x58, 0xC4, 0xF1, 0xF0, -0x59, 0xFE, 0xA8, 0xE0, 0x5A, 0xA4, 0xD3, 0xF0, 0x5B, 0xDE, 0x8A, 0xE0, 0x5C, 0x84, 0xB5, 0xF0, -0x5D, 0xBE, 0x6C, 0xE0, 0x5E, 0x64, 0x97, 0xF0, 0x5F, 0x9E, 0x4E, 0xE0, 0x60, 0x4D, 0xB4, 0x70, -0x61, 0x87, 0x6B, 0x60, 0x62, 0x2D, 0x96, 0x70, 0x63, 0x67, 0x4D, 0x60, 0x64, 0x0D, 0x78, 0x70, -0x65, 0x47, 0x2F, 0x60, 0x65, 0xED, 0x5A, 0x70, 0x67, 0x27, 0x11, 0x60, 0x67, 0xCD, 0x3C, 0x70, -0x69, 0x06, 0xF3, 0x60, 0x69, 0xAD, 0x1E, 0x70, 0x6A, 0xE6, 0xD5, 0x60, 0x6B, 0x96, 0x3A, 0xF0, -0x6C, 0xCF, 0xF1, 0xE0, 0x6D, 0x76, 0x1C, 0xF0, 0x6E, 0xAF, 0xD3, 0xE0, 0x6F, 0x55, 0xFE, 0xF0, -0x70, 0x8F, 0xB5, 0xE0, 0x71, 0x35, 0xE0, 0xF0, 0x72, 0x6F, 0x97, 0xE0, 0x73, 0x15, 0xC2, 0xF0, -0x74, 0x4F, 0x79, 0xE0, 0x74, 0xFE, 0xDF, 0x70, 0x76, 0x38, 0x96, 0x60, 0x76, 0xDE, 0xC1, 0x70, -0x78, 0x18, 0x78, 0x60, 0x78, 0xBE, 0xA3, 0x70, 0x79, 0xF8, 0x5A, 0x60, 0x7A, 0x9E, 0x85, 0x70, -0x7B, 0xD8, 0x3C, 0x60, 0x7C, 0x7E, 0x67, 0x70, 0x7D, 0xB8, 0x1E, 0x60, 0x7E, 0x5E, 0x49, 0x70, -0x7F, 0x98, 0x00, 0x60, 0x03, 0x01, 0x02, 0x03, 0x04, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, -0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, -0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, -0x06, 0x08, 0x09, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, -0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, -0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, -0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, -0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x08, -0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x0C, 0xFF, 0xFF, 0xE3, 0xE0, 0x01, 0x10, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x15, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x19, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x1D, 0xFF, 0xFF, -0xAB, 0xA0, 0x00, 0x21, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x25, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x19, -0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x1D, 0x2D, 0x30, 0x30, 0x00, 0x41, 0x57, 0x54, 0x00, 0x41, 0x50, -0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x41, 0x44, 0x44, 0x54, 0x00, 0x41, 0x44, 0x54, 0x00, 0x45, -0x44, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x00, -0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, -0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7A, 0x00, 0x00, 0x00, 0x0C, 0x00, -0x00, 0x00, 0x29, 0xFF, 0xFF, 0xFF, 0xFF, 0xA3, 0xD5, 0x52, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, -0x88, 0xE2, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, -0x60, 0xED, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x2F, 0x30, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, -0x28, 0x5B, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x39, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x14, -0x59, 0x1C, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x15, 0x49, 0x1B, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x16, -0x38, 0xFE, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x17, 0x28, 0xFD, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x18, -0x22, 0x1B, 0x50, 0x00, 0x00, 0x00, 0x00, 0x19, 0x08, 0xDF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x1A, -0x01, 0xFD, 0x50, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xF1, 0xFC, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1B, -0xE1, 0xDF, 0x50, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xD1, 0xDE, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1D, -0xC1, 0xC1, 0x50, 0x00, 0x00, 0x00, 0x00, 0x1E, 0xB1, 0xC0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1F, -0xA1, 0xA3, 0x50, 0x00, 0x00, 0x00, 0x00, 0x20, 0x75, 0xF2, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x21, -0x81, 0x85, 0x50, 0x00, 0x00, 0x00, 0x00, 0x22, 0x55, 0xD4, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x23, -0x6A, 0xA1, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x24, 0x35, 0xB6, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x25, -0x4A, 0x83, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x26, 0x15, 0x98, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x27, -0x2A, 0x65, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x27, 0xFE, 0xB5, 0x60, 0x00, 0x00, 0x00, 0x00, 0x29, -0x0A, 0x47, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x29, 0xDE, 0x97, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2A, -0xEA, 0x29, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xBE, 0x79, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2C, -0xD3, 0x46, 0x50, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x9E, 0x5B, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2E, -0xB3, 0x28, 0x50, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x7E, 0x3D, 0x60, 0x00, 0x00, 0x00, 0x00, 0x30, -0x93, 0x18, 0x60, 0x00, 0x00, 0x00, 0x00, 0x31, 0x67, 0x67, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x32, -0x72, 0xFA, 0x60, 0x00, 0x00, 0x00, 0x00, 0x33, 0x47, 0x49, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x34, -0x52, 0xDC, 0x60, 0x00, 0x00, 0x00, 0x00, 0x35, 0x27, 0x2B, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x36, -0x32, 0xBE, 0x60, 0x00, 0x00, 0x00, 0x00, 0x37, 0x07, 0x0D, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x38, -0x1B, 0xDA, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x38, 0xE6, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x39, -0xFB, 0xCA, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xC6, 0xD1, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x3B, -0xDB, 0x9E, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xAF, 0xEE, 0x70, 0x00, 0x00, 0x00, 0x00, 0x3D, -0xBB, 0x80, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x8F, 0xD0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x3F, -0x9B, 0x62, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x40, 0x6F, 0xB2, 0x70, 0x00, 0x00, 0x00, 0x00, 0x41, -0x84, 0x7F, 0x60, 0x00, 0x00, 0x00, 0x00, 0x42, 0x4F, 0x94, 0x70, 0x00, 0x00, 0x00, 0x00, 0x43, -0x64, 0x61, 0x60, 0x00, 0x00, 0x00, 0x00, 0x44, 0x2F, 0x76, 0x70, 0x00, 0x00, 0x00, 0x00, 0x45, -0x44, 0x43, 0x60, 0x00, 0x00, 0x00, 0x00, 0x45, 0xF3, 0xA8, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x47, -0x2D, 0x5F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x47, 0xD3, 0x8A, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x49, -0x0D, 0x41, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x49, 0xB3, 0x6C, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x4A, -0xED, 0x23, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x4B, 0x9C, 0x89, 0x70, 0x00, 0x00, 0x00, 0x00, 0x4C, -0xD6, 0x40, 0x60, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x7C, 0x6B, 0x70, 0x00, 0x00, 0x00, 0x00, 0x4E, -0xB6, 0x22, 0x60, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x5C, 0x4D, 0x70, 0x00, 0x00, 0x00, 0x00, 0x50, -0x96, 0x04, 0x60, 0x00, 0x00, 0x00, 0x00, 0x51, 0x3C, 0x2F, 0x70, 0x00, 0x00, 0x00, 0x00, 0x52, -0x75, 0xE6, 0x60, 0x00, 0x00, 0x00, 0x00, 0x53, 0x1C, 0x11, 0x70, 0x00, 0x00, 0x00, 0x00, 0x54, -0x55, 0xC8, 0x60, 0x00, 0x00, 0x00, 0x00, 0x54, 0xFB, 0xF3, 0x70, 0x00, 0x00, 0x00, 0x00, 0x56, -0x35, 0xAA, 0x60, 0x00, 0x00, 0x00, 0x00, 0x56, 0xE5, 0x0F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x58, -0x1E, 0xC6, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x58, 0xC4, 0xF1, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x59, -0xFE, 0xA8, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xA4, 0xD3, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x5B, -0xDE, 0x8A, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x5C, 0x84, 0xB5, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x5D, -0xBE, 0x6C, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x64, 0x97, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x5F, -0x9E, 0x4E, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x60, 0x4D, 0xB4, 0x70, 0x00, 0x00, 0x00, 0x00, 0x61, -0x87, 0x6B, 0x60, 0x00, 0x00, 0x00, 0x00, 0x62, 0x2D, 0x96, 0x70, 0x00, 0x00, 0x00, 0x00, 0x63, -0x67, 0x4D, 0x60, 0x00, 0x00, 0x00, 0x00, 0x64, 0x0D, 0x78, 0x70, 0x00, 0x00, 0x00, 0x00, 0x65, -0x47, 0x2F, 0x60, 0x00, 0x00, 0x00, 0x00, 0x65, 0xED, 0x5A, 0x70, 0x00, 0x00, 0x00, 0x00, 0x67, -0x27, 0x11, 0x60, 0x00, 0x00, 0x00, 0x00, 0x67, 0xCD, 0x3C, 0x70, 0x00, 0x00, 0x00, 0x00, 0x69, -0x06, 0xF3, 0x60, 0x00, 0x00, 0x00, 0x00, 0x69, 0xAD, 0x1E, 0x70, 0x00, 0x00, 0x00, 0x00, 0x6A, -0xE6, 0xD5, 0x60, 0x00, 0x00, 0x00, 0x00, 0x6B, 0x96, 0x3A, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x6C, -0xCF, 0xF1, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x76, 0x1C, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x6E, -0xAF, 0xD3, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x55, 0xFE, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x70, -0x8F, 0xB5, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x71, 0x35, 0xE0, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x72, -0x6F, 0x97, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x73, 0x15, 0xC2, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x74, -0x4F, 0x79, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x74, 0xFE, 0xDF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x76, -0x38, 0x96, 0x60, 0x00, 0x00, 0x00, 0x00, 0x76, 0xDE, 0xC1, 0x70, 0x00, 0x00, 0x00, 0x00, 0x78, -0x18, 0x78, 0x60, 0x00, 0x00, 0x00, 0x00, 0x78, 0xBE, 0xA3, 0x70, 0x00, 0x00, 0x00, 0x00, 0x79, -0xF8, 0x5A, 0x60, 0x00, 0x00, 0x00, 0x00, 0x7A, 0x9E, 0x85, 0x70, 0x00, 0x00, 0x00, 0x00, 0x7B, -0xD8, 0x3C, 0x60, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x7E, 0x67, 0x70, 0x00, 0x00, 0x00, 0x00, 0x7D, -0xB8, 0x1E, 0x60, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x5E, 0x49, 0x70, 0x00, 0x00, 0x00, 0x00, 0x7F, -0x98, 0x00, 0x60, 0x03, 0x01, 0x02, 0x03, 0x04, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, -0x08, 0x09, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, -0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, -0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, -0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, -0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x08, 0xFF, -0xFF, 0xC7, 0xC0, 0x00, 0x0C, 0xFF, 0xFF, 0xE3, 0xE0, 0x01, 0x10, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, -0x15, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x19, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x1D, 0xFF, 0xFF, 0xAB, -0xA0, 0x00, 0x21, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x25, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x19, 0xFF, -0xFF, 0xB9, 0xB0, 0x00, 0x1D, 0x2D, 0x30, 0x30, 0x00, 0x41, 0x57, 0x54, 0x00, 0x41, 0x50, 0x54, -0x00, 0x41, 0x53, 0x54, 0x00, 0x41, 0x44, 0x44, 0x54, 0x00, 0x41, 0x44, 0x54, 0x00, 0x45, 0x44, -0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x00, 0x00, -0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x45, 0x53, 0x54, 0x35, 0x45, 0x44, 0x54, 0x2C, 0x4D, -0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, 0x31, 0x2E, 0x30, 0x0A, 0x00, 0xEE, -0x3D, 0x95, 0x00, 0xAE, 0x5B, 0x6A, 0x00, 0x00, 0x00, 0x1A, 0x45, 0x61, 0x73, 0x74, 0x65, 0x72, -0x6E, 0x20, 0x2D, 0x20, 0x4E, 0x55, 0x20, 0x28, 0x50, 0x61, 0x6E, 0x67, 0x6E, 0x69, 0x72, 0x74, -0x75, 0x6E, 0x67, 0x29, +0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x87, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x1C, 0xCC, 0x6C, 0xA1, 0x80, +0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xFB, 0xE0, 0x04, 0x60, 0xFD, 0x70, 0x05, 0x50, 0xE0, 0x60, +0x06, 0x40, 0xDF, 0x70, 0x07, 0x30, 0xC2, 0x60, 0x08, 0x20, 0xC1, 0x70, 0x09, 0x10, 0xA4, 0x60, +0x0A, 0x00, 0xA3, 0x70, 0x0A, 0xF0, 0x86, 0x60, 0x0B, 0xE0, 0x85, 0x70, 0x0C, 0xD9, 0xA2, 0xE0, +0x0D, 0xC0, 0x67, 0x70, 0x0E, 0xB9, 0x84, 0xE0, 0x0F, 0xA9, 0x83, 0xF0, 0x10, 0x99, 0x66, 0xE0, +0x11, 0x89, 0x65, 0xF0, 0x12, 0x79, 0x48, 0xE0, 0x13, 0x69, 0x47, 0xF0, 0x14, 0x59, 0x2A, 0xE0, +0x15, 0x49, 0x29, 0xF0, 0x16, 0x39, 0x0C, 0xE0, 0x17, 0x29, 0x0B, 0xF0, 0x18, 0x22, 0x29, 0x60, +0x19, 0x08, 0xED, 0xF0, 0x1A, 0x02, 0x0B, 0x60, 0x1A, 0xF2, 0x0A, 0x70, 0x1B, 0xE1, 0xED, 0x60, +0x1C, 0xD1, 0xEC, 0x70, 0x1D, 0xC1, 0xCF, 0x60, 0x1E, 0xB1, 0xCE, 0x70, 0x1F, 0xA1, 0xB1, 0x60, +0x20, 0x76, 0x00, 0xF0, 0x21, 0x81, 0x93, 0x60, 0x22, 0x55, 0xE2, 0xF0, 0x23, 0x6A, 0xAF, 0xE0, +0x24, 0x35, 0xC4, 0xF0, 0x25, 0x4A, 0x91, 0xE0, 0x26, 0x15, 0xA6, 0xF0, 0x27, 0x2A, 0x73, 0xE0, +0x27, 0xFE, 0xC3, 0x70, 0x29, 0x0A, 0x55, 0xE0, 0x29, 0xDE, 0xA5, 0x70, 0x2A, 0xEA, 0x37, 0xE0, +0x2B, 0xBE, 0x87, 0x70, 0x2C, 0xD3, 0x54, 0x60, 0x2D, 0x9E, 0x69, 0x70, 0x2E, 0xB3, 0x36, 0x60, +0x2F, 0x7E, 0x4B, 0x70, 0x30, 0x93, 0x18, 0x60, 0x31, 0x67, 0x67, 0xF0, 0x32, 0x72, 0xFA, 0x60, +0x33, 0x47, 0x49, 0xF0, 0x34, 0x52, 0xDC, 0x60, 0x35, 0x27, 0x2B, 0xF0, 0x36, 0x32, 0xBE, 0x60, +0x37, 0x07, 0x0D, 0xF0, 0x38, 0x1B, 0xDA, 0xE0, 0x38, 0xE6, 0xFE, 0x00, 0x39, 0xFB, 0xCA, 0xF0, +0x3A, 0xC6, 0xD1, 0xF0, 0x3B, 0xDB, 0x9E, 0xE0, 0x3C, 0xAF, 0xEE, 0x70, 0x3D, 0xBB, 0x80, 0xE0, +0x3E, 0x8F, 0xD0, 0x70, 0x3F, 0x9B, 0x62, 0xE0, 0x40, 0x6F, 0xB2, 0x70, 0x41, 0x84, 0x7F, 0x60, +0x42, 0x4F, 0x94, 0x70, 0x43, 0x64, 0x61, 0x60, 0x44, 0x2F, 0x76, 0x70, 0x45, 0x44, 0x43, 0x60, +0x45, 0xF3, 0xA8, 0xF0, 0x47, 0x2D, 0x5F, 0xE0, 0x47, 0xD3, 0x8A, 0xF0, 0x49, 0x0D, 0x41, 0xE0, +0x49, 0xB3, 0x6C, 0xF0, 0x4A, 0xED, 0x23, 0xE0, 0x4B, 0x9C, 0x89, 0x70, 0x4C, 0xD6, 0x40, 0x60, +0x4D, 0x7C, 0x6B, 0x70, 0x4E, 0xB6, 0x22, 0x60, 0x4F, 0x5C, 0x4D, 0x70, 0x50, 0x96, 0x04, 0x60, +0x51, 0x3C, 0x2F, 0x70, 0x52, 0x75, 0xE6, 0x60, 0x53, 0x1C, 0x11, 0x70, 0x54, 0x55, 0xC8, 0x60, +0x54, 0xFB, 0xF3, 0x70, 0x56, 0x35, 0xAA, 0x60, 0x56, 0xE5, 0x0F, 0xF0, 0x58, 0x1E, 0xC6, 0xE0, +0x58, 0xC4, 0xF1, 0xF0, 0x59, 0xFE, 0xA8, 0xE0, 0x5A, 0xA4, 0xD3, 0xF0, 0x5B, 0xDE, 0x8A, 0xE0, +0x5C, 0x84, 0xB5, 0xF0, 0x5D, 0xBE, 0x6C, 0xE0, 0x5E, 0x64, 0x97, 0xF0, 0x5F, 0x9E, 0x4E, 0xE0, +0x60, 0x4D, 0xB4, 0x70, 0x61, 0x87, 0x6B, 0x60, 0x62, 0x2D, 0x96, 0x70, 0x63, 0x67, 0x4D, 0x60, +0x64, 0x0D, 0x78, 0x70, 0x65, 0x47, 0x2F, 0x60, 0x65, 0xED, 0x5A, 0x70, 0x67, 0x27, 0x11, 0x60, +0x67, 0xCD, 0x3C, 0x70, 0x69, 0x06, 0xF3, 0x60, 0x69, 0xAD, 0x1E, 0x70, 0x6A, 0xE6, 0xD5, 0x60, +0x6B, 0x96, 0x3A, 0xF0, 0x6C, 0xCF, 0xF1, 0xE0, 0x6D, 0x76, 0x1C, 0xF0, 0x6E, 0xAF, 0xD3, 0xE0, +0x6F, 0x55, 0xFE, 0xF0, 0x70, 0x8F, 0xB5, 0xE0, 0x71, 0x35, 0xE0, 0xF0, 0x72, 0x6F, 0x97, 0xE0, +0x73, 0x15, 0xC2, 0xF0, 0x74, 0x4F, 0x79, 0xE0, 0x74, 0xFE, 0xDF, 0x70, 0x76, 0x38, 0x96, 0x60, +0x76, 0xDE, 0xC1, 0x70, 0x78, 0x18, 0x78, 0x60, 0x78, 0xBE, 0xA3, 0x70, 0x79, 0xF8, 0x5A, 0x60, +0x7A, 0x9E, 0x85, 0x70, 0x7B, 0xD8, 0x3C, 0x60, 0x7C, 0x7E, 0x67, 0x70, 0x7D, 0xB8, 0x1E, 0x60, +0x7E, 0x5E, 0x49, 0x70, 0x7F, 0x98, 0x00, 0x60, 0x04, 0x01, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x05, 0x06, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, +0x08, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x0C, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x10, 0xFF, 0xFF, 0xAB, +0xA0, 0x00, 0x14, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x18, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x0C, 0xFF, +0xFF, 0xB9, 0xB0, 0x00, 0x08, 0x2D, 0x30, 0x30, 0x00, 0x45, 0x50, 0x54, 0x00, 0x45, 0x53, 0x54, +0x00, 0x45, 0x44, 0x54, 0x00, 0x45, 0x57, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x43, 0x44, 0x54, +0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x09, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x87, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x1C, 0xFF, +0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0xA1, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, +0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xFB, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x04, 0x60, 0xFD, 0x70, 0x00, +0x00, 0x00, 0x00, 0x05, 0x50, 0xE0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x06, 0x40, 0xDF, 0x70, 0x00, +0x00, 0x00, 0x00, 0x07, 0x30, 0xC2, 0x60, 0x00, 0x00, 0x00, 0x00, 0x08, 0x20, 0xC1, 0x70, 0x00, +0x00, 0x00, 0x00, 0x09, 0x10, 0xA4, 0x60, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0xA3, 0x70, 0x00, +0x00, 0x00, 0x00, 0x0A, 0xF0, 0x86, 0x60, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xE0, 0x85, 0x70, 0x00, +0x00, 0x00, 0x00, 0x0C, 0xD9, 0xA2, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0D, 0xC0, 0x67, 0x70, 0x00, +0x00, 0x00, 0x00, 0x0E, 0xB9, 0x84, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xA9, 0x83, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x10, 0x99, 0x66, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x11, 0x89, 0x65, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x12, 0x79, 0x48, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x47, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x14, 0x59, 0x2A, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x15, 0x49, 0x29, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x16, 0x39, 0x0C, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x17, 0x29, 0x0B, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x18, 0x22, 0x29, 0x60, 0x00, 0x00, 0x00, 0x00, 0x19, 0x08, 0xED, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x1A, 0x02, 0x0B, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xF2, 0x0A, 0x70, 0x00, +0x00, 0x00, 0x00, 0x1B, 0xE1, 0xED, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xD1, 0xEC, 0x70, 0x00, +0x00, 0x00, 0x00, 0x1D, 0xC1, 0xCF, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1E, 0xB1, 0xCE, 0x70, 0x00, +0x00, 0x00, 0x00, 0x1F, 0xA1, 0xB1, 0x60, 0x00, 0x00, 0x00, 0x00, 0x20, 0x76, 0x00, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x21, 0x81, 0x93, 0x60, 0x00, 0x00, 0x00, 0x00, 0x22, 0x55, 0xE2, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x23, 0x6A, 0xAF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x24, 0x35, 0xC4, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x25, 0x4A, 0x91, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x26, 0x15, 0xA6, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x27, 0x2A, 0x73, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x27, 0xFE, 0xC3, 0x70, 0x00, +0x00, 0x00, 0x00, 0x29, 0x0A, 0x55, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x29, 0xDE, 0xA5, 0x70, 0x00, +0x00, 0x00, 0x00, 0x2A, 0xEA, 0x37, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xBE, 0x87, 0x70, 0x00, +0x00, 0x00, 0x00, 0x2C, 0xD3, 0x54, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x9E, 0x69, 0x70, 0x00, +0x00, 0x00, 0x00, 0x2E, 0xB3, 0x36, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x7E, 0x4B, 0x70, 0x00, +0x00, 0x00, 0x00, 0x30, 0x93, 0x18, 0x60, 0x00, 0x00, 0x00, 0x00, 0x31, 0x67, 0x67, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x32, 0x72, 0xFA, 0x60, 0x00, 0x00, 0x00, 0x00, 0x33, 0x47, 0x49, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x34, 0x52, 0xDC, 0x60, 0x00, 0x00, 0x00, 0x00, 0x35, 0x27, 0x2B, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x36, 0x32, 0xBE, 0x60, 0x00, 0x00, 0x00, 0x00, 0x37, 0x07, 0x0D, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x38, 0x1B, 0xDA, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x38, 0xE6, 0xFE, 0x00, 0x00, +0x00, 0x00, 0x00, 0x39, 0xFB, 0xCA, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xC6, 0xD1, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x3B, 0xDB, 0x9E, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xAF, 0xEE, 0x70, 0x00, +0x00, 0x00, 0x00, 0x3D, 0xBB, 0x80, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x8F, 0xD0, 0x70, 0x00, +0x00, 0x00, 0x00, 0x3F, 0x9B, 0x62, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x40, 0x6F, 0xB2, 0x70, 0x00, +0x00, 0x00, 0x00, 0x41, 0x84, 0x7F, 0x60, 0x00, 0x00, 0x00, 0x00, 0x42, 0x4F, 0x94, 0x70, 0x00, +0x00, 0x00, 0x00, 0x43, 0x64, 0x61, 0x60, 0x00, 0x00, 0x00, 0x00, 0x44, 0x2F, 0x76, 0x70, 0x00, +0x00, 0x00, 0x00, 0x45, 0x44, 0x43, 0x60, 0x00, 0x00, 0x00, 0x00, 0x45, 0xF3, 0xA8, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x47, 0x2D, 0x5F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x47, 0xD3, 0x8A, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x49, 0x0D, 0x41, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x49, 0xB3, 0x6C, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x4A, 0xED, 0x23, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x4B, 0x9C, 0x89, 0x70, 0x00, +0x00, 0x00, 0x00, 0x4C, 0xD6, 0x40, 0x60, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x7C, 0x6B, 0x70, 0x00, +0x00, 0x00, 0x00, 0x4E, 0xB6, 0x22, 0x60, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x5C, 0x4D, 0x70, 0x00, +0x00, 0x00, 0x00, 0x50, 0x96, 0x04, 0x60, 0x00, 0x00, 0x00, 0x00, 0x51, 0x3C, 0x2F, 0x70, 0x00, +0x00, 0x00, 0x00, 0x52, 0x75, 0xE6, 0x60, 0x00, 0x00, 0x00, 0x00, 0x53, 0x1C, 0x11, 0x70, 0x00, +0x00, 0x00, 0x00, 0x54, 0x55, 0xC8, 0x60, 0x00, 0x00, 0x00, 0x00, 0x54, 0xFB, 0xF3, 0x70, 0x00, +0x00, 0x00, 0x00, 0x56, 0x35, 0xAA, 0x60, 0x00, 0x00, 0x00, 0x00, 0x56, 0xE5, 0x0F, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x58, 0x1E, 0xC6, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x58, 0xC4, 0xF1, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x59, 0xFE, 0xA8, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xA4, 0xD3, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x5B, 0xDE, 0x8A, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x5C, 0x84, 0xB5, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x5D, 0xBE, 0x6C, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x64, 0x97, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x5F, 0x9E, 0x4E, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x60, 0x4D, 0xB4, 0x70, 0x00, +0x00, 0x00, 0x00, 0x61, 0x87, 0x6B, 0x60, 0x00, 0x00, 0x00, 0x00, 0x62, 0x2D, 0x96, 0x70, 0x00, +0x00, 0x00, 0x00, 0x63, 0x67, 0x4D, 0x60, 0x00, 0x00, 0x00, 0x00, 0x64, 0x0D, 0x78, 0x70, 0x00, +0x00, 0x00, 0x00, 0x65, 0x47, 0x2F, 0x60, 0x00, 0x00, 0x00, 0x00, 0x65, 0xED, 0x5A, 0x70, 0x00, +0x00, 0x00, 0x00, 0x67, 0x27, 0x11, 0x60, 0x00, 0x00, 0x00, 0x00, 0x67, 0xCD, 0x3C, 0x70, 0x00, +0x00, 0x00, 0x00, 0x69, 0x06, 0xF3, 0x60, 0x00, 0x00, 0x00, 0x00, 0x69, 0xAD, 0x1E, 0x70, 0x00, +0x00, 0x00, 0x00, 0x6A, 0xE6, 0xD5, 0x60, 0x00, 0x00, 0x00, 0x00, 0x6B, 0x96, 0x3A, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x6C, 0xCF, 0xF1, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x76, 0x1C, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x6E, 0xAF, 0xD3, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x55, 0xFE, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x70, 0x8F, 0xB5, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x71, 0x35, 0xE0, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x72, 0x6F, 0x97, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x73, 0x15, 0xC2, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x74, 0x4F, 0x79, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x74, 0xFE, 0xDF, 0x70, 0x00, +0x00, 0x00, 0x00, 0x76, 0x38, 0x96, 0x60, 0x00, 0x00, 0x00, 0x00, 0x76, 0xDE, 0xC1, 0x70, 0x00, +0x00, 0x00, 0x00, 0x78, 0x18, 0x78, 0x60, 0x00, 0x00, 0x00, 0x00, 0x78, 0xBE, 0xA3, 0x70, 0x00, +0x00, 0x00, 0x00, 0x79, 0xF8, 0x5A, 0x60, 0x00, 0x00, 0x00, 0x00, 0x7A, 0x9E, 0x85, 0x70, 0x00, +0x00, 0x00, 0x00, 0x7B, 0xD8, 0x3C, 0x60, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x7E, 0x67, 0x70, 0x00, +0x00, 0x00, 0x00, 0x7D, 0xB8, 0x1E, 0x60, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x5E, 0x49, 0x70, 0x00, +0x00, 0x00, 0x00, 0x7F, 0x98, 0x00, 0x60, 0x04, 0x01, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x05, 0x06, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, +0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x0C, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x10, 0xFF, 0xFF, 0xAB, 0xA0, +0x00, 0x14, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x18, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x0C, 0xFF, 0xFF, +0xB9, 0xB0, 0x00, 0x08, 0x2D, 0x30, 0x30, 0x00, 0x45, 0x50, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, +0x45, 0x44, 0x54, 0x00, 0x45, 0x57, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, +0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x0A, 0x45, 0x53, 0x54, 0x35, 0x45, 0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, +0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, 0x31, 0x2E, 0x30, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* America/Paramaribo */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x53, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -37390,125 +37640,136 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { /* America/Rankin_Inlet */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x15, 0xE7, 0x8C, 0x6E, 0x00, -0xF7, 0x2F, 0x4C, 0x60, 0xF8, 0x28, 0x77, 0xE0, 0x13, 0x69, 0x56, 0x00, 0x14, 0x59, 0x38, 0xF0, -0x15, 0x49, 0x38, 0x00, 0x16, 0x39, 0x1A, 0xF0, 0x17, 0x29, 0x1A, 0x00, 0x18, 0x22, 0x37, 0x70, -0x19, 0x08, 0xFC, 0x00, 0x1A, 0x02, 0x19, 0x70, 0x1A, 0xF2, 0x18, 0x80, 0x1B, 0xE1, 0xFB, 0x70, -0x1C, 0xD1, 0xFA, 0x80, 0x1D, 0xC1, 0xDD, 0x70, 0x1E, 0xB1, 0xDC, 0x80, 0x1F, 0xA1, 0xBF, 0x70, -0x20, 0x76, 0x0F, 0x00, 0x21, 0x81, 0xA1, 0x70, 0x22, 0x55, 0xF1, 0x00, 0x23, 0x6A, 0xBD, 0xF0, -0x24, 0x35, 0xD3, 0x00, 0x25, 0x4A, 0x9F, 0xF0, 0x26, 0x15, 0xB5, 0x00, 0x27, 0x2A, 0x81, 0xF0, -0x27, 0xFE, 0xD1, 0x80, 0x29, 0x0A, 0x63, 0xF0, 0x29, 0xDE, 0xB3, 0x80, 0x2A, 0xEA, 0x45, 0xF0, -0x2B, 0xBE, 0x95, 0x80, 0x2C, 0xD3, 0x62, 0x70, 0x2D, 0x9E, 0x77, 0x80, 0x2E, 0xB3, 0x44, 0x70, -0x2F, 0x7E, 0x59, 0x80, 0x30, 0x93, 0x26, 0x70, 0x31, 0x67, 0x76, 0x00, 0x32, 0x73, 0x08, 0x70, -0x33, 0x47, 0x58, 0x00, 0x34, 0x52, 0xEA, 0x70, 0x35, 0x27, 0x3A, 0x00, 0x36, 0x32, 0xCC, 0x70, -0x37, 0x07, 0x1C, 0x00, 0x38, 0x1B, 0xE8, 0xF0, 0x38, 0xE6, 0xFE, 0x00, 0x39, 0xFB, 0xCA, 0xF0, -0x3A, 0xC6, 0xE0, 0x00, 0x3B, 0xDB, 0xAC, 0xF0, 0x3C, 0xAF, 0xFC, 0x80, 0x3D, 0xBB, 0x8E, 0xF0, -0x3E, 0x8F, 0xDE, 0x80, 0x3F, 0x9B, 0x70, 0xF0, 0x40, 0x6F, 0xC0, 0x80, 0x41, 0x84, 0x8D, 0x70, -0x42, 0x4F, 0xA2, 0x80, 0x43, 0x64, 0x6F, 0x70, 0x44, 0x2F, 0x84, 0x80, 0x45, 0x44, 0x51, 0x70, -0x45, 0xF3, 0xB7, 0x00, 0x47, 0x2D, 0x6D, 0xF0, 0x47, 0xD3, 0x99, 0x00, 0x49, 0x0D, 0x4F, 0xF0, -0x49, 0xB3, 0x7B, 0x00, 0x4A, 0xED, 0x31, 0xF0, 0x4B, 0x9C, 0x97, 0x80, 0x4C, 0xD6, 0x4E, 0x70, -0x4D, 0x7C, 0x79, 0x80, 0x4E, 0xB6, 0x30, 0x70, 0x4F, 0x5C, 0x5B, 0x80, 0x50, 0x96, 0x12, 0x70, -0x51, 0x3C, 0x3D, 0x80, 0x52, 0x75, 0xF4, 0x70, 0x53, 0x1C, 0x1F, 0x80, 0x54, 0x55, 0xD6, 0x70, -0x54, 0xFC, 0x01, 0x80, 0x56, 0x35, 0xB8, 0x70, 0x56, 0xE5, 0x1E, 0x00, 0x58, 0x1E, 0xD4, 0xF0, -0x58, 0xC5, 0x00, 0x00, 0x59, 0xFE, 0xB6, 0xF0, 0x5A, 0xA4, 0xE2, 0x00, 0x5B, 0xDE, 0x98, 0xF0, -0x5C, 0x84, 0xC4, 0x00, 0x5D, 0xBE, 0x7A, 0xF0, 0x5E, 0x64, 0xA6, 0x00, 0x5F, 0x9E, 0x5C, 0xF0, -0x60, 0x4D, 0xC2, 0x80, 0x61, 0x87, 0x79, 0x70, 0x62, 0x2D, 0xA4, 0x80, 0x63, 0x67, 0x5B, 0x70, -0x64, 0x0D, 0x86, 0x80, 0x65, 0x47, 0x3D, 0x70, 0x65, 0xED, 0x68, 0x80, 0x67, 0x27, 0x1F, 0x70, -0x67, 0xCD, 0x4A, 0x80, 0x69, 0x07, 0x01, 0x70, 0x69, 0xAD, 0x2C, 0x80, 0x6A, 0xE6, 0xE3, 0x70, -0x6B, 0x96, 0x49, 0x00, 0x6C, 0xCF, 0xFF, 0xF0, 0x6D, 0x76, 0x2B, 0x00, 0x6E, 0xAF, 0xE1, 0xF0, -0x6F, 0x56, 0x0D, 0x00, 0x70, 0x8F, 0xC3, 0xF0, 0x71, 0x35, 0xEF, 0x00, 0x72, 0x6F, 0xA5, 0xF0, -0x73, 0x15, 0xD1, 0x00, 0x74, 0x4F, 0x87, 0xF0, 0x74, 0xFE, 0xED, 0x80, 0x76, 0x38, 0xA4, 0x70, -0x76, 0xDE, 0xCF, 0x80, 0x78, 0x18, 0x86, 0x70, 0x78, 0xBE, 0xB1, 0x80, 0x79, 0xF8, 0x68, 0x70, -0x7A, 0x9E, 0x93, 0x80, 0x7B, 0xD8, 0x4A, 0x70, 0x7C, 0x7E, 0x75, 0x80, 0x7D, 0xB8, 0x2C, 0x70, -0x7E, 0x5E, 0x57, 0x80, 0x7F, 0x98, 0x0E, 0x70, 0x02, 0x01, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x04, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, -0x09, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x0D, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x11, 0xFF, 0xFF, 0xAB, -0xA0, 0x00, 0x09, 0x2D, 0x30, 0x30, 0x00, 0x43, 0x44, 0x44, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, -0x43, 0x44, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, 0x06, -0x00, 0x00, 0x00, 0x15, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x8C, 0x6E, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, -0xF7, 0x2F, 0x4C, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x28, 0x77, 0xE0, 0x00, 0x00, 0x00, 0x00, -0x13, 0x69, 0x56, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x59, 0x38, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x15, 0x49, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0x39, 0x1A, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x17, 0x29, 0x1A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x22, 0x37, 0x70, 0x00, 0x00, 0x00, 0x00, -0x19, 0x08, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x02, 0x19, 0x70, 0x00, 0x00, 0x00, 0x00, -0x1A, 0xF2, 0x18, 0x80, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xE1, 0xFB, 0x70, 0x00, 0x00, 0x00, 0x00, -0x1C, 0xD1, 0xFA, 0x80, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xC1, 0xDD, 0x70, 0x00, 0x00, 0x00, 0x00, -0x1E, 0xB1, 0xDC, 0x80, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xA1, 0xBF, 0x70, 0x00, 0x00, 0x00, 0x00, -0x20, 0x76, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x81, 0xA1, 0x70, 0x00, 0x00, 0x00, 0x00, -0x22, 0x55, 0xF1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x23, 0x6A, 0xBD, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x24, 0x35, 0xD3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x25, 0x4A, 0x9F, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x26, 0x15, 0xB5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0x2A, 0x81, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x27, 0xFE, 0xD1, 0x80, 0x00, 0x00, 0x00, 0x00, 0x29, 0x0A, 0x63, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x29, 0xDE, 0xB3, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xEA, 0x45, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x2B, 0xBE, 0x95, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xD3, 0x62, 0x70, 0x00, 0x00, 0x00, 0x00, -0x2D, 0x9E, 0x77, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2E, 0xB3, 0x44, 0x70, 0x00, 0x00, 0x00, 0x00, -0x2F, 0x7E, 0x59, 0x80, 0x00, 0x00, 0x00, 0x00, 0x30, 0x93, 0x26, 0x70, 0x00, 0x00, 0x00, 0x00, -0x31, 0x67, 0x76, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x73, 0x08, 0x70, 0x00, 0x00, 0x00, 0x00, -0x33, 0x47, 0x58, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0xEA, 0x70, 0x00, 0x00, 0x00, 0x00, -0x35, 0x27, 0x3A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0xCC, 0x70, 0x00, 0x00, 0x00, 0x00, -0x37, 0x07, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0xE8, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x38, 0xE6, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0xCA, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x3A, 0xC6, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0xAC, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x3C, 0xAF, 0xFC, 0x80, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x8E, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x3E, 0x8F, 0xDE, 0x80, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x70, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x40, 0x6F, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x8D, 0x70, 0x00, 0x00, 0x00, 0x00, -0x42, 0x4F, 0xA2, 0x80, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x6F, 0x70, 0x00, 0x00, 0x00, 0x00, -0x44, 0x2F, 0x84, 0x80, 0x00, 0x00, 0x00, 0x00, 0x45, 0x44, 0x51, 0x70, 0x00, 0x00, 0x00, 0x00, -0x45, 0xF3, 0xB7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x2D, 0x6D, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x47, 0xD3, 0x99, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x0D, 0x4F, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x49, 0xB3, 0x7B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xED, 0x31, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x4B, 0x9C, 0x97, 0x80, 0x00, 0x00, 0x00, 0x00, 0x4C, 0xD6, 0x4E, 0x70, 0x00, 0x00, 0x00, 0x00, -0x4D, 0x7C, 0x79, 0x80, 0x00, 0x00, 0x00, 0x00, 0x4E, 0xB6, 0x30, 0x70, 0x00, 0x00, 0x00, 0x00, -0x4F, 0x5C, 0x5B, 0x80, 0x00, 0x00, 0x00, 0x00, 0x50, 0x96, 0x12, 0x70, 0x00, 0x00, 0x00, 0x00, -0x51, 0x3C, 0x3D, 0x80, 0x00, 0x00, 0x00, 0x00, 0x52, 0x75, 0xF4, 0x70, 0x00, 0x00, 0x00, 0x00, -0x53, 0x1C, 0x1F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x54, 0x55, 0xD6, 0x70, 0x00, 0x00, 0x00, 0x00, -0x54, 0xFC, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x56, 0x35, 0xB8, 0x70, 0x00, 0x00, 0x00, 0x00, -0x56, 0xE5, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 0x1E, 0xD4, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x58, 0xC5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x59, 0xFE, 0xB6, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x5A, 0xA4, 0xE2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5B, 0xDE, 0x98, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x5C, 0x84, 0xC4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5D, 0xBE, 0x7A, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x5E, 0x64, 0xA6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x9E, 0x5C, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x60, 0x4D, 0xC2, 0x80, 0x00, 0x00, 0x00, 0x00, 0x61, 0x87, 0x79, 0x70, 0x00, 0x00, 0x00, 0x00, -0x62, 0x2D, 0xA4, 0x80, 0x00, 0x00, 0x00, 0x00, 0x63, 0x67, 0x5B, 0x70, 0x00, 0x00, 0x00, 0x00, -0x64, 0x0D, 0x86, 0x80, 0x00, 0x00, 0x00, 0x00, 0x65, 0x47, 0x3D, 0x70, 0x00, 0x00, 0x00, 0x00, -0x65, 0xED, 0x68, 0x80, 0x00, 0x00, 0x00, 0x00, 0x67, 0x27, 0x1F, 0x70, 0x00, 0x00, 0x00, 0x00, -0x67, 0xCD, 0x4A, 0x80, 0x00, 0x00, 0x00, 0x00, 0x69, 0x07, 0x01, 0x70, 0x00, 0x00, 0x00, 0x00, -0x69, 0xAD, 0x2C, 0x80, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xE6, 0xE3, 0x70, 0x00, 0x00, 0x00, 0x00, -0x6B, 0x96, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xCF, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x6D, 0x76, 0x2B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6E, 0xAF, 0xE1, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x6F, 0x56, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x8F, 0xC3, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x71, 0x35, 0xEF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x72, 0x6F, 0xA5, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x73, 0x15, 0xD1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x74, 0x4F, 0x87, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x74, 0xFE, 0xED, 0x80, 0x00, 0x00, 0x00, 0x00, 0x76, 0x38, 0xA4, 0x70, 0x00, 0x00, 0x00, 0x00, -0x76, 0xDE, 0xCF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x78, 0x18, 0x86, 0x70, 0x00, 0x00, 0x00, 0x00, -0x78, 0xBE, 0xB1, 0x80, 0x00, 0x00, 0x00, 0x00, 0x79, 0xF8, 0x68, 0x70, 0x00, 0x00, 0x00, 0x00, -0x7A, 0x9E, 0x93, 0x80, 0x00, 0x00, 0x00, 0x00, 0x7B, 0xD8, 0x4A, 0x70, 0x00, 0x00, 0x00, 0x00, -0x7C, 0x7E, 0x75, 0x80, 0x00, 0x00, 0x00, 0x00, 0x7D, 0xB8, 0x2C, 0x70, 0x00, 0x00, 0x00, 0x00, -0x7E, 0x5E, 0x57, 0x80, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x98, 0x0E, 0x70, 0x02, 0x01, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x04, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x04, 0xFF, -0xFF, 0xAB, 0xA0, 0x00, 0x09, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x0D, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, -0x11, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x09, 0x2D, 0x30, 0x30, 0x00, 0x43, 0x44, 0x44, 0x54, 0x00, -0x43, 0x53, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x0A, 0x43, 0x53, 0x54, -0x36, 0x43, 0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, -0x31, 0x2E, 0x30, 0x0A, 0x00, 0xE9, 0x2E, 0x02, 0x00, 0x86, 0x26, 0x8E, 0x00, 0x00, 0x00, 0x16, -0x43, 0x65, 0x6E, 0x74, 0x72, 0x61, 0x6C, 0x20, 0x2D, 0x20, 0x4E, 0x55, 0x20, 0x28, 0x63, 0x65, -0x6E, 0x74, 0x72, 0x61, 0x6C, 0x29, +0x00, 0x00, 0x00, 0x85, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x10, 0xE7, 0x8C, 0x6E, 0x00, +0x04, 0x61, 0x0B, 0x80, 0x05, 0x50, 0xEE, 0x70, 0x06, 0x40, 0xED, 0x80, 0x07, 0x30, 0xD0, 0x70, +0x08, 0x20, 0xCF, 0x80, 0x09, 0x10, 0xB2, 0x70, 0x0A, 0x00, 0xB1, 0x80, 0x0A, 0xF0, 0x94, 0x70, +0x0B, 0xE0, 0x93, 0x80, 0x0C, 0xD9, 0xB0, 0xF0, 0x0D, 0xC0, 0x75, 0x80, 0x0E, 0xB9, 0x92, 0xF0, +0x0F, 0xA9, 0x92, 0x00, 0x10, 0x99, 0x74, 0xF0, 0x11, 0x89, 0x74, 0x00, 0x12, 0x79, 0x56, 0xF0, +0x13, 0x69, 0x56, 0x00, 0x14, 0x59, 0x38, 0xF0, 0x15, 0x49, 0x38, 0x00, 0x16, 0x39, 0x1A, 0xF0, +0x17, 0x29, 0x1A, 0x00, 0x18, 0x22, 0x37, 0x70, 0x19, 0x08, 0xFC, 0x00, 0x1A, 0x02, 0x19, 0x70, +0x1A, 0xF2, 0x18, 0x80, 0x1B, 0xE1, 0xFB, 0x70, 0x1C, 0xD1, 0xFA, 0x80, 0x1D, 0xC1, 0xDD, 0x70, +0x1E, 0xB1, 0xDC, 0x80, 0x1F, 0xA1, 0xBF, 0x70, 0x20, 0x76, 0x0F, 0x00, 0x21, 0x81, 0xA1, 0x70, +0x22, 0x55, 0xF1, 0x00, 0x23, 0x6A, 0xBD, 0xF0, 0x24, 0x35, 0xD3, 0x00, 0x25, 0x4A, 0x9F, 0xF0, +0x26, 0x15, 0xB5, 0x00, 0x27, 0x2A, 0x81, 0xF0, 0x27, 0xFE, 0xD1, 0x80, 0x29, 0x0A, 0x63, 0xF0, +0x29, 0xDE, 0xB3, 0x80, 0x2A, 0xEA, 0x45, 0xF0, 0x2B, 0xBE, 0x95, 0x80, 0x2C, 0xD3, 0x62, 0x70, +0x2D, 0x9E, 0x77, 0x80, 0x2E, 0xB3, 0x44, 0x70, 0x2F, 0x7E, 0x59, 0x80, 0x30, 0x93, 0x26, 0x70, +0x31, 0x67, 0x76, 0x00, 0x32, 0x73, 0x08, 0x70, 0x33, 0x47, 0x58, 0x00, 0x34, 0x52, 0xEA, 0x70, +0x35, 0x27, 0x3A, 0x00, 0x36, 0x32, 0xCC, 0x70, 0x37, 0x07, 0x1C, 0x00, 0x38, 0x1B, 0xE8, 0xF0, +0x38, 0xE6, 0xFE, 0x00, 0x39, 0xFB, 0xCA, 0xF0, 0x3A, 0xC6, 0xE0, 0x00, 0x3B, 0xDB, 0xAC, 0xF0, +0x3C, 0xAF, 0xFC, 0x80, 0x3D, 0xBB, 0x8E, 0xF0, 0x3E, 0x8F, 0xDE, 0x80, 0x3F, 0x9B, 0x70, 0xF0, +0x40, 0x6F, 0xC0, 0x80, 0x41, 0x84, 0x8D, 0x70, 0x42, 0x4F, 0xA2, 0x80, 0x43, 0x64, 0x6F, 0x70, +0x44, 0x2F, 0x84, 0x80, 0x45, 0x44, 0x51, 0x70, 0x45, 0xF3, 0xB7, 0x00, 0x47, 0x2D, 0x6D, 0xF0, +0x47, 0xD3, 0x99, 0x00, 0x49, 0x0D, 0x4F, 0xF0, 0x49, 0xB3, 0x7B, 0x00, 0x4A, 0xED, 0x31, 0xF0, +0x4B, 0x9C, 0x97, 0x80, 0x4C, 0xD6, 0x4E, 0x70, 0x4D, 0x7C, 0x79, 0x80, 0x4E, 0xB6, 0x30, 0x70, +0x4F, 0x5C, 0x5B, 0x80, 0x50, 0x96, 0x12, 0x70, 0x51, 0x3C, 0x3D, 0x80, 0x52, 0x75, 0xF4, 0x70, +0x53, 0x1C, 0x1F, 0x80, 0x54, 0x55, 0xD6, 0x70, 0x54, 0xFC, 0x01, 0x80, 0x56, 0x35, 0xB8, 0x70, +0x56, 0xE5, 0x1E, 0x00, 0x58, 0x1E, 0xD4, 0xF0, 0x58, 0xC5, 0x00, 0x00, 0x59, 0xFE, 0xB6, 0xF0, +0x5A, 0xA4, 0xE2, 0x00, 0x5B, 0xDE, 0x98, 0xF0, 0x5C, 0x84, 0xC4, 0x00, 0x5D, 0xBE, 0x7A, 0xF0, +0x5E, 0x64, 0xA6, 0x00, 0x5F, 0x9E, 0x5C, 0xF0, 0x60, 0x4D, 0xC2, 0x80, 0x61, 0x87, 0x79, 0x70, +0x62, 0x2D, 0xA4, 0x80, 0x63, 0x67, 0x5B, 0x70, 0x64, 0x0D, 0x86, 0x80, 0x65, 0x47, 0x3D, 0x70, +0x65, 0xED, 0x68, 0x80, 0x67, 0x27, 0x1F, 0x70, 0x67, 0xCD, 0x4A, 0x80, 0x69, 0x07, 0x01, 0x70, +0x69, 0xAD, 0x2C, 0x80, 0x6A, 0xE6, 0xE3, 0x70, 0x6B, 0x96, 0x49, 0x00, 0x6C, 0xCF, 0xFF, 0xF0, +0x6D, 0x76, 0x2B, 0x00, 0x6E, 0xAF, 0xE1, 0xF0, 0x6F, 0x56, 0x0D, 0x00, 0x70, 0x8F, 0xC3, 0xF0, +0x71, 0x35, 0xEF, 0x00, 0x72, 0x6F, 0xA5, 0xF0, 0x73, 0x15, 0xD1, 0x00, 0x74, 0x4F, 0x87, 0xF0, +0x74, 0xFE, 0xED, 0x80, 0x76, 0x38, 0xA4, 0x70, 0x76, 0xDE, 0xCF, 0x80, 0x78, 0x18, 0x86, 0x70, +0x78, 0xBE, 0xB1, 0x80, 0x79, 0xF8, 0x68, 0x70, 0x7A, 0x9E, 0x93, 0x80, 0x7B, 0xD8, 0x4A, 0x70, +0x7C, 0x7E, 0x75, 0x80, 0x7D, 0xB8, 0x2C, 0x70, 0x7E, 0x5E, 0x57, 0x80, 0x7F, 0x98, 0x0E, 0x70, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, +0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x08, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x0C, 0xFF, 0xFF, 0xAB, +0xA0, 0x00, 0x08, 0x2D, 0x30, 0x30, 0x00, 0x43, 0x44, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x45, +0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x85, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x10, 0xFF, +0xFF, 0xFF, 0xFF, 0xE7, 0x8C, 0x6E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x61, 0x0B, 0x80, 0x00, +0x00, 0x00, 0x00, 0x05, 0x50, 0xEE, 0x70, 0x00, 0x00, 0x00, 0x00, 0x06, 0x40, 0xED, 0x80, 0x00, +0x00, 0x00, 0x00, 0x07, 0x30, 0xD0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x08, 0x20, 0xCF, 0x80, 0x00, +0x00, 0x00, 0x00, 0x09, 0x10, 0xB2, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0xB1, 0x80, 0x00, +0x00, 0x00, 0x00, 0x0A, 0xF0, 0x94, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xE0, 0x93, 0x80, 0x00, +0x00, 0x00, 0x00, 0x0C, 0xD9, 0xB0, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x0D, 0xC0, 0x75, 0x80, 0x00, +0x00, 0x00, 0x00, 0x0E, 0xB9, 0x92, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xA9, 0x92, 0x00, 0x00, +0x00, 0x00, 0x00, 0x10, 0x99, 0x74, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x11, 0x89, 0x74, 0x00, 0x00, +0x00, 0x00, 0x00, 0x12, 0x79, 0x56, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x56, 0x00, 0x00, +0x00, 0x00, 0x00, 0x14, 0x59, 0x38, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x15, 0x49, 0x38, 0x00, 0x00, +0x00, 0x00, 0x00, 0x16, 0x39, 0x1A, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x17, 0x29, 0x1A, 0x00, 0x00, +0x00, 0x00, 0x00, 0x18, 0x22, 0x37, 0x70, 0x00, 0x00, 0x00, 0x00, 0x19, 0x08, 0xFC, 0x00, 0x00, +0x00, 0x00, 0x00, 0x1A, 0x02, 0x19, 0x70, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xF2, 0x18, 0x80, 0x00, +0x00, 0x00, 0x00, 0x1B, 0xE1, 0xFB, 0x70, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xD1, 0xFA, 0x80, 0x00, +0x00, 0x00, 0x00, 0x1D, 0xC1, 0xDD, 0x70, 0x00, 0x00, 0x00, 0x00, 0x1E, 0xB1, 0xDC, 0x80, 0x00, +0x00, 0x00, 0x00, 0x1F, 0xA1, 0xBF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x20, 0x76, 0x0F, 0x00, 0x00, +0x00, 0x00, 0x00, 0x21, 0x81, 0xA1, 0x70, 0x00, 0x00, 0x00, 0x00, 0x22, 0x55, 0xF1, 0x00, 0x00, +0x00, 0x00, 0x00, 0x23, 0x6A, 0xBD, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x24, 0x35, 0xD3, 0x00, 0x00, +0x00, 0x00, 0x00, 0x25, 0x4A, 0x9F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x26, 0x15, 0xB5, 0x00, 0x00, +0x00, 0x00, 0x00, 0x27, 0x2A, 0x81, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x27, 0xFE, 0xD1, 0x80, 0x00, +0x00, 0x00, 0x00, 0x29, 0x0A, 0x63, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x29, 0xDE, 0xB3, 0x80, 0x00, +0x00, 0x00, 0x00, 0x2A, 0xEA, 0x45, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xBE, 0x95, 0x80, 0x00, +0x00, 0x00, 0x00, 0x2C, 0xD3, 0x62, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x9E, 0x77, 0x80, 0x00, +0x00, 0x00, 0x00, 0x2E, 0xB3, 0x44, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x7E, 0x59, 0x80, 0x00, +0x00, 0x00, 0x00, 0x30, 0x93, 0x26, 0x70, 0x00, 0x00, 0x00, 0x00, 0x31, 0x67, 0x76, 0x00, 0x00, +0x00, 0x00, 0x00, 0x32, 0x73, 0x08, 0x70, 0x00, 0x00, 0x00, 0x00, 0x33, 0x47, 0x58, 0x00, 0x00, +0x00, 0x00, 0x00, 0x34, 0x52, 0xEA, 0x70, 0x00, 0x00, 0x00, 0x00, 0x35, 0x27, 0x3A, 0x00, 0x00, +0x00, 0x00, 0x00, 0x36, 0x32, 0xCC, 0x70, 0x00, 0x00, 0x00, 0x00, 0x37, 0x07, 0x1C, 0x00, 0x00, +0x00, 0x00, 0x00, 0x38, 0x1B, 0xE8, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x38, 0xE6, 0xFE, 0x00, 0x00, +0x00, 0x00, 0x00, 0x39, 0xFB, 0xCA, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xC6, 0xE0, 0x00, 0x00, +0x00, 0x00, 0x00, 0x3B, 0xDB, 0xAC, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xAF, 0xFC, 0x80, 0x00, +0x00, 0x00, 0x00, 0x3D, 0xBB, 0x8E, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x8F, 0xDE, 0x80, 0x00, +0x00, 0x00, 0x00, 0x3F, 0x9B, 0x70, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x40, 0x6F, 0xC0, 0x80, 0x00, +0x00, 0x00, 0x00, 0x41, 0x84, 0x8D, 0x70, 0x00, 0x00, 0x00, 0x00, 0x42, 0x4F, 0xA2, 0x80, 0x00, +0x00, 0x00, 0x00, 0x43, 0x64, 0x6F, 0x70, 0x00, 0x00, 0x00, 0x00, 0x44, 0x2F, 0x84, 0x80, 0x00, +0x00, 0x00, 0x00, 0x45, 0x44, 0x51, 0x70, 0x00, 0x00, 0x00, 0x00, 0x45, 0xF3, 0xB7, 0x00, 0x00, +0x00, 0x00, 0x00, 0x47, 0x2D, 0x6D, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x47, 0xD3, 0x99, 0x00, 0x00, +0x00, 0x00, 0x00, 0x49, 0x0D, 0x4F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x49, 0xB3, 0x7B, 0x00, 0x00, +0x00, 0x00, 0x00, 0x4A, 0xED, 0x31, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x4B, 0x9C, 0x97, 0x80, 0x00, +0x00, 0x00, 0x00, 0x4C, 0xD6, 0x4E, 0x70, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x7C, 0x79, 0x80, 0x00, +0x00, 0x00, 0x00, 0x4E, 0xB6, 0x30, 0x70, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x5C, 0x5B, 0x80, 0x00, +0x00, 0x00, 0x00, 0x50, 0x96, 0x12, 0x70, 0x00, 0x00, 0x00, 0x00, 0x51, 0x3C, 0x3D, 0x80, 0x00, +0x00, 0x00, 0x00, 0x52, 0x75, 0xF4, 0x70, 0x00, 0x00, 0x00, 0x00, 0x53, 0x1C, 0x1F, 0x80, 0x00, +0x00, 0x00, 0x00, 0x54, 0x55, 0xD6, 0x70, 0x00, 0x00, 0x00, 0x00, 0x54, 0xFC, 0x01, 0x80, 0x00, +0x00, 0x00, 0x00, 0x56, 0x35, 0xB8, 0x70, 0x00, 0x00, 0x00, 0x00, 0x56, 0xE5, 0x1E, 0x00, 0x00, +0x00, 0x00, 0x00, 0x58, 0x1E, 0xD4, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x58, 0xC5, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x59, 0xFE, 0xB6, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xA4, 0xE2, 0x00, 0x00, +0x00, 0x00, 0x00, 0x5B, 0xDE, 0x98, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x5C, 0x84, 0xC4, 0x00, 0x00, +0x00, 0x00, 0x00, 0x5D, 0xBE, 0x7A, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x64, 0xA6, 0x00, 0x00, +0x00, 0x00, 0x00, 0x5F, 0x9E, 0x5C, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x60, 0x4D, 0xC2, 0x80, 0x00, +0x00, 0x00, 0x00, 0x61, 0x87, 0x79, 0x70, 0x00, 0x00, 0x00, 0x00, 0x62, 0x2D, 0xA4, 0x80, 0x00, +0x00, 0x00, 0x00, 0x63, 0x67, 0x5B, 0x70, 0x00, 0x00, 0x00, 0x00, 0x64, 0x0D, 0x86, 0x80, 0x00, +0x00, 0x00, 0x00, 0x65, 0x47, 0x3D, 0x70, 0x00, 0x00, 0x00, 0x00, 0x65, 0xED, 0x68, 0x80, 0x00, +0x00, 0x00, 0x00, 0x67, 0x27, 0x1F, 0x70, 0x00, 0x00, 0x00, 0x00, 0x67, 0xCD, 0x4A, 0x80, 0x00, +0x00, 0x00, 0x00, 0x69, 0x07, 0x01, 0x70, 0x00, 0x00, 0x00, 0x00, 0x69, 0xAD, 0x2C, 0x80, 0x00, +0x00, 0x00, 0x00, 0x6A, 0xE6, 0xE3, 0x70, 0x00, 0x00, 0x00, 0x00, 0x6B, 0x96, 0x49, 0x00, 0x00, +0x00, 0x00, 0x00, 0x6C, 0xCF, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x76, 0x2B, 0x00, 0x00, +0x00, 0x00, 0x00, 0x6E, 0xAF, 0xE1, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x56, 0x0D, 0x00, 0x00, +0x00, 0x00, 0x00, 0x70, 0x8F, 0xC3, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x71, 0x35, 0xEF, 0x00, 0x00, +0x00, 0x00, 0x00, 0x72, 0x6F, 0xA5, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x73, 0x15, 0xD1, 0x00, 0x00, +0x00, 0x00, 0x00, 0x74, 0x4F, 0x87, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x74, 0xFE, 0xED, 0x80, 0x00, +0x00, 0x00, 0x00, 0x76, 0x38, 0xA4, 0x70, 0x00, 0x00, 0x00, 0x00, 0x76, 0xDE, 0xCF, 0x80, 0x00, +0x00, 0x00, 0x00, 0x78, 0x18, 0x86, 0x70, 0x00, 0x00, 0x00, 0x00, 0x78, 0xBE, 0xB1, 0x80, 0x00, +0x00, 0x00, 0x00, 0x79, 0xF8, 0x68, 0x70, 0x00, 0x00, 0x00, 0x00, 0x7A, 0x9E, 0x93, 0x80, 0x00, +0x00, 0x00, 0x00, 0x7B, 0xD8, 0x4A, 0x70, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x7E, 0x75, 0x80, 0x00, +0x00, 0x00, 0x00, 0x7D, 0xB8, 0x2C, 0x70, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x5E, 0x57, 0x80, 0x00, +0x00, 0x00, 0x00, 0x7F, 0x98, 0x0E, 0x70, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x08, 0xFF, 0xFF, +0xB9, 0xB0, 0x00, 0x0C, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x08, 0x2D, 0x30, 0x30, 0x00, 0x43, 0x44, +0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x0A, 0x43, 0x53, 0x54, 0x36, 0x43, +0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, 0x31, 0x2E, +0x30, 0x0A, 0x00, 0xE9, 0x2E, 0x02, 0x00, 0x86, 0x26, 0x8E, 0x00, 0x00, 0x00, 0x16, 0x43, 0x65, +0x6E, 0x74, 0x72, 0x61, 0x6C, 0x20, 0x2D, 0x20, 0x4E, 0x55, 0x20, 0x28, 0x63, 0x65, 0x6E, 0x74, +0x72, 0x61, 0x6C, 0x29, /* America/Recife */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x42, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -37627,125 +37888,136 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { /* America/Resolute */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x15, 0xD5, 0xFB, 0x81, 0x80, -0xF7, 0x2F, 0x4C, 0x60, 0xF8, 0x28, 0x77, 0xE0, 0x13, 0x69, 0x56, 0x00, 0x14, 0x59, 0x38, 0xF0, -0x15, 0x49, 0x38, 0x00, 0x16, 0x39, 0x1A, 0xF0, 0x17, 0x29, 0x1A, 0x00, 0x18, 0x22, 0x37, 0x70, -0x19, 0x08, 0xFC, 0x00, 0x1A, 0x02, 0x19, 0x70, 0x1A, 0xF2, 0x18, 0x80, 0x1B, 0xE1, 0xFB, 0x70, -0x1C, 0xD1, 0xFA, 0x80, 0x1D, 0xC1, 0xDD, 0x70, 0x1E, 0xB1, 0xDC, 0x80, 0x1F, 0xA1, 0xBF, 0x70, -0x20, 0x76, 0x0F, 0x00, 0x21, 0x81, 0xA1, 0x70, 0x22, 0x55, 0xF1, 0x00, 0x23, 0x6A, 0xBD, 0xF0, -0x24, 0x35, 0xD3, 0x00, 0x25, 0x4A, 0x9F, 0xF0, 0x26, 0x15, 0xB5, 0x00, 0x27, 0x2A, 0x81, 0xF0, -0x27, 0xFE, 0xD1, 0x80, 0x29, 0x0A, 0x63, 0xF0, 0x29, 0xDE, 0xB3, 0x80, 0x2A, 0xEA, 0x45, 0xF0, -0x2B, 0xBE, 0x95, 0x80, 0x2C, 0xD3, 0x62, 0x70, 0x2D, 0x9E, 0x77, 0x80, 0x2E, 0xB3, 0x44, 0x70, -0x2F, 0x7E, 0x59, 0x80, 0x30, 0x93, 0x26, 0x70, 0x31, 0x67, 0x76, 0x00, 0x32, 0x73, 0x08, 0x70, -0x33, 0x47, 0x58, 0x00, 0x34, 0x52, 0xEA, 0x70, 0x35, 0x27, 0x3A, 0x00, 0x36, 0x32, 0xCC, 0x70, -0x37, 0x07, 0x1C, 0x00, 0x38, 0x1B, 0xE8, 0xF0, 0x38, 0xE6, 0xFE, 0x00, 0x39, 0xFB, 0xCA, 0xF0, -0x3A, 0xC6, 0xE0, 0x00, 0x3B, 0xDB, 0xAC, 0xF0, 0x3C, 0xAF, 0xFC, 0x80, 0x3D, 0xBB, 0x8E, 0xF0, -0x3E, 0x8F, 0xDE, 0x80, 0x3F, 0x9B, 0x70, 0xF0, 0x40, 0x6F, 0xC0, 0x80, 0x41, 0x84, 0x8D, 0x70, -0x42, 0x4F, 0xA2, 0x80, 0x43, 0x64, 0x6F, 0x70, 0x44, 0x2F, 0x84, 0x80, 0x45, 0x44, 0x51, 0x70, -0x45, 0xF3, 0xB7, 0x00, 0x47, 0x2D, 0x6D, 0xF0, 0x47, 0xD3, 0x99, 0x00, 0x49, 0x0D, 0x4F, 0xF0, -0x49, 0xB3, 0x7B, 0x00, 0x4A, 0xED, 0x31, 0xF0, 0x4B, 0x9C, 0x97, 0x80, 0x4C, 0xD6, 0x4E, 0x70, -0x4D, 0x7C, 0x79, 0x80, 0x4E, 0xB6, 0x30, 0x70, 0x4F, 0x5C, 0x5B, 0x80, 0x50, 0x96, 0x12, 0x70, -0x51, 0x3C, 0x3D, 0x80, 0x52, 0x75, 0xF4, 0x70, 0x53, 0x1C, 0x1F, 0x80, 0x54, 0x55, 0xD6, 0x70, -0x54, 0xFC, 0x01, 0x80, 0x56, 0x35, 0xB8, 0x70, 0x56, 0xE5, 0x1E, 0x00, 0x58, 0x1E, 0xD4, 0xF0, -0x58, 0xC5, 0x00, 0x00, 0x59, 0xFE, 0xB6, 0xF0, 0x5A, 0xA4, 0xE2, 0x00, 0x5B, 0xDE, 0x98, 0xF0, -0x5C, 0x84, 0xC4, 0x00, 0x5D, 0xBE, 0x7A, 0xF0, 0x5E, 0x64, 0xA6, 0x00, 0x5F, 0x9E, 0x5C, 0xF0, -0x60, 0x4D, 0xC2, 0x80, 0x61, 0x87, 0x79, 0x70, 0x62, 0x2D, 0xA4, 0x80, 0x63, 0x67, 0x5B, 0x70, -0x64, 0x0D, 0x86, 0x80, 0x65, 0x47, 0x3D, 0x70, 0x65, 0xED, 0x68, 0x80, 0x67, 0x27, 0x1F, 0x70, -0x67, 0xCD, 0x4A, 0x80, 0x69, 0x07, 0x01, 0x70, 0x69, 0xAD, 0x2C, 0x80, 0x6A, 0xE6, 0xE3, 0x70, -0x6B, 0x96, 0x49, 0x00, 0x6C, 0xCF, 0xFF, 0xF0, 0x6D, 0x76, 0x2B, 0x00, 0x6E, 0xAF, 0xE1, 0xF0, -0x6F, 0x56, 0x0D, 0x00, 0x70, 0x8F, 0xC3, 0xF0, 0x71, 0x35, 0xEF, 0x00, 0x72, 0x6F, 0xA5, 0xF0, -0x73, 0x15, 0xD1, 0x00, 0x74, 0x4F, 0x87, 0xF0, 0x74, 0xFE, 0xED, 0x80, 0x76, 0x38, 0xA4, 0x70, -0x76, 0xDE, 0xCF, 0x80, 0x78, 0x18, 0x86, 0x70, 0x78, 0xBE, 0xB1, 0x80, 0x79, 0xF8, 0x68, 0x70, -0x7A, 0x9E, 0x93, 0x80, 0x7B, 0xD8, 0x4A, 0x70, 0x7C, 0x7E, 0x75, 0x80, 0x7D, 0xB8, 0x2C, 0x70, -0x7E, 0x5E, 0x57, 0x80, 0x7F, 0x98, 0x0E, 0x70, 0x02, 0x01, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x04, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x04, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, -0x09, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x0D, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x11, 0xFF, 0xFF, 0xAB, -0xA0, 0x00, 0x09, 0x2D, 0x30, 0x30, 0x00, 0x43, 0x44, 0x44, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, -0x43, 0x44, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, 0x06, -0x00, 0x00, 0x00, 0x15, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0xFB, 0x81, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, -0xF7, 0x2F, 0x4C, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x28, 0x77, 0xE0, 0x00, 0x00, 0x00, 0x00, -0x13, 0x69, 0x56, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x59, 0x38, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x15, 0x49, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0x39, 0x1A, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x17, 0x29, 0x1A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x22, 0x37, 0x70, 0x00, 0x00, 0x00, 0x00, -0x19, 0x08, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x02, 0x19, 0x70, 0x00, 0x00, 0x00, 0x00, -0x1A, 0xF2, 0x18, 0x80, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xE1, 0xFB, 0x70, 0x00, 0x00, 0x00, 0x00, -0x1C, 0xD1, 0xFA, 0x80, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xC1, 0xDD, 0x70, 0x00, 0x00, 0x00, 0x00, -0x1E, 0xB1, 0xDC, 0x80, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xA1, 0xBF, 0x70, 0x00, 0x00, 0x00, 0x00, -0x20, 0x76, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x81, 0xA1, 0x70, 0x00, 0x00, 0x00, 0x00, -0x22, 0x55, 0xF1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x23, 0x6A, 0xBD, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x24, 0x35, 0xD3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x25, 0x4A, 0x9F, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x26, 0x15, 0xB5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0x2A, 0x81, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x27, 0xFE, 0xD1, 0x80, 0x00, 0x00, 0x00, 0x00, 0x29, 0x0A, 0x63, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x29, 0xDE, 0xB3, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xEA, 0x45, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x2B, 0xBE, 0x95, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xD3, 0x62, 0x70, 0x00, 0x00, 0x00, 0x00, -0x2D, 0x9E, 0x77, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2E, 0xB3, 0x44, 0x70, 0x00, 0x00, 0x00, 0x00, -0x2F, 0x7E, 0x59, 0x80, 0x00, 0x00, 0x00, 0x00, 0x30, 0x93, 0x26, 0x70, 0x00, 0x00, 0x00, 0x00, -0x31, 0x67, 0x76, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x73, 0x08, 0x70, 0x00, 0x00, 0x00, 0x00, -0x33, 0x47, 0x58, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0xEA, 0x70, 0x00, 0x00, 0x00, 0x00, -0x35, 0x27, 0x3A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0xCC, 0x70, 0x00, 0x00, 0x00, 0x00, -0x37, 0x07, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0xE8, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x38, 0xE6, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0xCA, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x3A, 0xC6, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0xAC, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x3C, 0xAF, 0xFC, 0x80, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x8E, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x3E, 0x8F, 0xDE, 0x80, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x70, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x40, 0x6F, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x8D, 0x70, 0x00, 0x00, 0x00, 0x00, -0x42, 0x4F, 0xA2, 0x80, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x6F, 0x70, 0x00, 0x00, 0x00, 0x00, -0x44, 0x2F, 0x84, 0x80, 0x00, 0x00, 0x00, 0x00, 0x45, 0x44, 0x51, 0x70, 0x00, 0x00, 0x00, 0x00, -0x45, 0xF3, 0xB7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x2D, 0x6D, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x47, 0xD3, 0x99, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x0D, 0x4F, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x49, 0xB3, 0x7B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xED, 0x31, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x4B, 0x9C, 0x97, 0x80, 0x00, 0x00, 0x00, 0x00, 0x4C, 0xD6, 0x4E, 0x70, 0x00, 0x00, 0x00, 0x00, -0x4D, 0x7C, 0x79, 0x80, 0x00, 0x00, 0x00, 0x00, 0x4E, 0xB6, 0x30, 0x70, 0x00, 0x00, 0x00, 0x00, -0x4F, 0x5C, 0x5B, 0x80, 0x00, 0x00, 0x00, 0x00, 0x50, 0x96, 0x12, 0x70, 0x00, 0x00, 0x00, 0x00, -0x51, 0x3C, 0x3D, 0x80, 0x00, 0x00, 0x00, 0x00, 0x52, 0x75, 0xF4, 0x70, 0x00, 0x00, 0x00, 0x00, -0x53, 0x1C, 0x1F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x54, 0x55, 0xD6, 0x70, 0x00, 0x00, 0x00, 0x00, -0x54, 0xFC, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x56, 0x35, 0xB8, 0x70, 0x00, 0x00, 0x00, 0x00, -0x56, 0xE5, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 0x1E, 0xD4, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x58, 0xC5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x59, 0xFE, 0xB6, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x5A, 0xA4, 0xE2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5B, 0xDE, 0x98, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x5C, 0x84, 0xC4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5D, 0xBE, 0x7A, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x5E, 0x64, 0xA6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x9E, 0x5C, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x60, 0x4D, 0xC2, 0x80, 0x00, 0x00, 0x00, 0x00, 0x61, 0x87, 0x79, 0x70, 0x00, 0x00, 0x00, 0x00, -0x62, 0x2D, 0xA4, 0x80, 0x00, 0x00, 0x00, 0x00, 0x63, 0x67, 0x5B, 0x70, 0x00, 0x00, 0x00, 0x00, -0x64, 0x0D, 0x86, 0x80, 0x00, 0x00, 0x00, 0x00, 0x65, 0x47, 0x3D, 0x70, 0x00, 0x00, 0x00, 0x00, -0x65, 0xED, 0x68, 0x80, 0x00, 0x00, 0x00, 0x00, 0x67, 0x27, 0x1F, 0x70, 0x00, 0x00, 0x00, 0x00, -0x67, 0xCD, 0x4A, 0x80, 0x00, 0x00, 0x00, 0x00, 0x69, 0x07, 0x01, 0x70, 0x00, 0x00, 0x00, 0x00, -0x69, 0xAD, 0x2C, 0x80, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xE6, 0xE3, 0x70, 0x00, 0x00, 0x00, 0x00, -0x6B, 0x96, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xCF, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x6D, 0x76, 0x2B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6E, 0xAF, 0xE1, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x6F, 0x56, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x8F, 0xC3, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x71, 0x35, 0xEF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x72, 0x6F, 0xA5, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x73, 0x15, 0xD1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x74, 0x4F, 0x87, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x74, 0xFE, 0xED, 0x80, 0x00, 0x00, 0x00, 0x00, 0x76, 0x38, 0xA4, 0x70, 0x00, 0x00, 0x00, 0x00, -0x76, 0xDE, 0xCF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x78, 0x18, 0x86, 0x70, 0x00, 0x00, 0x00, 0x00, -0x78, 0xBE, 0xB1, 0x80, 0x00, 0x00, 0x00, 0x00, 0x79, 0xF8, 0x68, 0x70, 0x00, 0x00, 0x00, 0x00, -0x7A, 0x9E, 0x93, 0x80, 0x00, 0x00, 0x00, 0x00, 0x7B, 0xD8, 0x4A, 0x70, 0x00, 0x00, 0x00, 0x00, -0x7C, 0x7E, 0x75, 0x80, 0x00, 0x00, 0x00, 0x00, 0x7D, 0xB8, 0x2C, 0x70, 0x00, 0x00, 0x00, 0x00, -0x7E, 0x5E, 0x57, 0x80, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x98, 0x0E, 0x70, 0x02, 0x01, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x04, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x04, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x04, 0xFF, -0xFF, 0xAB, 0xA0, 0x00, 0x09, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x0D, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, -0x11, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x09, 0x2D, 0x30, 0x30, 0x00, 0x43, 0x44, 0x44, 0x54, 0x00, -0x43, 0x53, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x0A, 0x43, 0x53, 0x54, -0x36, 0x43, 0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, -0x31, 0x2E, 0x30, 0x0A, 0x00, 0xFB, 0x4E, 0x33, 0x00, 0x81, 0xF5, 0xDB, 0x00, 0x00, 0x00, 0x17, -0x43, 0x65, 0x6E, 0x74, 0x72, 0x61, 0x6C, 0x20, 0x2D, 0x20, 0x4E, 0x55, 0x20, 0x28, 0x52, 0x65, -0x73, 0x6F, 0x6C, 0x75, 0x74, 0x65, 0x29, +0x00, 0x00, 0x00, 0x85, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x10, 0xD5, 0xFB, 0x81, 0x80, +0x04, 0x61, 0x0B, 0x80, 0x05, 0x50, 0xEE, 0x70, 0x06, 0x40, 0xED, 0x80, 0x07, 0x30, 0xD0, 0x70, +0x08, 0x20, 0xCF, 0x80, 0x09, 0x10, 0xB2, 0x70, 0x0A, 0x00, 0xB1, 0x80, 0x0A, 0xF0, 0x94, 0x70, +0x0B, 0xE0, 0x93, 0x80, 0x0C, 0xD9, 0xB0, 0xF0, 0x0D, 0xC0, 0x75, 0x80, 0x0E, 0xB9, 0x92, 0xF0, +0x0F, 0xA9, 0x92, 0x00, 0x10, 0x99, 0x74, 0xF0, 0x11, 0x89, 0x74, 0x00, 0x12, 0x79, 0x56, 0xF0, +0x13, 0x69, 0x56, 0x00, 0x14, 0x59, 0x38, 0xF0, 0x15, 0x49, 0x38, 0x00, 0x16, 0x39, 0x1A, 0xF0, +0x17, 0x29, 0x1A, 0x00, 0x18, 0x22, 0x37, 0x70, 0x19, 0x08, 0xFC, 0x00, 0x1A, 0x02, 0x19, 0x70, +0x1A, 0xF2, 0x18, 0x80, 0x1B, 0xE1, 0xFB, 0x70, 0x1C, 0xD1, 0xFA, 0x80, 0x1D, 0xC1, 0xDD, 0x70, +0x1E, 0xB1, 0xDC, 0x80, 0x1F, 0xA1, 0xBF, 0x70, 0x20, 0x76, 0x0F, 0x00, 0x21, 0x81, 0xA1, 0x70, +0x22, 0x55, 0xF1, 0x00, 0x23, 0x6A, 0xBD, 0xF0, 0x24, 0x35, 0xD3, 0x00, 0x25, 0x4A, 0x9F, 0xF0, +0x26, 0x15, 0xB5, 0x00, 0x27, 0x2A, 0x81, 0xF0, 0x27, 0xFE, 0xD1, 0x80, 0x29, 0x0A, 0x63, 0xF0, +0x29, 0xDE, 0xB3, 0x80, 0x2A, 0xEA, 0x45, 0xF0, 0x2B, 0xBE, 0x95, 0x80, 0x2C, 0xD3, 0x62, 0x70, +0x2D, 0x9E, 0x77, 0x80, 0x2E, 0xB3, 0x44, 0x70, 0x2F, 0x7E, 0x59, 0x80, 0x30, 0x93, 0x26, 0x70, +0x31, 0x67, 0x76, 0x00, 0x32, 0x73, 0x08, 0x70, 0x33, 0x47, 0x58, 0x00, 0x34, 0x52, 0xEA, 0x70, +0x35, 0x27, 0x3A, 0x00, 0x36, 0x32, 0xCC, 0x70, 0x37, 0x07, 0x1C, 0x00, 0x38, 0x1B, 0xE8, 0xF0, +0x38, 0xE6, 0xFE, 0x00, 0x39, 0xFB, 0xCA, 0xF0, 0x3A, 0xC6, 0xE0, 0x00, 0x3B, 0xDB, 0xAC, 0xF0, +0x3C, 0xAF, 0xFC, 0x80, 0x3D, 0xBB, 0x8E, 0xF0, 0x3E, 0x8F, 0xDE, 0x80, 0x3F, 0x9B, 0x70, 0xF0, +0x40, 0x6F, 0xC0, 0x80, 0x41, 0x84, 0x8D, 0x70, 0x42, 0x4F, 0xA2, 0x80, 0x43, 0x64, 0x6F, 0x70, +0x44, 0x2F, 0x84, 0x80, 0x45, 0x44, 0x51, 0x70, 0x45, 0xF3, 0xB7, 0x00, 0x47, 0x2D, 0x6D, 0xF0, +0x47, 0xD3, 0x99, 0x00, 0x49, 0x0D, 0x4F, 0xF0, 0x49, 0xB3, 0x7B, 0x00, 0x4A, 0xED, 0x31, 0xF0, +0x4B, 0x9C, 0x97, 0x80, 0x4C, 0xD6, 0x4E, 0x70, 0x4D, 0x7C, 0x79, 0x80, 0x4E, 0xB6, 0x30, 0x70, +0x4F, 0x5C, 0x5B, 0x80, 0x50, 0x96, 0x12, 0x70, 0x51, 0x3C, 0x3D, 0x80, 0x52, 0x75, 0xF4, 0x70, +0x53, 0x1C, 0x1F, 0x80, 0x54, 0x55, 0xD6, 0x70, 0x54, 0xFC, 0x01, 0x80, 0x56, 0x35, 0xB8, 0x70, +0x56, 0xE5, 0x1E, 0x00, 0x58, 0x1E, 0xD4, 0xF0, 0x58, 0xC5, 0x00, 0x00, 0x59, 0xFE, 0xB6, 0xF0, +0x5A, 0xA4, 0xE2, 0x00, 0x5B, 0xDE, 0x98, 0xF0, 0x5C, 0x84, 0xC4, 0x00, 0x5D, 0xBE, 0x7A, 0xF0, +0x5E, 0x64, 0xA6, 0x00, 0x5F, 0x9E, 0x5C, 0xF0, 0x60, 0x4D, 0xC2, 0x80, 0x61, 0x87, 0x79, 0x70, +0x62, 0x2D, 0xA4, 0x80, 0x63, 0x67, 0x5B, 0x70, 0x64, 0x0D, 0x86, 0x80, 0x65, 0x47, 0x3D, 0x70, +0x65, 0xED, 0x68, 0x80, 0x67, 0x27, 0x1F, 0x70, 0x67, 0xCD, 0x4A, 0x80, 0x69, 0x07, 0x01, 0x70, +0x69, 0xAD, 0x2C, 0x80, 0x6A, 0xE6, 0xE3, 0x70, 0x6B, 0x96, 0x49, 0x00, 0x6C, 0xCF, 0xFF, 0xF0, +0x6D, 0x76, 0x2B, 0x00, 0x6E, 0xAF, 0xE1, 0xF0, 0x6F, 0x56, 0x0D, 0x00, 0x70, 0x8F, 0xC3, 0xF0, +0x71, 0x35, 0xEF, 0x00, 0x72, 0x6F, 0xA5, 0xF0, 0x73, 0x15, 0xD1, 0x00, 0x74, 0x4F, 0x87, 0xF0, +0x74, 0xFE, 0xED, 0x80, 0x76, 0x38, 0xA4, 0x70, 0x76, 0xDE, 0xCF, 0x80, 0x78, 0x18, 0x86, 0x70, +0x78, 0xBE, 0xB1, 0x80, 0x79, 0xF8, 0x68, 0x70, 0x7A, 0x9E, 0x93, 0x80, 0x7B, 0xD8, 0x4A, 0x70, +0x7C, 0x7E, 0x75, 0x80, 0x7D, 0xB8, 0x2C, 0x70, 0x7E, 0x5E, 0x57, 0x80, 0x7F, 0x98, 0x0E, 0x70, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, +0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x08, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x0C, 0xFF, 0xFF, 0xAB, +0xA0, 0x00, 0x08, 0x2D, 0x30, 0x30, 0x00, 0x43, 0x44, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x45, +0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x85, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x10, 0xFF, +0xFF, 0xFF, 0xFF, 0xD5, 0xFB, 0x81, 0x80, 0x00, 0x00, 0x00, 0x00, 0x04, 0x61, 0x0B, 0x80, 0x00, +0x00, 0x00, 0x00, 0x05, 0x50, 0xEE, 0x70, 0x00, 0x00, 0x00, 0x00, 0x06, 0x40, 0xED, 0x80, 0x00, +0x00, 0x00, 0x00, 0x07, 0x30, 0xD0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x08, 0x20, 0xCF, 0x80, 0x00, +0x00, 0x00, 0x00, 0x09, 0x10, 0xB2, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0xB1, 0x80, 0x00, +0x00, 0x00, 0x00, 0x0A, 0xF0, 0x94, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xE0, 0x93, 0x80, 0x00, +0x00, 0x00, 0x00, 0x0C, 0xD9, 0xB0, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x0D, 0xC0, 0x75, 0x80, 0x00, +0x00, 0x00, 0x00, 0x0E, 0xB9, 0x92, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xA9, 0x92, 0x00, 0x00, +0x00, 0x00, 0x00, 0x10, 0x99, 0x74, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x11, 0x89, 0x74, 0x00, 0x00, +0x00, 0x00, 0x00, 0x12, 0x79, 0x56, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x56, 0x00, 0x00, +0x00, 0x00, 0x00, 0x14, 0x59, 0x38, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x15, 0x49, 0x38, 0x00, 0x00, +0x00, 0x00, 0x00, 0x16, 0x39, 0x1A, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x17, 0x29, 0x1A, 0x00, 0x00, +0x00, 0x00, 0x00, 0x18, 0x22, 0x37, 0x70, 0x00, 0x00, 0x00, 0x00, 0x19, 0x08, 0xFC, 0x00, 0x00, +0x00, 0x00, 0x00, 0x1A, 0x02, 0x19, 0x70, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xF2, 0x18, 0x80, 0x00, +0x00, 0x00, 0x00, 0x1B, 0xE1, 0xFB, 0x70, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xD1, 0xFA, 0x80, 0x00, +0x00, 0x00, 0x00, 0x1D, 0xC1, 0xDD, 0x70, 0x00, 0x00, 0x00, 0x00, 0x1E, 0xB1, 0xDC, 0x80, 0x00, +0x00, 0x00, 0x00, 0x1F, 0xA1, 0xBF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x20, 0x76, 0x0F, 0x00, 0x00, +0x00, 0x00, 0x00, 0x21, 0x81, 0xA1, 0x70, 0x00, 0x00, 0x00, 0x00, 0x22, 0x55, 0xF1, 0x00, 0x00, +0x00, 0x00, 0x00, 0x23, 0x6A, 0xBD, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x24, 0x35, 0xD3, 0x00, 0x00, +0x00, 0x00, 0x00, 0x25, 0x4A, 0x9F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x26, 0x15, 0xB5, 0x00, 0x00, +0x00, 0x00, 0x00, 0x27, 0x2A, 0x81, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x27, 0xFE, 0xD1, 0x80, 0x00, +0x00, 0x00, 0x00, 0x29, 0x0A, 0x63, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x29, 0xDE, 0xB3, 0x80, 0x00, +0x00, 0x00, 0x00, 0x2A, 0xEA, 0x45, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xBE, 0x95, 0x80, 0x00, +0x00, 0x00, 0x00, 0x2C, 0xD3, 0x62, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x9E, 0x77, 0x80, 0x00, +0x00, 0x00, 0x00, 0x2E, 0xB3, 0x44, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x7E, 0x59, 0x80, 0x00, +0x00, 0x00, 0x00, 0x30, 0x93, 0x26, 0x70, 0x00, 0x00, 0x00, 0x00, 0x31, 0x67, 0x76, 0x00, 0x00, +0x00, 0x00, 0x00, 0x32, 0x73, 0x08, 0x70, 0x00, 0x00, 0x00, 0x00, 0x33, 0x47, 0x58, 0x00, 0x00, +0x00, 0x00, 0x00, 0x34, 0x52, 0xEA, 0x70, 0x00, 0x00, 0x00, 0x00, 0x35, 0x27, 0x3A, 0x00, 0x00, +0x00, 0x00, 0x00, 0x36, 0x32, 0xCC, 0x70, 0x00, 0x00, 0x00, 0x00, 0x37, 0x07, 0x1C, 0x00, 0x00, +0x00, 0x00, 0x00, 0x38, 0x1B, 0xE8, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x38, 0xE6, 0xFE, 0x00, 0x00, +0x00, 0x00, 0x00, 0x39, 0xFB, 0xCA, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xC6, 0xE0, 0x00, 0x00, +0x00, 0x00, 0x00, 0x3B, 0xDB, 0xAC, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xAF, 0xFC, 0x80, 0x00, +0x00, 0x00, 0x00, 0x3D, 0xBB, 0x8E, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x8F, 0xDE, 0x80, 0x00, +0x00, 0x00, 0x00, 0x3F, 0x9B, 0x70, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x40, 0x6F, 0xC0, 0x80, 0x00, +0x00, 0x00, 0x00, 0x41, 0x84, 0x8D, 0x70, 0x00, 0x00, 0x00, 0x00, 0x42, 0x4F, 0xA2, 0x80, 0x00, +0x00, 0x00, 0x00, 0x43, 0x64, 0x6F, 0x70, 0x00, 0x00, 0x00, 0x00, 0x44, 0x2F, 0x84, 0x80, 0x00, +0x00, 0x00, 0x00, 0x45, 0x44, 0x51, 0x70, 0x00, 0x00, 0x00, 0x00, 0x45, 0xF3, 0xB7, 0x00, 0x00, +0x00, 0x00, 0x00, 0x47, 0x2D, 0x6D, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x47, 0xD3, 0x99, 0x00, 0x00, +0x00, 0x00, 0x00, 0x49, 0x0D, 0x4F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x49, 0xB3, 0x7B, 0x00, 0x00, +0x00, 0x00, 0x00, 0x4A, 0xED, 0x31, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x4B, 0x9C, 0x97, 0x80, 0x00, +0x00, 0x00, 0x00, 0x4C, 0xD6, 0x4E, 0x70, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x7C, 0x79, 0x80, 0x00, +0x00, 0x00, 0x00, 0x4E, 0xB6, 0x30, 0x70, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x5C, 0x5B, 0x80, 0x00, +0x00, 0x00, 0x00, 0x50, 0x96, 0x12, 0x70, 0x00, 0x00, 0x00, 0x00, 0x51, 0x3C, 0x3D, 0x80, 0x00, +0x00, 0x00, 0x00, 0x52, 0x75, 0xF4, 0x70, 0x00, 0x00, 0x00, 0x00, 0x53, 0x1C, 0x1F, 0x80, 0x00, +0x00, 0x00, 0x00, 0x54, 0x55, 0xD6, 0x70, 0x00, 0x00, 0x00, 0x00, 0x54, 0xFC, 0x01, 0x80, 0x00, +0x00, 0x00, 0x00, 0x56, 0x35, 0xB8, 0x70, 0x00, 0x00, 0x00, 0x00, 0x56, 0xE5, 0x1E, 0x00, 0x00, +0x00, 0x00, 0x00, 0x58, 0x1E, 0xD4, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x58, 0xC5, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x59, 0xFE, 0xB6, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xA4, 0xE2, 0x00, 0x00, +0x00, 0x00, 0x00, 0x5B, 0xDE, 0x98, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x5C, 0x84, 0xC4, 0x00, 0x00, +0x00, 0x00, 0x00, 0x5D, 0xBE, 0x7A, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x64, 0xA6, 0x00, 0x00, +0x00, 0x00, 0x00, 0x5F, 0x9E, 0x5C, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x60, 0x4D, 0xC2, 0x80, 0x00, +0x00, 0x00, 0x00, 0x61, 0x87, 0x79, 0x70, 0x00, 0x00, 0x00, 0x00, 0x62, 0x2D, 0xA4, 0x80, 0x00, +0x00, 0x00, 0x00, 0x63, 0x67, 0x5B, 0x70, 0x00, 0x00, 0x00, 0x00, 0x64, 0x0D, 0x86, 0x80, 0x00, +0x00, 0x00, 0x00, 0x65, 0x47, 0x3D, 0x70, 0x00, 0x00, 0x00, 0x00, 0x65, 0xED, 0x68, 0x80, 0x00, +0x00, 0x00, 0x00, 0x67, 0x27, 0x1F, 0x70, 0x00, 0x00, 0x00, 0x00, 0x67, 0xCD, 0x4A, 0x80, 0x00, +0x00, 0x00, 0x00, 0x69, 0x07, 0x01, 0x70, 0x00, 0x00, 0x00, 0x00, 0x69, 0xAD, 0x2C, 0x80, 0x00, +0x00, 0x00, 0x00, 0x6A, 0xE6, 0xE3, 0x70, 0x00, 0x00, 0x00, 0x00, 0x6B, 0x96, 0x49, 0x00, 0x00, +0x00, 0x00, 0x00, 0x6C, 0xCF, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x76, 0x2B, 0x00, 0x00, +0x00, 0x00, 0x00, 0x6E, 0xAF, 0xE1, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x56, 0x0D, 0x00, 0x00, +0x00, 0x00, 0x00, 0x70, 0x8F, 0xC3, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x71, 0x35, 0xEF, 0x00, 0x00, +0x00, 0x00, 0x00, 0x72, 0x6F, 0xA5, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x73, 0x15, 0xD1, 0x00, 0x00, +0x00, 0x00, 0x00, 0x74, 0x4F, 0x87, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x74, 0xFE, 0xED, 0x80, 0x00, +0x00, 0x00, 0x00, 0x76, 0x38, 0xA4, 0x70, 0x00, 0x00, 0x00, 0x00, 0x76, 0xDE, 0xCF, 0x80, 0x00, +0x00, 0x00, 0x00, 0x78, 0x18, 0x86, 0x70, 0x00, 0x00, 0x00, 0x00, 0x78, 0xBE, 0xB1, 0x80, 0x00, +0x00, 0x00, 0x00, 0x79, 0xF8, 0x68, 0x70, 0x00, 0x00, 0x00, 0x00, 0x7A, 0x9E, 0x93, 0x80, 0x00, +0x00, 0x00, 0x00, 0x7B, 0xD8, 0x4A, 0x70, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x7E, 0x75, 0x80, 0x00, +0x00, 0x00, 0x00, 0x7D, 0xB8, 0x2C, 0x70, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x5E, 0x57, 0x80, 0x00, +0x00, 0x00, 0x00, 0x7F, 0x98, 0x0E, 0x70, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x08, 0xFF, 0xFF, +0xB9, 0xB0, 0x00, 0x0C, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x08, 0x2D, 0x30, 0x30, 0x00, 0x43, 0x44, +0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x0A, 0x43, 0x53, 0x54, 0x36, 0x43, +0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, 0x31, 0x2E, +0x30, 0x0A, 0x00, 0xFB, 0x4E, 0x33, 0x00, 0x81, 0xF5, 0xDB, 0x00, 0x00, 0x00, 0x17, 0x43, 0x65, +0x6E, 0x74, 0x72, 0x61, 0x6C, 0x20, 0x2D, 0x20, 0x4E, 0x55, 0x20, 0x28, 0x52, 0x65, 0x73, 0x6F, +0x6C, 0x75, 0x74, 0x65, 0x29, /* America/Rio_Branco */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x42, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -39610,9 +39882,8 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x0A, 0x50, 0x53, 0x54, 0x38, 0x50, 0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, 0x31, 0x2E, 0x30, 0x0A, 0x00, 0xBA, 0xF8, 0x95, 0x00, 0x60, 0x1A, 0xDD, 0x00, 0x00, -0x00, 0x21, 0x50, 0x61, 0x63, 0x69, 0x66, 0x69, 0x63, 0x20, 0x54, 0x69, 0x6D, 0x65, 0x20, 0x55, -0x53, 0x20, 0x2D, 0x20, 0x42, 0x61, 0x6A, 0x61, 0x20, 0x43, 0x61, 0x6C, 0x69, 0x66, 0x6F, 0x72, -0x6E, 0x69, 0x61, +0x00, 0x0F, 0x42, 0x61, 0x6A, 0x61, 0x20, 0x43, 0x61, 0x6C, 0x69, 0x66, 0x6F, 0x72, 0x6E, 0x69, +0x61, /* America/Toronto */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -40061,7 +40332,7 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { 0x00, 0x00, 0x00, 0x5D, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x25, 0x80, 0x00, 0x00, 0x00, 0x9E, 0xB8, 0xCB, 0xB0, 0x9F, 0xBB, 0x23, 0xA0, 0xA0, 0xD0, 0x0C, 0xB0, 0xA1, 0xA2, 0xD2, 0x80, 0xCB, 0x89, 0x28, 0xB0, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x61, 0x34, 0x20, 0xF7, 0x2F, 0x76, 0x90, -0xF8, 0x28, 0xA2, 0x10, 0xFB, 0x1D, 0x5F, 0x10, 0x13, 0x69, 0x72, 0x20, 0x14, 0x59, 0x55, 0x10, +0xF8, 0x28, 0xA2, 0x10, 0xF8, 0xC5, 0x84, 0x90, 0x13, 0x69, 0x72, 0x20, 0x14, 0x59, 0x55, 0x10, 0x15, 0x49, 0x54, 0x20, 0x16, 0x39, 0x37, 0x10, 0x17, 0x29, 0x36, 0x20, 0x18, 0x22, 0x53, 0x90, 0x19, 0x09, 0x18, 0x20, 0x1A, 0x02, 0x35, 0x90, 0x1A, 0xF2, 0x34, 0xA0, 0x1B, 0xE2, 0x17, 0x90, 0x1C, 0xD2, 0x16, 0xA0, 0x1D, 0xC1, 0xF9, 0x90, 0x1E, 0xB1, 0xF8, 0xA0, 0x1F, 0xA1, 0xDB, 0x90, @@ -40102,7 +40373,7 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { 0xFF, 0xFF, 0xA0, 0xD0, 0x0C, 0xB0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0xA2, 0xD2, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x89, 0x28, 0xB0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x61, 0x34, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x2F, 0x76, 0x90, 0xFF, 0xFF, -0xFF, 0xFF, 0xF8, 0x28, 0xA2, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0x1D, 0x5F, 0x10, 0x00, 0x00, +0xFF, 0xFF, 0xF8, 0x28, 0xA2, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0xC5, 0x84, 0x90, 0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x72, 0x20, 0x00, 0x00, 0x00, 0x00, 0x14, 0x59, 0x55, 0x10, 0x00, 0x00, 0x00, 0x00, 0x15, 0x49, 0x54, 0x20, 0x00, 0x00, 0x00, 0x00, 0x16, 0x39, 0x37, 0x10, 0x00, 0x00, 0x00, 0x00, 0x17, 0x29, 0x36, 0x20, 0x00, 0x00, 0x00, 0x00, 0x18, 0x22, 0x53, 0x90, 0x00, 0x00, @@ -40494,131 +40765,141 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { /* America/Yellowknife */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x7A, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x19, 0xBE, 0x2A, 0x18, 0x00, -0xCB, 0x89, 0x0C, 0x90, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x61, 0x18, 0x00, 0xF7, 0x2F, 0x5A, 0x70, -0xF8, 0x28, 0x85, 0xF0, 0x13, 0x69, 0x64, 0x10, 0x14, 0x59, 0x47, 0x00, 0x15, 0x49, 0x46, 0x10, -0x16, 0x39, 0x29, 0x00, 0x17, 0x29, 0x28, 0x10, 0x18, 0x22, 0x45, 0x80, 0x19, 0x09, 0x0A, 0x10, -0x1A, 0x02, 0x27, 0x80, 0x1A, 0xF2, 0x26, 0x90, 0x1B, 0xE2, 0x09, 0x80, 0x1C, 0xD2, 0x08, 0x90, -0x1D, 0xC1, 0xEB, 0x80, 0x1E, 0xB1, 0xEA, 0x90, 0x1F, 0xA1, 0xCD, 0x80, 0x20, 0x76, 0x1D, 0x10, -0x21, 0x81, 0xAF, 0x80, 0x22, 0x55, 0xFF, 0x10, 0x23, 0x6A, 0xCC, 0x00, 0x24, 0x35, 0xE1, 0x10, -0x25, 0x4A, 0xAE, 0x00, 0x26, 0x15, 0xC3, 0x10, 0x27, 0x2A, 0x90, 0x00, 0x27, 0xFE, 0xDF, 0x90, -0x29, 0x0A, 0x72, 0x00, 0x29, 0xDE, 0xC1, 0x90, 0x2A, 0xEA, 0x54, 0x00, 0x2B, 0xBE, 0xA3, 0x90, -0x2C, 0xD3, 0x70, 0x80, 0x2D, 0x9E, 0x85, 0x90, 0x2E, 0xB3, 0x52, 0x80, 0x2F, 0x7E, 0x67, 0x90, -0x30, 0x93, 0x34, 0x80, 0x31, 0x67, 0x84, 0x10, 0x32, 0x73, 0x16, 0x80, 0x33, 0x47, 0x66, 0x10, -0x34, 0x52, 0xF8, 0x80, 0x35, 0x27, 0x48, 0x10, 0x36, 0x32, 0xDA, 0x80, 0x37, 0x07, 0x2A, 0x10, -0x38, 0x1B, 0xF7, 0x00, 0x38, 0xE7, 0x0C, 0x10, 0x39, 0xFB, 0xD9, 0x00, 0x3A, 0xC6, 0xEE, 0x10, -0x3B, 0xDB, 0xBB, 0x00, 0x3C, 0xB0, 0x0A, 0x90, 0x3D, 0xBB, 0x9D, 0x00, 0x3E, 0x8F, 0xEC, 0x90, -0x3F, 0x9B, 0x7F, 0x00, 0x40, 0x6F, 0xCE, 0x90, 0x41, 0x84, 0x9B, 0x80, 0x42, 0x4F, 0xB0, 0x90, -0x43, 0x64, 0x7D, 0x80, 0x44, 0x2F, 0x92, 0x90, 0x45, 0x44, 0x5F, 0x80, 0x45, 0xF3, 0xC5, 0x10, -0x47, 0x2D, 0x7C, 0x00, 0x47, 0xD3, 0xA7, 0x10, 0x49, 0x0D, 0x5E, 0x00, 0x49, 0xB3, 0x89, 0x10, -0x4A, 0xED, 0x40, 0x00, 0x4B, 0x9C, 0xA5, 0x90, 0x4C, 0xD6, 0x5C, 0x80, 0x4D, 0x7C, 0x87, 0x90, -0x4E, 0xB6, 0x3E, 0x80, 0x4F, 0x5C, 0x69, 0x90, 0x50, 0x96, 0x20, 0x80, 0x51, 0x3C, 0x4B, 0x90, -0x52, 0x76, 0x02, 0x80, 0x53, 0x1C, 0x2D, 0x90, 0x54, 0x55, 0xE4, 0x80, 0x54, 0xFC, 0x0F, 0x90, -0x56, 0x35, 0xC6, 0x80, 0x56, 0xE5, 0x2C, 0x10, 0x58, 0x1E, 0xE3, 0x00, 0x58, 0xC5, 0x0E, 0x10, -0x59, 0xFE, 0xC5, 0x00, 0x5A, 0xA4, 0xF0, 0x10, 0x5B, 0xDE, 0xA7, 0x00, 0x5C, 0x84, 0xD2, 0x10, -0x5D, 0xBE, 0x89, 0x00, 0x5E, 0x64, 0xB4, 0x10, 0x5F, 0x9E, 0x6B, 0x00, 0x60, 0x4D, 0xD0, 0x90, -0x61, 0x87, 0x87, 0x80, 0x62, 0x2D, 0xB2, 0x90, 0x63, 0x67, 0x69, 0x80, 0x64, 0x0D, 0x94, 0x90, -0x65, 0x47, 0x4B, 0x80, 0x65, 0xED, 0x76, 0x90, 0x67, 0x27, 0x2D, 0x80, 0x67, 0xCD, 0x58, 0x90, -0x69, 0x07, 0x0F, 0x80, 0x69, 0xAD, 0x3A, 0x90, 0x6A, 0xE6, 0xF1, 0x80, 0x6B, 0x96, 0x57, 0x10, -0x6C, 0xD0, 0x0E, 0x00, 0x6D, 0x76, 0x39, 0x10, 0x6E, 0xAF, 0xF0, 0x00, 0x6F, 0x56, 0x1B, 0x10, -0x70, 0x8F, 0xD2, 0x00, 0x71, 0x35, 0xFD, 0x10, 0x72, 0x6F, 0xB4, 0x00, 0x73, 0x15, 0xDF, 0x10, -0x74, 0x4F, 0x96, 0x00, 0x74, 0xFE, 0xFB, 0x90, 0x76, 0x38, 0xB2, 0x80, 0x76, 0xDE, 0xDD, 0x90, -0x78, 0x18, 0x94, 0x80, 0x78, 0xBE, 0xBF, 0x90, 0x79, 0xF8, 0x76, 0x80, 0x7A, 0x9E, 0xA1, 0x90, -0x7B, 0xD8, 0x58, 0x80, 0x7C, 0x7E, 0x83, 0x90, 0x7D, 0xB8, 0x3A, 0x80, 0x7E, 0x5E, 0x65, 0x90, -0x7F, 0x98, 0x1C, 0x80, 0x03, 0x01, 0x02, 0x03, 0x04, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, -0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, -0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, -0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, -0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, -0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, -0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, -0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x08, -0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x0C, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x10, 0xFF, 0xFF, 0xAB, 0xA0, -0x01, 0x15, 0x2D, 0x30, 0x30, 0x00, 0x4D, 0x57, 0x54, 0x00, 0x4D, 0x50, 0x54, 0x00, 0x4D, 0x53, -0x54, 0x00, 0x4D, 0x44, 0x44, 0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, -0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, -0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7A, 0x00, 0x00, 0x00, 0x06, 0x00, -0x00, 0x00, 0x19, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0x2A, 0x18, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, -0x89, 0x0C, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, -0x61, 0x18, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x2F, 0x5A, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, -0x28, 0x85, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x64, 0x10, 0x00, 0x00, 0x00, 0x00, 0x14, -0x59, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x49, 0x46, 0x10, 0x00, 0x00, 0x00, 0x00, 0x16, -0x39, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x29, 0x28, 0x10, 0x00, 0x00, 0x00, 0x00, 0x18, -0x22, 0x45, 0x80, 0x00, 0x00, 0x00, 0x00, 0x19, 0x09, 0x0A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1A, -0x02, 0x27, 0x80, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xF2, 0x26, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, -0xE2, 0x09, 0x80, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xD2, 0x08, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1D, -0xC1, 0xEB, 0x80, 0x00, 0x00, 0x00, 0x00, 0x1E, 0xB1, 0xEA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1F, -0xA1, 0xCD, 0x80, 0x00, 0x00, 0x00, 0x00, 0x20, 0x76, 0x1D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x21, -0x81, 0xAF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x22, 0x55, 0xFF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x23, -0x6A, 0xCC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x35, 0xE1, 0x10, 0x00, 0x00, 0x00, 0x00, 0x25, -0x4A, 0xAE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x26, 0x15, 0xC3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x27, -0x2A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0xFE, 0xDF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, -0x0A, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x29, 0xDE, 0xC1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2A, -0xEA, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xBE, 0xA3, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2C, -0xD3, 0x70, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x9E, 0x85, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2E, -0xB3, 0x52, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x7E, 0x67, 0x90, 0x00, 0x00, 0x00, 0x00, 0x30, -0x93, 0x34, 0x80, 0x00, 0x00, 0x00, 0x00, 0x31, 0x67, 0x84, 0x10, 0x00, 0x00, 0x00, 0x00, 0x32, -0x73, 0x16, 0x80, 0x00, 0x00, 0x00, 0x00, 0x33, 0x47, 0x66, 0x10, 0x00, 0x00, 0x00, 0x00, 0x34, -0x52, 0xF8, 0x80, 0x00, 0x00, 0x00, 0x00, 0x35, 0x27, 0x48, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, -0x32, 0xDA, 0x80, 0x00, 0x00, 0x00, 0x00, 0x37, 0x07, 0x2A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x38, -0x1B, 0xF7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0xE7, 0x0C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x39, -0xFB, 0xD9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xC6, 0xEE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x3B, -0xDB, 0xBB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xB0, 0x0A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3D, -0xBB, 0x9D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x8F, 0xEC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3F, -0x9B, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x6F, 0xCE, 0x90, 0x00, 0x00, 0x00, 0x00, 0x41, -0x84, 0x9B, 0x80, 0x00, 0x00, 0x00, 0x00, 0x42, 0x4F, 0xB0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x43, -0x64, 0x7D, 0x80, 0x00, 0x00, 0x00, 0x00, 0x44, 0x2F, 0x92, 0x90, 0x00, 0x00, 0x00, 0x00, 0x45, -0x44, 0x5F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x45, 0xF3, 0xC5, 0x10, 0x00, 0x00, 0x00, 0x00, 0x47, -0x2D, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0xD3, 0xA7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, -0x0D, 0x5E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0xB3, 0x89, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4A, -0xED, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4B, 0x9C, 0xA5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4C, -0xD6, 0x5C, 0x80, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x7C, 0x87, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4E, -0xB6, 0x3E, 0x80, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x5C, 0x69, 0x90, 0x00, 0x00, 0x00, 0x00, 0x50, -0x96, 0x20, 0x80, 0x00, 0x00, 0x00, 0x00, 0x51, 0x3C, 0x4B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x52, -0x76, 0x02, 0x80, 0x00, 0x00, 0x00, 0x00, 0x53, 0x1C, 0x2D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x54, -0x55, 0xE4, 0x80, 0x00, 0x00, 0x00, 0x00, 0x54, 0xFC, 0x0F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, -0x35, 0xC6, 0x80, 0x00, 0x00, 0x00, 0x00, 0x56, 0xE5, 0x2C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x58, -0x1E, 0xE3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 0xC5, 0x0E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x59, -0xFE, 0xC5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xA4, 0xF0, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5B, -0xDE, 0xA7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5C, 0x84, 0xD2, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5D, -0xBE, 0x89, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x64, 0xB4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5F, -0x9E, 0x6B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x4D, 0xD0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x61, -0x87, 0x87, 0x80, 0x00, 0x00, 0x00, 0x00, 0x62, 0x2D, 0xB2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x63, -0x67, 0x69, 0x80, 0x00, 0x00, 0x00, 0x00, 0x64, 0x0D, 0x94, 0x90, 0x00, 0x00, 0x00, 0x00, 0x65, -0x47, 0x4B, 0x80, 0x00, 0x00, 0x00, 0x00, 0x65, 0xED, 0x76, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, -0x27, 0x2D, 0x80, 0x00, 0x00, 0x00, 0x00, 0x67, 0xCD, 0x58, 0x90, 0x00, 0x00, 0x00, 0x00, 0x69, -0x07, 0x0F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x69, 0xAD, 0x3A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6A, -0xE6, 0xF1, 0x80, 0x00, 0x00, 0x00, 0x00, 0x6B, 0x96, 0x57, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6C, -0xD0, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x76, 0x39, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6E, -0xAF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x56, 0x1B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x70, -0x8F, 0xD2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x71, 0x35, 0xFD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x72, -0x6F, 0xB4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x73, 0x15, 0xDF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x74, -0x4F, 0x96, 0x00, 0x00, 0x00, 0x00, 0x00, 0x74, 0xFE, 0xFB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x76, -0x38, 0xB2, 0x80, 0x00, 0x00, 0x00, 0x00, 0x76, 0xDE, 0xDD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x78, -0x18, 0x94, 0x80, 0x00, 0x00, 0x00, 0x00, 0x78, 0xBE, 0xBF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x79, -0xF8, 0x76, 0x80, 0x00, 0x00, 0x00, 0x00, 0x7A, 0x9E, 0xA1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7B, -0xD8, 0x58, 0x80, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x7E, 0x83, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7D, -0xB8, 0x3A, 0x80, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x5E, 0x65, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7F, -0x98, 0x1C, 0x80, 0x03, 0x01, 0x02, 0x03, 0x04, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x08, 0xFF, -0xFF, 0x9D, 0x90, 0x00, 0x0C, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x10, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, -0x15, 0x2D, 0x30, 0x30, 0x00, 0x4D, 0x57, 0x54, 0x00, 0x4D, 0x50, 0x54, 0x00, 0x4D, 0x53, 0x54, -0x00, 0x4D, 0x44, 0x44, 0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, -0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0A, 0x4D, 0x53, 0x54, 0x37, 0x4D, 0x44, 0x54, 0x2C, 0x4D, -0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, 0x31, 0x2E, 0x30, 0x0A, 0x00, 0xE8, -0x9E, 0xC7, 0x00, 0x64, 0x2C, 0x88, 0x00, 0x00, 0x00, 0x17, 0x4D, 0x6F, 0x75, 0x6E, 0x74, 0x61, -0x69, 0x6E, 0x20, 0x2D, 0x20, 0x4E, 0x54, 0x20, 0x28, 0x63, 0x65, 0x6E, 0x74, 0x72, 0x61, 0x6C, -0x29, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x88, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0xBE, 0x2A, 0x18, 0x00, +0xCB, 0x89, 0x0C, 0x90, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x61, 0x18, 0x00, 0x04, 0x61, 0x19, 0x90, +0x05, 0x50, 0xFC, 0x80, 0x06, 0x40, 0xFB, 0x90, 0x07, 0x30, 0xDE, 0x80, 0x08, 0x20, 0xDD, 0x90, +0x09, 0x10, 0xC0, 0x80, 0x0A, 0x00, 0xBF, 0x90, 0x0A, 0xF0, 0xA2, 0x80, 0x0B, 0xE0, 0xA1, 0x90, +0x0C, 0xD9, 0xBF, 0x00, 0x0D, 0xC0, 0x83, 0x90, 0x0E, 0xB9, 0xA1, 0x00, 0x0F, 0xA9, 0xA0, 0x10, +0x10, 0x99, 0x83, 0x00, 0x11, 0x89, 0x82, 0x10, 0x12, 0x79, 0x65, 0x00, 0x13, 0x69, 0x64, 0x10, +0x14, 0x59, 0x47, 0x00, 0x15, 0x49, 0x46, 0x10, 0x16, 0x39, 0x29, 0x00, 0x17, 0x29, 0x28, 0x10, +0x18, 0x22, 0x45, 0x80, 0x19, 0x09, 0x0A, 0x10, 0x1A, 0x02, 0x27, 0x80, 0x1A, 0xF2, 0x26, 0x90, +0x1B, 0xE2, 0x09, 0x80, 0x1C, 0xD2, 0x08, 0x90, 0x1D, 0xC1, 0xEB, 0x80, 0x1E, 0xB1, 0xEA, 0x90, +0x1F, 0xA1, 0xCD, 0x80, 0x20, 0x76, 0x1D, 0x10, 0x21, 0x81, 0xAF, 0x80, 0x22, 0x55, 0xFF, 0x10, +0x23, 0x6A, 0xCC, 0x00, 0x24, 0x35, 0xE1, 0x10, 0x25, 0x4A, 0xAE, 0x00, 0x26, 0x15, 0xC3, 0x10, +0x27, 0x2A, 0x90, 0x00, 0x27, 0xFE, 0xDF, 0x90, 0x29, 0x0A, 0x72, 0x00, 0x29, 0xDE, 0xC1, 0x90, +0x2A, 0xEA, 0x54, 0x00, 0x2B, 0xBE, 0xA3, 0x90, 0x2C, 0xD3, 0x70, 0x80, 0x2D, 0x9E, 0x85, 0x90, +0x2E, 0xB3, 0x52, 0x80, 0x2F, 0x7E, 0x67, 0x90, 0x30, 0x93, 0x34, 0x80, 0x31, 0x67, 0x84, 0x10, +0x32, 0x73, 0x16, 0x80, 0x33, 0x47, 0x66, 0x10, 0x34, 0x52, 0xF8, 0x80, 0x35, 0x27, 0x48, 0x10, +0x36, 0x32, 0xDA, 0x80, 0x37, 0x07, 0x2A, 0x10, 0x38, 0x1B, 0xF7, 0x00, 0x38, 0xE7, 0x0C, 0x10, +0x39, 0xFB, 0xD9, 0x00, 0x3A, 0xC6, 0xEE, 0x10, 0x3B, 0xDB, 0xBB, 0x00, 0x3C, 0xB0, 0x0A, 0x90, +0x3D, 0xBB, 0x9D, 0x00, 0x3E, 0x8F, 0xEC, 0x90, 0x3F, 0x9B, 0x7F, 0x00, 0x40, 0x6F, 0xCE, 0x90, +0x41, 0x84, 0x9B, 0x80, 0x42, 0x4F, 0xB0, 0x90, 0x43, 0x64, 0x7D, 0x80, 0x44, 0x2F, 0x92, 0x90, +0x45, 0x44, 0x5F, 0x80, 0x45, 0xF3, 0xC5, 0x10, 0x47, 0x2D, 0x7C, 0x00, 0x47, 0xD3, 0xA7, 0x10, +0x49, 0x0D, 0x5E, 0x00, 0x49, 0xB3, 0x89, 0x10, 0x4A, 0xED, 0x40, 0x00, 0x4B, 0x9C, 0xA5, 0x90, +0x4C, 0xD6, 0x5C, 0x80, 0x4D, 0x7C, 0x87, 0x90, 0x4E, 0xB6, 0x3E, 0x80, 0x4F, 0x5C, 0x69, 0x90, +0x50, 0x96, 0x20, 0x80, 0x51, 0x3C, 0x4B, 0x90, 0x52, 0x76, 0x02, 0x80, 0x53, 0x1C, 0x2D, 0x90, +0x54, 0x55, 0xE4, 0x80, 0x54, 0xFC, 0x0F, 0x90, 0x56, 0x35, 0xC6, 0x80, 0x56, 0xE5, 0x2C, 0x10, +0x58, 0x1E, 0xE3, 0x00, 0x58, 0xC5, 0x0E, 0x10, 0x59, 0xFE, 0xC5, 0x00, 0x5A, 0xA4, 0xF0, 0x10, +0x5B, 0xDE, 0xA7, 0x00, 0x5C, 0x84, 0xD2, 0x10, 0x5D, 0xBE, 0x89, 0x00, 0x5E, 0x64, 0xB4, 0x10, +0x5F, 0x9E, 0x6B, 0x00, 0x60, 0x4D, 0xD0, 0x90, 0x61, 0x87, 0x87, 0x80, 0x62, 0x2D, 0xB2, 0x90, +0x63, 0x67, 0x69, 0x80, 0x64, 0x0D, 0x94, 0x90, 0x65, 0x47, 0x4B, 0x80, 0x65, 0xED, 0x76, 0x90, +0x67, 0x27, 0x2D, 0x80, 0x67, 0xCD, 0x58, 0x90, 0x69, 0x07, 0x0F, 0x80, 0x69, 0xAD, 0x3A, 0x90, +0x6A, 0xE6, 0xF1, 0x80, 0x6B, 0x96, 0x57, 0x10, 0x6C, 0xD0, 0x0E, 0x00, 0x6D, 0x76, 0x39, 0x10, +0x6E, 0xAF, 0xF0, 0x00, 0x6F, 0x56, 0x1B, 0x10, 0x70, 0x8F, 0xD2, 0x00, 0x71, 0x35, 0xFD, 0x10, +0x72, 0x6F, 0xB4, 0x00, 0x73, 0x15, 0xDF, 0x10, 0x74, 0x4F, 0x96, 0x00, 0x74, 0xFE, 0xFB, 0x90, +0x76, 0x38, 0xB2, 0x80, 0x76, 0xDE, 0xDD, 0x90, 0x78, 0x18, 0x94, 0x80, 0x78, 0xBE, 0xBF, 0x90, +0x79, 0xF8, 0x76, 0x80, 0x7A, 0x9E, 0xA1, 0x90, 0x7B, 0xD8, 0x58, 0x80, 0x7C, 0x7E, 0x83, 0x90, +0x7D, 0xB8, 0x3A, 0x80, 0x7E, 0x5E, 0x65, 0x90, 0x7F, 0x98, 0x1C, 0x80, 0x03, 0x01, 0x02, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x04, +0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x08, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x0C, 0xFF, 0xFF, 0xAB, 0xA0, +0x01, 0x10, 0x2D, 0x30, 0x30, 0x00, 0x4D, 0x57, 0x54, 0x00, 0x4D, 0x50, 0x54, 0x00, 0x4D, 0x53, +0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, +0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x88, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, +0xBE, 0x2A, 0x18, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x89, 0x0C, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, +0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x61, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, +0x04, 0x61, 0x19, 0x90, 0x00, 0x00, 0x00, 0x00, 0x05, 0x50, 0xFC, 0x80, 0x00, 0x00, 0x00, 0x00, +0x06, 0x40, 0xFB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x07, 0x30, 0xDE, 0x80, 0x00, 0x00, 0x00, 0x00, +0x08, 0x20, 0xDD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x09, 0x10, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, +0x0A, 0x00, 0xBF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xF0, 0xA2, 0x80, 0x00, 0x00, 0x00, 0x00, +0x0B, 0xE0, 0xA1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xD9, 0xBF, 0x00, 0x00, 0x00, 0x00, 0x00, +0x0D, 0xC0, 0x83, 0x90, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xB9, 0xA1, 0x00, 0x00, 0x00, 0x00, 0x00, +0x0F, 0xA9, 0xA0, 0x10, 0x00, 0x00, 0x00, 0x00, 0x10, 0x99, 0x83, 0x00, 0x00, 0x00, 0x00, 0x00, +0x11, 0x89, 0x82, 0x10, 0x00, 0x00, 0x00, 0x00, 0x12, 0x79, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, +0x13, 0x69, 0x64, 0x10, 0x00, 0x00, 0x00, 0x00, 0x14, 0x59, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, +0x15, 0x49, 0x46, 0x10, 0x00, 0x00, 0x00, 0x00, 0x16, 0x39, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, +0x17, 0x29, 0x28, 0x10, 0x00, 0x00, 0x00, 0x00, 0x18, 0x22, 0x45, 0x80, 0x00, 0x00, 0x00, 0x00, +0x19, 0x09, 0x0A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x02, 0x27, 0x80, 0x00, 0x00, 0x00, 0x00, +0x1A, 0xF2, 0x26, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xE2, 0x09, 0x80, 0x00, 0x00, 0x00, 0x00, +0x1C, 0xD2, 0x08, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xC1, 0xEB, 0x80, 0x00, 0x00, 0x00, 0x00, +0x1E, 0xB1, 0xEA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xA1, 0xCD, 0x80, 0x00, 0x00, 0x00, 0x00, +0x20, 0x76, 0x1D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x21, 0x81, 0xAF, 0x80, 0x00, 0x00, 0x00, 0x00, +0x22, 0x55, 0xFF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x23, 0x6A, 0xCC, 0x00, 0x00, 0x00, 0x00, 0x00, +0x24, 0x35, 0xE1, 0x10, 0x00, 0x00, 0x00, 0x00, 0x25, 0x4A, 0xAE, 0x00, 0x00, 0x00, 0x00, 0x00, +0x26, 0x15, 0xC3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x27, 0x2A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, +0x27, 0xFE, 0xDF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, 0x0A, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, +0x29, 0xDE, 0xC1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xEA, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, +0x2B, 0xBE, 0xA3, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xD3, 0x70, 0x80, 0x00, 0x00, 0x00, 0x00, +0x2D, 0x9E, 0x85, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2E, 0xB3, 0x52, 0x80, 0x00, 0x00, 0x00, 0x00, +0x2F, 0x7E, 0x67, 0x90, 0x00, 0x00, 0x00, 0x00, 0x30, 0x93, 0x34, 0x80, 0x00, 0x00, 0x00, 0x00, +0x31, 0x67, 0x84, 0x10, 0x00, 0x00, 0x00, 0x00, 0x32, 0x73, 0x16, 0x80, 0x00, 0x00, 0x00, 0x00, +0x33, 0x47, 0x66, 0x10, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0xF8, 0x80, 0x00, 0x00, 0x00, 0x00, +0x35, 0x27, 0x48, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0xDA, 0x80, 0x00, 0x00, 0x00, 0x00, +0x37, 0x07, 0x2A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0xF7, 0x00, 0x00, 0x00, 0x00, 0x00, +0x38, 0xE7, 0x0C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0xD9, 0x00, 0x00, 0x00, 0x00, 0x00, +0x3A, 0xC6, 0xEE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0xBB, 0x00, 0x00, 0x00, 0x00, 0x00, +0x3C, 0xB0, 0x0A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x9D, 0x00, 0x00, 0x00, 0x00, 0x00, +0x3E, 0x8F, 0xEC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, +0x40, 0x6F, 0xCE, 0x90, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x9B, 0x80, 0x00, 0x00, 0x00, 0x00, +0x42, 0x4F, 0xB0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x7D, 0x80, 0x00, 0x00, 0x00, 0x00, +0x44, 0x2F, 0x92, 0x90, 0x00, 0x00, 0x00, 0x00, 0x45, 0x44, 0x5F, 0x80, 0x00, 0x00, 0x00, 0x00, +0x45, 0xF3, 0xC5, 0x10, 0x00, 0x00, 0x00, 0x00, 0x47, 0x2D, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, +0x47, 0xD3, 0xA7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, 0x0D, 0x5E, 0x00, 0x00, 0x00, 0x00, 0x00, +0x49, 0xB3, 0x89, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xED, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, +0x4B, 0x9C, 0xA5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4C, 0xD6, 0x5C, 0x80, 0x00, 0x00, 0x00, 0x00, +0x4D, 0x7C, 0x87, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4E, 0xB6, 0x3E, 0x80, 0x00, 0x00, 0x00, 0x00, +0x4F, 0x5C, 0x69, 0x90, 0x00, 0x00, 0x00, 0x00, 0x50, 0x96, 0x20, 0x80, 0x00, 0x00, 0x00, 0x00, +0x51, 0x3C, 0x4B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x52, 0x76, 0x02, 0x80, 0x00, 0x00, 0x00, 0x00, +0x53, 0x1C, 0x2D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x54, 0x55, 0xE4, 0x80, 0x00, 0x00, 0x00, 0x00, +0x54, 0xFC, 0x0F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, 0x35, 0xC6, 0x80, 0x00, 0x00, 0x00, 0x00, +0x56, 0xE5, 0x2C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x58, 0x1E, 0xE3, 0x00, 0x00, 0x00, 0x00, 0x00, +0x58, 0xC5, 0x0E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x59, 0xFE, 0xC5, 0x00, 0x00, 0x00, 0x00, 0x00, +0x5A, 0xA4, 0xF0, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5B, 0xDE, 0xA7, 0x00, 0x00, 0x00, 0x00, 0x00, +0x5C, 0x84, 0xD2, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5D, 0xBE, 0x89, 0x00, 0x00, 0x00, 0x00, 0x00, +0x5E, 0x64, 0xB4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x9E, 0x6B, 0x00, 0x00, 0x00, 0x00, 0x00, +0x60, 0x4D, 0xD0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x61, 0x87, 0x87, 0x80, 0x00, 0x00, 0x00, 0x00, +0x62, 0x2D, 0xB2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x63, 0x67, 0x69, 0x80, 0x00, 0x00, 0x00, 0x00, +0x64, 0x0D, 0x94, 0x90, 0x00, 0x00, 0x00, 0x00, 0x65, 0x47, 0x4B, 0x80, 0x00, 0x00, 0x00, 0x00, +0x65, 0xED, 0x76, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, 0x27, 0x2D, 0x80, 0x00, 0x00, 0x00, 0x00, +0x67, 0xCD, 0x58, 0x90, 0x00, 0x00, 0x00, 0x00, 0x69, 0x07, 0x0F, 0x80, 0x00, 0x00, 0x00, 0x00, +0x69, 0xAD, 0x3A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xE6, 0xF1, 0x80, 0x00, 0x00, 0x00, 0x00, +0x6B, 0x96, 0x57, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xD0, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, +0x6D, 0x76, 0x39, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6E, 0xAF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, +0x6F, 0x56, 0x1B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x70, 0x8F, 0xD2, 0x00, 0x00, 0x00, 0x00, 0x00, +0x71, 0x35, 0xFD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x72, 0x6F, 0xB4, 0x00, 0x00, 0x00, 0x00, 0x00, +0x73, 0x15, 0xDF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x74, 0x4F, 0x96, 0x00, 0x00, 0x00, 0x00, 0x00, +0x74, 0xFE, 0xFB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x76, 0x38, 0xB2, 0x80, 0x00, 0x00, 0x00, 0x00, +0x76, 0xDE, 0xDD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x78, 0x18, 0x94, 0x80, 0x00, 0x00, 0x00, 0x00, +0x78, 0xBE, 0xBF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x79, 0xF8, 0x76, 0x80, 0x00, 0x00, 0x00, 0x00, +0x7A, 0x9E, 0xA1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7B, 0xD8, 0x58, 0x80, 0x00, 0x00, 0x00, 0x00, +0x7C, 0x7E, 0x83, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7D, 0xB8, 0x3A, 0x80, 0x00, 0x00, 0x00, 0x00, +0x7E, 0x5E, 0x65, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x98, 0x1C, 0x80, 0x03, 0x01, 0x02, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x04, +0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x08, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x0C, 0xFF, 0xFF, 0xAB, 0xA0, +0x01, 0x10, 0x2D, 0x30, 0x30, 0x00, 0x4D, 0x57, 0x54, 0x00, 0x4D, 0x50, 0x54, 0x00, 0x4D, 0x53, +0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, +0x0A, 0x4D, 0x53, 0x54, 0x37, 0x4D, 0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, +0x4D, 0x31, 0x31, 0x2E, 0x31, 0x2E, 0x30, 0x0A, 0x00, 0xE8, 0x9E, 0xC7, 0x00, 0x64, 0x2C, 0x88, +0x00, 0x00, 0x00, 0x17, 0x4D, 0x6F, 0x75, 0x6E, 0x74, 0x61, 0x69, 0x6E, 0x20, 0x2D, 0x20, 0x4E, +0x54, 0x20, 0x28, 0x63, 0x65, 0x6E, 0x74, 0x72, 0x61, 0x6C, 0x29, /* Antarctica/Casey */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x41, 0x51, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -44387,28 +44668,30 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { /* Asia/Kuala_Lumpur */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4D, 0x59, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x20, 0x80, 0x00, 0x00, 0x00, 0x86, 0x83, 0x85, 0xA3, 0xBA, 0x67, 0x4E, 0x90, 0xC0, 0x0A, 0xE4, 0x60, 0xCA, 0xB3, 0xE5, 0x60, -0xCB, 0x91, 0x5F, 0x08, 0xD2, 0x48, 0x6D, 0xF0, 0x16, 0x91, 0xF5, 0x08, 0x01, 0x02, 0x03, 0x04, +0xCB, 0x91, 0x5F, 0x08, 0xD2, 0x48, 0x6D, 0xF0, 0x16, 0x91, 0xEE, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x05, 0x07, 0x00, 0x00, 0x5F, 0x56, 0x00, 0x00, 0x00, 0x00, 0x61, 0x5D, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x08, 0x00, 0x00, 0x67, 0x20, 0x01, 0x0C, 0x00, 0x00, 0x67, 0x20, 0x00, 0x0C, 0x00, 0x00, 0x69, 0x78, 0x00, 0x12, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x18, 0x00, 0x00, 0x70, 0x80, 0x00, 0x1C, 0x4C, 0x4D, 0x54, 0x00, 0x53, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x37, 0x00, 0x2B, 0x30, 0x37, 0x32, 0x30, 0x00, 0x2B, 0x30, 0x37, 0x33, 0x30, 0x00, 0x2B, 0x30, 0x39, 0x00, -0x2B, 0x30, 0x38, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x2B, 0x30, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x01, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0x7E, 0x36, 0x55, 0xAA, 0xFF, 0xFF, 0xFF, 0xFF, 0x86, 0x83, 0x85, 0xA3, 0xFF, 0xFF, 0xFF, 0xFF, 0xBA, 0x67, 0x4E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x0A, 0xE4, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0xB3, 0xE5, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x91, 0x5F, 0x08, -0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x48, 0x6D, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x91, 0xF5, 0x08, +0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x48, 0x6D, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x91, 0xEE, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x05, 0x07, 0x00, 0x00, 0x5F, 0x56, 0x00, 0x00, 0x00, 0x00, 0x61, 0x5D, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x08, 0x00, 0x00, 0x67, 0x20, 0x01, 0x0C, 0x00, 0x00, 0x67, 0x20, 0x00, 0x0C, 0x00, 0x00, 0x69, 0x78, 0x00, 0x12, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x18, 0x00, 0x00, 0x70, 0x80, 0x00, 0x1C, 0x4C, 0x4D, 0x54, 0x00, 0x53, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x37, 0x00, 0x2B, 0x30, 0x37, 0x32, 0x30, 0x00, 0x2B, 0x30, 0x37, 0x33, 0x30, 0x00, -0x2B, 0x30, 0x39, 0x00, 0x2B, 0x30, 0x38, 0x00, 0x0A, 0x3C, 0x2B, 0x30, 0x38, 0x3E, 0x2D, 0x38, +0x2B, 0x30, 0x39, 0x00, 0x2B, 0x30, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x0A, 0x3C, 0x2B, 0x30, 0x38, 0x3E, 0x2D, 0x38, 0x0A, 0x00, 0x8E, 0x29, 0x3A, 0x01, 0xAD, 0xD7, 0x10, 0x00, 0x00, 0x00, 0x14, 0x4D, 0x61, 0x6C, 0x61, 0x79, 0x73, 0x69, 0x61, 0x20, 0x28, 0x70, 0x65, 0x6E, 0x69, 0x6E, 0x73, 0x75, 0x6C, 0x61, 0x29, @@ -45665,28 +45948,30 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { /* Asia/Singapore */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x53, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x20, 0x80, 0x00, 0x00, 0x00, 0x86, 0x83, 0x85, 0xA3, 0xBA, 0x67, 0x4E, 0x90, 0xC0, 0x0A, 0xE4, 0x60, 0xCA, 0xB3, 0xE5, 0x60, -0xCB, 0x91, 0x5F, 0x08, 0xD2, 0x48, 0x6D, 0xF0, 0x16, 0x91, 0xF5, 0x08, 0x01, 0x02, 0x03, 0x04, +0xCB, 0x91, 0x5F, 0x08, 0xD2, 0x48, 0x6D, 0xF0, 0x16, 0x91, 0xEE, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x05, 0x07, 0x00, 0x00, 0x61, 0x5D, 0x00, 0x00, 0x00, 0x00, 0x61, 0x5D, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x08, 0x00, 0x00, 0x67, 0x20, 0x01, 0x0C, 0x00, 0x00, 0x67, 0x20, 0x00, 0x0C, 0x00, 0x00, 0x69, 0x78, 0x00, 0x12, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x18, 0x00, 0x00, 0x70, 0x80, 0x00, 0x1C, 0x4C, 0x4D, 0x54, 0x00, 0x53, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x37, 0x00, 0x2B, 0x30, 0x37, 0x32, 0x30, 0x00, 0x2B, 0x30, 0x37, 0x33, 0x30, 0x00, 0x2B, 0x30, 0x39, 0x00, -0x2B, 0x30, 0x38, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x2B, 0x30, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x01, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0x7E, 0x36, 0x53, 0xA3, 0xFF, 0xFF, 0xFF, 0xFF, 0x86, 0x83, 0x85, 0xA3, 0xFF, 0xFF, 0xFF, 0xFF, 0xBA, 0x67, 0x4E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x0A, 0xE4, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0xB3, 0xE5, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x91, 0x5F, 0x08, -0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x48, 0x6D, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x91, 0xF5, 0x08, +0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x48, 0x6D, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x91, 0xEE, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x05, 0x07, 0x00, 0x00, 0x61, 0x5D, 0x00, 0x00, 0x00, 0x00, 0x61, 0x5D, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x08, 0x00, 0x00, 0x67, 0x20, 0x01, 0x0C, 0x00, 0x00, 0x67, 0x20, 0x00, 0x0C, 0x00, 0x00, 0x69, 0x78, 0x00, 0x12, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x18, 0x00, 0x00, 0x70, 0x80, 0x00, 0x1C, 0x4C, 0x4D, 0x54, 0x00, 0x53, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x37, 0x00, 0x2B, 0x30, 0x37, 0x32, 0x30, 0x00, 0x2B, 0x30, 0x37, 0x33, 0x30, 0x00, -0x2B, 0x30, 0x39, 0x00, 0x2B, 0x30, 0x38, 0x00, 0x0A, 0x3C, 0x2B, 0x30, 0x38, 0x3E, 0x2D, 0x38, +0x2B, 0x30, 0x39, 0x00, 0x2B, 0x30, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x0A, 0x3C, 0x2B, 0x30, 0x38, 0x3E, 0x2D, 0x38, 0x0A, 0x00, 0x8B, 0x49, 0x8D, 0x01, 0xB1, 0x1E, 0xE8, 0x00, 0x00, 0x00, 0x00, /* Asia/Srednekolymsk */ @@ -52010,7 +52295,7 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { 0x00, 0x00, 0x00, 0x5D, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x25, 0x80, 0x00, 0x00, 0x00, 0x9E, 0xB8, 0xCB, 0xB0, 0x9F, 0xBB, 0x23, 0xA0, 0xA0, 0xD0, 0x0C, 0xB0, 0xA1, 0xA2, 0xD2, 0x80, 0xCB, 0x89, 0x28, 0xB0, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x61, 0x34, 0x20, 0xF7, 0x2F, 0x76, 0x90, -0xF8, 0x28, 0xA2, 0x10, 0xFB, 0x1D, 0x5F, 0x10, 0x13, 0x69, 0x72, 0x20, 0x14, 0x59, 0x55, 0x10, +0xF8, 0x28, 0xA2, 0x10, 0xF8, 0xC5, 0x84, 0x90, 0x13, 0x69, 0x72, 0x20, 0x14, 0x59, 0x55, 0x10, 0x15, 0x49, 0x54, 0x20, 0x16, 0x39, 0x37, 0x10, 0x17, 0x29, 0x36, 0x20, 0x18, 0x22, 0x53, 0x90, 0x19, 0x09, 0x18, 0x20, 0x1A, 0x02, 0x35, 0x90, 0x1A, 0xF2, 0x34, 0xA0, 0x1B, 0xE2, 0x17, 0x90, 0x1C, 0xD2, 0x16, 0xA0, 0x1D, 0xC1, 0xF9, 0x90, 0x1E, 0xB1, 0xF8, 0xA0, 0x1F, 0xA1, 0xDB, 0x90, @@ -52051,7 +52336,7 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { 0xFF, 0xFF, 0xA0, 0xD0, 0x0C, 0xB0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0xA2, 0xD2, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x89, 0x28, 0xB0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x61, 0x34, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x2F, 0x76, 0x90, 0xFF, 0xFF, -0xFF, 0xFF, 0xF8, 0x28, 0xA2, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0x1D, 0x5F, 0x10, 0x00, 0x00, +0xFF, 0xFF, 0xF8, 0x28, 0xA2, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0xC5, 0x84, 0x90, 0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x72, 0x20, 0x00, 0x00, 0x00, 0x00, 0x14, 0x59, 0x55, 0x10, 0x00, 0x00, 0x00, 0x00, 0x15, 0x49, 0x54, 0x20, 0x00, 0x00, 0x00, 0x00, 0x16, 0x39, 0x37, 0x10, 0x00, 0x00, 0x00, 0x00, 0x17, 0x29, 0x36, 0x20, 0x00, 0x00, 0x00, 0x00, 0x18, 0x22, 0x53, 0x90, 0x00, 0x00, @@ -67269,28 +67554,30 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { /* Singapore */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x20, 0x80, 0x00, 0x00, 0x00, 0x86, 0x83, 0x85, 0xA3, 0xBA, 0x67, 0x4E, 0x90, 0xC0, 0x0A, 0xE4, 0x60, 0xCA, 0xB3, 0xE5, 0x60, -0xCB, 0x91, 0x5F, 0x08, 0xD2, 0x48, 0x6D, 0xF0, 0x16, 0x91, 0xF5, 0x08, 0x01, 0x02, 0x03, 0x04, +0xCB, 0x91, 0x5F, 0x08, 0xD2, 0x48, 0x6D, 0xF0, 0x16, 0x91, 0xEE, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x05, 0x07, 0x00, 0x00, 0x61, 0x5D, 0x00, 0x00, 0x00, 0x00, 0x61, 0x5D, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x08, 0x00, 0x00, 0x67, 0x20, 0x01, 0x0C, 0x00, 0x00, 0x67, 0x20, 0x00, 0x0C, 0x00, 0x00, 0x69, 0x78, 0x00, 0x12, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x18, 0x00, 0x00, 0x70, 0x80, 0x00, 0x1C, 0x4C, 0x4D, 0x54, 0x00, 0x53, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x37, 0x00, 0x2B, 0x30, 0x37, 0x32, 0x30, 0x00, 0x2B, 0x30, 0x37, 0x33, 0x30, 0x00, 0x2B, 0x30, 0x39, 0x00, -0x2B, 0x30, 0x38, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x2B, 0x30, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x01, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0x7E, 0x36, 0x53, 0xA3, 0xFF, 0xFF, 0xFF, 0xFF, 0x86, 0x83, 0x85, 0xA3, 0xFF, 0xFF, 0xFF, 0xFF, 0xBA, 0x67, 0x4E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x0A, 0xE4, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0xB3, 0xE5, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x91, 0x5F, 0x08, -0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x48, 0x6D, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x91, 0xF5, 0x08, +0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x48, 0x6D, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x91, 0xEE, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x05, 0x07, 0x00, 0x00, 0x61, 0x5D, 0x00, 0x00, 0x00, 0x00, 0x61, 0x5D, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x08, 0x00, 0x00, 0x67, 0x20, 0x01, 0x0C, 0x00, 0x00, 0x67, 0x20, 0x00, 0x0C, 0x00, 0x00, 0x69, 0x78, 0x00, 0x12, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x18, 0x00, 0x00, 0x70, 0x80, 0x00, 0x1C, 0x4C, 0x4D, 0x54, 0x00, 0x53, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x37, 0x00, 0x2B, 0x30, 0x37, 0x32, 0x30, 0x00, 0x2B, 0x30, 0x37, 0x33, 0x30, 0x00, -0x2B, 0x30, 0x39, 0x00, 0x2B, 0x30, 0x38, 0x00, 0x0A, 0x3C, 0x2B, 0x30, 0x38, 0x3E, 0x2D, 0x38, +0x2B, 0x30, 0x39, 0x00, 0x2B, 0x30, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x0A, 0x3C, 0x2B, 0x30, 0x38, 0x3E, 0x2D, 0x38, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* Turkey */ @@ -69245,4 +69532,4 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { }; #endif -const timelib_tzdb timezonedb_builtin = { "2022.6", 596, timezonedb_idx_builtin, timelib_timezone_db_data_builtin }; +const timelib_tzdb timezonedb_builtin = { "2022.7", 597, timezonedb_idx_builtin, timelib_timezone_db_data_builtin }; From ebde5d3c796a6f683247c13149356ed77193ef27 Mon Sep 17 00:00:00 2001 From: Derick Rethans Date: Tue, 29 Nov 2022 18:25:17 +0000 Subject: [PATCH 03/50] Updated to version 2022.7 (2022g) --- ext/date/lib/timezonedb.h | 5131 ++++++++++++++++++++----------------- 1 file changed, 2709 insertions(+), 2422 deletions(-) diff --git a/ext/date/lib/timezonedb.h b/ext/date/lib/timezonedb.h index 671a7238e4c8b..2b4f626f23ec4 100644 --- a/ext/date/lib/timezonedb.h +++ b/ext/date/lib/timezonedb.h @@ -4,7 +4,7 @@ #endif #ifdef TIMELIB_SUPPORT_SLIM_FILE -const timelib_tzdb_index_entry timezonedb_idx_builtin[596] = { +const timelib_tzdb_index_entry timezonedb_idx_builtin[597] = { { (char*) "Africa/Abidjan" , 0x000000 }, { (char*) "Africa/Accra" , 0x00008E }, { (char*) "Africa/Addis_Ababa" , 0x000356 }, @@ -83,528 +83,529 @@ const timelib_tzdb_index_entry timezonedb_idx_builtin[596] = { { (char*) "America/Atka" , 0x0076F5 }, { (char*) "America/Bahia" , 0x007ACA }, { (char*) "America/Bahia_Banderas" , 0x007D85 }, - { (char*) "America/Barbados" , 0x008089 }, - { (char*) "America/Belem" , 0x0081AB }, - { (char*) "America/Belize" , 0x008353 }, - { (char*) "America/Blanc-Sablon" , 0x008774 }, - { (char*) "America/Boa_Vista" , 0x008869 }, - { (char*) "America/Bogota" , 0x008A2A }, - { (char*) "America/Boise" , 0x008AE9 }, - { (char*) "America/Buenos_Aires" , 0x008EFC }, - { (char*) "America/Cambridge_Bay" , 0x0091CC }, - { (char*) "America/Campo_Grande" , 0x0094EC }, - { (char*) "America/Cancun" , 0x0098C2 }, - { (char*) "America/Caracas" , 0x009B03 }, - { (char*) "America/Catamarca" , 0x009BCD }, - { (char*) "America/Cayenne" , 0x009E9D }, - { (char*) "America/Cayman" , 0x009F40 }, - { (char*) "America/Chicago" , 0x009FE1 }, - { (char*) "America/Chihuahua" , 0x00A6DB }, - { (char*) "America/Coral_Harbour" , 0x00A9C0 }, - { (char*) "America/Cordoba" , 0x00AA61 }, - { (char*) "America/Costa_Rica" , 0x00AD31 }, - { (char*) "America/Creston" , 0x00AE25 }, - { (char*) "America/Cuiaba" , 0x00AEE1 }, - { (char*) "America/Curacao" , 0x00B29E }, - { (char*) "America/Danmarkshavn" , 0x00B341 }, - { (char*) "America/Dawson" , 0x00B526 }, - { (char*) "America/Dawson_Creek" , 0x00B949 }, - { (char*) "America/Denver" , 0x00BC20 }, - { (char*) "America/Detroit" , 0x00C053 }, - { (char*) "America/Dominica" , 0x00C3FB }, - { (char*) "America/Edmonton" , 0x00C489 }, - { (char*) "America/Eirunepe" , 0x00C87C }, - { (char*) "America/El_Salvador" , 0x00CA4B }, - { (char*) "America/Ensenada" , 0x00CB07 }, - { (char*) "America/Fort_Nelson" , 0x00CF14 }, - { (char*) "America/Fort_Wayne" , 0x00D4DC }, - { (char*) "America/Fortaleza" , 0x00D6FB }, - { (char*) "America/Glace_Bay" , 0x00D911 }, - { (char*) "America/Godthab" , 0x00DCA8 }, - { (char*) "America/Goose_Bay" , 0x00DE85 }, - { (char*) "America/Grand_Turk" , 0x00E4DD }, - { (char*) "America/Grenada" , 0x00E83E }, - { (char*) "America/Guadeloupe" , 0x00E8CC }, - { (char*) "America/Guatemala" , 0x00E95A }, - { (char*) "America/Guayaquil" , 0x00EA3A }, - { (char*) "America/Guyana" , 0x00EB0B }, - { (char*) "America/Halifax" , 0x00EBCC }, - { (char*) "America/Havana" , 0x00F27E }, - { (char*) "America/Hermosillo" , 0x00F6E7 }, - { (char*) "America/Indiana/Indianapolis" , 0x00F830 }, - { (char*) "America/Indiana/Knox" , 0x00FA68 }, - { (char*) "America/Indiana/Marengo" , 0x00FE81 }, - { (char*) "America/Indiana/Petersburg" , 0x0100DB }, - { (char*) "America/Indiana/Tell_City" , 0x0103A5 }, - { (char*) "America/Indiana/Vevay" , 0x0105CF }, - { (char*) "America/Indiana/Vincennes" , 0x010766 }, - { (char*) "America/Indiana/Winamac" , 0x0109BC }, - { (char*) "America/Indianapolis" , 0x010C42 }, - { (char*) "America/Inuvik" , 0x010E61 }, - { (char*) "America/Iqaluit" , 0x01113E }, - { (char*) "America/Jamaica" , 0x01144C }, - { (char*) "America/Jujuy" , 0x0115AB }, - { (char*) "America/Juneau" , 0x011869 }, - { (char*) "America/Kentucky/Louisville" , 0x011C4F }, - { (char*) "America/Kentucky/Monticello" , 0x012153 }, - { (char*) "America/Knox_IN" , 0x01253F }, - { (char*) "America/Kralendijk" , 0x012943 }, - { (char*) "America/La_Paz" , 0x012A00 }, - { (char*) "America/Lima" , 0x012AB6 }, - { (char*) "America/Los_Angeles" , 0x012BDD }, - { (char*) "America/Louisville" , 0x0130FE }, - { (char*) "America/Lower_Princes" , 0x0135E4 }, - { (char*) "America/Maceio" , 0x0136A1 }, - { (char*) "America/Managua" , 0x0138B3 }, - { (char*) "America/Manaus" , 0x0139E6 }, - { (char*) "America/Marigot" , 0x013B9D }, - { (char*) "America/Martinique" , 0x013C5A }, - { (char*) "America/Matamoros" , 0x013D18 }, - { (char*) "America/Mazatlan" , 0x013F17 }, - { (char*) "America/Mendoza" , 0x014226 }, - { (char*) "America/Menominee" , 0x0144F6 }, - { (char*) "America/Merida" , 0x0148B6 }, - { (char*) "America/Metlakatla" , 0x014B70 }, - { (char*) "America/Mexico_City" , 0x014DE6 }, - { (char*) "America/Miquelon" , 0x015103 }, - { (char*) "America/Moncton" , 0x015335 }, - { (char*) "America/Monterrey" , 0x01592E }, - { (char*) "America/Montevideo" , 0x015C03 }, - { (char*) "America/Montreal" , 0x015FD8 }, - { (char*) "America/Montserrat" , 0x016699 }, - { (char*) "America/Nassau" , 0x016727 }, - { (char*) "America/New_York" , 0x016B21 }, - { (char*) "America/Nipigon" , 0x017211 }, - { (char*) "America/Nome" , 0x0178D2 }, - { (char*) "America/Noronha" , 0x017CBA }, - { (char*) "America/North_Dakota/Beulah" , 0x017EBA }, - { (char*) "America/North_Dakota/Center" , 0x0182EE }, - { (char*) "America/North_Dakota/New_Salem" , 0x0186ED }, - { (char*) "America/Nuuk" , 0x018AF2 }, - { (char*) "America/Ojinaga" , 0x018CE5 }, - { (char*) "America/Panama" , 0x018FCC }, - { (char*) "America/Pangnirtung" , 0x01906D }, - { (char*) "America/Paramaribo" , 0x019394 }, - { (char*) "America/Phoenix" , 0x01945B }, - { (char*) "America/Port-au-Prince" , 0x019574 }, - { (char*) "America/Port_of_Spain" , 0x0197B5 }, - { (char*) "America/Porto_Acre" , 0x019843 }, - { (char*) "America/Porto_Velho" , 0x0199F1 }, - { (char*) "America/Puerto_Rico" , 0x019B8F }, - { (char*) "America/Punta_Arenas" , 0x019C4C }, - { (char*) "America/Rainy_River" , 0x01A12E }, - { (char*) "America/Rankin_Inlet" , 0x01A648 }, - { (char*) "America/Recife" , 0x01A91E }, - { (char*) "America/Regina" , 0x01AB18 }, - { (char*) "America/Resolute" , 0x01ADB7 }, - { (char*) "America/Rio_Branco" , 0x01B08E }, - { (char*) "America/Rosario" , 0x01B240 }, - { (char*) "America/Santa_Isabel" , 0x01B510 }, - { (char*) "America/Santarem" , 0x01B91D }, - { (char*) "America/Santiago" , 0x01BACD }, - { (char*) "America/Santo_Domingo" , 0x01C035 }, - { (char*) "America/Sao_Paulo" , 0x01C17E }, - { (char*) "America/Scoresbysund" , 0x01C578 }, - { (char*) "America/Shiprock" , 0x01C780 }, - { (char*) "America/Sitka" , 0x01CB9E }, - { (char*) "America/St_Barthelemy" , 0x01CF79 }, - { (char*) "America/St_Johns" , 0x01D036 }, - { (char*) "America/St_Kitts" , 0x01D7BA }, - { (char*) "America/St_Lucia" , 0x01D848 }, - { (char*) "America/St_Thomas" , 0x01D8E9 }, - { (char*) "America/St_Vincent" , 0x01D977 }, - { (char*) "America/Swift_Current" , 0x01DA18 }, - { (char*) "America/Tegucigalpa" , 0x01DBA6 }, - { (char*) "America/Thule" , 0x01DC74 }, - { (char*) "America/Thunder_Bay" , 0x01DE55 }, - { (char*) "America/Tijuana" , 0x01E516 }, - { (char*) "America/Toronto" , 0x01E944 }, - { (char*) "America/Tortola" , 0x01F022 }, - { (char*) "America/Vancouver" , 0x01F0B0 }, - { (char*) "America/Virgin" , 0x01F607 }, - { (char*) "America/Whitehorse" , 0x01F6C4 }, - { (char*) "America/Winnipeg" , 0x01FAE7 }, - { (char*) "America/Yakutat" , 0x02001E }, - { (char*) "America/Yellowknife" , 0x0203EC }, - { (char*) "Antarctica/Casey" , 0x0206E8 }, - { (char*) "Antarctica/Davis" , 0x0207EC }, - { (char*) "Antarctica/DumontDUrville" , 0x0208C2 }, - { (char*) "Antarctica/Macquarie" , 0x020976 }, - { (char*) "Antarctica/Mawson" , 0x020D62 }, - { (char*) "Antarctica/McMurdo" , 0x020E0C }, - { (char*) "Antarctica/Palmer" , 0x02113E }, - { (char*) "Antarctica/Rothera" , 0x0214C7 }, - { (char*) "Antarctica/South_Pole" , 0x02155E }, - { (char*) "Antarctica/Syowa" , 0x02197D }, - { (char*) "Antarctica/Troll" , 0x021A13 }, - { (char*) "Antarctica/Vostok" , 0x021AD5 }, - { (char*) "Arctic/Longyearbyen" , 0x021B6C }, - { (char*) "Asia/Aden" , 0x021E39 }, - { (char*) "Asia/Almaty" , 0x021ECA }, - { (char*) "Asia/Amman" , 0x02214E }, - { (char*) "Asia/Anadyr" , 0x0224FA }, - { (char*) "Asia/Aqtau" , 0x022800 }, - { (char*) "Asia/Aqtobe" , 0x022A7F }, - { (char*) "Asia/Ashgabat" , 0x022CFF }, - { (char*) "Asia/Ashkhabad" , 0x022E82 }, - { (char*) "Asia/Atyrau" , 0x023005 }, - { (char*) "Asia/Baghdad" , 0x02328E }, - { (char*) "Asia/Bahrain" , 0x023510 }, - { (char*) "Asia/Baku" , 0x0235C9 }, - { (char*) "Asia/Bangkok" , 0x0238BD }, - { (char*) "Asia/Barnaul" , 0x023961 }, - { (char*) "Asia/Beirut" , 0x023C6C }, - { (char*) "Asia/Bishkek" , 0x023F54 }, - { (char*) "Asia/Brunei" , 0x0241CA }, - { (char*) "Asia/Calcutta" , 0x024270 }, - { (char*) "Asia/Chita" , 0x024358 }, - { (char*) "Asia/Choibalsan" , 0x024666 }, - { (char*) "Asia/Chongqing" , 0x0248EF }, - { (char*) "Asia/Chungking" , 0x024A84 }, - { (char*) "Asia/Colombo" , 0x024C19 }, - { (char*) "Asia/Dacca" , 0x024D1C }, - { (char*) "Asia/Damascus" , 0x024E0F }, - { (char*) "Asia/Dhaka" , 0x0252ED }, - { (char*) "Asia/Dili" , 0x0253E0 }, - { (char*) "Asia/Dubai" , 0x025496 }, - { (char*) "Asia/Dushanbe" , 0x025527 }, - { (char*) "Asia/Famagusta" , 0x0256A1 }, - { (char*) "Asia/Gaza" , 0x025A68 }, - { (char*) "Asia/Harbin" , 0x025F68 }, - { (char*) "Asia/Hebron" , 0x0260FD }, - { (char*) "Asia/Ho_Chi_Minh" , 0x02660E }, - { (char*) "Asia/Hong_Kong" , 0x026706 }, - { (char*) "Asia/Hovd" , 0x026A19 }, - { (char*) "Asia/Irkutsk" , 0x026CA2 }, - { (char*) "Asia/Istanbul" , 0x026FC0 }, - { (char*) "Asia/Jakarta" , 0x02747C }, - { (char*) "Asia/Jayapura" , 0x02758D }, - { (char*) "Asia/Jerusalem" , 0x02767A }, - { (char*) "Asia/Kabul" , 0x027AB8 }, - { (char*) "Asia/Kamchatka" , 0x027B63 }, - { (char*) "Asia/Karachi" , 0x027E58 }, - { (char*) "Asia/Kashgar" , 0x027F6E }, - { (char*) "Asia/Kathmandu" , 0x027FFF }, - { (char*) "Asia/Katmandu" , 0x0280AC }, - { (char*) "Asia/Khandyga" , 0x028159 }, - { (char*) "Asia/Kolkata" , 0x02848A }, - { (char*) "Asia/Krasnoyarsk" , 0x028572 }, - { (char*) "Asia/Kuala_Lumpur" , 0x02887C }, - { (char*) "Asia/Kuching" , 0x02899C }, - { (char*) "Asia/Kuwait" , 0x028AF6 }, - { (char*) "Asia/Macao" , 0x028B87 }, - { (char*) "Asia/Macau" , 0x028EAA }, - { (char*) "Asia/Magadan" , 0x0291CD }, - { (char*) "Asia/Makassar" , 0x0294D8 }, - { (char*) "Asia/Manila" , 0x0295EB }, - { (char*) "Asia/Muscat" , 0x0296E5 }, - { (char*) "Asia/Nicosia" , 0x029776 }, - { (char*) "Asia/Novokuznetsk" , 0x0299EA }, - { (char*) "Asia/Novosibirsk" , 0x029CDD }, - { (char*) "Asia/Omsk" , 0x029FEE }, - { (char*) "Asia/Oral" , 0x02A2EC }, - { (char*) "Asia/Phnom_Penh" , 0x02A578 }, - { (char*) "Asia/Pontianak" , 0x02A64C }, - { (char*) "Asia/Pyongyang" , 0x02A765 }, - { (char*) "Asia/Qatar" , 0x02A828 }, - { (char*) "Asia/Qostanay" , 0x02A8CC }, - { (char*) "Asia/Qyzylorda" , 0x02AB59 }, - { (char*) "Asia/Rangoon" , 0x02ADF2 }, - { (char*) "Asia/Riyadh" , 0x02AEB9 }, - { (char*) "Asia/Saigon" , 0x02AF4A }, - { (char*) "Asia/Sakhalin" , 0x02B042 }, - { (char*) "Asia/Samarkand" , 0x02B359 }, - { (char*) "Asia/Seoul" , 0x02B4E4 }, - { (char*) "Asia/Shanghai" , 0x02B68F }, - { (char*) "Asia/Singapore" , 0x02B830 }, - { (char*) "Asia/Srednekolymsk" , 0x02B93C }, - { (char*) "Asia/Taipei" , 0x02BC50 }, - { (char*) "Asia/Tashkent" , 0x02BE5B }, - { (char*) "Asia/Tbilisi" , 0x02BFE6 }, - { (char*) "Asia/Tehran" , 0x02C267 }, - { (char*) "Asia/Tel_Aviv" , 0x02C59F }, - { (char*) "Asia/Thimbu" , 0x02C9DD }, - { (char*) "Asia/Thimphu" , 0x02CA83 }, - { (char*) "Asia/Tokyo" , 0x02CB29 }, - { (char*) "Asia/Tomsk" , 0x02CC0A }, - { (char*) "Asia/Ujung_Pandang" , 0x02CF15 }, - { (char*) "Asia/Ulaanbaatar" , 0x02CFDF }, - { (char*) "Asia/Ulan_Bator" , 0x02D252 }, - { (char*) "Asia/Urumqi" , 0x02D4B0 }, - { (char*) "Asia/Ust-Nera" , 0x02D54E }, - { (char*) "Asia/Vientiane" , 0x02D871 }, - { (char*) "Asia/Vladivostok" , 0x02D957 }, - { (char*) "Asia/Yakutsk" , 0x02DC5C }, - { (char*) "Asia/Yangon" , 0x02DF60 }, - { (char*) "Asia/Yekaterinburg" , 0x02E027 }, - { (char*) "Asia/Yerevan" , 0x02E339 }, - { (char*) "Atlantic/Azores" , 0x02E609 }, - { (char*) "Atlantic/Bermuda" , 0x02EBC8 }, - { (char*) "Atlantic/Canary" , 0x02EFD4 }, - { (char*) "Atlantic/Cape_Verde" , 0x02F1CC }, - { (char*) "Atlantic/Faeroe" , 0x02F287 }, - { (char*) "Atlantic/Faroe" , 0x02F44C }, - { (char*) "Atlantic/Jan_Mayen" , 0x02F611 }, - { (char*) "Atlantic/Madeira" , 0x02F8DE }, - { (char*) "Atlantic/Reykjavik" , 0x02FEA6 }, - { (char*) "Atlantic/South_Georgia" , 0x0301A3 }, - { (char*) "Atlantic/St_Helena" , 0x030233 }, - { (char*) "Atlantic/Stanley" , 0x0302D4 }, - { (char*) "Australia/ACT" , 0x0305F5 }, - { (char*) "Australia/Adelaide" , 0x030989 }, - { (char*) "Australia/Brisbane" , 0x030D3D }, - { (char*) "Australia/Broken_Hill" , 0x030E81 }, - { (char*) "Australia/Canberra" , 0x031256 }, - { (char*) "Australia/Currie" , 0x0315EA }, - { (char*) "Australia/Darwin" , 0x0319E1 }, - { (char*) "Australia/Eucla" , 0x031AE9 }, - { (char*) "Australia/Hobart" , 0x031C48 }, - { (char*) "Australia/LHI" , 0x032047 }, - { (char*) "Australia/Lindeman" , 0x032307 }, - { (char*) "Australia/Lord_Howe" , 0x032477 }, - { (char*) "Australia/Melbourne" , 0x032747 }, - { (char*) "Australia/North" , 0x032AE3 }, - { (char*) "Australia/NSW" , 0x032BD9 }, - { (char*) "Australia/Perth" , 0x032F6D }, - { (char*) "Australia/Queensland" , 0x0330C9 }, - { (char*) "Australia/South" , 0x0331F6 }, - { (char*) "Australia/Sydney" , 0x03359B }, - { (char*) "Australia/Tasmania" , 0x03394B }, - { (char*) "Australia/Victoria" , 0x033D42 }, - { (char*) "Australia/West" , 0x0340D6 }, - { (char*) "Australia/Yancowinna" , 0x034214 }, - { (char*) "Brazil/Acre" , 0x0345CD }, - { (char*) "Brazil/DeNoronha" , 0x03477B }, - { (char*) "Brazil/East" , 0x03496B }, - { (char*) "Brazil/West" , 0x034D2F }, - { (char*) "Canada/Atlantic" , 0x034ED7 }, - { (char*) "Canada/Central" , 0x03556B }, - { (char*) "Canada/Eastern" , 0x035A85 }, - { (char*) "Canada/Mountain" , 0x036146 }, - { (char*) "Canada/Newfoundland" , 0x03651C }, - { (char*) "Canada/Pacific" , 0x036C7E }, - { (char*) "Canada/Saskatchewan" , 0x0371BC }, - { (char*) "Canada/Yukon" , 0x037446 }, - { (char*) "CET" , 0x037857 }, - { (char*) "Chile/Continental" , 0x037AD0 }, - { (char*) "Chile/EasterIsland" , 0x038026 }, - { (char*) "CST6CDT" , 0x0384C8 }, - { (char*) "Cuba" , 0x03888B }, - { (char*) "EET" , 0x038CF4 }, - { (char*) "Egypt" , 0x038EF1 }, - { (char*) "Eire" , 0x0393F9 }, - { (char*) "EST" , 0x0399DD }, - { (char*) "EST5EDT" , 0x039A58 }, - { (char*) "Etc/GMT" , 0x039E1B }, - { (char*) "Etc/GMT+0" , 0x039E96 }, - { (char*) "Etc/GMT+1" , 0x039F11 }, - { (char*) "Etc/GMT+10" , 0x039F8E }, - { (char*) "Etc/GMT+11" , 0x03A00C }, - { (char*) "Etc/GMT+12" , 0x03A08A }, - { (char*) "Etc/GMT+2" , 0x03A108 }, - { (char*) "Etc/GMT+3" , 0x03A185 }, - { (char*) "Etc/GMT+4" , 0x03A202 }, - { (char*) "Etc/GMT+5" , 0x03A27F }, - { (char*) "Etc/GMT+6" , 0x03A2FC }, - { (char*) "Etc/GMT+7" , 0x03A379 }, - { (char*) "Etc/GMT+8" , 0x03A3F6 }, - { (char*) "Etc/GMT+9" , 0x03A473 }, - { (char*) "Etc/GMT-0" , 0x03A4F0 }, - { (char*) "Etc/GMT-1" , 0x03A56B }, - { (char*) "Etc/GMT-10" , 0x03A5E9 }, - { (char*) "Etc/GMT-11" , 0x03A668 }, - { (char*) "Etc/GMT-12" , 0x03A6E7 }, - { (char*) "Etc/GMT-13" , 0x03A766 }, - { (char*) "Etc/GMT-14" , 0x03A7E5 }, - { (char*) "Etc/GMT-2" , 0x03A864 }, - { (char*) "Etc/GMT-3" , 0x03A8E2 }, - { (char*) "Etc/GMT-4" , 0x03A960 }, - { (char*) "Etc/GMT-5" , 0x03A9DE }, - { (char*) "Etc/GMT-6" , 0x03AA5C }, - { (char*) "Etc/GMT-7" , 0x03AADA }, - { (char*) "Etc/GMT-8" , 0x03AB58 }, - { (char*) "Etc/GMT-9" , 0x03ABD6 }, - { (char*) "Etc/GMT0" , 0x03AC54 }, - { (char*) "Etc/Greenwich" , 0x03ACCF }, - { (char*) "Etc/UCT" , 0x03AD4A }, - { (char*) "Etc/Universal" , 0x03ADC5 }, - { (char*) "Etc/UTC" , 0x03AE40 }, - { (char*) "Etc/Zulu" , 0x03AEBB }, - { (char*) "Europe/Amsterdam" , 0x03AF36 }, - { (char*) "Europe/Andorra" , 0x03B371 }, - { (char*) "Europe/Astrakhan" , 0x03B502 }, - { (char*) "Europe/Athens" , 0x03B7F6 }, - { (char*) "Europe/Belfast" , 0x03BAAC }, - { (char*) "Europe/Belgrade" , 0x03C0F7 }, - { (char*) "Europe/Berlin" , 0x03C2E1 }, - { (char*) "Europe/Bratislava" , 0x03C5C2 }, - { (char*) "Europe/Brussels" , 0x03C8A1 }, - { (char*) "Europe/Bucharest" , 0x03CCFC }, - { (char*) "Europe/Budapest" , 0x03CF9D }, - { (char*) "Europe/Busingen" , 0x03D2A7 }, - { (char*) "Europe/Chisinau" , 0x03D4AC }, - { (char*) "Europe/Copenhagen" , 0x03D7AB }, - { (char*) "Europe/Dublin" , 0x03DA26 }, - { (char*) "Europe/Gibraltar" , 0x03E00A }, - { (char*) "Europe/Guernsey" , 0x03E4DA }, - { (char*) "Europe/Helsinki" , 0x03EB31 }, - { (char*) "Europe/Isle_of_Man" , 0x03ED1E }, - { (char*) "Europe/Istanbul" , 0x03F369 }, - { (char*) "Europe/Jersey" , 0x03F825 }, - { (char*) "Europe/Kaliningrad" , 0x03FE7C }, - { (char*) "Europe/Kiev" , 0x040224 }, - { (char*) "Europe/Kirov" , 0x04045E }, - { (char*) "Europe/Kyiv" , 0x040745 }, - { (char*) "Europe/Lisbon" , 0x040993 }, - { (char*) "Europe/Ljubljana" , 0x040F60 }, - { (char*) "Europe/London" , 0x04114A }, - { (char*) "Europe/Luxembourg" , 0x041795 }, - { (char*) "Europe/Madrid" , 0x041BE0 }, - { (char*) "Europe/Malta" , 0x041F7D }, - { (char*) "Europe/Mariehamn" , 0x042329 }, - { (char*) "Europe/Minsk" , 0x042516 }, - { (char*) "Europe/Monaco" , 0x04284A }, - { (char*) "Europe/Moscow" , 0x042CB0 }, - { (char*) "Europe/Nicosia" , 0x04305C }, - { (char*) "Europe/Oslo" , 0x0432BD }, - { (char*) "Europe/Paris" , 0x04356D }, - { (char*) "Europe/Podgorica" , 0x0439CA }, - { (char*) "Europe/Prague" , 0x043BB4 }, - { (char*) "Europe/Riga" , 0x043E93 }, - { (char*) "Europe/Rome" , 0x044155 }, - { (char*) "Europe/Samara" , 0x044514 }, - { (char*) "Europe/San_Marino" , 0x044815 }, - { (char*) "Europe/Sarajevo" , 0x044BD4 }, - { (char*) "Europe/Saratov" , 0x044DBE }, - { (char*) "Europe/Simferopol" , 0x0450B0 }, - { (char*) "Europe/Skopje" , 0x045423 }, - { (char*) "Europe/Sofia" , 0x04560D }, - { (char*) "Europe/Stockholm" , 0x045869 }, - { (char*) "Europe/Tallinn" , 0x045A66 }, - { (char*) "Europe/Tirane" , 0x045D15 }, - { (char*) "Europe/Tiraspol" , 0x045F7D }, - { (char*) "Europe/Ulyanovsk" , 0x04627C }, - { (char*) "Europe/Uzhgorod" , 0x046592 }, - { (char*) "Europe/Vaduz" , 0x0467CC }, - { (char*) "Europe/Vatican" , 0x0469B6 }, - { (char*) "Europe/Vienna" , 0x046D75 }, - { (char*) "Europe/Vilnius" , 0x047013 }, - { (char*) "Europe/Volgograd" , 0x0472C3 }, - { (char*) "Europe/Warsaw" , 0x0475C0 }, - { (char*) "Europe/Zagreb" , 0x047967 }, - { (char*) "Europe/Zaporozhye" , 0x047B51 }, - { (char*) "Europe/Zurich" , 0x047D8B }, - { (char*) "Factory" , 0x047F88 }, - { (char*) "GB" , 0x048005 }, - { (char*) "GB-Eire" , 0x048650 }, - { (char*) "GMT" , 0x048C9B }, - { (char*) "GMT+0" , 0x048D16 }, - { (char*) "GMT-0" , 0x048D91 }, - { (char*) "GMT0" , 0x048E0C }, - { (char*) "Greenwich" , 0x048E87 }, - { (char*) "Hongkong" , 0x048F02 }, - { (char*) "HST" , 0x049215 }, - { (char*) "Iceland" , 0x049291 }, - { (char*) "Indian/Antananarivo" , 0x04931F }, - { (char*) "Indian/Chagos" , 0x0493CB }, - { (char*) "Indian/Christmas" , 0x04946F }, - { (char*) "Indian/Cocos" , 0x049500 }, - { (char*) "Indian/Comoro" , 0x049598 }, - { (char*) "Indian/Kerguelen" , 0x049627 }, - { (char*) "Indian/Mahe" , 0x0496B8 }, - { (char*) "Indian/Maldives" , 0x049749 }, - { (char*) "Indian/Mauritius" , 0x0497ED }, - { (char*) "Indian/Mayotte" , 0x0498AC }, - { (char*) "Indian/Reunion" , 0x04993B }, - { (char*) "Iran" , 0x0499CC }, - { (char*) "Israel" , 0x049D04 }, - { (char*) "Jamaica" , 0x04A142 }, - { (char*) "Japan" , 0x04A2A1 }, - { (char*) "Kwajalein" , 0x04A382 }, - { (char*) "Libya" , 0x04A469 }, - { (char*) "MET" , 0x04A624 }, - { (char*) "Mexico/BajaNorte" , 0x04A89D }, - { (char*) "Mexico/BajaSur" , 0x04ACAA }, - { (char*) "Mexico/General" , 0x04AF84 }, - { (char*) "MST" , 0x04B295 }, - { (char*) "MST7MDT" , 0x04B310 }, - { (char*) "Navajo" , 0x04B6D3 }, - { (char*) "NZ" , 0x04BAF1 }, - { (char*) "NZ-CHAT" , 0x04BF10 }, - { (char*) "Pacific/Apia" , 0x04C244 }, - { (char*) "Pacific/Auckland" , 0x04C3E7 }, - { (char*) "Pacific/Bougainville" , 0x04C81E }, - { (char*) "Pacific/Chatham" , 0x04C8FF }, - { (char*) "Pacific/Chuuk" , 0x04CC42 }, - { (char*) "Pacific/Easter" , 0x04CD20 }, - { (char*) "Pacific/Efate" , 0x04D1CF }, - { (char*) "Pacific/Enderbury" , 0x04D331 }, - { (char*) "Pacific/Fakaofo" , 0x04D3E9 }, - { (char*) "Pacific/Fiji" , 0x04D48E }, - { (char*) "Pacific/Funafuti" , 0x04D626 }, - { (char*) "Pacific/Galapagos" , 0x04D6B8 }, - { (char*) "Pacific/Gambier" , 0x04D784 }, - { (char*) "Pacific/Guadalcanal" , 0x04D823 }, - { (char*) "Pacific/Guam" , 0x04D8B5 }, - { (char*) "Pacific/Honolulu" , 0x04DA1F }, - { (char*) "Pacific/Johnston" , 0x04DB0E }, - { (char*) "Pacific/Kanton" , 0x04DBF7 }, - { (char*) "Pacific/Kiritimati" , 0x04DCBE }, - { (char*) "Pacific/Kosrae" , 0x04DD84 }, - { (char*) "Pacific/Kwajalein" , 0x04DE88 }, - { (char*) "Pacific/Majuro" , 0x04DF78 }, - { (char*) "Pacific/Marquesas" , 0x04E07B }, - { (char*) "Pacific/Midway" , 0x04E123 }, - { (char*) "Pacific/Nauru" , 0x04E1E6 }, - { (char*) "Pacific/Niue" , 0x04E2A9 }, - { (char*) "Pacific/Norfolk" , 0x04E34F }, - { (char*) "Pacific/Noumea" , 0x04E452 }, - { (char*) "Pacific/Pago_Pago" , 0x04E524 }, - { (char*) "Pacific/Palau" , 0x04E5C2 }, - { (char*) "Pacific/Pitcairn" , 0x04E662 }, - { (char*) "Pacific/Pohnpei" , 0x04E707 }, - { (char*) "Pacific/Ponape" , 0x04E7F7 }, - { (char*) "Pacific/Port_Moresby" , 0x04E889 }, - { (char*) "Pacific/Rarotonga" , 0x04E94C }, - { (char*) "Pacific/Saipan" , 0x04EAEE }, - { (char*) "Pacific/Samoa" , 0x04EC4F }, - { (char*) "Pacific/Tahiti" , 0x04ECED }, - { (char*) "Pacific/Tarawa" , 0x04ED8D }, - { (char*) "Pacific/Tongatapu" , 0x04EE2E }, - { (char*) "Pacific/Truk" , 0x04EF27 }, - { (char*) "Pacific/Wake" , 0x04EFCD }, - { (char*) "Pacific/Wallis" , 0x04F06A }, - { (char*) "Pacific/Yap" , 0x04F0FC }, - { (char*) "Poland" , 0x04F1A2 }, - { (char*) "Portugal" , 0x04F549 }, - { (char*) "PRC" , 0x04FB03 }, - { (char*) "PST8PDT" , 0x04FC98 }, - { (char*) "ROC" , 0x05005B }, - { (char*) "ROK" , 0x050266 }, - { (char*) "Singapore" , 0x050411 }, - { (char*) "Turkey" , 0x05051D }, - { (char*) "UCT" , 0x0509D9 }, - { (char*) "Universal" , 0x050A54 }, - { (char*) "US/Alaska" , 0x050ACF }, - { (char*) "US/Aleutian" , 0x050EAC }, - { (char*) "US/Arizona" , 0x051281 }, - { (char*) "US/Central" , 0x05137D }, - { (char*) "US/East-Indiana" , 0x051A63 }, - { (char*) "US/Eastern" , 0x051C82 }, - { (char*) "US/Hawaii" , 0x05235E }, - { (char*) "US/Indiana-Starke" , 0x052447 }, - { (char*) "US/Michigan" , 0x05284B }, - { (char*) "US/Mountain" , 0x052BDA }, - { (char*) "US/Pacific" , 0x052FF8 }, - { (char*) "US/Samoa" , 0x053512 }, - { (char*) "UTC" , 0x0535B0 }, - { (char*) "W-SU" , 0x05362B }, - { (char*) "WET" , 0x0539C3 }, - { (char*) "Zulu" , 0x053BBD }, + { (char*) "America/Barbados" , 0x00807A }, + { (char*) "America/Belem" , 0x00819C }, + { (char*) "America/Belize" , 0x008344 }, + { (char*) "America/Blanc-Sablon" , 0x008765 }, + { (char*) "America/Boa_Vista" , 0x00885A }, + { (char*) "America/Bogota" , 0x008A1B }, + { (char*) "America/Boise" , 0x008ADA }, + { (char*) "America/Buenos_Aires" , 0x008EED }, + { (char*) "America/Cambridge_Bay" , 0x0091BD }, + { (char*) "America/Campo_Grande" , 0x009550 }, + { (char*) "America/Cancun" , 0x009926 }, + { (char*) "America/Caracas" , 0x009B4F }, + { (char*) "America/Catamarca" , 0x009C19 }, + { (char*) "America/Cayenne" , 0x009EE9 }, + { (char*) "America/Cayman" , 0x009F8C }, + { (char*) "America/Chicago" , 0x00A02D }, + { (char*) "America/Chihuahua" , 0x00A727 }, + { (char*) "America/Ciudad_Juarez" , 0x00A9FC }, + { (char*) "America/Coral_Harbour" , 0x00ACF2 }, + { (char*) "America/Cordoba" , 0x00AD93 }, + { (char*) "America/Costa_Rica" , 0x00B063 }, + { (char*) "America/Creston" , 0x00B157 }, + { (char*) "America/Cuiaba" , 0x00B213 }, + { (char*) "America/Curacao" , 0x00B5D0 }, + { (char*) "America/Danmarkshavn" , 0x00B673 }, + { (char*) "America/Dawson" , 0x00B858 }, + { (char*) "America/Dawson_Creek" , 0x00BC7B }, + { (char*) "America/Denver" , 0x00BF52 }, + { (char*) "America/Detroit" , 0x00C385 }, + { (char*) "America/Dominica" , 0x00C72D }, + { (char*) "America/Edmonton" , 0x00C7BB }, + { (char*) "America/Eirunepe" , 0x00CBAE }, + { (char*) "America/El_Salvador" , 0x00CD7D }, + { (char*) "America/Ensenada" , 0x00CE39 }, + { (char*) "America/Fort_Nelson" , 0x00D246 }, + { (char*) "America/Fort_Wayne" , 0x00D80E }, + { (char*) "America/Fortaleza" , 0x00DA2D }, + { (char*) "America/Glace_Bay" , 0x00DC43 }, + { (char*) "America/Godthab" , 0x00DFDA }, + { (char*) "America/Goose_Bay" , 0x00E389 }, + { (char*) "America/Grand_Turk" , 0x00E9E1 }, + { (char*) "America/Grenada" , 0x00ED42 }, + { (char*) "America/Guadeloupe" , 0x00EDD0 }, + { (char*) "America/Guatemala" , 0x00EE5E }, + { (char*) "America/Guayaquil" , 0x00EF3E }, + { (char*) "America/Guyana" , 0x00F00F }, + { (char*) "America/Halifax" , 0x00F0D0 }, + { (char*) "America/Havana" , 0x00F782 }, + { (char*) "America/Hermosillo" , 0x00FBEB }, + { (char*) "America/Indiana/Indianapolis" , 0x00FD1B }, + { (char*) "America/Indiana/Knox" , 0x00FF53 }, + { (char*) "America/Indiana/Marengo" , 0x01036C }, + { (char*) "America/Indiana/Petersburg" , 0x0105C6 }, + { (char*) "America/Indiana/Tell_City" , 0x010890 }, + { (char*) "America/Indiana/Vevay" , 0x010ABA }, + { (char*) "America/Indiana/Vincennes" , 0x010C51 }, + { (char*) "America/Indiana/Winamac" , 0x010EA7 }, + { (char*) "America/Indianapolis" , 0x01112D }, + { (char*) "America/Inuvik" , 0x01134C }, + { (char*) "America/Iqaluit" , 0x01169D }, + { (char*) "America/Jamaica" , 0x011A19 }, + { (char*) "America/Jujuy" , 0x011B78 }, + { (char*) "America/Juneau" , 0x011E36 }, + { (char*) "America/Kentucky/Louisville" , 0x01221C }, + { (char*) "America/Kentucky/Monticello" , 0x012720 }, + { (char*) "America/Knox_IN" , 0x012B0C }, + { (char*) "America/Kralendijk" , 0x012F10 }, + { (char*) "America/La_Paz" , 0x012FCD }, + { (char*) "America/Lima" , 0x013083 }, + { (char*) "America/Los_Angeles" , 0x0131AA }, + { (char*) "America/Louisville" , 0x0136CB }, + { (char*) "America/Lower_Princes" , 0x013BB1 }, + { (char*) "America/Maceio" , 0x013C6E }, + { (char*) "America/Managua" , 0x013E80 }, + { (char*) "America/Manaus" , 0x013FB3 }, + { (char*) "America/Marigot" , 0x01416A }, + { (char*) "America/Martinique" , 0x014227 }, + { (char*) "America/Matamoros" , 0x0142E5 }, + { (char*) "America/Mazatlan" , 0x0144D2 }, + { (char*) "America/Mendoza" , 0x0147DE }, + { (char*) "America/Menominee" , 0x014AAE }, + { (char*) "America/Merida" , 0x014E6E }, + { (char*) "America/Metlakatla" , 0x015119 }, + { (char*) "America/Mexico_City" , 0x01538F }, + { (char*) "America/Miquelon" , 0x0156AE }, + { (char*) "America/Moncton" , 0x0158E0 }, + { (char*) "America/Monterrey" , 0x015ED9 }, + { (char*) "America/Montevideo" , 0x01619F }, + { (char*) "America/Montreal" , 0x016574 }, + { (char*) "America/Montserrat" , 0x016C35 }, + { (char*) "America/Nassau" , 0x016CC3 }, + { (char*) "America/New_York" , 0x0170BD }, + { (char*) "America/Nipigon" , 0x0177AD }, + { (char*) "America/Nome" , 0x017E6E }, + { (char*) "America/Noronha" , 0x018256 }, + { (char*) "America/North_Dakota/Beulah" , 0x018456 }, + { (char*) "America/North_Dakota/Center" , 0x01888A }, + { (char*) "America/North_Dakota/New_Salem" , 0x018C89 }, + { (char*) "America/Nuuk" , 0x01908E }, + { (char*) "America/Ojinaga" , 0x019453 }, + { (char*) "America/Panama" , 0x019740 }, + { (char*) "America/Pangnirtung" , 0x0197E1 }, + { (char*) "America/Paramaribo" , 0x019B44 }, + { (char*) "America/Phoenix" , 0x019C0B }, + { (char*) "America/Port-au-Prince" , 0x019D24 }, + { (char*) "America/Port_of_Spain" , 0x019F65 }, + { (char*) "America/Porto_Acre" , 0x019FF3 }, + { (char*) "America/Porto_Velho" , 0x01A1A1 }, + { (char*) "America/Puerto_Rico" , 0x01A33F }, + { (char*) "America/Punta_Arenas" , 0x01A3FC }, + { (char*) "America/Rainy_River" , 0x01A8DE }, + { (char*) "America/Rankin_Inlet" , 0x01ADF8 }, + { (char*) "America/Recife" , 0x01B141 }, + { (char*) "America/Regina" , 0x01B33B }, + { (char*) "America/Resolute" , 0x01B5DA }, + { (char*) "America/Rio_Branco" , 0x01B924 }, + { (char*) "America/Rosario" , 0x01BAD6 }, + { (char*) "America/Santa_Isabel" , 0x01BDA6 }, + { (char*) "America/Santarem" , 0x01C1B3 }, + { (char*) "America/Santiago" , 0x01C363 }, + { (char*) "America/Santo_Domingo" , 0x01C8CB }, + { (char*) "America/Sao_Paulo" , 0x01CA14 }, + { (char*) "America/Scoresbysund" , 0x01CE0E }, + { (char*) "America/Shiprock" , 0x01D016 }, + { (char*) "America/Sitka" , 0x01D434 }, + { (char*) "America/St_Barthelemy" , 0x01D80F }, + { (char*) "America/St_Johns" , 0x01D8CC }, + { (char*) "America/St_Kitts" , 0x01E050 }, + { (char*) "America/St_Lucia" , 0x01E0DE }, + { (char*) "America/St_Thomas" , 0x01E17F }, + { (char*) "America/St_Vincent" , 0x01E20D }, + { (char*) "America/Swift_Current" , 0x01E2AE }, + { (char*) "America/Tegucigalpa" , 0x01E43C }, + { (char*) "America/Thule" , 0x01E50A }, + { (char*) "America/Thunder_Bay" , 0x01E6EB }, + { (char*) "America/Tijuana" , 0x01EDAC }, + { (char*) "America/Toronto" , 0x01F1C8 }, + { (char*) "America/Tortola" , 0x01F8A6 }, + { (char*) "America/Vancouver" , 0x01F934 }, + { (char*) "America/Virgin" , 0x01FE8B }, + { (char*) "America/Whitehorse" , 0x01FF48 }, + { (char*) "America/Winnipeg" , 0x02036B }, + { (char*) "America/Yakutat" , 0x0208A2 }, + { (char*) "America/Yellowknife" , 0x020C70 }, + { (char*) "Antarctica/Casey" , 0x020FDF }, + { (char*) "Antarctica/Davis" , 0x0210E3 }, + { (char*) "Antarctica/DumontDUrville" , 0x0211B9 }, + { (char*) "Antarctica/Macquarie" , 0x02126D }, + { (char*) "Antarctica/Mawson" , 0x021659 }, + { (char*) "Antarctica/McMurdo" , 0x021703 }, + { (char*) "Antarctica/Palmer" , 0x021A35 }, + { (char*) "Antarctica/Rothera" , 0x021DBE }, + { (char*) "Antarctica/South_Pole" , 0x021E55 }, + { (char*) "Antarctica/Syowa" , 0x022274 }, + { (char*) "Antarctica/Troll" , 0x02230A }, + { (char*) "Antarctica/Vostok" , 0x0223CC }, + { (char*) "Arctic/Longyearbyen" , 0x022463 }, + { (char*) "Asia/Aden" , 0x022730 }, + { (char*) "Asia/Almaty" , 0x0227C1 }, + { (char*) "Asia/Amman" , 0x022A45 }, + { (char*) "Asia/Anadyr" , 0x022DF1 }, + { (char*) "Asia/Aqtau" , 0x0230F7 }, + { (char*) "Asia/Aqtobe" , 0x023376 }, + { (char*) "Asia/Ashgabat" , 0x0235F6 }, + { (char*) "Asia/Ashkhabad" , 0x023779 }, + { (char*) "Asia/Atyrau" , 0x0238FC }, + { (char*) "Asia/Baghdad" , 0x023B85 }, + { (char*) "Asia/Bahrain" , 0x023E07 }, + { (char*) "Asia/Baku" , 0x023EC0 }, + { (char*) "Asia/Bangkok" , 0x0241B4 }, + { (char*) "Asia/Barnaul" , 0x024258 }, + { (char*) "Asia/Beirut" , 0x024563 }, + { (char*) "Asia/Bishkek" , 0x02484B }, + { (char*) "Asia/Brunei" , 0x024AC1 }, + { (char*) "Asia/Calcutta" , 0x024B67 }, + { (char*) "Asia/Chita" , 0x024C4F }, + { (char*) "Asia/Choibalsan" , 0x024F5D }, + { (char*) "Asia/Chongqing" , 0x0251E6 }, + { (char*) "Asia/Chungking" , 0x02537B }, + { (char*) "Asia/Colombo" , 0x025510 }, + { (char*) "Asia/Dacca" , 0x025613 }, + { (char*) "Asia/Damascus" , 0x025706 }, + { (char*) "Asia/Dhaka" , 0x025BE4 }, + { (char*) "Asia/Dili" , 0x025CD7 }, + { (char*) "Asia/Dubai" , 0x025D8D }, + { (char*) "Asia/Dushanbe" , 0x025E1E }, + { (char*) "Asia/Famagusta" , 0x025F98 }, + { (char*) "Asia/Gaza" , 0x02635F }, + { (char*) "Asia/Harbin" , 0x02685F }, + { (char*) "Asia/Hebron" , 0x0269F4 }, + { (char*) "Asia/Ho_Chi_Minh" , 0x026F05 }, + { (char*) "Asia/Hong_Kong" , 0x026FFD }, + { (char*) "Asia/Hovd" , 0x027310 }, + { (char*) "Asia/Irkutsk" , 0x027599 }, + { (char*) "Asia/Istanbul" , 0x0278B7 }, + { (char*) "Asia/Jakarta" , 0x027D73 }, + { (char*) "Asia/Jayapura" , 0x027E84 }, + { (char*) "Asia/Jerusalem" , 0x027F71 }, + { (char*) "Asia/Kabul" , 0x0283AF }, + { (char*) "Asia/Kamchatka" , 0x02845A }, + { (char*) "Asia/Karachi" , 0x02874F }, + { (char*) "Asia/Kashgar" , 0x028865 }, + { (char*) "Asia/Kathmandu" , 0x0288F6 }, + { (char*) "Asia/Katmandu" , 0x0289A3 }, + { (char*) "Asia/Khandyga" , 0x028A50 }, + { (char*) "Asia/Kolkata" , 0x028D81 }, + { (char*) "Asia/Krasnoyarsk" , 0x028E69 }, + { (char*) "Asia/Kuala_Lumpur" , 0x029173 }, + { (char*) "Asia/Kuching" , 0x029293 }, + { (char*) "Asia/Kuwait" , 0x0293ED }, + { (char*) "Asia/Macao" , 0x02947E }, + { (char*) "Asia/Macau" , 0x0297A1 }, + { (char*) "Asia/Magadan" , 0x029AC4 }, + { (char*) "Asia/Makassar" , 0x029DCF }, + { (char*) "Asia/Manila" , 0x029EE2 }, + { (char*) "Asia/Muscat" , 0x029FDC }, + { (char*) "Asia/Nicosia" , 0x02A06D }, + { (char*) "Asia/Novokuznetsk" , 0x02A2E1 }, + { (char*) "Asia/Novosibirsk" , 0x02A5D4 }, + { (char*) "Asia/Omsk" , 0x02A8E5 }, + { (char*) "Asia/Oral" , 0x02ABE3 }, + { (char*) "Asia/Phnom_Penh" , 0x02AE6F }, + { (char*) "Asia/Pontianak" , 0x02AF43 }, + { (char*) "Asia/Pyongyang" , 0x02B05C }, + { (char*) "Asia/Qatar" , 0x02B11F }, + { (char*) "Asia/Qostanay" , 0x02B1C3 }, + { (char*) "Asia/Qyzylorda" , 0x02B450 }, + { (char*) "Asia/Rangoon" , 0x02B6E9 }, + { (char*) "Asia/Riyadh" , 0x02B7B0 }, + { (char*) "Asia/Saigon" , 0x02B841 }, + { (char*) "Asia/Sakhalin" , 0x02B939 }, + { (char*) "Asia/Samarkand" , 0x02BC50 }, + { (char*) "Asia/Seoul" , 0x02BDDB }, + { (char*) "Asia/Shanghai" , 0x02BF86 }, + { (char*) "Asia/Singapore" , 0x02C127 }, + { (char*) "Asia/Srednekolymsk" , 0x02C233 }, + { (char*) "Asia/Taipei" , 0x02C547 }, + { (char*) "Asia/Tashkent" , 0x02C752 }, + { (char*) "Asia/Tbilisi" , 0x02C8DD }, + { (char*) "Asia/Tehran" , 0x02CB5E }, + { (char*) "Asia/Tel_Aviv" , 0x02CE96 }, + { (char*) "Asia/Thimbu" , 0x02D2D4 }, + { (char*) "Asia/Thimphu" , 0x02D37A }, + { (char*) "Asia/Tokyo" , 0x02D420 }, + { (char*) "Asia/Tomsk" , 0x02D501 }, + { (char*) "Asia/Ujung_Pandang" , 0x02D80C }, + { (char*) "Asia/Ulaanbaatar" , 0x02D8D6 }, + { (char*) "Asia/Ulan_Bator" , 0x02DB49 }, + { (char*) "Asia/Urumqi" , 0x02DDA7 }, + { (char*) "Asia/Ust-Nera" , 0x02DE45 }, + { (char*) "Asia/Vientiane" , 0x02E168 }, + { (char*) "Asia/Vladivostok" , 0x02E24E }, + { (char*) "Asia/Yakutsk" , 0x02E553 }, + { (char*) "Asia/Yangon" , 0x02E857 }, + { (char*) "Asia/Yekaterinburg" , 0x02E91E }, + { (char*) "Asia/Yerevan" , 0x02EC30 }, + { (char*) "Atlantic/Azores" , 0x02EF00 }, + { (char*) "Atlantic/Bermuda" , 0x02F4BF }, + { (char*) "Atlantic/Canary" , 0x02F8CB }, + { (char*) "Atlantic/Cape_Verde" , 0x02FAC3 }, + { (char*) "Atlantic/Faeroe" , 0x02FB7E }, + { (char*) "Atlantic/Faroe" , 0x02FD43 }, + { (char*) "Atlantic/Jan_Mayen" , 0x02FF08 }, + { (char*) "Atlantic/Madeira" , 0x0301D5 }, + { (char*) "Atlantic/Reykjavik" , 0x03079D }, + { (char*) "Atlantic/South_Georgia" , 0x030A9A }, + { (char*) "Atlantic/St_Helena" , 0x030B2A }, + { (char*) "Atlantic/Stanley" , 0x030BCB }, + { (char*) "Australia/ACT" , 0x030EEC }, + { (char*) "Australia/Adelaide" , 0x031280 }, + { (char*) "Australia/Brisbane" , 0x031634 }, + { (char*) "Australia/Broken_Hill" , 0x031778 }, + { (char*) "Australia/Canberra" , 0x031B4D }, + { (char*) "Australia/Currie" , 0x031EE1 }, + { (char*) "Australia/Darwin" , 0x0322D8 }, + { (char*) "Australia/Eucla" , 0x0323E0 }, + { (char*) "Australia/Hobart" , 0x03253F }, + { (char*) "Australia/LHI" , 0x03293E }, + { (char*) "Australia/Lindeman" , 0x032BFE }, + { (char*) "Australia/Lord_Howe" , 0x032D6E }, + { (char*) "Australia/Melbourne" , 0x03303E }, + { (char*) "Australia/North" , 0x0333DA }, + { (char*) "Australia/NSW" , 0x0334D0 }, + { (char*) "Australia/Perth" , 0x033864 }, + { (char*) "Australia/Queensland" , 0x0339C0 }, + { (char*) "Australia/South" , 0x033AED }, + { (char*) "Australia/Sydney" , 0x033E92 }, + { (char*) "Australia/Tasmania" , 0x034242 }, + { (char*) "Australia/Victoria" , 0x034639 }, + { (char*) "Australia/West" , 0x0349CD }, + { (char*) "Australia/Yancowinna" , 0x034B0B }, + { (char*) "Brazil/Acre" , 0x034EC4 }, + { (char*) "Brazil/DeNoronha" , 0x035072 }, + { (char*) "Brazil/East" , 0x035262 }, + { (char*) "Brazil/West" , 0x035626 }, + { (char*) "Canada/Atlantic" , 0x0357CE }, + { (char*) "Canada/Central" , 0x035E62 }, + { (char*) "Canada/Eastern" , 0x03637C }, + { (char*) "Canada/Mountain" , 0x036A3D }, + { (char*) "Canada/Newfoundland" , 0x036E13 }, + { (char*) "Canada/Pacific" , 0x037575 }, + { (char*) "Canada/Saskatchewan" , 0x037AB3 }, + { (char*) "Canada/Yukon" , 0x037D3D }, + { (char*) "CET" , 0x03814E }, + { (char*) "Chile/Continental" , 0x0383C7 }, + { (char*) "Chile/EasterIsland" , 0x03891D }, + { (char*) "CST6CDT" , 0x038DBF }, + { (char*) "Cuba" , 0x039182 }, + { (char*) "EET" , 0x0395EB }, + { (char*) "Egypt" , 0x0397E8 }, + { (char*) "Eire" , 0x039CF0 }, + { (char*) "EST" , 0x03A2D4 }, + { (char*) "EST5EDT" , 0x03A34F }, + { (char*) "Etc/GMT" , 0x03A712 }, + { (char*) "Etc/GMT+0" , 0x03A78D }, + { (char*) "Etc/GMT+1" , 0x03A808 }, + { (char*) "Etc/GMT+10" , 0x03A885 }, + { (char*) "Etc/GMT+11" , 0x03A903 }, + { (char*) "Etc/GMT+12" , 0x03A981 }, + { (char*) "Etc/GMT+2" , 0x03A9FF }, + { (char*) "Etc/GMT+3" , 0x03AA7C }, + { (char*) "Etc/GMT+4" , 0x03AAF9 }, + { (char*) "Etc/GMT+5" , 0x03AB76 }, + { (char*) "Etc/GMT+6" , 0x03ABF3 }, + { (char*) "Etc/GMT+7" , 0x03AC70 }, + { (char*) "Etc/GMT+8" , 0x03ACED }, + { (char*) "Etc/GMT+9" , 0x03AD6A }, + { (char*) "Etc/GMT-0" , 0x03ADE7 }, + { (char*) "Etc/GMT-1" , 0x03AE62 }, + { (char*) "Etc/GMT-10" , 0x03AEE0 }, + { (char*) "Etc/GMT-11" , 0x03AF5F }, + { (char*) "Etc/GMT-12" , 0x03AFDE }, + { (char*) "Etc/GMT-13" , 0x03B05D }, + { (char*) "Etc/GMT-14" , 0x03B0DC }, + { (char*) "Etc/GMT-2" , 0x03B15B }, + { (char*) "Etc/GMT-3" , 0x03B1D9 }, + { (char*) "Etc/GMT-4" , 0x03B257 }, + { (char*) "Etc/GMT-5" , 0x03B2D5 }, + { (char*) "Etc/GMT-6" , 0x03B353 }, + { (char*) "Etc/GMT-7" , 0x03B3D1 }, + { (char*) "Etc/GMT-8" , 0x03B44F }, + { (char*) "Etc/GMT-9" , 0x03B4CD }, + { (char*) "Etc/GMT0" , 0x03B54B }, + { (char*) "Etc/Greenwich" , 0x03B5C6 }, + { (char*) "Etc/UCT" , 0x03B641 }, + { (char*) "Etc/Universal" , 0x03B6BC }, + { (char*) "Etc/UTC" , 0x03B737 }, + { (char*) "Etc/Zulu" , 0x03B7B2 }, + { (char*) "Europe/Amsterdam" , 0x03B82D }, + { (char*) "Europe/Andorra" , 0x03BC68 }, + { (char*) "Europe/Astrakhan" , 0x03BDF9 }, + { (char*) "Europe/Athens" , 0x03C0ED }, + { (char*) "Europe/Belfast" , 0x03C3A3 }, + { (char*) "Europe/Belgrade" , 0x03C9EE }, + { (char*) "Europe/Berlin" , 0x03CBD8 }, + { (char*) "Europe/Bratislava" , 0x03CEB9 }, + { (char*) "Europe/Brussels" , 0x03D198 }, + { (char*) "Europe/Bucharest" , 0x03D5F3 }, + { (char*) "Europe/Budapest" , 0x03D894 }, + { (char*) "Europe/Busingen" , 0x03DB9E }, + { (char*) "Europe/Chisinau" , 0x03DDA3 }, + { (char*) "Europe/Copenhagen" , 0x03E0A2 }, + { (char*) "Europe/Dublin" , 0x03E31D }, + { (char*) "Europe/Gibraltar" , 0x03E901 }, + { (char*) "Europe/Guernsey" , 0x03EDD1 }, + { (char*) "Europe/Helsinki" , 0x03F428 }, + { (char*) "Europe/Isle_of_Man" , 0x03F615 }, + { (char*) "Europe/Istanbul" , 0x03FC60 }, + { (char*) "Europe/Jersey" , 0x04011C }, + { (char*) "Europe/Kaliningrad" , 0x040773 }, + { (char*) "Europe/Kiev" , 0x040B1B }, + { (char*) "Europe/Kirov" , 0x040D55 }, + { (char*) "Europe/Kyiv" , 0x04103C }, + { (char*) "Europe/Lisbon" , 0x04128A }, + { (char*) "Europe/Ljubljana" , 0x041857 }, + { (char*) "Europe/London" , 0x041A41 }, + { (char*) "Europe/Luxembourg" , 0x04208C }, + { (char*) "Europe/Madrid" , 0x0424D7 }, + { (char*) "Europe/Malta" , 0x042874 }, + { (char*) "Europe/Mariehamn" , 0x042C20 }, + { (char*) "Europe/Minsk" , 0x042E0D }, + { (char*) "Europe/Monaco" , 0x043141 }, + { (char*) "Europe/Moscow" , 0x0435A7 }, + { (char*) "Europe/Nicosia" , 0x043953 }, + { (char*) "Europe/Oslo" , 0x043BB4 }, + { (char*) "Europe/Paris" , 0x043E64 }, + { (char*) "Europe/Podgorica" , 0x0442C1 }, + { (char*) "Europe/Prague" , 0x0444AB }, + { (char*) "Europe/Riga" , 0x04478A }, + { (char*) "Europe/Rome" , 0x044A4C }, + { (char*) "Europe/Samara" , 0x044E0B }, + { (char*) "Europe/San_Marino" , 0x04510C }, + { (char*) "Europe/Sarajevo" , 0x0454CB }, + { (char*) "Europe/Saratov" , 0x0456B5 }, + { (char*) "Europe/Simferopol" , 0x0459A7 }, + { (char*) "Europe/Skopje" , 0x045D1A }, + { (char*) "Europe/Sofia" , 0x045F04 }, + { (char*) "Europe/Stockholm" , 0x046160 }, + { (char*) "Europe/Tallinn" , 0x04635D }, + { (char*) "Europe/Tirane" , 0x04660C }, + { (char*) "Europe/Tiraspol" , 0x046874 }, + { (char*) "Europe/Ulyanovsk" , 0x046B73 }, + { (char*) "Europe/Uzhgorod" , 0x046E89 }, + { (char*) "Europe/Vaduz" , 0x0470C3 }, + { (char*) "Europe/Vatican" , 0x0472AD }, + { (char*) "Europe/Vienna" , 0x04766C }, + { (char*) "Europe/Vilnius" , 0x04790A }, + { (char*) "Europe/Volgograd" , 0x047BBA }, + { (char*) "Europe/Warsaw" , 0x047EB7 }, + { (char*) "Europe/Zagreb" , 0x04825E }, + { (char*) "Europe/Zaporozhye" , 0x048448 }, + { (char*) "Europe/Zurich" , 0x048682 }, + { (char*) "Factory" , 0x04887F }, + { (char*) "GB" , 0x0488FC }, + { (char*) "GB-Eire" , 0x048F47 }, + { (char*) "GMT" , 0x049592 }, + { (char*) "GMT+0" , 0x04960D }, + { (char*) "GMT-0" , 0x049688 }, + { (char*) "GMT0" , 0x049703 }, + { (char*) "Greenwich" , 0x04977E }, + { (char*) "Hongkong" , 0x0497F9 }, + { (char*) "HST" , 0x049B0C }, + { (char*) "Iceland" , 0x049B88 }, + { (char*) "Indian/Antananarivo" , 0x049C16 }, + { (char*) "Indian/Chagos" , 0x049CC2 }, + { (char*) "Indian/Christmas" , 0x049D66 }, + { (char*) "Indian/Cocos" , 0x049DF7 }, + { (char*) "Indian/Comoro" , 0x049E8F }, + { (char*) "Indian/Kerguelen" , 0x049F1E }, + { (char*) "Indian/Mahe" , 0x049FAF }, + { (char*) "Indian/Maldives" , 0x04A040 }, + { (char*) "Indian/Mauritius" , 0x04A0E4 }, + { (char*) "Indian/Mayotte" , 0x04A1A3 }, + { (char*) "Indian/Reunion" , 0x04A232 }, + { (char*) "Iran" , 0x04A2C3 }, + { (char*) "Israel" , 0x04A5FB }, + { (char*) "Jamaica" , 0x04AA39 }, + { (char*) "Japan" , 0x04AB98 }, + { (char*) "Kwajalein" , 0x04AC79 }, + { (char*) "Libya" , 0x04AD60 }, + { (char*) "MET" , 0x04AF1B }, + { (char*) "Mexico/BajaNorte" , 0x04B194 }, + { (char*) "Mexico/BajaSur" , 0x04B5A1 }, + { (char*) "Mexico/General" , 0x04B87B }, + { (char*) "MST" , 0x04BB8C }, + { (char*) "MST7MDT" , 0x04BC07 }, + { (char*) "Navajo" , 0x04BFCA }, + { (char*) "NZ" , 0x04C3E8 }, + { (char*) "NZ-CHAT" , 0x04C807 }, + { (char*) "Pacific/Apia" , 0x04CB3B }, + { (char*) "Pacific/Auckland" , 0x04CCDE }, + { (char*) "Pacific/Bougainville" , 0x04D115 }, + { (char*) "Pacific/Chatham" , 0x04D1F6 }, + { (char*) "Pacific/Chuuk" , 0x04D539 }, + { (char*) "Pacific/Easter" , 0x04D617 }, + { (char*) "Pacific/Efate" , 0x04DAC6 }, + { (char*) "Pacific/Enderbury" , 0x04DC28 }, + { (char*) "Pacific/Fakaofo" , 0x04DCE0 }, + { (char*) "Pacific/Fiji" , 0x04DD85 }, + { (char*) "Pacific/Funafuti" , 0x04DF1D }, + { (char*) "Pacific/Galapagos" , 0x04DFAF }, + { (char*) "Pacific/Gambier" , 0x04E07B }, + { (char*) "Pacific/Guadalcanal" , 0x04E11A }, + { (char*) "Pacific/Guam" , 0x04E1AC }, + { (char*) "Pacific/Honolulu" , 0x04E316 }, + { (char*) "Pacific/Johnston" , 0x04E405 }, + { (char*) "Pacific/Kanton" , 0x04E4EE }, + { (char*) "Pacific/Kiritimati" , 0x04E5B5 }, + { (char*) "Pacific/Kosrae" , 0x04E67B }, + { (char*) "Pacific/Kwajalein" , 0x04E77F }, + { (char*) "Pacific/Majuro" , 0x04E86F }, + { (char*) "Pacific/Marquesas" , 0x04E972 }, + { (char*) "Pacific/Midway" , 0x04EA1A }, + { (char*) "Pacific/Nauru" , 0x04EADD }, + { (char*) "Pacific/Niue" , 0x04EBA0 }, + { (char*) "Pacific/Norfolk" , 0x04EC46 }, + { (char*) "Pacific/Noumea" , 0x04ED49 }, + { (char*) "Pacific/Pago_Pago" , 0x04EE1B }, + { (char*) "Pacific/Palau" , 0x04EEB9 }, + { (char*) "Pacific/Pitcairn" , 0x04EF59 }, + { (char*) "Pacific/Pohnpei" , 0x04EFFE }, + { (char*) "Pacific/Ponape" , 0x04F0EE }, + { (char*) "Pacific/Port_Moresby" , 0x04F180 }, + { (char*) "Pacific/Rarotonga" , 0x04F243 }, + { (char*) "Pacific/Saipan" , 0x04F3E5 }, + { (char*) "Pacific/Samoa" , 0x04F546 }, + { (char*) "Pacific/Tahiti" , 0x04F5E4 }, + { (char*) "Pacific/Tarawa" , 0x04F684 }, + { (char*) "Pacific/Tongatapu" , 0x04F725 }, + { (char*) "Pacific/Truk" , 0x04F81E }, + { (char*) "Pacific/Wake" , 0x04F8C4 }, + { (char*) "Pacific/Wallis" , 0x04F961 }, + { (char*) "Pacific/Yap" , 0x04F9F3 }, + { (char*) "Poland" , 0x04FA99 }, + { (char*) "Portugal" , 0x04FE40 }, + { (char*) "PRC" , 0x0503FA }, + { (char*) "PST8PDT" , 0x05058F }, + { (char*) "ROC" , 0x050952 }, + { (char*) "ROK" , 0x050B5D }, + { (char*) "Singapore" , 0x050D08 }, + { (char*) "Turkey" , 0x050E14 }, + { (char*) "UCT" , 0x0512D0 }, + { (char*) "Universal" , 0x05134B }, + { (char*) "US/Alaska" , 0x0513C6 }, + { (char*) "US/Aleutian" , 0x0517A3 }, + { (char*) "US/Arizona" , 0x051B78 }, + { (char*) "US/Central" , 0x051C74 }, + { (char*) "US/East-Indiana" , 0x05235A }, + { (char*) "US/Eastern" , 0x052579 }, + { (char*) "US/Hawaii" , 0x052C55 }, + { (char*) "US/Indiana-Starke" , 0x052D3E }, + { (char*) "US/Michigan" , 0x053142 }, + { (char*) "US/Mountain" , 0x0534D1 }, + { (char*) "US/Pacific" , 0x0538EF }, + { (char*) "US/Samoa" , 0x053E09 }, + { (char*) "UTC" , 0x053EA7 }, + { (char*) "W-SU" , 0x053F22 }, + { (char*) "WET" , 0x0542BA }, + { (char*) "Zulu" , 0x0544B4 }, }; -const unsigned char timelib_timezone_db_data_builtin[343096] = { +const unsigned char timelib_timezone_db_data_builtin[345391] = { /* Africa/Abidjan */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -2853,9 +2854,8 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0x8F, 0x80, 0x00, 0x10, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x14, 0x4C, 0x4D, 0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x50, 0x53, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x0A, 0x43, 0x53, 0x54, 0x36, 0x0A, 0x00, 0xA9, 0x11, 0x40, 0x00, 0x72, 0x0F, 0x38, -0x00, 0x00, 0x00, 0x20, 0x43, 0x65, 0x6E, 0x74, 0x72, 0x61, 0x6C, 0x20, 0x54, 0x69, 0x6D, 0x65, -0x20, 0x2D, 0x20, 0x42, 0x61, 0x68, 0x69, 0x61, 0x20, 0x64, 0x65, 0x20, 0x42, 0x61, 0x6E, 0x64, -0x65, 0x72, 0x61, 0x73, +0x00, 0x00, 0x00, 0x11, 0x42, 0x61, 0x68, 0x69, 0x61, 0x20, 0x64, 0x65, 0x20, 0x42, 0x61, 0x6E, +0x64, 0x65, 0x72, 0x61, 0x73, /* America/Barbados */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -3033,7 +3033,7 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0x5E, 0x9C, 0x34, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0x98, 0x58, 0x55, 0x70, 0x00, -0x00, 0x00, 0x00, 0x2A, 0x03, 0x73, 0x50, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xBE, 0x5D, 0x40, 0x01, +0x00, 0x00, 0x00, 0x2A, 0x03, 0x73, 0x50, 0x00, 0x00, 0x00, 0x00, 0x2B, 0x74, 0x89, 0x40, 0x01, 0x03, 0x02, 0x03, 0xFF, 0xFF, 0xBA, 0x90, 0x00, 0x00, 0xFF, 0xFF, 0xBA, 0x90, 0x00, 0x04, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x08, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x34, 0x00, 0x2D, 0x30, 0x35, 0x00, 0x0A, 0x3C, 0x2D, 0x30, 0x35, @@ -3161,10 +3161,17 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x25, 0xFF, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0xF2, 0xCD, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x89, 0x0C, 0x90, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x61, 0x18, 0x00, 0xFF, -0xFF, 0xFF, 0xFF, 0xF7, 0x2F, 0x5A, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x28, 0x85, 0xF0, 0x00, +0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x61, 0x18, 0x00, 0x00, +0x00, 0x00, 0x00, 0x04, 0x61, 0x19, 0x90, 0x00, 0x00, 0x00, 0x00, 0x05, 0x50, 0xFC, 0x80, 0x00, +0x00, 0x00, 0x00, 0x06, 0x40, 0xFB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x07, 0x30, 0xDE, 0x80, 0x00, +0x00, 0x00, 0x00, 0x08, 0x20, 0xDD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x09, 0x10, 0xC0, 0x80, 0x00, +0x00, 0x00, 0x00, 0x0A, 0x00, 0xBF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xF0, 0xA2, 0x80, 0x00, +0x00, 0x00, 0x00, 0x0B, 0xE0, 0xA1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xD9, 0xBF, 0x00, 0x00, +0x00, 0x00, 0x00, 0x0D, 0xC0, 0x83, 0x90, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xB9, 0xA1, 0x00, 0x00, +0x00, 0x00, 0x00, 0x0F, 0xA9, 0xA0, 0x10, 0x00, 0x00, 0x00, 0x00, 0x10, 0x99, 0x83, 0x00, 0x00, +0x00, 0x00, 0x00, 0x11, 0x89, 0x82, 0x10, 0x00, 0x00, 0x00, 0x00, 0x12, 0x79, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x64, 0x10, 0x00, 0x00, 0x00, 0x00, 0x14, 0x59, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x49, 0x46, 0x10, 0x00, 0x00, 0x00, 0x00, 0x16, 0x39, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x29, 0x28, 0x10, 0x00, 0x00, 0x00, 0x00, 0x18, 0x22, 0x45, 0x80, 0x00, @@ -3193,20 +3200,20 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0x00, 0x00, 0x00, 0x41, 0x84, 0x9B, 0x80, 0x00, 0x00, 0x00, 0x00, 0x42, 0x4F, 0xB0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x7D, 0x80, 0x00, 0x00, 0x00, 0x00, 0x44, 0x2F, 0x92, 0x90, 0x00, 0x00, 0x00, 0x00, 0x45, 0x44, 0x5F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x45, 0xF3, 0xC5, 0x10, 0x03, -0x01, 0x02, 0x03, 0x04, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x07, 0x06, 0x08, 0x07, -0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x08, 0xFF, -0xFF, 0x9D, 0x90, 0x00, 0x0C, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x10, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, -0x15, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x19, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x1D, 0xFF, 0xFF, 0xB9, -0xB0, 0x00, 0x21, 0x2D, 0x30, 0x30, 0x00, 0x4D, 0x57, 0x54, 0x00, 0x4D, 0x50, 0x54, 0x00, 0x4D, -0x53, 0x54, 0x00, 0x4D, 0x44, 0x44, 0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, -0x43, 0x53, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x0A, 0x4D, 0x53, 0x54, 0x37, 0x4D, 0x44, 0x54, -0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, 0x31, 0x2E, 0x30, 0x0A, -0x00, 0xF2, 0xC9, 0xDC, 0x00, 0x72, 0x5C, 0x42, 0x00, 0x00, 0x00, 0x14, 0x4D, 0x6F, 0x75, 0x6E, -0x74, 0x61, 0x69, 0x6E, 0x20, 0x2D, 0x20, 0x4E, 0x55, 0x20, 0x28, 0x77, 0x65, 0x73, 0x74, 0x29, - +0x01, 0x02, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x06, 0x05, 0x07, 0x06, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x08, 0xFF, 0xFF, 0x9D, +0x90, 0x00, 0x0C, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x10, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x14, 0xFF, +0xFF, 0xAB, 0xA0, 0x00, 0x18, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x1C, 0x2D, 0x30, 0x30, 0x00, 0x4D, +0x57, 0x54, 0x00, 0x4D, 0x50, 0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x43, +0x44, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x0A, 0x4D, 0x53, 0x54, 0x37, +0x4D, 0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, 0x31, +0x2E, 0x30, 0x0A, 0x00, 0xF2, 0xC9, 0xDC, 0x00, 0x72, 0x5C, 0x42, 0x00, 0x00, 0x00, 0x14, 0x4D, +0x6F, 0x75, 0x6E, 0x74, 0x61, 0x69, 0x6E, 0x20, 0x2D, 0x20, 0x4E, 0x55, 0x20, 0x28, 0x77, 0x65, +0x73, 0x74, 0x29, /* America/Campo_Grande */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x42, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -3306,10 +3313,8 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0xFF, 0xAB, 0xA0, 0x00, 0x04, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x08, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x0C, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x10, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x45, 0x44, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x0A, 0x45, 0x53, 0x54, 0x35, -0x0A, 0x00, 0xA9, 0x7F, 0xED, 0x00, 0x8E, 0x43, 0x45, 0x00, 0x00, 0x00, 0x24, 0x45, 0x61, 0x73, -0x74, 0x65, 0x72, 0x6E, 0x20, 0x53, 0x74, 0x61, 0x6E, 0x64, 0x61, 0x72, 0x64, 0x20, 0x54, 0x69, -0x6D, 0x65, 0x20, 0x2D, 0x20, 0x51, 0x75, 0x69, 0x6E, 0x74, 0x61, 0x6E, 0x61, 0x20, 0x52, 0x6F, -0x6F, +0x0A, 0x00, 0xA9, 0x7F, 0xED, 0x00, 0x8E, 0x43, 0x45, 0x00, 0x00, 0x00, 0x0C, 0x51, 0x75, 0x69, +0x6E, 0x74, 0x61, 0x6E, 0x61, 0x20, 0x52, 0x6F, 0x6F, /* America/Caracas */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x56, 0x45, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -3558,11 +3563,60 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0x00, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x08, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x0C, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x10, 0x4C, 0x4D, 0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x0A, 0x43, 0x53, -0x54, 0x36, 0x0A, 0x00, 0xB5, 0x05, 0x25, 0x00, 0x70, 0xC9, 0xB2, 0x00, 0x00, 0x00, 0x26, 0x4D, -0x6F, 0x75, 0x6E, 0x74, 0x61, 0x69, 0x6E, 0x20, 0x54, 0x69, 0x6D, 0x65, 0x20, 0x2D, 0x20, 0x43, +0x54, 0x36, 0x0A, 0x00, 0xB5, 0x05, 0x25, 0x00, 0x70, 0xC9, 0xB2, 0x00, 0x00, 0x00, 0x16, 0x43, 0x68, 0x69, 0x68, 0x75, 0x61, 0x68, 0x75, 0x61, 0x20, 0x28, 0x6D, 0x6F, 0x73, 0x74, 0x20, 0x61, 0x72, 0x65, 0x61, 0x73, 0x29, +/* America/Ciudad_Juarez */ +0x50, 0x48, 0x50, 0x32, 0x01, 0x4D, 0x58, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0xFF, +0xFF, 0xFF, 0xFF, 0xA5, 0xB6, 0xE8, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xAF, 0xF2, 0x6E, 0xE0, 0xFF, +0xFF, 0xFF, 0xFF, 0xB6, 0x66, 0x56, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0x43, 0xD2, 0x60, 0xFF, +0xFF, 0xFF, 0xFF, 0xB8, 0x0C, 0x36, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0xFD, 0x86, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x31, 0x67, 0x76, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x73, 0x08, 0x70, 0x00, +0x00, 0x00, 0x00, 0x33, 0x47, 0x58, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0xEA, 0x70, 0x00, +0x00, 0x00, 0x00, 0x35, 0x27, 0x48, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0xDA, 0x80, 0x00, +0x00, 0x00, 0x00, 0x37, 0x07, 0x2A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0xF7, 0x00, 0x00, +0x00, 0x00, 0x00, 0x38, 0xE7, 0x0C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0xD9, 0x00, 0x00, +0x00, 0x00, 0x00, 0x3A, 0xF5, 0x12, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xB6, 0xD1, 0x00, 0x00, +0x00, 0x00, 0x00, 0x3C, 0xB0, 0x0A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x9D, 0x00, 0x00, +0x00, 0x00, 0x00, 0x3E, 0x8F, 0xEC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x7F, 0x00, 0x00, +0x00, 0x00, 0x00, 0x40, 0x6F, 0xCE, 0x90, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x9B, 0x80, 0x00, +0x00, 0x00, 0x00, 0x42, 0x4F, 0xB0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x7D, 0x80, 0x00, +0x00, 0x00, 0x00, 0x44, 0x2F, 0x92, 0x90, 0x00, 0x00, 0x00, 0x00, 0x45, 0x44, 0x5F, 0x80, 0x00, +0x00, 0x00, 0x00, 0x46, 0x0F, 0x74, 0x90, 0x00, 0x00, 0x00, 0x00, 0x47, 0x24, 0x41, 0x80, 0x00, +0x00, 0x00, 0x00, 0x47, 0xF8, 0x91, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, 0x04, 0x23, 0x80, 0x00, +0x00, 0x00, 0x00, 0x49, 0xD8, 0x73, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xE4, 0x05, 0x80, 0x00, +0x00, 0x00, 0x00, 0x4B, 0x9C, 0xA5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4C, 0xD6, 0x5C, 0x80, 0x00, +0x00, 0x00, 0x00, 0x4D, 0x7C, 0x87, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4E, 0xB6, 0x3E, 0x80, 0x00, +0x00, 0x00, 0x00, 0x4F, 0x5C, 0x69, 0x90, 0x00, 0x00, 0x00, 0x00, 0x50, 0x96, 0x20, 0x80, 0x00, +0x00, 0x00, 0x00, 0x51, 0x3C, 0x4B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x52, 0x76, 0x02, 0x80, 0x00, +0x00, 0x00, 0x00, 0x53, 0x1C, 0x2D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x54, 0x55, 0xE4, 0x80, 0x00, +0x00, 0x00, 0x00, 0x54, 0xFC, 0x0F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, 0x35, 0xC6, 0x80, 0x00, +0x00, 0x00, 0x00, 0x56, 0xE5, 0x2C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x58, 0x1E, 0xE3, 0x00, 0x00, +0x00, 0x00, 0x00, 0x58, 0xC5, 0x0E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x59, 0xFE, 0xC5, 0x00, 0x00, +0x00, 0x00, 0x00, 0x5A, 0xA4, 0xF0, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5B, 0xDE, 0xA7, 0x00, 0x00, +0x00, 0x00, 0x00, 0x5C, 0x84, 0xD2, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5D, 0xBE, 0x89, 0x00, 0x00, +0x00, 0x00, 0x00, 0x5E, 0x64, 0xB4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x9E, 0x6B, 0x00, 0x00, +0x00, 0x00, 0x00, 0x60, 0x4D, 0xD0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x61, 0x87, 0x87, 0x80, 0x00, +0x00, 0x00, 0x00, 0x62, 0x2D, 0xB2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x63, 0x5E, 0x2F, 0x00, 0x00, +0x00, 0x00, 0x00, 0x63, 0x86, 0xF1, 0x60, 0x01, 0x02, 0x01, 0x03, 0x01, 0x02, 0x04, 0x02, 0x04, +0x02, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, +0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, +0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, +0x01, 0x03, 0x02, 0x01, 0xFF, 0xFF, 0x9C, 0x2C, 0x00, 0x00, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x04, +0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x08, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x0C, 0xFF, 0xFF, 0xB9, 0xB0, +0x01, 0x10, 0x4C, 0x4D, 0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x4D, 0x44, +0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x0A, 0x4D, 0x53, 0x54, 0x37, 0x4D, 0x44, 0x54, 0x2C, 0x4D, +0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, 0x31, 0x2E, 0x30, 0x0A, 0x00, 0xB9, +0xC0, 0x15, 0x00, 0x70, 0x2D, 0x72, 0x00, 0x00, 0x00, 0x1C, 0x43, 0x68, 0x69, 0x68, 0x75, 0x61, +0x68, 0x75, 0x61, 0x20, 0x28, 0x55, 0x53, 0x20, 0x62, 0x6F, 0x72, 0x64, 0x65, 0x72, 0x20, 0x2D, +0x20, 0x77, 0x65, 0x73, 0x74, 0x29, + /* America/Coral_Harbour */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -4432,9 +4486,9 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0xFF, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0C, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x80, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x4D, 0x7C, 0x50, 0x00, 0x00, 0x00, 0x00, 0x14, 0x33, 0xFA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x15, 0x23, 0xEB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x16, 0x13, 0xDC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x17, 0x03, 0xCD, 0x90, 0x00, @@ -4451,14 +4505,43 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0x00, 0x00, 0x00, 0x2A, 0xC5, 0x07, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xB4, 0xF8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xA4, 0xE9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x94, 0xDA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x84, 0xCB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x74, 0xBC, 0x90, 0x00, -0x00, 0x00, 0x00, 0x30, 0x64, 0xAD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0xD9, 0x10, 0x01, +0x00, 0x00, 0x00, 0x30, 0x64, 0xAD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0xD9, 0x10, 0x00, +0x00, 0x00, 0x00, 0x32, 0x72, 0xB4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x33, 0x3D, 0xBB, 0x10, 0x00, +0x00, 0x00, 0x00, 0x34, 0x52, 0x96, 0x10, 0x00, 0x00, 0x00, 0x00, 0x35, 0x1D, 0x9D, 0x10, 0x00, +0x00, 0x00, 0x00, 0x36, 0x32, 0x78, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0xFD, 0x7F, 0x10, 0x00, +0x00, 0x00, 0x00, 0x38, 0x1B, 0x94, 0x90, 0x00, 0x00, 0x00, 0x00, 0x38, 0xDD, 0x61, 0x10, 0x00, +0x00, 0x00, 0x00, 0x39, 0xFB, 0x76, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xBD, 0x43, 0x10, 0x00, +0x00, 0x00, 0x00, 0x3B, 0xDB, 0x58, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xA6, 0x5F, 0x90, 0x00, +0x00, 0x00, 0x00, 0x3D, 0xBB, 0x3A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x86, 0x41, 0x90, 0x00, +0x00, 0x00, 0x00, 0x3F, 0x9B, 0x1C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x40, 0x66, 0x23, 0x90, 0x00, +0x00, 0x00, 0x00, 0x41, 0x84, 0x39, 0x10, 0x00, 0x00, 0x00, 0x00, 0x42, 0x46, 0x05, 0x90, 0x00, +0x00, 0x00, 0x00, 0x43, 0x64, 0x1B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x44, 0x25, 0xE7, 0x90, 0x00, +0x00, 0x00, 0x00, 0x45, 0x43, 0xFD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x46, 0x05, 0xC9, 0x90, 0x00, +0x00, 0x00, 0x00, 0x47, 0x23, 0xDF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x47, 0xEE, 0xE6, 0x10, 0x00, +0x00, 0x00, 0x00, 0x49, 0x03, 0xC1, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, 0xCE, 0xC8, 0x10, 0x00, +0x00, 0x00, 0x00, 0x4A, 0xE3, 0xA3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4B, 0xAE, 0xAA, 0x10, 0x00, +0x00, 0x00, 0x00, 0x4C, 0xCC, 0xBF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x8E, 0x8C, 0x10, 0x00, +0x00, 0x00, 0x00, 0x4E, 0xAC, 0xA1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x6E, 0x6E, 0x10, 0x00, +0x00, 0x00, 0x00, 0x50, 0x8C, 0x83, 0x90, 0x00, 0x00, 0x00, 0x00, 0x51, 0x57, 0x8A, 0x90, 0x00, +0x00, 0x00, 0x00, 0x52, 0x6C, 0x65, 0x90, 0x00, 0x00, 0x00, 0x00, 0x53, 0x37, 0x6C, 0x90, 0x00, +0x00, 0x00, 0x00, 0x54, 0x4C, 0x47, 0x90, 0x00, 0x00, 0x00, 0x00, 0x55, 0x17, 0x4E, 0x90, 0x00, +0x00, 0x00, 0x00, 0x56, 0x2C, 0x29, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, 0xF7, 0x30, 0x90, 0x00, +0x00, 0x00, 0x00, 0x58, 0x15, 0x46, 0x10, 0x00, 0x00, 0x00, 0x00, 0x58, 0xD7, 0x12, 0x90, 0x00, +0x00, 0x00, 0x00, 0x59, 0xF5, 0x28, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xB6, 0xF4, 0x90, 0x00, +0x00, 0x00, 0x00, 0x5B, 0xD5, 0x0A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5C, 0xA0, 0x11, 0x10, 0x00, +0x00, 0x00, 0x00, 0x5D, 0xB4, 0xEC, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x7F, 0xF3, 0x10, 0x00, +0x00, 0x00, 0x00, 0x5F, 0x94, 0xCE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x60, 0x5F, 0xD5, 0x10, 0x00, +0x00, 0x00, 0x00, 0x61, 0x7D, 0xEA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x62, 0x3F, 0xB7, 0x10, 0x00, +0x00, 0x00, 0x00, 0x63, 0x5D, 0xCC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x64, 0x1F, 0x99, 0x10, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0xFF, 0xFF, 0xCF, 0x80, 0x00, 0x00, 0xFF, 0xFF, 0xD5, 0xD0, 0x00, 0x04, 0xFF, 0xFF, 0xE3, -0xE0, 0x01, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x33, 0x00, 0x2D, 0x30, 0x32, 0x00, 0x0A, -0x3C, 0x2D, 0x30, 0x33, 0x3E, 0x33, 0x3C, 0x2D, 0x30, 0x32, 0x3E, 0x2C, 0x4D, 0x33, 0x2E, 0x35, -0x2E, 0x30, 0x2F, 0x2D, 0x32, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x2D, 0x31, -0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0xFF, 0xFF, 0xCF, 0x80, 0x00, 0x00, 0xFF, 0xFF, 0xD5, +0xD0, 0x00, 0x04, 0xFF, 0xFF, 0xE3, 0xE0, 0x01, 0x08, 0xFF, 0xFF, 0xE3, 0xE0, 0x00, 0x08, 0x4C, +0x4D, 0x54, 0x00, 0x2D, 0x30, 0x33, 0x00, 0x2D, 0x30, 0x32, 0x00, 0x0A, 0x3C, 0x2D, 0x30, 0x32, +0x3E, 0x32, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* America/Goose_Bay */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -4893,9 +4976,8 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0x00, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x08, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x0C, 0xFF, 0xFF, 0x8F, 0x80, 0x00, 0x10, 0x4C, 0x4D, 0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x50, 0x53, 0x54, 0x00, 0x0A, 0x4D, 0x53, 0x54, 0x37, 0x0A, 0x00, 0xB5, -0xAE, 0x6A, 0x00, 0x69, 0x56, 0x25, 0x00, 0x00, 0x00, 0x1F, 0x4D, 0x6F, 0x75, 0x6E, 0x74, 0x61, -0x69, 0x6E, 0x20, 0x53, 0x74, 0x61, 0x6E, 0x64, 0x61, 0x72, 0x64, 0x20, 0x54, 0x69, 0x6D, 0x65, -0x20, 0x2D, 0x20, 0x53, 0x6F, 0x6E, 0x6F, 0x72, 0x61, +0xAE, 0x6A, 0x00, 0x69, 0x56, 0x25, 0x00, 0x00, 0x00, 0x06, 0x53, 0x6F, 0x6E, 0x6F, 0x72, 0x61, + /* America/Indiana/Indianapolis */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x55, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -5280,47 +5362,55 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x15, 0xFF, -0xFF, 0xFF, 0xFF, 0xE0, 0x06, 0x4E, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x2F, 0x68, 0x80, 0xFF, -0xFF, 0xFF, 0xFF, 0xF8, 0x28, 0x94, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x89, 0x90, 0x20, 0x00, -0x00, 0x00, 0x00, 0x13, 0x69, 0x64, 0x10, 0x00, 0x00, 0x00, 0x00, 0x14, 0x59, 0x47, 0x00, 0x00, -0x00, 0x00, 0x00, 0x15, 0x49, 0x46, 0x10, 0x00, 0x00, 0x00, 0x00, 0x16, 0x39, 0x29, 0x00, 0x00, -0x00, 0x00, 0x00, 0x17, 0x29, 0x28, 0x10, 0x00, 0x00, 0x00, 0x00, 0x18, 0x22, 0x45, 0x80, 0x00, -0x00, 0x00, 0x00, 0x19, 0x09, 0x0A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x02, 0x27, 0x80, 0x00, -0x00, 0x00, 0x00, 0x1A, 0xF2, 0x26, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xE2, 0x09, 0x80, 0x00, -0x00, 0x00, 0x00, 0x1C, 0xD2, 0x08, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xC1, 0xEB, 0x80, 0x00, -0x00, 0x00, 0x00, 0x1E, 0xB1, 0xEA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xA1, 0xCD, 0x80, 0x00, -0x00, 0x00, 0x00, 0x20, 0x76, 0x1D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x21, 0x81, 0xAF, 0x80, 0x00, -0x00, 0x00, 0x00, 0x22, 0x55, 0xFF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x23, 0x6A, 0xCC, 0x00, 0x00, -0x00, 0x00, 0x00, 0x24, 0x35, 0xE1, 0x10, 0x00, 0x00, 0x00, 0x00, 0x25, 0x4A, 0xAE, 0x00, 0x00, -0x00, 0x00, 0x00, 0x26, 0x15, 0xC3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x27, 0x2A, 0x90, 0x00, 0x00, -0x00, 0x00, 0x00, 0x27, 0xFE, 0xDF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, 0x0A, 0x72, 0x00, 0x00, -0x00, 0x00, 0x00, 0x29, 0xDE, 0xC1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xEA, 0x54, 0x00, 0x00, -0x00, 0x00, 0x00, 0x2B, 0xBE, 0xA3, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xD3, 0x70, 0x80, 0x00, -0x00, 0x00, 0x00, 0x2D, 0x9E, 0x85, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2E, 0xB3, 0x52, 0x80, 0x00, -0x00, 0x00, 0x00, 0x2F, 0x7E, 0x67, 0x90, 0x00, 0x00, 0x00, 0x00, 0x30, 0x93, 0x34, 0x80, 0x00, -0x00, 0x00, 0x00, 0x31, 0x67, 0x84, 0x10, 0x00, 0x00, 0x00, 0x00, 0x32, 0x73, 0x16, 0x80, 0x00, -0x00, 0x00, 0x00, 0x33, 0x47, 0x66, 0x10, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0xF8, 0x80, 0x00, -0x00, 0x00, 0x00, 0x35, 0x27, 0x48, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0xDA, 0x80, 0x00, -0x00, 0x00, 0x00, 0x37, 0x07, 0x2A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0xF7, 0x00, 0x00, -0x00, 0x00, 0x00, 0x38, 0xE7, 0x0C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0xD9, 0x00, 0x00, -0x00, 0x00, 0x00, 0x3A, 0xC6, 0xEE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0xBB, 0x00, 0x00, -0x00, 0x00, 0x00, 0x3C, 0xB0, 0x0A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x9D, 0x00, 0x00, -0x00, 0x00, 0x00, 0x3E, 0x8F, 0xEC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x7F, 0x00, 0x00, -0x00, 0x00, 0x00, 0x40, 0x6F, 0xCE, 0x90, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x9B, 0x80, 0x00, -0x00, 0x00, 0x00, 0x42, 0x4F, 0xB0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x7D, 0x80, 0x00, -0x00, 0x00, 0x00, 0x44, 0x2F, 0x92, 0x90, 0x00, 0x00, 0x00, 0x00, 0x45, 0x44, 0x5F, 0x80, 0x00, -0x00, 0x00, 0x00, 0x45, 0xF3, 0xC5, 0x10, 0x02, 0x01, 0x02, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, -0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, -0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, -0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, -0x03, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x04, 0xFF, 0xFF, -0x8F, 0x80, 0x00, 0x09, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x0D, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x11, -0x2D, 0x30, 0x30, 0x00, 0x50, 0x44, 0x44, 0x54, 0x00, 0x50, 0x53, 0x54, 0x00, 0x4D, 0x53, 0x54, -0x00, 0x4D, 0x44, 0x54, 0x00, 0x0A, 0x4D, 0x53, 0x54, 0x37, 0x4D, 0x44, 0x54, 0x2C, 0x4D, 0x33, -0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, 0x31, 0x2E, 0x30, 0x0A, 0x00, 0xF1, 0x9F, -0x5C, 0x00, 0x46, 0x9F, 0x6D, 0x00, 0x00, 0x00, 0x14, 0x4D, 0x6F, 0x75, 0x6E, 0x74, 0x61, 0x69, -0x6E, 0x20, 0x2D, 0x20, 0x4E, 0x54, 0x20, 0x28, 0x77, 0x65, 0x73, 0x74, 0x29, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0xFF, +0xFF, 0xFF, 0xFF, 0xE0, 0x06, 0x4E, 0x80, 0x00, 0x00, 0x00, 0x00, 0x04, 0x61, 0x27, 0xA0, 0x00, +0x00, 0x00, 0x00, 0x05, 0x51, 0x0A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x06, 0x41, 0x09, 0xA0, 0x00, +0x00, 0x00, 0x00, 0x07, 0x30, 0xEC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x08, 0x20, 0xEB, 0xA0, 0x00, +0x00, 0x00, 0x00, 0x09, 0x10, 0xCE, 0x90, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0xCD, 0xA0, 0x00, +0x00, 0x00, 0x00, 0x0A, 0xF0, 0xB0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xE0, 0xAF, 0xA0, 0x00, +0x00, 0x00, 0x00, 0x0C, 0xD9, 0xCD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x0D, 0xC0, 0x91, 0xA0, 0x00, +0x00, 0x00, 0x00, 0x0E, 0xB9, 0xAF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xA9, 0xAE, 0x20, 0x00, +0x00, 0x00, 0x00, 0x10, 0x99, 0x91, 0x10, 0x00, 0x00, 0x00, 0x00, 0x11, 0x89, 0x90, 0x20, 0x00, +0x00, 0x00, 0x00, 0x12, 0x79, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x64, 0x10, 0x00, +0x00, 0x00, 0x00, 0x14, 0x59, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x49, 0x46, 0x10, 0x00, +0x00, 0x00, 0x00, 0x16, 0x39, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x29, 0x28, 0x10, 0x00, +0x00, 0x00, 0x00, 0x18, 0x22, 0x45, 0x80, 0x00, 0x00, 0x00, 0x00, 0x19, 0x09, 0x0A, 0x10, 0x00, +0x00, 0x00, 0x00, 0x1A, 0x02, 0x27, 0x80, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xF2, 0x26, 0x90, 0x00, +0x00, 0x00, 0x00, 0x1B, 0xE2, 0x09, 0x80, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xD2, 0x08, 0x90, 0x00, +0x00, 0x00, 0x00, 0x1D, 0xC1, 0xEB, 0x80, 0x00, 0x00, 0x00, 0x00, 0x1E, 0xB1, 0xEA, 0x90, 0x00, +0x00, 0x00, 0x00, 0x1F, 0xA1, 0xCD, 0x80, 0x00, 0x00, 0x00, 0x00, 0x20, 0x76, 0x1D, 0x10, 0x00, +0x00, 0x00, 0x00, 0x21, 0x81, 0xAF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x22, 0x55, 0xFF, 0x10, 0x00, +0x00, 0x00, 0x00, 0x23, 0x6A, 0xCC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x35, 0xE1, 0x10, 0x00, +0x00, 0x00, 0x00, 0x25, 0x4A, 0xAE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x26, 0x15, 0xC3, 0x10, 0x00, +0x00, 0x00, 0x00, 0x27, 0x2A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0xFE, 0xDF, 0x90, 0x00, +0x00, 0x00, 0x00, 0x29, 0x0A, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x29, 0xDE, 0xC1, 0x90, 0x00, +0x00, 0x00, 0x00, 0x2A, 0xEA, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xBE, 0xA3, 0x90, 0x00, +0x00, 0x00, 0x00, 0x2C, 0xD3, 0x70, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x9E, 0x85, 0x90, 0x00, +0x00, 0x00, 0x00, 0x2E, 0xB3, 0x52, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x7E, 0x67, 0x90, 0x00, +0x00, 0x00, 0x00, 0x30, 0x93, 0x34, 0x80, 0x00, 0x00, 0x00, 0x00, 0x31, 0x67, 0x84, 0x10, 0x00, +0x00, 0x00, 0x00, 0x32, 0x73, 0x16, 0x80, 0x00, 0x00, 0x00, 0x00, 0x33, 0x47, 0x66, 0x10, 0x00, +0x00, 0x00, 0x00, 0x34, 0x52, 0xF8, 0x80, 0x00, 0x00, 0x00, 0x00, 0x35, 0x27, 0x48, 0x10, 0x00, +0x00, 0x00, 0x00, 0x36, 0x32, 0xDA, 0x80, 0x00, 0x00, 0x00, 0x00, 0x37, 0x07, 0x2A, 0x10, 0x00, +0x00, 0x00, 0x00, 0x38, 0x1B, 0xF7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0xE7, 0x0C, 0x10, 0x00, +0x00, 0x00, 0x00, 0x39, 0xFB, 0xD9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xC6, 0xEE, 0x10, 0x00, +0x00, 0x00, 0x00, 0x3B, 0xDB, 0xBB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xB0, 0x0A, 0x90, 0x00, +0x00, 0x00, 0x00, 0x3D, 0xBB, 0x9D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x8F, 0xEC, 0x90, 0x00, +0x00, 0x00, 0x00, 0x3F, 0x9B, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x6F, 0xCE, 0x90, 0x00, +0x00, 0x00, 0x00, 0x41, 0x84, 0x9B, 0x80, 0x00, 0x00, 0x00, 0x00, 0x42, 0x4F, 0xB0, 0x90, 0x00, +0x00, 0x00, 0x00, 0x43, 0x64, 0x7D, 0x80, 0x00, 0x00, 0x00, 0x00, 0x44, 0x2F, 0x92, 0x90, 0x00, +0x00, 0x00, 0x00, 0x45, 0x44, 0x5F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x45, 0xF3, 0xC5, 0x10, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x9D, +0x90, 0x01, 0x04, 0xFF, 0xFF, 0x8F, 0x80, 0x00, 0x08, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x0C, 0xFF, +0xFF, 0xAB, 0xA0, 0x01, 0x10, 0x2D, 0x30, 0x30, 0x00, 0x50, 0x44, 0x54, 0x00, 0x50, 0x53, 0x54, +0x00, 0x4D, 0x53, 0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x0A, 0x4D, 0x53, 0x54, 0x37, 0x4D, 0x44, +0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, 0x31, 0x2E, 0x30, +0x0A, 0x00, 0xF1, 0x9F, 0x5C, 0x00, 0x46, 0x9F, 0x6D, 0x00, 0x00, 0x00, 0x14, 0x4D, 0x6F, 0x75, +0x6E, 0x74, 0x61, 0x69, 0x6E, 0x20, 0x2D, 0x20, 0x4E, 0x54, 0x20, 0x28, 0x77, 0x65, 0x73, 0x74, +0x29, /* America/Iqaluit */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -5328,10 +5418,17 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x21, 0xFF, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4A, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x1C, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0xA1, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xFB, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x2F, 0x3E, 0x50, 0xFF, -0xFF, 0xFF, 0xFF, 0xF8, 0x28, 0x69, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x47, 0xF0, 0x00, +0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xFB, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x04, 0x60, 0xFD, 0x70, 0x00, +0x00, 0x00, 0x00, 0x05, 0x50, 0xE0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x06, 0x40, 0xDF, 0x70, 0x00, +0x00, 0x00, 0x00, 0x07, 0x30, 0xC2, 0x60, 0x00, 0x00, 0x00, 0x00, 0x08, 0x20, 0xC1, 0x70, 0x00, +0x00, 0x00, 0x00, 0x09, 0x10, 0xA4, 0x60, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0xA3, 0x70, 0x00, +0x00, 0x00, 0x00, 0x0A, 0xF0, 0x86, 0x60, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xE0, 0x85, 0x70, 0x00, +0x00, 0x00, 0x00, 0x0C, 0xD9, 0xA2, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0D, 0xC0, 0x67, 0x70, 0x00, +0x00, 0x00, 0x00, 0x0E, 0xB9, 0x84, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xA9, 0x83, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x10, 0x99, 0x66, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x11, 0x89, 0x65, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x12, 0x79, 0x48, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x47, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x14, 0x59, 0x2A, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x15, 0x49, 0x29, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x39, 0x0C, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x17, 0x29, 0x0B, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x18, 0x22, 0x29, 0x60, 0x00, 0x00, 0x00, 0x00, 0x19, 0x08, 0xED, 0xF0, 0x00, @@ -5358,20 +5455,20 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x62, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x40, 0x6F, 0xB2, 0x70, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x7F, 0x60, 0x00, 0x00, 0x00, 0x00, 0x42, 0x4F, 0x94, 0x70, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x61, 0x60, 0x00, 0x00, 0x00, 0x00, 0x44, 0x2F, 0x76, 0x70, 0x00, -0x00, 0x00, 0x00, 0x45, 0x44, 0x43, 0x60, 0x00, 0x00, 0x00, 0x00, 0x45, 0xF3, 0xA8, 0xF0, 0x05, -0x01, 0x02, 0x03, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, -0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, -0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x06, 0x07, 0x02, 0x04, 0x02, -0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0xFF, 0xFF, 0xD5, -0xD0, 0x01, 0x0C, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x11, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x15, 0xFF, -0xFF, 0xAB, 0xA0, 0x00, 0x19, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x1D, 0x2D, 0x30, 0x30, 0x00, 0x45, -0x50, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x45, 0x44, 0x44, 0x54, 0x00, 0x45, 0x44, 0x54, 0x00, -0x45, 0x57, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x0A, 0x45, 0x53, 0x54, -0x35, 0x45, 0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, -0x31, 0x2E, 0x30, 0x0A, 0x00, 0xEA, 0x94, 0x15, 0x00, 0xAA, 0x2F, 0xB5, 0x00, 0x00, 0x00, 0x1E, -0x45, 0x61, 0x73, 0x74, 0x65, 0x72, 0x6E, 0x20, 0x2D, 0x20, 0x4E, 0x55, 0x20, 0x28, 0x6D, 0x6F, -0x73, 0x74, 0x20, 0x65, 0x61, 0x73, 0x74, 0x20, 0x61, 0x72, 0x65, 0x61, 0x73, 0x29, +0x00, 0x00, 0x00, 0x45, 0x44, 0x43, 0x60, 0x00, 0x00, 0x00, 0x00, 0x45, 0xF3, 0xA8, 0xF0, 0x04, +0x01, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x05, 0x06, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, +0xFF, 0xC7, 0xC0, 0x01, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, +0x0C, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x10, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x14, 0xFF, 0xFF, 0xB9, +0xB0, 0x01, 0x18, 0x2D, 0x30, 0x30, 0x00, 0x45, 0x50, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x45, +0x44, 0x54, 0x00, 0x45, 0x57, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x0A, +0x45, 0x53, 0x54, 0x35, 0x45, 0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, +0x31, 0x31, 0x2E, 0x31, 0x2E, 0x30, 0x0A, 0x00, 0xEA, 0x94, 0x15, 0x00, 0xAA, 0x2F, 0xB5, 0x00, +0x00, 0x00, 0x19, 0x45, 0x61, 0x73, 0x74, 0x65, 0x72, 0x6E, 0x20, 0x2D, 0x20, 0x4E, 0x55, 0x20, +0x28, 0x6D, 0x6F, 0x73, 0x74, 0x20, 0x61, 0x72, 0x65, 0x61, 0x73, 0x29, /* America/Jamaica */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4A, 0x4D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -6097,10 +6194,9 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x0A, 0x43, 0x53, 0x54, 0x36, 0x43, 0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, 0x31, 0x2E, 0x30, 0x0A, 0x00, 0xB0, 0xBF, 0x65, 0x00, 0x7D, 0xE2, 0x90, 0x00, 0x00, 0x00, -0x3E, 0x43, 0x65, 0x6E, 0x74, 0x72, 0x61, 0x6C, 0x20, 0x54, 0x69, 0x6D, 0x65, 0x20, 0x55, 0x53, -0x20, 0x2D, 0x20, 0x43, 0x6F, 0x61, 0x68, 0x75, 0x69, 0x6C, 0x61, 0x2C, 0x20, 0x4E, 0x75, 0x65, -0x76, 0x6F, 0x20, 0x4C, 0x65, 0x6F, 0x6E, 0x2C, 0x20, 0x54, 0x61, 0x6D, 0x61, 0x75, 0x6C, 0x69, -0x70, 0x61, 0x73, 0x20, 0x28, 0x55, 0x53, 0x20, 0x62, 0x6F, 0x72, 0x64, 0x65, 0x72, 0x29, +0x2C, 0x43, 0x6F, 0x61, 0x68, 0x75, 0x69, 0x6C, 0x61, 0x2C, 0x20, 0x4E, 0x75, 0x65, 0x76, 0x6F, +0x20, 0x4C, 0x65, 0x6F, 0x6E, 0x2C, 0x20, 0x54, 0x61, 0x6D, 0x61, 0x75, 0x6C, 0x69, 0x70, 0x61, +0x73, 0x20, 0x28, 0x55, 0x53, 0x20, 0x62, 0x6F, 0x72, 0x64, 0x65, 0x72, 0x29, /* America/Mazatlan */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4D, 0x58, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -6148,10 +6244,10 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0x00, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x08, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x0C, 0xFF, 0xFF, 0x8F, 0x80, 0x00, 0x10, 0x4C, 0x4D, 0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x50, 0x53, 0x54, 0x00, 0x0A, 0x4D, 0x53, 0x54, 0x37, 0x0A, 0x00, 0xAC, -0xC1, 0x42, 0x00, 0x70, 0x47, 0x7D, 0x00, 0x00, 0x00, 0x35, 0x4D, 0x6F, 0x75, 0x6E, 0x74, 0x61, -0x69, 0x6E, 0x20, 0x54, 0x69, 0x6D, 0x65, 0x20, 0x2D, 0x20, 0x42, 0x61, 0x6A, 0x61, 0x20, 0x43, +0xC1, 0x42, 0x00, 0x70, 0x47, 0x7D, 0x00, 0x00, 0x00, 0x32, 0x42, 0x61, 0x6A, 0x61, 0x20, 0x43, 0x61, 0x6C, 0x69, 0x66, 0x6F, 0x72, 0x6E, 0x69, 0x61, 0x20, 0x53, 0x75, 0x72, 0x2C, 0x20, 0x4E, -0x61, 0x79, 0x61, 0x72, 0x69, 0x74, 0x2C, 0x20, 0x53, 0x69, 0x6E, 0x61, 0x6C, 0x6F, 0x61, +0x61, 0x79, 0x61, 0x72, 0x69, 0x74, 0x20, 0x28, 0x6D, 0x6F, 0x73, 0x74, 0x20, 0x61, 0x72, 0x65, +0x61, 0x73, 0x29, 0x2C, 0x20, 0x53, 0x69, 0x6E, 0x61, 0x6C, 0x6F, 0x61, /* America/Mendoza */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -6306,9 +6402,8 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0xFF, 0xFF, 0xAB, 0xFC, 0x00, 0x00, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x0A, 0x43, 0x53, 0x54, 0x36, 0x0A, 0x00, 0xA9, -0x52, 0x5A, 0x00, 0x89, 0xE9, 0xFD, 0x00, 0x00, 0x00, 0x20, 0x43, 0x65, 0x6E, 0x74, 0x72, 0x61, -0x6C, 0x20, 0x54, 0x69, 0x6D, 0x65, 0x20, 0x2D, 0x20, 0x43, 0x61, 0x6D, 0x70, 0x65, 0x63, 0x68, -0x65, 0x2C, 0x20, 0x59, 0x75, 0x63, 0x61, 0x74, 0x61, 0x6E, +0x52, 0x5A, 0x00, 0x89, 0xE9, 0xFD, 0x00, 0x00, 0x00, 0x11, 0x43, 0x61, 0x6D, 0x70, 0x65, 0x63, +0x68, 0x65, 0x2C, 0x20, 0x59, 0x75, 0x63, 0x61, 0x74, 0x61, 0x6E, /* America/Metlakatla */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x55, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -6402,7 +6497,7 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0x10, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x14, 0x4C, 0x4D, 0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x43, 0x57, 0x54, 0x00, 0x0A, 0x43, 0x53, 0x54, 0x36, 0x0A, 0x00, 0xA6, 0xEE, 0x60, 0x00, 0x7B, 0x5E, 0x07, 0x00, 0x00, 0x00, -0x0C, 0x43, 0x65, 0x6E, 0x74, 0x72, 0x61, 0x6C, 0x20, 0x54, 0x69, 0x6D, 0x65, +0x0E, 0x43, 0x65, 0x6E, 0x74, 0x72, 0x61, 0x6C, 0x20, 0x4D, 0x65, 0x78, 0x69, 0x63, 0x6F, /* America/Miquelon */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x50, 0x4D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -6581,12 +6676,11 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0xFF, 0xFF, 0xA1, 0xF4, 0x00, 0x00, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x0A, 0x43, -0x53, 0x54, 0x36, 0x0A, 0x00, 0xB0, 0x7E, 0x4A, 0x00, 0x79, 0x96, 0x4D, 0x00, 0x00, 0x00, 0x45, -0x43, 0x65, 0x6E, 0x74, 0x72, 0x61, 0x6C, 0x20, 0x54, 0x69, 0x6D, 0x65, 0x20, 0x2D, 0x20, 0x44, -0x75, 0x72, 0x61, 0x6E, 0x67, 0x6F, 0x3B, 0x20, 0x43, 0x6F, 0x61, 0x68, 0x75, 0x69, 0x6C, 0x61, -0x2C, 0x20, 0x4E, 0x75, 0x65, 0x76, 0x6F, 0x20, 0x4C, 0x65, 0x6F, 0x6E, 0x2C, 0x20, 0x54, 0x61, -0x6D, 0x61, 0x75, 0x6C, 0x69, 0x70, 0x61, 0x73, 0x20, 0x28, 0x6D, 0x6F, 0x73, 0x74, 0x20, 0x61, -0x72, 0x65, 0x61, 0x73, 0x29, +0x53, 0x54, 0x36, 0x0A, 0x00, 0xB0, 0x7E, 0x4A, 0x00, 0x79, 0x96, 0x4D, 0x00, 0x00, 0x00, 0x36, +0x44, 0x75, 0x72, 0x61, 0x6E, 0x67, 0x6F, 0x3B, 0x20, 0x43, 0x6F, 0x61, 0x68, 0x75, 0x69, 0x6C, +0x61, 0x2C, 0x20, 0x4E, 0x75, 0x65, 0x76, 0x6F, 0x20, 0x4C, 0x65, 0x6F, 0x6E, 0x2C, 0x20, 0x54, +0x61, 0x6D, 0x61, 0x75, 0x6C, 0x69, 0x70, 0x61, 0x73, 0x20, 0x28, 0x6D, 0x6F, 0x73, 0x74, 0x20, +0x61, 0x72, 0x65, 0x61, 0x73, 0x29, /* America/Montevideo */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x55, 0x59, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -7372,9 +7466,9 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0x50, 0x48, 0x50, 0x32, 0x01, 0x47, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0xFF, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0C, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x80, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x4D, 0x7C, 0x50, 0x00, 0x00, 0x00, 0x00, 0x14, 0x33, 0xFA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x15, 0x23, 0xEB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x16, 0x13, 0xDC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x17, 0x03, 0xCD, 0x90, 0x00, @@ -7391,16 +7485,45 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0x00, 0x00, 0x00, 0x2A, 0xC5, 0x07, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xB4, 0xF8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xA4, 0xE9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x94, 0xDA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x84, 0xCB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x74, 0xBC, 0x90, 0x00, -0x00, 0x00, 0x00, 0x30, 0x64, 0xAD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0xD9, 0x10, 0x01, +0x00, 0x00, 0x00, 0x30, 0x64, 0xAD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0xD9, 0x10, 0x00, +0x00, 0x00, 0x00, 0x32, 0x72, 0xB4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x33, 0x3D, 0xBB, 0x10, 0x00, +0x00, 0x00, 0x00, 0x34, 0x52, 0x96, 0x10, 0x00, 0x00, 0x00, 0x00, 0x35, 0x1D, 0x9D, 0x10, 0x00, +0x00, 0x00, 0x00, 0x36, 0x32, 0x78, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0xFD, 0x7F, 0x10, 0x00, +0x00, 0x00, 0x00, 0x38, 0x1B, 0x94, 0x90, 0x00, 0x00, 0x00, 0x00, 0x38, 0xDD, 0x61, 0x10, 0x00, +0x00, 0x00, 0x00, 0x39, 0xFB, 0x76, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xBD, 0x43, 0x10, 0x00, +0x00, 0x00, 0x00, 0x3B, 0xDB, 0x58, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xA6, 0x5F, 0x90, 0x00, +0x00, 0x00, 0x00, 0x3D, 0xBB, 0x3A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x86, 0x41, 0x90, 0x00, +0x00, 0x00, 0x00, 0x3F, 0x9B, 0x1C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x40, 0x66, 0x23, 0x90, 0x00, +0x00, 0x00, 0x00, 0x41, 0x84, 0x39, 0x10, 0x00, 0x00, 0x00, 0x00, 0x42, 0x46, 0x05, 0x90, 0x00, +0x00, 0x00, 0x00, 0x43, 0x64, 0x1B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x44, 0x25, 0xE7, 0x90, 0x00, +0x00, 0x00, 0x00, 0x45, 0x43, 0xFD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x46, 0x05, 0xC9, 0x90, 0x00, +0x00, 0x00, 0x00, 0x47, 0x23, 0xDF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x47, 0xEE, 0xE6, 0x10, 0x00, +0x00, 0x00, 0x00, 0x49, 0x03, 0xC1, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, 0xCE, 0xC8, 0x10, 0x00, +0x00, 0x00, 0x00, 0x4A, 0xE3, 0xA3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4B, 0xAE, 0xAA, 0x10, 0x00, +0x00, 0x00, 0x00, 0x4C, 0xCC, 0xBF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x8E, 0x8C, 0x10, 0x00, +0x00, 0x00, 0x00, 0x4E, 0xAC, 0xA1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x6E, 0x6E, 0x10, 0x00, +0x00, 0x00, 0x00, 0x50, 0x8C, 0x83, 0x90, 0x00, 0x00, 0x00, 0x00, 0x51, 0x57, 0x8A, 0x90, 0x00, +0x00, 0x00, 0x00, 0x52, 0x6C, 0x65, 0x90, 0x00, 0x00, 0x00, 0x00, 0x53, 0x37, 0x6C, 0x90, 0x00, +0x00, 0x00, 0x00, 0x54, 0x4C, 0x47, 0x90, 0x00, 0x00, 0x00, 0x00, 0x55, 0x17, 0x4E, 0x90, 0x00, +0x00, 0x00, 0x00, 0x56, 0x2C, 0x29, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, 0xF7, 0x30, 0x90, 0x00, +0x00, 0x00, 0x00, 0x58, 0x15, 0x46, 0x10, 0x00, 0x00, 0x00, 0x00, 0x58, 0xD7, 0x12, 0x90, 0x00, +0x00, 0x00, 0x00, 0x59, 0xF5, 0x28, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xB6, 0xF4, 0x90, 0x00, +0x00, 0x00, 0x00, 0x5B, 0xD5, 0x0A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5C, 0xA0, 0x11, 0x10, 0x00, +0x00, 0x00, 0x00, 0x5D, 0xB4, 0xEC, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x7F, 0xF3, 0x10, 0x00, +0x00, 0x00, 0x00, 0x5F, 0x94, 0xCE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x60, 0x5F, 0xD5, 0x10, 0x00, +0x00, 0x00, 0x00, 0x61, 0x7D, 0xEA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x62, 0x3F, 0xB7, 0x10, 0x00, +0x00, 0x00, 0x00, 0x63, 0x5D, 0xCC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x64, 0x1F, 0x99, 0x10, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, -0x02, 0xFF, 0xFF, 0xCF, 0x80, 0x00, 0x00, 0xFF, 0xFF, 0xD5, 0xD0, 0x00, 0x04, 0xFF, 0xFF, 0xE3, -0xE0, 0x01, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x33, 0x00, 0x2D, 0x30, 0x32, 0x00, 0x0A, -0x3C, 0x2D, 0x30, 0x33, 0x3E, 0x33, 0x3C, 0x2D, 0x30, 0x32, 0x3E, 0x2C, 0x4D, 0x33, 0x2E, 0x35, -0x2E, 0x30, 0x2F, 0x2D, 0x32, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x2D, 0x31, -0x0A, 0x00, 0xEB, 0x43, 0xDD, 0x00, 0xC3, 0xB8, 0x2A, 0x00, 0x00, 0x00, 0x16, 0x47, 0x72, 0x65, -0x65, 0x6E, 0x6C, 0x61, 0x6E, 0x64, 0x20, 0x28, 0x6D, 0x6F, 0x73, 0x74, 0x20, 0x61, 0x72, 0x65, -0x61, 0x73, 0x29, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0xFF, 0xFF, 0xCF, 0x80, 0x00, 0x00, 0xFF, 0xFF, 0xD5, +0xD0, 0x00, 0x04, 0xFF, 0xFF, 0xE3, 0xE0, 0x01, 0x08, 0xFF, 0xFF, 0xE3, 0xE0, 0x00, 0x08, 0x4C, +0x4D, 0x54, 0x00, 0x2D, 0x30, 0x33, 0x00, 0x2D, 0x30, 0x32, 0x00, 0x0A, 0x3C, 0x2D, 0x30, 0x32, +0x3E, 0x32, 0x0A, 0x00, 0xEB, 0x43, 0xDD, 0x00, 0xC3, 0xB8, 0x2A, 0x00, 0x00, 0x00, 0x16, 0x47, +0x72, 0x65, 0x65, 0x6E, 0x6C, 0x61, 0x6E, 0x64, 0x20, 0x28, 0x6D, 0x6F, 0x73, 0x74, 0x20, 0x61, +0x72, 0x65, 0x61, 0x73, 0x29, /* America/Ojinaga */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4D, 0x58, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -7446,10 +7569,10 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0x00, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x08, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x0C, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x10, 0x4C, 0x4D, 0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x0A, 0x43, 0x53, -0x54, 0x36, 0x0A, 0x00, 0xB6, 0x71, 0xBA, 0x00, 0x73, 0x54, 0xBD, 0x00, 0x00, 0x00, 0x28, 0x4D, -0x6F, 0x75, 0x6E, 0x74, 0x61, 0x69, 0x6E, 0x20, 0x54, 0x69, 0x6D, 0x65, 0x20, 0x55, 0x53, 0x20, -0x2D, 0x20, 0x43, 0x68, 0x69, 0x68, 0x75, 0x61, 0x68, 0x75, 0x61, 0x20, 0x28, 0x55, 0x53, 0x20, -0x62, 0x6F, 0x72, 0x64, 0x65, 0x72, 0x29, +0x54, 0x36, 0x43, 0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, +0x2E, 0x31, 0x2E, 0x30, 0x0A, 0x00, 0xB6, 0x71, 0xBA, 0x00, 0x73, 0x54, 0xBD, 0x00, 0x00, 0x00, +0x1C, 0x43, 0x68, 0x69, 0x68, 0x75, 0x61, 0x68, 0x75, 0x61, 0x20, 0x28, 0x55, 0x53, 0x20, 0x62, +0x6F, 0x72, 0x64, 0x65, 0x72, 0x20, 0x2D, 0x20, 0x65, 0x61, 0x73, 0x74, 0x29, /* America/Panama */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x50, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -7465,57 +7588,61 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0x00, /* America/Pangnirtung */ -0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x29, 0xFF, -0xFF, 0xFF, 0xFF, 0xA3, 0xD5, 0x52, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x88, 0xE2, 0x60, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xED, 0xD0, 0xFF, -0xFF, 0xFF, 0xFF, 0xF7, 0x2F, 0x30, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x28, 0x5B, 0xC0, 0x00, -0x00, 0x00, 0x00, 0x13, 0x69, 0x39, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x14, 0x59, 0x1C, 0xD0, 0x00, -0x00, 0x00, 0x00, 0x15, 0x49, 0x1B, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x38, 0xFE, 0xD0, 0x00, -0x00, 0x00, 0x00, 0x17, 0x28, 0xFD, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x18, 0x22, 0x1B, 0x50, 0x00, -0x00, 0x00, 0x00, 0x19, 0x08, 0xDF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x01, 0xFD, 0x50, 0x00, -0x00, 0x00, 0x00, 0x1A, 0xF1, 0xFC, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xE1, 0xDF, 0x50, 0x00, -0x00, 0x00, 0x00, 0x1C, 0xD1, 0xDE, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xC1, 0xC1, 0x50, 0x00, -0x00, 0x00, 0x00, 0x1E, 0xB1, 0xC0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xA1, 0xA3, 0x50, 0x00, -0x00, 0x00, 0x00, 0x20, 0x75, 0xF2, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x21, 0x81, 0x85, 0x50, 0x00, -0x00, 0x00, 0x00, 0x22, 0x55, 0xD4, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x23, 0x6A, 0xA1, 0xD0, 0x00, -0x00, 0x00, 0x00, 0x24, 0x35, 0xB6, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x25, 0x4A, 0x83, 0xD0, 0x00, -0x00, 0x00, 0x00, 0x26, 0x15, 0x98, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x27, 0x2A, 0x65, 0xD0, 0x00, -0x00, 0x00, 0x00, 0x27, 0xFE, 0xB5, 0x60, 0x00, 0x00, 0x00, 0x00, 0x29, 0x0A, 0x47, 0xD0, 0x00, -0x00, 0x00, 0x00, 0x29, 0xDE, 0x97, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xEA, 0x29, 0xD0, 0x00, -0x00, 0x00, 0x00, 0x2B, 0xBE, 0x79, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xD3, 0x46, 0x50, 0x00, -0x00, 0x00, 0x00, 0x2D, 0x9E, 0x5B, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2E, 0xB3, 0x28, 0x50, 0x00, -0x00, 0x00, 0x00, 0x2F, 0x7E, 0x3D, 0x60, 0x00, 0x00, 0x00, 0x00, 0x30, 0x93, 0x18, 0x60, 0x00, -0x00, 0x00, 0x00, 0x31, 0x67, 0x67, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x32, 0x72, 0xFA, 0x60, 0x00, -0x00, 0x00, 0x00, 0x33, 0x47, 0x49, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0xDC, 0x60, 0x00, -0x00, 0x00, 0x00, 0x35, 0x27, 0x2B, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0xBE, 0x60, 0x00, -0x00, 0x00, 0x00, 0x37, 0x07, 0x0D, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0xDA, 0xE0, 0x00, -0x00, 0x00, 0x00, 0x38, 0xE6, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0xCA, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x3A, 0xC6, 0xD1, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0x9E, 0xE0, 0x00, -0x00, 0x00, 0x00, 0x3C, 0xAF, 0xEE, 0x70, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x80, 0xE0, 0x00, -0x00, 0x00, 0x00, 0x3E, 0x8F, 0xD0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x62, 0xE0, 0x00, -0x00, 0x00, 0x00, 0x40, 0x6F, 0xB2, 0x70, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x7F, 0x60, 0x00, -0x00, 0x00, 0x00, 0x42, 0x4F, 0x94, 0x70, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x61, 0x60, 0x00, -0x00, 0x00, 0x00, 0x44, 0x2F, 0x76, 0x70, 0x00, 0x00, 0x00, 0x00, 0x45, 0x44, 0x43, 0x60, 0x00, -0x00, 0x00, 0x00, 0x45, 0xF3, 0xA8, 0xF0, 0x03, 0x01, 0x02, 0x03, 0x04, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x06, 0x07, 0x06, 0x07, 0x06, -0x07, 0x06, 0x07, 0x06, 0x08, 0x09, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, -0x07, 0x06, 0x07, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x04, -0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x08, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x0C, 0xFF, 0xFF, 0xE3, 0xE0, -0x01, 0x10, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x15, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x19, 0xFF, 0xFF, -0xB9, 0xB0, 0x00, 0x1D, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x21, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x25, -0x2D, 0x30, 0x30, 0x00, 0x41, 0x57, 0x54, 0x00, 0x41, 0x50, 0x54, 0x00, 0x41, 0x53, 0x54, 0x00, -0x41, 0x44, 0x44, 0x54, 0x00, 0x41, 0x44, 0x54, 0x00, 0x45, 0x44, 0x54, 0x00, 0x45, 0x53, 0x54, -0x00, 0x43, 0x53, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x0A, 0x45, 0x53, 0x54, 0x35, 0x45, 0x44, -0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, 0x31, 0x2E, 0x30, -0x0A, 0x00, 0xEE, 0x3D, 0x95, 0x00, 0xAE, 0x5B, 0x6A, 0x00, 0x00, 0x00, 0x1A, 0x45, 0x61, 0x73, -0x74, 0x65, 0x72, 0x6E, 0x20, 0x2D, 0x20, 0x4E, 0x55, 0x20, 0x28, 0x50, 0x61, 0x6E, 0x67, 0x6E, -0x69, 0x72, 0x74, 0x75, 0x6E, 0x67, 0x29, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4A, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x1C, 0xFF, +0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0xA1, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, +0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xFB, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x04, 0x60, 0xFD, 0x70, 0x00, +0x00, 0x00, 0x00, 0x05, 0x50, 0xE0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x06, 0x40, 0xDF, 0x70, 0x00, +0x00, 0x00, 0x00, 0x07, 0x30, 0xC2, 0x60, 0x00, 0x00, 0x00, 0x00, 0x08, 0x20, 0xC1, 0x70, 0x00, +0x00, 0x00, 0x00, 0x09, 0x10, 0xA4, 0x60, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0xA3, 0x70, 0x00, +0x00, 0x00, 0x00, 0x0A, 0xF0, 0x86, 0x60, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xE0, 0x85, 0x70, 0x00, +0x00, 0x00, 0x00, 0x0C, 0xD9, 0xA2, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0D, 0xC0, 0x67, 0x70, 0x00, +0x00, 0x00, 0x00, 0x0E, 0xB9, 0x84, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xA9, 0x83, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x10, 0x99, 0x66, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x11, 0x89, 0x65, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x12, 0x79, 0x48, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x47, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x14, 0x59, 0x2A, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x15, 0x49, 0x29, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x16, 0x39, 0x0C, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x17, 0x29, 0x0B, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x18, 0x22, 0x29, 0x60, 0x00, 0x00, 0x00, 0x00, 0x19, 0x08, 0xED, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x1A, 0x02, 0x0B, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xF2, 0x0A, 0x70, 0x00, +0x00, 0x00, 0x00, 0x1B, 0xE1, 0xED, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xD1, 0xEC, 0x70, 0x00, +0x00, 0x00, 0x00, 0x1D, 0xC1, 0xCF, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1E, 0xB1, 0xCE, 0x70, 0x00, +0x00, 0x00, 0x00, 0x1F, 0xA1, 0xB1, 0x60, 0x00, 0x00, 0x00, 0x00, 0x20, 0x76, 0x00, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x21, 0x81, 0x93, 0x60, 0x00, 0x00, 0x00, 0x00, 0x22, 0x55, 0xE2, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x23, 0x6A, 0xAF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x24, 0x35, 0xC4, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x25, 0x4A, 0x91, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x26, 0x15, 0xA6, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x27, 0x2A, 0x73, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x27, 0xFE, 0xC3, 0x70, 0x00, +0x00, 0x00, 0x00, 0x29, 0x0A, 0x55, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x29, 0xDE, 0xA5, 0x70, 0x00, +0x00, 0x00, 0x00, 0x2A, 0xEA, 0x37, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xBE, 0x87, 0x70, 0x00, +0x00, 0x00, 0x00, 0x2C, 0xD3, 0x54, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x9E, 0x69, 0x70, 0x00, +0x00, 0x00, 0x00, 0x2E, 0xB3, 0x36, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x7E, 0x4B, 0x70, 0x00, +0x00, 0x00, 0x00, 0x30, 0x93, 0x18, 0x60, 0x00, 0x00, 0x00, 0x00, 0x31, 0x67, 0x67, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x32, 0x72, 0xFA, 0x60, 0x00, 0x00, 0x00, 0x00, 0x33, 0x47, 0x49, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x34, 0x52, 0xDC, 0x60, 0x00, 0x00, 0x00, 0x00, 0x35, 0x27, 0x2B, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x36, 0x32, 0xBE, 0x60, 0x00, 0x00, 0x00, 0x00, 0x37, 0x07, 0x0D, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x38, 0x1B, 0xDA, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x38, 0xE6, 0xFE, 0x00, 0x00, +0x00, 0x00, 0x00, 0x39, 0xFB, 0xCA, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xC6, 0xD1, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x3B, 0xDB, 0x9E, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xAF, 0xEE, 0x70, 0x00, +0x00, 0x00, 0x00, 0x3D, 0xBB, 0x80, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x8F, 0xD0, 0x70, 0x00, +0x00, 0x00, 0x00, 0x3F, 0x9B, 0x62, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x40, 0x6F, 0xB2, 0x70, 0x00, +0x00, 0x00, 0x00, 0x41, 0x84, 0x7F, 0x60, 0x00, 0x00, 0x00, 0x00, 0x42, 0x4F, 0x94, 0x70, 0x00, +0x00, 0x00, 0x00, 0x43, 0x64, 0x61, 0x60, 0x00, 0x00, 0x00, 0x00, 0x44, 0x2F, 0x76, 0x70, 0x00, +0x00, 0x00, 0x00, 0x45, 0x44, 0x43, 0x60, 0x00, 0x00, 0x00, 0x00, 0x45, 0xF3, 0xA8, 0xF0, 0x04, +0x01, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x05, 0x06, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, +0xFF, 0xC7, 0xC0, 0x01, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, +0x0C, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x10, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x14, 0xFF, 0xFF, 0xB9, +0xB0, 0x01, 0x18, 0x2D, 0x30, 0x30, 0x00, 0x45, 0x50, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x45, +0x44, 0x54, 0x00, 0x45, 0x57, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x0A, +0x45, 0x53, 0x54, 0x35, 0x45, 0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, +0x31, 0x31, 0x2E, 0x31, 0x2E, 0x30, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, /* America/Paramaribo */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x53, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -7844,9 +7971,16 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3A, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x15, 0xFF, -0xFF, 0xFF, 0xFF, 0xE7, 0x8C, 0x6E, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x2F, 0x4C, 0x60, 0xFF, -0xFF, 0xFF, 0xFF, 0xF8, 0x28, 0x77, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x56, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, +0xFF, 0xFF, 0xFF, 0xE7, 0x8C, 0x6E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x61, 0x0B, 0x80, 0x00, +0x00, 0x00, 0x00, 0x05, 0x50, 0xEE, 0x70, 0x00, 0x00, 0x00, 0x00, 0x06, 0x40, 0xED, 0x80, 0x00, +0x00, 0x00, 0x00, 0x07, 0x30, 0xD0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x08, 0x20, 0xCF, 0x80, 0x00, +0x00, 0x00, 0x00, 0x09, 0x10, 0xB2, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0xB1, 0x80, 0x00, +0x00, 0x00, 0x00, 0x0A, 0xF0, 0x94, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xE0, 0x93, 0x80, 0x00, +0x00, 0x00, 0x00, 0x0C, 0xD9, 0xB0, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x0D, 0xC0, 0x75, 0x80, 0x00, +0x00, 0x00, 0x00, 0x0E, 0xB9, 0x92, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xA9, 0x92, 0x00, 0x00, +0x00, 0x00, 0x00, 0x10, 0x99, 0x74, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x11, 0x89, 0x74, 0x00, 0x00, +0x00, 0x00, 0x00, 0x12, 0x79, 0x56, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x56, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x59, 0x38, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x15, 0x49, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0x39, 0x1A, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x17, 0x29, 0x1A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x22, 0x37, 0x70, 0x00, 0x00, 0x00, 0x00, 0x19, 0x08, 0xFC, 0x00, 0x00, @@ -7874,17 +8008,17 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0x00, 0x00, 0x00, 0x41, 0x84, 0x8D, 0x70, 0x00, 0x00, 0x00, 0x00, 0x42, 0x4F, 0xA2, 0x80, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x6F, 0x70, 0x00, 0x00, 0x00, 0x00, 0x44, 0x2F, 0x84, 0x80, 0x00, 0x00, 0x00, 0x00, 0x45, 0x44, 0x51, 0x70, 0x00, 0x00, 0x00, 0x00, 0x45, 0xF3, 0xB7, 0x00, 0x02, -0x01, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, -0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, -0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x04, 0x03, 0x02, 0x03, 0x02, -0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, -0xFF, 0xC7, 0xC0, 0x01, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x09, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, -0x0D, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x11, 0x2D, 0x30, 0x30, 0x00, 0x43, 0x44, 0x44, 0x54, 0x00, -0x43, 0x53, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x0A, 0x43, 0x53, 0x54, -0x36, 0x43, 0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, -0x31, 0x2E, 0x30, 0x0A, 0x00, 0xE9, 0x2E, 0x02, 0x00, 0x86, 0x26, 0x8E, 0x00, 0x00, 0x00, 0x16, -0x43, 0x65, 0x6E, 0x74, 0x72, 0x61, 0x6C, 0x20, 0x2D, 0x20, 0x4E, 0x55, 0x20, 0x28, 0x63, 0x65, -0x6E, 0x74, 0x72, 0x61, 0x6C, 0x29, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xB9, +0xB0, 0x01, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x08, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x0C, 0x2D, +0x30, 0x30, 0x00, 0x43, 0x44, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x0A, +0x43, 0x53, 0x54, 0x36, 0x43, 0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, +0x31, 0x31, 0x2E, 0x31, 0x2E, 0x30, 0x0A, 0x00, 0xE9, 0x2E, 0x02, 0x00, 0x86, 0x26, 0x8E, 0x00, +0x00, 0x00, 0x16, 0x43, 0x65, 0x6E, 0x74, 0x72, 0x61, 0x6C, 0x20, 0x2D, 0x20, 0x4E, 0x55, 0x20, +0x28, 0x63, 0x65, 0x6E, 0x74, 0x72, 0x61, 0x6C, 0x29, /* America/Recife */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x42, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -7970,9 +8104,16 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3A, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x15, 0xFF, -0xFF, 0xFF, 0xFF, 0xD5, 0xFB, 0x81, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x2F, 0x4C, 0x60, 0xFF, -0xFF, 0xFF, 0xFF, 0xF8, 0x28, 0x77, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x56, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, +0xFF, 0xFF, 0xFF, 0xD5, 0xFB, 0x81, 0x80, 0x00, 0x00, 0x00, 0x00, 0x04, 0x61, 0x0B, 0x80, 0x00, +0x00, 0x00, 0x00, 0x05, 0x50, 0xEE, 0x70, 0x00, 0x00, 0x00, 0x00, 0x06, 0x40, 0xED, 0x80, 0x00, +0x00, 0x00, 0x00, 0x07, 0x30, 0xD0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x08, 0x20, 0xCF, 0x80, 0x00, +0x00, 0x00, 0x00, 0x09, 0x10, 0xB2, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0xB1, 0x80, 0x00, +0x00, 0x00, 0x00, 0x0A, 0xF0, 0x94, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xE0, 0x93, 0x80, 0x00, +0x00, 0x00, 0x00, 0x0C, 0xD9, 0xB0, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x0D, 0xC0, 0x75, 0x80, 0x00, +0x00, 0x00, 0x00, 0x0E, 0xB9, 0x92, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xA9, 0x92, 0x00, 0x00, +0x00, 0x00, 0x00, 0x10, 0x99, 0x74, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x11, 0x89, 0x74, 0x00, 0x00, +0x00, 0x00, 0x00, 0x12, 0x79, 0x56, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x56, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x59, 0x38, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x15, 0x49, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0x39, 0x1A, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x17, 0x29, 0x1A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x22, 0x37, 0x70, 0x00, 0x00, 0x00, 0x00, 0x19, 0x08, 0xFC, 0x00, 0x00, @@ -8000,17 +8141,17 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0x00, 0x00, 0x00, 0x41, 0x84, 0x8D, 0x70, 0x00, 0x00, 0x00, 0x00, 0x42, 0x4F, 0xA2, 0x80, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x6F, 0x70, 0x00, 0x00, 0x00, 0x00, 0x44, 0x2F, 0x84, 0x80, 0x00, 0x00, 0x00, 0x00, 0x45, 0x44, 0x51, 0x70, 0x00, 0x00, 0x00, 0x00, 0x45, 0xF3, 0xB7, 0x00, 0x02, -0x01, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, -0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, -0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x04, 0x03, 0x02, 0x03, 0x02, -0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x04, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, -0xFF, 0xC7, 0xC0, 0x01, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x09, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, -0x0D, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x11, 0x2D, 0x30, 0x30, 0x00, 0x43, 0x44, 0x44, 0x54, 0x00, -0x43, 0x53, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x0A, 0x43, 0x53, 0x54, -0x36, 0x43, 0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, -0x31, 0x2E, 0x30, 0x0A, 0x00, 0xFB, 0x4E, 0x33, 0x00, 0x81, 0xF5, 0xDB, 0x00, 0x00, 0x00, 0x17, -0x43, 0x65, 0x6E, 0x74, 0x72, 0x61, 0x6C, 0x20, 0x2D, 0x20, 0x4E, 0x55, 0x20, 0x28, 0x52, 0x65, -0x73, 0x6F, 0x6C, 0x75, 0x74, 0x65, 0x29, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xB9, +0xB0, 0x01, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x08, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x0C, 0x2D, +0x30, 0x30, 0x00, 0x43, 0x44, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x0A, +0x43, 0x53, 0x54, 0x36, 0x43, 0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, +0x31, 0x31, 0x2E, 0x31, 0x2E, 0x30, 0x0A, 0x00, 0xFB, 0x4E, 0x33, 0x00, 0x81, 0xF5, 0xDB, 0x00, +0x00, 0x00, 0x17, 0x43, 0x65, 0x6E, 0x74, 0x72, 0x61, 0x6C, 0x20, 0x2D, 0x20, 0x4E, 0x55, 0x20, +0x28, 0x52, 0x65, 0x73, 0x6F, 0x6C, 0x75, 0x74, 0x65, 0x29, /* America/Rio_Branco */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x42, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -8968,9 +9109,8 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0x14, 0x4C, 0x4D, 0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, 0x50, 0x53, 0x54, 0x00, 0x50, 0x44, 0x54, 0x00, 0x50, 0x57, 0x54, 0x00, 0x50, 0x50, 0x54, 0x00, 0x0A, 0x50, 0x53, 0x54, 0x38, 0x50, 0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, 0x31, 0x2E, 0x30, -0x0A, 0x00, 0xBA, 0xF8, 0x95, 0x00, 0x60, 0x1A, 0xDD, 0x00, 0x00, 0x00, 0x21, 0x50, 0x61, 0x63, -0x69, 0x66, 0x69, 0x63, 0x20, 0x54, 0x69, 0x6D, 0x65, 0x20, 0x55, 0x53, 0x20, 0x2D, 0x20, 0x42, -0x61, 0x6A, 0x61, 0x20, 0x43, 0x61, 0x6C, 0x69, 0x66, 0x6F, 0x72, 0x6E, 0x69, 0x61, +0x0A, 0x00, 0xBA, 0xF8, 0x95, 0x00, 0x60, 0x1A, 0xDD, 0x00, 0x00, 0x00, 0x0F, 0x42, 0x61, 0x6A, +0x61, 0x20, 0x43, 0x61, 0x6C, 0x69, 0x66, 0x6F, 0x72, 0x6E, 0x69, 0x61, /* America/Toronto */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -9209,7 +9349,7 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0xFF, 0xFF, 0xFF, 0xA1, 0xA2, 0xD2, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x89, 0x28, 0xB0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x61, 0x34, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x2F, 0x76, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x28, 0xA2, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0xFB, 0x1D, 0x5F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x72, 0x20, 0x00, +0xFF, 0xFF, 0xFF, 0xF8, 0xC5, 0x84, 0x90, 0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x72, 0x20, 0x00, 0x00, 0x00, 0x00, 0x14, 0x59, 0x55, 0x10, 0x00, 0x00, 0x00, 0x00, 0x15, 0x49, 0x54, 0x20, 0x00, 0x00, 0x00, 0x00, 0x16, 0x39, 0x37, 0x10, 0x00, 0x00, 0x00, 0x00, 0x17, 0x29, 0x36, 0x20, 0x00, 0x00, 0x00, 0x00, 0x18, 0x22, 0x53, 0x90, 0x00, 0x00, 0x00, 0x00, 0x19, 0x09, 0x18, 0x20, 0x00, @@ -9421,10 +9561,17 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x19, 0xFF, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4B, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0x2A, 0x18, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x89, 0x0C, 0x90, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x61, 0x18, 0x00, 0xFF, -0xFF, 0xFF, 0xFF, 0xF7, 0x2F, 0x5A, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x28, 0x85, 0xF0, 0x00, +0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x61, 0x18, 0x00, 0x00, +0x00, 0x00, 0x00, 0x04, 0x61, 0x19, 0x90, 0x00, 0x00, 0x00, 0x00, 0x05, 0x50, 0xFC, 0x80, 0x00, +0x00, 0x00, 0x00, 0x06, 0x40, 0xFB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x07, 0x30, 0xDE, 0x80, 0x00, +0x00, 0x00, 0x00, 0x08, 0x20, 0xDD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x09, 0x10, 0xC0, 0x80, 0x00, +0x00, 0x00, 0x00, 0x0A, 0x00, 0xBF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xF0, 0xA2, 0x80, 0x00, +0x00, 0x00, 0x00, 0x0B, 0xE0, 0xA1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xD9, 0xBF, 0x00, 0x00, +0x00, 0x00, 0x00, 0x0D, 0xC0, 0x83, 0x90, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xB9, 0xA1, 0x00, 0x00, +0x00, 0x00, 0x00, 0x0F, 0xA9, 0xA0, 0x10, 0x00, 0x00, 0x00, 0x00, 0x10, 0x99, 0x83, 0x00, 0x00, +0x00, 0x00, 0x00, 0x11, 0x89, 0x82, 0x10, 0x00, 0x00, 0x00, 0x00, 0x12, 0x79, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x64, 0x10, 0x00, 0x00, 0x00, 0x00, 0x14, 0x59, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x49, 0x46, 0x10, 0x00, 0x00, 0x00, 0x00, 0x16, 0x39, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x29, 0x28, 0x10, 0x00, 0x00, 0x00, 0x00, 0x18, 0x22, 0x45, 0x80, 0x00, @@ -9452,18 +9599,18 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0x00, 0x00, 0x00, 0x40, 0x6F, 0xCE, 0x90, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x9B, 0x80, 0x00, 0x00, 0x00, 0x00, 0x42, 0x4F, 0xB0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x7D, 0x80, 0x00, 0x00, 0x00, 0x00, 0x44, 0x2F, 0x92, 0x90, 0x00, 0x00, 0x00, 0x00, 0x45, 0x44, 0x5F, 0x80, 0x00, -0x00, 0x00, 0x00, 0x45, 0xF3, 0xC5, 0x10, 0x03, 0x01, 0x02, 0x03, 0x04, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x04, -0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x08, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x0C, 0xFF, 0xFF, 0xB9, 0xB0, -0x01, 0x10, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x15, 0x2D, 0x30, 0x30, 0x00, 0x4D, 0x57, 0x54, 0x00, -0x4D, 0x50, 0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, 0x4D, 0x44, 0x44, 0x54, 0x00, 0x4D, 0x44, 0x54, -0x00, 0x0A, 0x4D, 0x53, 0x54, 0x37, 0x4D, 0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, -0x2C, 0x4D, 0x31, 0x31, 0x2E, 0x31, 0x2E, 0x30, 0x0A, 0x00, 0xE8, 0x9E, 0xC7, 0x00, 0x64, 0x2C, -0x88, 0x00, 0x00, 0x00, 0x17, 0x4D, 0x6F, 0x75, 0x6E, 0x74, 0x61, 0x69, 0x6E, 0x20, 0x2D, 0x20, -0x4E, 0x54, 0x20, 0x28, 0x63, 0x65, 0x6E, 0x74, 0x72, 0x61, 0x6C, 0x29, +0x00, 0x00, 0x00, 0x45, 0xF3, 0xC5, 0x10, 0x03, 0x01, 0x02, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, +0x03, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x04, 0xFF, 0xFF, +0xAB, 0xA0, 0x01, 0x08, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x0C, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x10, +0x2D, 0x30, 0x30, 0x00, 0x4D, 0x57, 0x54, 0x00, 0x4D, 0x50, 0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, +0x4D, 0x44, 0x54, 0x00, 0x0A, 0x4D, 0x53, 0x54, 0x37, 0x4D, 0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, +0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, 0x31, 0x2E, 0x30, 0x0A, 0x00, 0xE8, 0x9E, 0xC7, +0x00, 0x64, 0x2C, 0x88, 0x00, 0x00, 0x00, 0x17, 0x4D, 0x6F, 0x75, 0x6E, 0x74, 0x61, 0x69, 0x6E, +0x20, 0x2D, 0x20, 0x4E, 0x54, 0x20, 0x28, 0x63, 0x65, 0x6E, 0x74, 0x72, 0x61, 0x6C, 0x29, /* Antarctica/Casey */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x41, 0x51, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -11710,7 +11857,7 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0xFF, 0xFF, 0xFF, 0x7E, 0x36, 0x55, 0xAA, 0xFF, 0xFF, 0xFF, 0xFF, 0x86, 0x83, 0x85, 0xA3, 0xFF, 0xFF, 0xFF, 0xFF, 0xBA, 0x67, 0x4E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x0A, 0xE4, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0xB3, 0xE5, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x91, 0x5F, 0x08, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x48, 0x6D, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x91, 0xF5, 0x08, 0x01, +0xFF, 0xFF, 0xFF, 0xD2, 0x48, 0x6D, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x91, 0xEE, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x05, 0x07, 0x00, 0x00, 0x5F, 0x56, 0x00, 0x00, 0x00, 0x00, 0x61, 0x5D, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x08, 0x00, 0x00, 0x67, 0x20, 0x01, 0x0C, 0x00, 0x00, 0x67, 0x20, 0x00, 0x0C, 0x00, 0x00, 0x69, 0x78, 0x00, 0x12, 0x00, 0x00, 0x7E, 0x90, 0x00, @@ -12544,7 +12691,7 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0xFF, 0xFF, 0xFF, 0x7E, 0x36, 0x53, 0xA3, 0xFF, 0xFF, 0xFF, 0xFF, 0x86, 0x83, 0x85, 0xA3, 0xFF, 0xFF, 0xFF, 0xFF, 0xBA, 0x67, 0x4E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x0A, 0xE4, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0xB3, 0xE5, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x91, 0x5F, 0x08, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x48, 0x6D, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x91, 0xF5, 0x08, 0x01, +0xFF, 0xFF, 0xFF, 0xD2, 0x48, 0x6D, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x91, 0xEE, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x05, 0x07, 0x00, 0x00, 0x61, 0x5D, 0x00, 0x00, 0x00, 0x00, 0x61, 0x5D, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x08, 0x00, 0x00, 0x67, 0x20, 0x01, 0x0C, 0x00, 0x00, 0x67, 0x20, 0x00, 0x0C, 0x00, 0x00, 0x69, 0x78, 0x00, 0x12, 0x00, 0x00, 0x7E, 0x90, 0x00, @@ -15730,7 +15877,7 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0xFF, 0xFF, 0xFF, 0xA1, 0xA2, 0xD2, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x89, 0x28, 0xB0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x61, 0x34, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x2F, 0x76, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x28, 0xA2, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0xFB, 0x1D, 0x5F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x72, 0x20, 0x00, +0xFF, 0xFF, 0xFF, 0xF8, 0xC5, 0x84, 0x90, 0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x72, 0x20, 0x00, 0x00, 0x00, 0x00, 0x14, 0x59, 0x55, 0x10, 0x00, 0x00, 0x00, 0x00, 0x15, 0x49, 0x54, 0x20, 0x00, 0x00, 0x00, 0x00, 0x16, 0x39, 0x37, 0x10, 0x00, 0x00, 0x00, 0x00, 0x17, 0x29, 0x36, 0x20, 0x00, 0x00, 0x00, 0x00, 0x18, 0x22, 0x53, 0x90, 0x00, 0x00, 0x00, 0x00, 0x19, 0x09, 0x18, 0x20, 0x00, @@ -22607,7 +22754,7 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0xFF, 0xFF, 0xFF, 0x7E, 0x36, 0x53, 0xA3, 0xFF, 0xFF, 0xFF, 0xFF, 0x86, 0x83, 0x85, 0xA3, 0xFF, 0xFF, 0xFF, 0xFF, 0xBA, 0x67, 0x4E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x0A, 0xE4, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0xB3, 0xE5, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x91, 0x5F, 0x08, 0xFF, -0xFF, 0xFF, 0xFF, 0xD2, 0x48, 0x6D, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x91, 0xF5, 0x08, 0x01, +0xFF, 0xFF, 0xFF, 0xD2, 0x48, 0x6D, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x91, 0xEE, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x05, 0x07, 0x00, 0x00, 0x61, 0x5D, 0x00, 0x00, 0x00, 0x00, 0x61, 0x5D, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x08, 0x00, 0x00, 0x67, 0x20, 0x01, 0x0C, 0x00, 0x00, 0x67, 0x20, 0x00, 0x0C, 0x00, 0x00, 0x69, 0x78, 0x00, 0x12, 0x00, 0x00, 0x7E, 0x90, 0x00, @@ -23543,7 +23690,7 @@ const unsigned char timelib_timezone_db_data_builtin[343096] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; #else -const timelib_tzdb_index_entry timezonedb_idx_builtin[596] = { +const timelib_tzdb_index_entry timezonedb_idx_builtin[597] = { { (char*) "Africa/Abidjan" , 0x000000 }, { (char*) "Africa/Accra" , 0x0000A0 }, { (char*) "Africa/Addis_Ababa" , 0x0004D0 }, @@ -23622,528 +23769,529 @@ const timelib_tzdb_index_entry timezonedb_idx_builtin[596] = { { (char*) "America/Atka" , 0x00B430 }, { (char*) "America/Bahia" , 0x00BD70 }, { (char*) "America/Bahia_Banderas" , 0x00C173 }, - { (char*) "America/Barbados" , 0x00C61F }, - { (char*) "America/Belem" , 0x00C7DF }, - { (char*) "America/Belize" , 0x00CA2F }, - { (char*) "America/Blanc-Sablon" , 0x00D089 }, - { (char*) "America/Boa_Vista" , 0x00D1DB }, - { (char*) "America/Bogota" , 0x00D458 }, - { (char*) "America/Boise" , 0x00D54C }, - { (char*) "America/Buenos_Aires" , 0x00DEE2 }, - { (char*) "America/Cambridge_Bay" , 0x00E314 }, - { (char*) "America/Campo_Grande" , 0x00EB58 }, - { (char*) "America/Cancun" , 0x00F10C }, - { (char*) "America/Caracas" , 0x00F47E }, - { (char*) "America/Catamarca" , 0x00F584 }, - { (char*) "America/Cayenne" , 0x00F9B6 }, - { (char*) "America/Cayman" , 0x00FA7A }, - { (char*) "America/Chicago" , 0x00FB3C }, - { (char*) "America/Chihuahua" , 0x010964 }, - { (char*) "America/Coral_Harbour" , 0x010DE4 }, - { (char*) "America/Cordoba" , 0x010EA6 }, - { (char*) "America/Costa_Rica" , 0x0112D8 }, - { (char*) "America/Creston" , 0x011420 }, - { (char*) "America/Cuiaba" , 0x01150E }, - { (char*) "America/Curacao" , 0x011A9F }, - { (char*) "America/Danmarkshavn" , 0x011B65 }, - { (char*) "America/Dawson" , 0x011E45 }, - { (char*) "America/Dawson_Creek" , 0x0124B1 }, - { (char*) "America/Denver" , 0x0128F7 }, - { (char*) "America/Detroit" , 0x0132B4 }, - { (char*) "America/Dominica" , 0x013B8F }, - { (char*) "America/Edmonton" , 0x013C2F }, - { (char*) "America/Eirunepe" , 0x014574 }, - { (char*) "America/El_Salvador" , 0x014811 }, - { (char*) "America/Ensenada" , 0x0148FD }, - { (char*) "America/Fort_Nelson" , 0x01524F }, - { (char*) "America/Fort_Wayne" , 0x015B2F }, - { (char*) "America/Fortaleza" , 0x0161CD }, - { (char*) "America/Glace_Bay" , 0x0164BD }, - { (char*) "America/Godthab" , 0x016D74 }, - { (char*) "America/Goose_Bay" , 0x0174C8 }, - { (char*) "America/Grand_Turk" , 0x01817E }, - { (char*) "America/Grenada" , 0x0188B4 }, - { (char*) "America/Guadeloupe" , 0x018954 }, - { (char*) "America/Guatemala" , 0x0189F4 }, - { (char*) "America/Guayaquil" , 0x018B18 }, - { (char*) "America/Guyana" , 0x018C1E }, - { (char*) "America/Halifax" , 0x018D22 }, - { (char*) "America/Havana" , 0x019AAC }, - { (char*) "America/Hermosillo" , 0x01A428 }, - { (char*) "America/Indiana/Indianapolis" , 0x01A61B }, - { (char*) "America/Indiana/Knox" , 0x01ACD2 }, - { (char*) "America/Indiana/Marengo" , 0x01B67F }, - { (char*) "America/Indiana/Petersburg" , 0x01BD6C }, - { (char*) "America/Indiana/Tell_City" , 0x01C50B }, - { (char*) "America/Indiana/Vevay" , 0x01CBCF }, - { (char*) "America/Indiana/Vincennes" , 0x01D18B }, - { (char*) "America/Indiana/Winamac" , 0x01D861 }, - { (char*) "America/Indianapolis" , 0x01DF85 }, - { (char*) "America/Inuvik" , 0x01E623 }, - { (char*) "America/Iqaluit" , 0x01EDA9 }, - { (char*) "America/Jamaica" , 0x01F5C3 }, - { (char*) "America/Jujuy" , 0x01F7B1 }, - { (char*) "America/Juneau" , 0x01FBC7 }, - { (char*) "America/Kentucky/Louisville" , 0x020518 }, - { (char*) "America/Kentucky/Monticello" , 0x021026 }, - { (char*) "America/Knox_IN" , 0x021986 }, - { (char*) "America/Kralendijk" , 0x02231E }, - { (char*) "America/La_Paz" , 0x022420 }, - { (char*) "America/Lima" , 0x022506 }, - { (char*) "America/Los_Angeles" , 0x02269A }, - { (char*) "America/Louisville" , 0x0231D1 }, - { (char*) "America/Lower_Princes" , 0x023CC1 }, - { (char*) "America/Maceio" , 0x023DC3 }, - { (char*) "America/Managua" , 0x0240B9 }, - { (char*) "America/Manaus" , 0x024273 }, - { (char*) "America/Marigot" , 0x0244DC }, - { (char*) "America/Martinique" , 0x0245DE }, - { (char*) "America/Matamoros" , 0x0246D2 }, - { (char*) "America/Mazatlan" , 0x024CA6 }, - { (char*) "America/Mendoza" , 0x02514F }, - { (char*) "America/Menominee" , 0x025581 }, - { (char*) "America/Merida" , 0x025E8E }, - { (char*) "America/Metlakatla" , 0x0262A6 }, - { (char*) "America/Mexico_City" , 0x026858 }, - { (char*) "America/Miquelon" , 0x026D36 }, - { (char*) "America/Moncton" , 0x0273B6 }, - { (char*) "America/Monterrey" , 0x02802C }, - { (char*) "America/Montevideo" , 0x028451 }, - { (char*) "America/Montreal" , 0x028A35 }, - { (char*) "America/Montserrat" , 0x0297E7 }, - { (char*) "America/Nassau" , 0x029887 }, - { (char*) "America/New_York" , 0x02A1E7 }, - { (char*) "America/Nipigon" , 0x02AFE7 }, - { (char*) "America/Nome" , 0x02BD99 }, - { (char*) "America/Noronha" , 0x02C6F1 }, - { (char*) "America/North_Dakota/Beulah" , 0x02C9CB }, - { (char*) "America/North_Dakota/Center" , 0x02D348 }, - { (char*) "America/North_Dakota/New_Salem" , 0x02DCC5 }, - { (char*) "America/Nuuk" , 0x02E648 }, - { (char*) "America/Ojinaga" , 0x02EDB2 }, - { (char*) "America/Panama" , 0x02F234 }, - { (char*) "America/Pangnirtung" , 0x02F2F6 }, - { (char*) "America/Paramaribo" , 0x02FB4A }, - { (char*) "America/Phoenix" , 0x02FC4E }, - { (char*) "America/Port-au-Prince" , 0x02FDDF }, - { (char*) "America/Port_of_Spain" , 0x030385 }, - { (char*) "America/Porto_Acre" , 0x030425 }, - { (char*) "America/Porto_Velho" , 0x030697 }, - { (char*) "America/Puerto_Rico" , 0x0308DD }, - { (char*) "America/Punta_Arenas" , 0x0309DF }, - { (char*) "America/Rainy_River" , 0x03116D }, - { (char*) "America/Rankin_Inlet" , 0x031CAD }, - { (char*) "America/Recife" , 0x032433 }, - { (char*) "America/Regina" , 0x032707 }, - { (char*) "America/Resolute" , 0x032AFC }, - { (char*) "America/Rio_Branco" , 0x033283 }, - { (char*) "America/Rosario" , 0x0334F9 }, - { (char*) "America/Santa_Isabel" , 0x03392B }, - { (char*) "America/Santarem" , 0x03427D }, - { (char*) "America/Santiago" , 0x0344E0 }, - { (char*) "America/Santo_Domingo" , 0x034ED1 }, - { (char*) "America/Sao_Paulo" , 0x0350A7 }, - { (char*) "America/Scoresbysund" , 0x03567F }, - { (char*) "America/Shiprock" , 0x035E16 }, - { (char*) "America/Sitka" , 0x0367BE }, - { (char*) "America/St_Barthelemy" , 0x0370F6 }, - { (char*) "America/St_Johns" , 0x0371F8 }, - { (char*) "America/St_Kitts" , 0x03806D }, - { (char*) "America/St_Lucia" , 0x03810D }, - { (char*) "America/St_Thomas" , 0x0381CF }, - { (char*) "America/St_Vincent" , 0x03826F }, - { (char*) "America/Swift_Current" , 0x038331 }, - { (char*) "America/Tegucigalpa" , 0x03857F }, - { (char*) "America/Thule" , 0x038687 }, - { (char*) "America/Thunder_Bay" , 0x038C7F }, - { (char*) "America/Tijuana" , 0x039A31 }, - { (char*) "America/Toronto" , 0x03A3A4 }, - { (char*) "America/Tortola" , 0x03B173 }, - { (char*) "America/Vancouver" , 0x03B213 }, - { (char*) "America/Virgin" , 0x03BD84 }, - { (char*) "America/Whitehorse" , 0x03BE86 }, - { (char*) "America/Winnipeg" , 0x03C4F2 }, - { (char*) "America/Yakutat" , 0x03D04F }, - { (char*) "America/Yellowknife" , 0x03D96C }, - { (char*) "Antarctica/Casey" , 0x03E13D }, - { (char*) "Antarctica/Davis" , 0x03E2C0 }, - { (char*) "Antarctica/DumontDUrville" , 0x03E3EC }, - { (char*) "Antarctica/Macquarie" , 0x03E4BC }, - { (char*) "Antarctica/Mawson" , 0x03EDAC }, - { (char*) "Antarctica/McMurdo" , 0x03EE77 }, - { (char*) "Antarctica/Palmer" , 0x03F672 }, - { (char*) "Antarctica/Rothera" , 0x03FC00 }, - { (char*) "Antarctica/South_Pole" , 0x03FCA9 }, - { (char*) "Antarctica/Syowa" , 0x04063A }, - { (char*) "Antarctica/Troll" , 0x0406E2 }, - { (char*) "Antarctica/Vostok" , 0x040B6F }, - { (char*) "Arctic/Longyearbyen" , 0x040C18 }, - { (char*) "Asia/Aden" , 0x04151E }, - { (char*) "Asia/Almaty" , 0x0415C1 }, - { (char*) "Asia/Amman" , 0x0419BB }, - { (char*) "Asia/Anadyr" , 0x041F60 }, - { (char*) "Asia/Aqtau" , 0x042415 }, - { (char*) "Asia/Aqtobe" , 0x0427FF }, - { (char*) "Asia/Ashgabat" , 0x042BFD }, - { (char*) "Asia/Ashkhabad" , 0x042E66 }, - { (char*) "Asia/Atyrau" , 0x0430CF }, - { (char*) "Asia/Baghdad" , 0x0434C1 }, - { (char*) "Asia/Bahrain" , 0x043896 }, - { (char*) "Asia/Baku" , 0x043981 }, - { (char*) "Asia/Bangkok" , 0x043E4A }, - { (char*) "Asia/Barnaul" , 0x043F0F }, - { (char*) "Asia/Beirut" , 0x0443E0 }, - { (char*) "Asia/Bishkek" , 0x044C56 }, - { (char*) "Asia/Brunei" , 0x04502B }, - { (char*) "Asia/Calcutta" , 0x0450F4 }, - { (char*) "Asia/Chita" , 0x04521D }, - { (char*) "Asia/Choibalsan" , 0x0456F4 }, - { (char*) "Asia/Chongqing" , 0x045AB9 }, - { (char*) "Asia/Chungking" , 0x045CF6 }, - { (char*) "Asia/Colombo" , 0x045F33 }, - { (char*) "Asia/Dacca" , 0x0460A5 }, - { (char*) "Asia/Damascus" , 0x0461F4 }, - { (char*) "Asia/Dhaka" , 0x046951 }, - { (char*) "Asia/Dili" , 0x046AA0 }, - { (char*) "Asia/Dubai" , 0x046B81 }, - { (char*) "Asia/Dushanbe" , 0x046C24 }, - { (char*) "Asia/Famagusta" , 0x046E71 }, - { (char*) "Asia/Gaza" , 0x047678 }, - { (char*) "Asia/Harbin" , 0x048004 }, - { (char*) "Asia/Hebron" , 0x048241 }, - { (char*) "Asia/Ho_Chi_Minh" , 0x048BE8 }, - { (char*) "Asia/Hong_Kong" , 0x048D45 }, - { (char*) "Asia/Hovd" , 0x049222 }, - { (char*) "Asia/Irkutsk" , 0x0495C6 }, - { (char*) "Asia/Istanbul" , 0x049AB9 }, - { (char*) "Asia/Jakarta" , 0x04A252 }, - { (char*) "Asia/Jayapura" , 0x04A3EA }, - { (char*) "Asia/Jerusalem" , 0x04A509 }, - { (char*) "Asia/Kabul" , 0x04AE69 }, - { (char*) "Asia/Kamchatka" , 0x04AF37 }, - { (char*) "Asia/Karachi" , 0x04B3D5 }, - { (char*) "Asia/Kashgar" , 0x04B55C }, - { (char*) "Asia/Kathmandu" , 0x04B5FF }, - { (char*) "Asia/Katmandu" , 0x04B6D1 }, - { (char*) "Asia/Khandyga" , 0x04B7A3 }, - { (char*) "Asia/Kolkata" , 0x04BCB6 }, - { (char*) "Asia/Krasnoyarsk" , 0x04BDDF }, - { (char*) "Asia/Kuala_Lumpur" , 0x04C2AD }, - { (char*) "Asia/Kuching" , 0x04C43E }, - { (char*) "Asia/Kuwait" , 0x04C62D }, - { (char*) "Asia/Macao" , 0x04C6D0 }, - { (char*) "Asia/Macau" , 0x04CBA7 }, - { (char*) "Asia/Magadan" , 0x04D07E }, - { (char*) "Asia/Makassar" , 0x04D552 }, - { (char*) "Asia/Manila" , 0x04D6A5 }, - { (char*) "Asia/Muscat" , 0x04D7F9 }, - { (char*) "Asia/Nicosia" , 0x04D89C }, - { (char*) "Asia/Novokuznetsk" , 0x04E08D }, - { (char*) "Asia/Novosibirsk" , 0x04E529 }, - { (char*) "Asia/Omsk" , 0x04EA00 }, - { (char*) "Asia/Oral" , 0x04EEC2 }, - { (char*) "Asia/Phnom_Penh" , 0x04F2BC }, - { (char*) "Asia/Pontianak" , 0x04F3E1 }, - { (char*) "Asia/Pyongyang" , 0x04F564 }, - { (char*) "Asia/Qatar" , 0x04F65D }, - { (char*) "Asia/Qostanay" , 0x04F722 }, - { (char*) "Asia/Qyzylorda" , 0x04FB2D }, - { (char*) "Asia/Rangoon" , 0x04FF49 }, - { (char*) "Asia/Riyadh" , 0x050053 }, - { (char*) "Asia/Saigon" , 0x0500F6 }, - { (char*) "Asia/Sakhalin" , 0x050253 }, - { (char*) "Asia/Samarkand" , 0x05071B }, - { (char*) "Asia/Seoul" , 0x05096B }, - { (char*) "Asia/Shanghai" , 0x050BE0 }, - { (char*) "Asia/Singapore" , 0x050E29 }, - { (char*) "Asia/Srednekolymsk" , 0x050FA6 }, - { (char*) "Asia/Taipei" , 0x05147E }, - { (char*) "Asia/Tashkent" , 0x051783 }, - { (char*) "Asia/Tbilisi" , 0x0519E1 }, - { (char*) "Asia/Tehran" , 0x051DEA }, - { (char*) "Asia/Tel_Aviv" , 0x0522D6 }, - { (char*) "Asia/Thimbu" , 0x052C36 }, - { (char*) "Asia/Thimphu" , 0x052CFF }, - { (char*) "Asia/Tokyo" , 0x052DC8 }, - { (char*) "Asia/Tomsk" , 0x052F09 }, - { (char*) "Asia/Ujung_Pandang" , 0x0533DA }, - { (char*) "Asia/Ulaanbaatar" , 0x0534E4 }, - { (char*) "Asia/Ulan_Bator" , 0x053872 }, - { (char*) "Asia/Urumqi" , 0x053BEB }, - { (char*) "Asia/Ust-Nera" , 0x053C9B }, - { (char*) "Asia/Vientiane" , 0x054191 }, - { (char*) "Asia/Vladivostok" , 0x0542D2 }, - { (char*) "Asia/Yakutsk" , 0x05479B }, - { (char*) "Asia/Yangon" , 0x054C63 }, - { (char*) "Asia/Yekaterinburg" , 0x054D6D }, - { (char*) "Asia/Yerevan" , 0x055254 }, - { (char*) "Atlantic/Azores" , 0x0556D1 }, - { (char*) "Atlantic/Bermuda" , 0x05648D }, - { (char*) "Atlantic/Canary" , 0x056DF5 }, - { (char*) "Atlantic/Cape_Verde" , 0x057578 }, - { (char*) "Atlantic/Faeroe" , 0x057684 }, - { (char*) "Atlantic/Faroe" , 0x057DA7 }, - { (char*) "Atlantic/Jan_Mayen" , 0x0584CA }, - { (char*) "Atlantic/Madeira" , 0x058DD0 }, - { (char*) "Atlantic/Reykjavik" , 0x059B9A }, - { (char*) "Atlantic/South_Georgia" , 0x05A030 }, - { (char*) "Atlantic/St_Helena" , 0x05A0D2 }, - { (char*) "Atlantic/Stanley" , 0x05A194 }, - { (char*) "Australia/ACT" , 0x05A650 }, - { (char*) "Australia/Adelaide" , 0x05AEEA }, - { (char*) "Australia/Brisbane" , 0x05B7A5 }, - { (char*) "Australia/Broken_Hill" , 0x05B96B }, - { (char*) "Australia/Canberra" , 0x05C248 }, - { (char*) "Australia/Currie" , 0x05CAE2 }, - { (char*) "Australia/Darwin" , 0x05D424 }, - { (char*) "Australia/Eucla" , 0x05D587 }, - { (char*) "Australia/Hobart" , 0x05D774 }, - { (char*) "Australia/LHI" , 0x05E0BE }, - { (char*) "Australia/Lindeman" , 0x05E800 }, - { (char*) "Australia/Lord_Howe" , 0x05EA06 }, - { (char*) "Australia/Melbourne" , 0x05F158 }, - { (char*) "Australia/North" , 0x05F9FA }, - { (char*) "Australia/NSW" , 0x05FB4B }, - { (char*) "Australia/Perth" , 0x0603E5 }, - { (char*) "Australia/Queensland" , 0x0605CD }, - { (char*) "Australia/South" , 0x06077C }, - { (char*) "Australia/Sydney" , 0x061028 }, - { (char*) "Australia/Tasmania" , 0x0618DE }, - { (char*) "Australia/Victoria" , 0x062220 }, - { (char*) "Australia/West" , 0x062ABA }, - { (char*) "Australia/Yancowinna" , 0x062C84 }, - { (char*) "Brazil/Acre" , 0x063545 }, - { (char*) "Brazil/DeNoronha" , 0x0637B7 }, - { (char*) "Brazil/East" , 0x063A81 }, - { (char*) "Brazil/West" , 0x064023 }, - { (char*) "Canada/Atlantic" , 0x06427D }, - { (char*) "Canada/Central" , 0x064FE9 }, - { (char*) "Canada/Eastern" , 0x065B29 }, - { (char*) "Canada/Mountain" , 0x0668DB }, - { (char*) "Canada/Newfoundland" , 0x067203 }, - { (char*) "Canada/Pacific" , 0x068056 }, - { (char*) "Canada/Saskatchewan" , 0x068BAE }, - { (char*) "Canada/Yukon" , 0x068F8E }, - { (char*) "CET" , 0x0695E8 }, - { (char*) "Chile/Continental" , 0x069E22 }, - { (char*) "Chile/EasterIsland" , 0x06A801 }, - { (char*) "CST6CDT" , 0x06B0B8 }, - { (char*) "Cuba" , 0x06B9CA }, - { (char*) "EET" , 0x06C346 }, - { (char*) "Egypt" , 0x06CAC6 }, - { (char*) "Eire" , 0x06D275 }, - { (char*) "EST" , 0x06E025 }, - { (char*) "EST5EDT" , 0x06E0A3 }, - { (char*) "Etc/GMT" , 0x06E9B5 }, - { (char*) "Etc/GMT+0" , 0x06EA33 }, - { (char*) "Etc/GMT+1" , 0x06EAB1 }, - { (char*) "Etc/GMT+10" , 0x06EB31 }, - { (char*) "Etc/GMT+11" , 0x06EBB2 }, - { (char*) "Etc/GMT+12" , 0x06EC33 }, - { (char*) "Etc/GMT+2" , 0x06ECB4 }, - { (char*) "Etc/GMT+3" , 0x06ED34 }, - { (char*) "Etc/GMT+4" , 0x06EDB4 }, - { (char*) "Etc/GMT+5" , 0x06EE34 }, - { (char*) "Etc/GMT+6" , 0x06EEB4 }, - { (char*) "Etc/GMT+7" , 0x06EF34 }, - { (char*) "Etc/GMT+8" , 0x06EFB4 }, - { (char*) "Etc/GMT+9" , 0x06F034 }, - { (char*) "Etc/GMT-0" , 0x06F0B4 }, - { (char*) "Etc/GMT-1" , 0x06F132 }, - { (char*) "Etc/GMT-10" , 0x06F1B3 }, - { (char*) "Etc/GMT-11" , 0x06F235 }, - { (char*) "Etc/GMT-12" , 0x06F2B7 }, - { (char*) "Etc/GMT-13" , 0x06F339 }, - { (char*) "Etc/GMT-14" , 0x06F3BB }, - { (char*) "Etc/GMT-2" , 0x06F43D }, - { (char*) "Etc/GMT-3" , 0x06F4BE }, - { (char*) "Etc/GMT-4" , 0x06F53F }, - { (char*) "Etc/GMT-5" , 0x06F5C0 }, - { (char*) "Etc/GMT-6" , 0x06F641 }, - { (char*) "Etc/GMT-7" , 0x06F6C2 }, - { (char*) "Etc/GMT-8" , 0x06F743 }, - { (char*) "Etc/GMT-9" , 0x06F7C4 }, - { (char*) "Etc/GMT0" , 0x06F845 }, - { (char*) "Etc/Greenwich" , 0x06F8C3 }, - { (char*) "Etc/UCT" , 0x06F941 }, - { (char*) "Etc/Universal" , 0x06F9BF }, - { (char*) "Etc/UTC" , 0x06FA3D }, - { (char*) "Etc/Zulu" , 0x06FABB }, - { (char*) "Europe/Amsterdam" , 0x06FB39 }, - { (char*) "Europe/Andorra" , 0x0706A3 }, - { (char*) "Europe/Astrakhan" , 0x070D7D }, - { (char*) "Europe/Athens" , 0x07121A }, - { (char*) "Europe/Belfast" , 0x071AFC }, - { (char*) "Europe/Belgrade" , 0x072958 }, - { (char*) "Europe/Berlin" , 0x0730E4 }, - { (char*) "Europe/Bratislava" , 0x0739FE }, - { (char*) "Europe/Brussels" , 0x074307 }, - { (char*) "Europe/Bucharest" , 0x074E88 }, - { (char*) "Europe/Budapest" , 0x07571C }, - { (char*) "Europe/Busingen" , 0x076068 }, - { (char*) "Europe/Chisinau" , 0x0767F1 }, - { (char*) "Europe/Copenhagen" , 0x077153 }, - { (char*) "Europe/Dublin" , 0x0779B8 }, - { (char*) "Europe/Gibraltar" , 0x078768 }, - { (char*) "Europe/Guernsey" , 0x079370 }, - { (char*) "Europe/Helsinki" , 0x07A210 }, - { (char*) "Europe/Isle_of_Man" , 0x07A988 }, - { (char*) "Europe/Istanbul" , 0x07B7D4 }, - { (char*) "Europe/Jersey" , 0x07BF6D }, - { (char*) "Europe/Kaliningrad" , 0x07CE0D }, - { (char*) "Europe/Kiev" , 0x07D402 }, - { (char*) "Europe/Kirov" , 0x07DC56 }, - { (char*) "Europe/Kyiv" , 0x07E0E3 }, - { (char*) "Europe/Lisbon" , 0x07E94B }, - { (char*) "Europe/Ljubljana" , 0x07F713 }, - { (char*) "Europe/London" , 0x07FE9F }, - { (char*) "Europe/Luxembourg" , 0x080CFB }, - { (char*) "Europe/Madrid" , 0x081889 }, - { (char*) "Europe/Malta" , 0x0822DB }, - { (char*) "Europe/Mariehamn" , 0x082D23 }, - { (char*) "Europe/Minsk" , 0x08349B }, - { (char*) "Europe/Monaco" , 0x0839C2 }, - { (char*) "Europe/Moscow" , 0x08454E }, - { (char*) "Europe/Nicosia" , 0x084B6D }, - { (char*) "Europe/Oslo" , 0x08534B }, - { (char*) "Europe/Paris" , 0x085C0B }, - { (char*) "Europe/Podgorica" , 0x0867A9 }, - { (char*) "Europe/Prague" , 0x086F35 }, - { (char*) "Europe/Riga" , 0x08783E }, - { (char*) "Europe/Rome" , 0x0880E0 }, - { (char*) "Europe/Samara" , 0x088B3D }, - { (char*) "Europe/San_Marino" , 0x089013 }, - { (char*) "Europe/Sarajevo" , 0x089A70 }, - { (char*) "Europe/Saratov" , 0x08A1FC }, - { (char*) "Europe/Simferopol" , 0x08A6A9 }, - { (char*) "Europe/Skopje" , 0x08AC78 }, - { (char*) "Europe/Sofia" , 0x08B404 }, - { (char*) "Europe/Stockholm" , 0x08BC2D }, - { (char*) "Europe/Tallinn" , 0x08C3AE }, - { (char*) "Europe/Tirane" , 0x08CC1E }, - { (char*) "Europe/Tiraspol" , 0x08D44E }, - { (char*) "Europe/Ulyanovsk" , 0x08DDB0 }, - { (char*) "Europe/Uzhgorod" , 0x08E2B3 }, - { (char*) "Europe/Vaduz" , 0x08EB07 }, - { (char*) "Europe/Vatican" , 0x08F273 }, - { (char*) "Europe/Vienna" , 0x08FCD0 }, - { (char*) "Europe/Vilnius" , 0x090574 }, - { (char*) "Europe/Volgograd" , 0x090DF2 }, - { (char*) "Europe/Warsaw" , 0x09128F }, - { (char*) "Europe/Zagreb" , 0x091CF9 }, - { (char*) "Europe/Zaporozhye" , 0x092485 }, - { (char*) "Europe/Zurich" , 0x092CD9 }, - { (char*) "Factory" , 0x09345A }, - { (char*) "GB" , 0x0934DA }, - { (char*) "GB-Eire" , 0x094336 }, - { (char*) "GMT" , 0x095192 }, - { (char*) "GMT+0" , 0x095210 }, - { (char*) "GMT-0" , 0x09528E }, - { (char*) "GMT0" , 0x09530C }, - { (char*) "Greenwich" , 0x09538A }, - { (char*) "Hongkong" , 0x095408 }, - { (char*) "HST" , 0x0958E5 }, - { (char*) "Iceland" , 0x095964 }, - { (char*) "Indian/Antananarivo" , 0x095A04 }, - { (char*) "Indian/Chagos" , 0x095AEB }, - { (char*) "Indian/Christmas" , 0x095BB0 }, - { (char*) "Indian/Cocos" , 0x095C53 }, - { (char*) "Indian/Comoro" , 0x095CFF }, - { (char*) "Indian/Kerguelen" , 0x095DA0 }, - { (char*) "Indian/Mahe" , 0x095E43 }, - { (char*) "Indian/Maldives" , 0x095EE6 }, - { (char*) "Indian/Mauritius" , 0x095FAB }, - { (char*) "Indian/Mayotte" , 0x09609A }, - { (char*) "Indian/Reunion" , 0x09613B }, - { (char*) "Iran" , 0x0961DE }, - { (char*) "Israel" , 0x0966CA }, - { (char*) "Jamaica" , 0x09702A }, - { (char*) "Japan" , 0x097218 }, - { (char*) "Kwajalein" , 0x097359 }, - { (char*) "Libya" , 0x097493 }, - { (char*) "MET" , 0x097710 }, - { (char*) "Mexico/BajaNorte" , 0x097F4A }, - { (char*) "Mexico/BajaSur" , 0x09889C }, - { (char*) "Mexico/General" , 0x098D10 }, - { (char*) "MST" , 0x0991E2 }, - { (char*) "MST7MDT" , 0x099260 }, - { (char*) "Navajo" , 0x099B72 }, - { (char*) "NZ" , 0x09A51A }, - { (char*) "NZ-CHAT" , 0x09AEAB }, - { (char*) "Pacific/Apia" , 0x09B6BD }, - { (char*) "Pacific/Auckland" , 0x09B91F }, - { (char*) "Pacific/Bougainville" , 0x09C2C8 }, - { (char*) "Pacific/Chatham" , 0x09C3DE }, - { (char*) "Pacific/Chuuk" , 0x09CBFF }, - { (char*) "Pacific/Easter" , 0x09CD19 }, - { (char*) "Pacific/Efate" , 0x09D5DD }, - { (char*) "Pacific/Enderbury" , 0x09D7F5 }, - { (char*) "Pacific/Fakaofo" , 0x09D8DD }, - { (char*) "Pacific/Fiji" , 0x09D9A3 }, - { (char*) "Pacific/Funafuti" , 0x09DBE3 }, - { (char*) "Pacific/Galapagos" , 0x09DC87 }, - { (char*) "Pacific/Gambier" , 0x09DD84 }, - { (char*) "Pacific/Guadalcanal" , 0x09DE35 }, - { (char*) "Pacific/Guam" , 0x09DED9 }, - { (char*) "Pacific/Honolulu" , 0x09E0D3 }, - { (char*) "Pacific/Johnston" , 0x09E22E }, - { (char*) "Pacific/Kanton" , 0x09E383 }, - { (char*) "Pacific/Kiritimati" , 0x09E47A }, - { (char*) "Pacific/Kosrae" , 0x09E572 }, - { (char*) "Pacific/Kwajalein" , 0x09E6D5 }, - { (char*) "Pacific/Majuro" , 0x09E818 }, - { (char*) "Pacific/Marquesas" , 0x09E969 }, - { (char*) "Pacific/Midway" , 0x09EA25 }, - { (char*) "Pacific/Nauru" , 0x09EB18 }, - { (char*) "Pacific/Niue" , 0x09EC12 }, - { (char*) "Pacific/Norfolk" , 0x09ECDB }, - { (char*) "Pacific/Noumea" , 0x09F049 }, - { (char*) "Pacific/Pago_Pago" , 0x09F177 }, - { (char*) "Pacific/Palau" , 0x09F232 }, - { (char*) "Pacific/Pitcairn" , 0x09F2E4 }, - { (char*) "Pacific/Pohnpei" , 0x09F3AC }, - { (char*) "Pacific/Ponape" , 0x09F4E7 }, - { (char*) "Pacific/Port_Moresby" , 0x09F58B }, - { (char*) "Pacific/Rarotonga" , 0x09F660 }, - { (char*) "Pacific/Saipan" , 0x09F8B9 }, - { (char*) "Pacific/Samoa" , 0x09FAA5 }, - { (char*) "Pacific/Tahiti" , 0x09FB60 }, - { (char*) "Pacific/Tarawa" , 0x09FC12 }, - { (char*) "Pacific/Tongatapu" , 0x09FCC5 }, - { (char*) "Pacific/Truk" , 0x09FE37 }, - { (char*) "Pacific/Wake" , 0x09FEEF }, - { (char*) "Pacific/Wallis" , 0x09FF9E }, - { (char*) "Pacific/Yap" , 0x0A0042 }, - { (char*) "Poland" , 0x0A00FA }, - { (char*) "Portugal" , 0x0A0B64 }, - { (char*) "PRC" , 0x0A1919 }, - { (char*) "PST8PDT" , 0x0A1B56 }, - { (char*) "ROC" , 0x0A2468 }, - { (char*) "ROK" , 0x0A276D }, - { (char*) "Singapore" , 0x0A29E2 }, - { (char*) "Turkey" , 0x0A2B5F }, - { (char*) "UCT" , 0x0A32F8 }, - { (char*) "Universal" , 0x0A3376 }, - { (char*) "US/Alaska" , 0x0A33F4 }, - { (char*) "US/Aleutian" , 0x0A3D43 }, - { (char*) "US/Arizona" , 0x0A4683 }, - { (char*) "US/Central" , 0x0A47F7 }, - { (char*) "US/East-Indiana" , 0x0A560B }, - { (char*) "US/Eastern" , 0x0A5CA9 }, - { (char*) "US/Hawaii" , 0x0A6A95 }, - { (char*) "US/Indiana-Starke" , 0x0A6BEA }, - { (char*) "US/Michigan" , 0x0A7582 }, - { (char*) "US/Mountain" , 0x0A7E44 }, - { (char*) "US/Pacific" , 0x0A87EC }, - { (char*) "US/Samoa" , 0x0A931C }, - { (char*) "UTC" , 0x0A93D7 }, - { (char*) "W-SU" , 0x0A9455 }, - { (char*) "WET" , 0x0A9A60 }, - { (char*) "Zulu" , 0x0AA1DD }, + { (char*) "America/Barbados" , 0x00C610 }, + { (char*) "America/Belem" , 0x00C7D0 }, + { (char*) "America/Belize" , 0x00CA20 }, + { (char*) "America/Blanc-Sablon" , 0x00D07A }, + { (char*) "America/Boa_Vista" , 0x00D1CC }, + { (char*) "America/Bogota" , 0x00D449 }, + { (char*) "America/Boise" , 0x00D53D }, + { (char*) "America/Buenos_Aires" , 0x00DED3 }, + { (char*) "America/Cambridge_Bay" , 0x00E305 }, + { (char*) "America/Campo_Grande" , 0x00EBF3 }, + { (char*) "America/Cancun" , 0x00F1A7 }, + { (char*) "America/Caracas" , 0x00F501 }, + { (char*) "America/Catamarca" , 0x00F607 }, + { (char*) "America/Cayenne" , 0x00FA39 }, + { (char*) "America/Cayman" , 0x00FAFD }, + { (char*) "America/Chicago" , 0x00FBBF }, + { (char*) "America/Chihuahua" , 0x0109E7 }, + { (char*) "America/Ciudad_Juarez" , 0x010E57 }, + { (char*) "America/Coral_Harbour" , 0x011481 }, + { (char*) "America/Cordoba" , 0x011543 }, + { (char*) "America/Costa_Rica" , 0x011975 }, + { (char*) "America/Creston" , 0x011ABD }, + { (char*) "America/Cuiaba" , 0x011BAB }, + { (char*) "America/Curacao" , 0x01213C }, + { (char*) "America/Danmarkshavn" , 0x012202 }, + { (char*) "America/Dawson" , 0x0124E2 }, + { (char*) "America/Dawson_Creek" , 0x012B4E }, + { (char*) "America/Denver" , 0x012F94 }, + { (char*) "America/Detroit" , 0x013951 }, + { (char*) "America/Dominica" , 0x01422C }, + { (char*) "America/Edmonton" , 0x0142CC }, + { (char*) "America/Eirunepe" , 0x014C11 }, + { (char*) "America/El_Salvador" , 0x014EAE }, + { (char*) "America/Ensenada" , 0x014F9A }, + { (char*) "America/Fort_Nelson" , 0x0158EC }, + { (char*) "America/Fort_Wayne" , 0x0161CC }, + { (char*) "America/Fortaleza" , 0x01686A }, + { (char*) "America/Glace_Bay" , 0x016B5A }, + { (char*) "America/Godthab" , 0x017411 }, + { (char*) "America/Goose_Bay" , 0x0179C5 }, + { (char*) "America/Grand_Turk" , 0x01867B }, + { (char*) "America/Grenada" , 0x018DB1 }, + { (char*) "America/Guadeloupe" , 0x018E51 }, + { (char*) "America/Guatemala" , 0x018EF1 }, + { (char*) "America/Guayaquil" , 0x019015 }, + { (char*) "America/Guyana" , 0x01911B }, + { (char*) "America/Halifax" , 0x01921F }, + { (char*) "America/Havana" , 0x019FA9 }, + { (char*) "America/Hermosillo" , 0x01A925 }, + { (char*) "America/Indiana/Indianapolis" , 0x01AAFF }, + { (char*) "America/Indiana/Knox" , 0x01B1B6 }, + { (char*) "America/Indiana/Marengo" , 0x01BB63 }, + { (char*) "America/Indiana/Petersburg" , 0x01C250 }, + { (char*) "America/Indiana/Tell_City" , 0x01C9EF }, + { (char*) "America/Indiana/Vevay" , 0x01D0B3 }, + { (char*) "America/Indiana/Vincennes" , 0x01D66F }, + { (char*) "America/Indiana/Winamac" , 0x01DD45 }, + { (char*) "America/Indianapolis" , 0x01E469 }, + { (char*) "America/Inuvik" , 0x01EB07 }, + { (char*) "America/Iqaluit" , 0x01F341 }, + { (char*) "America/Jamaica" , 0x01FC00 }, + { (char*) "America/Jujuy" , 0x01FDEE }, + { (char*) "America/Juneau" , 0x020204 }, + { (char*) "America/Kentucky/Louisville" , 0x020B55 }, + { (char*) "America/Kentucky/Monticello" , 0x021663 }, + { (char*) "America/Knox_IN" , 0x021FC3 }, + { (char*) "America/Kralendijk" , 0x02295B }, + { (char*) "America/La_Paz" , 0x022A5D }, + { (char*) "America/Lima" , 0x022B43 }, + { (char*) "America/Los_Angeles" , 0x022CD7 }, + { (char*) "America/Louisville" , 0x02380E }, + { (char*) "America/Lower_Princes" , 0x0242FE }, + { (char*) "America/Maceio" , 0x024400 }, + { (char*) "America/Managua" , 0x0246F6 }, + { (char*) "America/Manaus" , 0x0248B0 }, + { (char*) "America/Marigot" , 0x024B19 }, + { (char*) "America/Martinique" , 0x024C1B }, + { (char*) "America/Matamoros" , 0x024D0F }, + { (char*) "America/Mazatlan" , 0x0252D1 }, + { (char*) "America/Mendoza" , 0x025777 }, + { (char*) "America/Menominee" , 0x025BA9 }, + { (char*) "America/Merida" , 0x0264B6 }, + { (char*) "America/Metlakatla" , 0x0268BF }, + { (char*) "America/Mexico_City" , 0x026E71 }, + { (char*) "America/Miquelon" , 0x027351 }, + { (char*) "America/Moncton" , 0x0279D1 }, + { (char*) "America/Monterrey" , 0x028647 }, + { (char*) "America/Montevideo" , 0x028A5D }, + { (char*) "America/Montreal" , 0x029041 }, + { (char*) "America/Montserrat" , 0x029DF3 }, + { (char*) "America/Nassau" , 0x029E93 }, + { (char*) "America/New_York" , 0x02A7F3 }, + { (char*) "America/Nipigon" , 0x02B5F3 }, + { (char*) "America/Nome" , 0x02C3A5 }, + { (char*) "America/Noronha" , 0x02CCFD }, + { (char*) "America/North_Dakota/Beulah" , 0x02CFD7 }, + { (char*) "America/North_Dakota/Center" , 0x02D954 }, + { (char*) "America/North_Dakota/New_Salem" , 0x02E2D1 }, + { (char*) "America/Nuuk" , 0x02EC54 }, + { (char*) "America/Ojinaga" , 0x02F21E }, + { (char*) "America/Panama" , 0x02F83A }, + { (char*) "America/Pangnirtung" , 0x02F8FC }, + { (char*) "America/Paramaribo" , 0x0301A2 }, + { (char*) "America/Phoenix" , 0x0302A6 }, + { (char*) "America/Port-au-Prince" , 0x030437 }, + { (char*) "America/Port_of_Spain" , 0x0309DD }, + { (char*) "America/Porto_Acre" , 0x030A7D }, + { (char*) "America/Porto_Velho" , 0x030CEF }, + { (char*) "America/Puerto_Rico" , 0x030F35 }, + { (char*) "America/Punta_Arenas" , 0x031037 }, + { (char*) "America/Rainy_River" , 0x0317C5 }, + { (char*) "America/Rankin_Inlet" , 0x032305 }, + { (char*) "America/Recife" , 0x032B39 }, + { (char*) "America/Regina" , 0x032E0D }, + { (char*) "America/Resolute" , 0x033202 }, + { (char*) "America/Rio_Branco" , 0x033A37 }, + { (char*) "America/Rosario" , 0x033CAD }, + { (char*) "America/Santa_Isabel" , 0x0340DF }, + { (char*) "America/Santarem" , 0x034A31 }, + { (char*) "America/Santiago" , 0x034C94 }, + { (char*) "America/Santo_Domingo" , 0x035685 }, + { (char*) "America/Sao_Paulo" , 0x03585B }, + { (char*) "America/Scoresbysund" , 0x035E33 }, + { (char*) "America/Shiprock" , 0x0365CA }, + { (char*) "America/Sitka" , 0x036F72 }, + { (char*) "America/St_Barthelemy" , 0x0378AA }, + { (char*) "America/St_Johns" , 0x0379AC }, + { (char*) "America/St_Kitts" , 0x038821 }, + { (char*) "America/St_Lucia" , 0x0388C1 }, + { (char*) "America/St_Thomas" , 0x038983 }, + { (char*) "America/St_Vincent" , 0x038A23 }, + { (char*) "America/Swift_Current" , 0x038AE5 }, + { (char*) "America/Tegucigalpa" , 0x038D33 }, + { (char*) "America/Thule" , 0x038E3B }, + { (char*) "America/Thunder_Bay" , 0x039433 }, + { (char*) "America/Tijuana" , 0x03A1E5 }, + { (char*) "America/Toronto" , 0x03AB46 }, + { (char*) "America/Tortola" , 0x03B915 }, + { (char*) "America/Vancouver" , 0x03B9B5 }, + { (char*) "America/Virgin" , 0x03C526 }, + { (char*) "America/Whitehorse" , 0x03C628 }, + { (char*) "America/Winnipeg" , 0x03CC94 }, + { (char*) "America/Yakutat" , 0x03D7F1 }, + { (char*) "America/Yellowknife" , 0x03E10E }, + { (char*) "Antarctica/Casey" , 0x03E989 }, + { (char*) "Antarctica/Davis" , 0x03EB0C }, + { (char*) "Antarctica/DumontDUrville" , 0x03EC38 }, + { (char*) "Antarctica/Macquarie" , 0x03ED08 }, + { (char*) "Antarctica/Mawson" , 0x03F5F8 }, + { (char*) "Antarctica/McMurdo" , 0x03F6C3 }, + { (char*) "Antarctica/Palmer" , 0x03FEBE }, + { (char*) "Antarctica/Rothera" , 0x04044C }, + { (char*) "Antarctica/South_Pole" , 0x0404F5 }, + { (char*) "Antarctica/Syowa" , 0x040E86 }, + { (char*) "Antarctica/Troll" , 0x040F2E }, + { (char*) "Antarctica/Vostok" , 0x0413BB }, + { (char*) "Arctic/Longyearbyen" , 0x041464 }, + { (char*) "Asia/Aden" , 0x041D6A }, + { (char*) "Asia/Almaty" , 0x041E0D }, + { (char*) "Asia/Amman" , 0x042207 }, + { (char*) "Asia/Anadyr" , 0x0427AC }, + { (char*) "Asia/Aqtau" , 0x042C61 }, + { (char*) "Asia/Aqtobe" , 0x04304B }, + { (char*) "Asia/Ashgabat" , 0x043449 }, + { (char*) "Asia/Ashkhabad" , 0x0436B2 }, + { (char*) "Asia/Atyrau" , 0x04391B }, + { (char*) "Asia/Baghdad" , 0x043D0D }, + { (char*) "Asia/Bahrain" , 0x0440E2 }, + { (char*) "Asia/Baku" , 0x0441CD }, + { (char*) "Asia/Bangkok" , 0x044696 }, + { (char*) "Asia/Barnaul" , 0x04475B }, + { (char*) "Asia/Beirut" , 0x044C2C }, + { (char*) "Asia/Bishkek" , 0x0454A2 }, + { (char*) "Asia/Brunei" , 0x045877 }, + { (char*) "Asia/Calcutta" , 0x045940 }, + { (char*) "Asia/Chita" , 0x045A69 }, + { (char*) "Asia/Choibalsan" , 0x045F40 }, + { (char*) "Asia/Chongqing" , 0x046305 }, + { (char*) "Asia/Chungking" , 0x046542 }, + { (char*) "Asia/Colombo" , 0x04677F }, + { (char*) "Asia/Dacca" , 0x0468F1 }, + { (char*) "Asia/Damascus" , 0x046A40 }, + { (char*) "Asia/Dhaka" , 0x04719D }, + { (char*) "Asia/Dili" , 0x0472EC }, + { (char*) "Asia/Dubai" , 0x0473CD }, + { (char*) "Asia/Dushanbe" , 0x047470 }, + { (char*) "Asia/Famagusta" , 0x0476BD }, + { (char*) "Asia/Gaza" , 0x047EC4 }, + { (char*) "Asia/Harbin" , 0x048850 }, + { (char*) "Asia/Hebron" , 0x048A8D }, + { (char*) "Asia/Ho_Chi_Minh" , 0x049434 }, + { (char*) "Asia/Hong_Kong" , 0x049591 }, + { (char*) "Asia/Hovd" , 0x049A6E }, + { (char*) "Asia/Irkutsk" , 0x049E12 }, + { (char*) "Asia/Istanbul" , 0x04A305 }, + { (char*) "Asia/Jakarta" , 0x04AA9E }, + { (char*) "Asia/Jayapura" , 0x04AC36 }, + { (char*) "Asia/Jerusalem" , 0x04AD55 }, + { (char*) "Asia/Kabul" , 0x04B6B5 }, + { (char*) "Asia/Kamchatka" , 0x04B783 }, + { (char*) "Asia/Karachi" , 0x04BC21 }, + { (char*) "Asia/Kashgar" , 0x04BDA8 }, + { (char*) "Asia/Kathmandu" , 0x04BE4B }, + { (char*) "Asia/Katmandu" , 0x04BF1D }, + { (char*) "Asia/Khandyga" , 0x04BFEF }, + { (char*) "Asia/Kolkata" , 0x04C502 }, + { (char*) "Asia/Krasnoyarsk" , 0x04C62B }, + { (char*) "Asia/Kuala_Lumpur" , 0x04CAF9 }, + { (char*) "Asia/Kuching" , 0x04CCAA }, + { (char*) "Asia/Kuwait" , 0x04CE99 }, + { (char*) "Asia/Macao" , 0x04CF3C }, + { (char*) "Asia/Macau" , 0x04D413 }, + { (char*) "Asia/Magadan" , 0x04D8EA }, + { (char*) "Asia/Makassar" , 0x04DDBE }, + { (char*) "Asia/Manila" , 0x04DF11 }, + { (char*) "Asia/Muscat" , 0x04E065 }, + { (char*) "Asia/Nicosia" , 0x04E108 }, + { (char*) "Asia/Novokuznetsk" , 0x04E8F9 }, + { (char*) "Asia/Novosibirsk" , 0x04ED95 }, + { (char*) "Asia/Omsk" , 0x04F26C }, + { (char*) "Asia/Oral" , 0x04F72E }, + { (char*) "Asia/Phnom_Penh" , 0x04FB28 }, + { (char*) "Asia/Pontianak" , 0x04FC4D }, + { (char*) "Asia/Pyongyang" , 0x04FDD0 }, + { (char*) "Asia/Qatar" , 0x04FEC9 }, + { (char*) "Asia/Qostanay" , 0x04FF8E }, + { (char*) "Asia/Qyzylorda" , 0x050399 }, + { (char*) "Asia/Rangoon" , 0x0507B5 }, + { (char*) "Asia/Riyadh" , 0x0508BF }, + { (char*) "Asia/Saigon" , 0x050962 }, + { (char*) "Asia/Sakhalin" , 0x050ABF }, + { (char*) "Asia/Samarkand" , 0x050F87 }, + { (char*) "Asia/Seoul" , 0x0511D7 }, + { (char*) "Asia/Shanghai" , 0x05144C }, + { (char*) "Asia/Singapore" , 0x051695 }, + { (char*) "Asia/Srednekolymsk" , 0x051832 }, + { (char*) "Asia/Taipei" , 0x051D0A }, + { (char*) "Asia/Tashkent" , 0x05200F }, + { (char*) "Asia/Tbilisi" , 0x05226D }, + { (char*) "Asia/Tehran" , 0x052676 }, + { (char*) "Asia/Tel_Aviv" , 0x052B62 }, + { (char*) "Asia/Thimbu" , 0x0534C2 }, + { (char*) "Asia/Thimphu" , 0x05358B }, + { (char*) "Asia/Tokyo" , 0x053654 }, + { (char*) "Asia/Tomsk" , 0x053795 }, + { (char*) "Asia/Ujung_Pandang" , 0x053C66 }, + { (char*) "Asia/Ulaanbaatar" , 0x053D70 }, + { (char*) "Asia/Ulan_Bator" , 0x0540FE }, + { (char*) "Asia/Urumqi" , 0x054477 }, + { (char*) "Asia/Ust-Nera" , 0x054527 }, + { (char*) "Asia/Vientiane" , 0x054A1D }, + { (char*) "Asia/Vladivostok" , 0x054B5E }, + { (char*) "Asia/Yakutsk" , 0x055027 }, + { (char*) "Asia/Yangon" , 0x0554EF }, + { (char*) "Asia/Yekaterinburg" , 0x0555F9 }, + { (char*) "Asia/Yerevan" , 0x055AE0 }, + { (char*) "Atlantic/Azores" , 0x055F5D }, + { (char*) "Atlantic/Bermuda" , 0x056D19 }, + { (char*) "Atlantic/Canary" , 0x057681 }, + { (char*) "Atlantic/Cape_Verde" , 0x057E04 }, + { (char*) "Atlantic/Faeroe" , 0x057F10 }, + { (char*) "Atlantic/Faroe" , 0x058633 }, + { (char*) "Atlantic/Jan_Mayen" , 0x058D56 }, + { (char*) "Atlantic/Madeira" , 0x05965C }, + { (char*) "Atlantic/Reykjavik" , 0x05A426 }, + { (char*) "Atlantic/South_Georgia" , 0x05A8BC }, + { (char*) "Atlantic/St_Helena" , 0x05A95E }, + { (char*) "Atlantic/Stanley" , 0x05AA20 }, + { (char*) "Australia/ACT" , 0x05AEDC }, + { (char*) "Australia/Adelaide" , 0x05B776 }, + { (char*) "Australia/Brisbane" , 0x05C031 }, + { (char*) "Australia/Broken_Hill" , 0x05C1F7 }, + { (char*) "Australia/Canberra" , 0x05CAD4 }, + { (char*) "Australia/Currie" , 0x05D36E }, + { (char*) "Australia/Darwin" , 0x05DCB0 }, + { (char*) "Australia/Eucla" , 0x05DE13 }, + { (char*) "Australia/Hobart" , 0x05E000 }, + { (char*) "Australia/LHI" , 0x05E94A }, + { (char*) "Australia/Lindeman" , 0x05F08C }, + { (char*) "Australia/Lord_Howe" , 0x05F292 }, + { (char*) "Australia/Melbourne" , 0x05F9E4 }, + { (char*) "Australia/North" , 0x060286 }, + { (char*) "Australia/NSW" , 0x0603D7 }, + { (char*) "Australia/Perth" , 0x060C71 }, + { (char*) "Australia/Queensland" , 0x060E59 }, + { (char*) "Australia/South" , 0x061008 }, + { (char*) "Australia/Sydney" , 0x0618B4 }, + { (char*) "Australia/Tasmania" , 0x06216A }, + { (char*) "Australia/Victoria" , 0x062AAC }, + { (char*) "Australia/West" , 0x063346 }, + { (char*) "Australia/Yancowinna" , 0x063510 }, + { (char*) "Brazil/Acre" , 0x063DD1 }, + { (char*) "Brazil/DeNoronha" , 0x064043 }, + { (char*) "Brazil/East" , 0x06430D }, + { (char*) "Brazil/West" , 0x0648AF }, + { (char*) "Canada/Atlantic" , 0x064B09 }, + { (char*) "Canada/Central" , 0x065875 }, + { (char*) "Canada/Eastern" , 0x0663B5 }, + { (char*) "Canada/Mountain" , 0x067167 }, + { (char*) "Canada/Newfoundland" , 0x067A8F }, + { (char*) "Canada/Pacific" , 0x0688E2 }, + { (char*) "Canada/Saskatchewan" , 0x06943A }, + { (char*) "Canada/Yukon" , 0x06981A }, + { (char*) "CET" , 0x069E74 }, + { (char*) "Chile/Continental" , 0x06A6AE }, + { (char*) "Chile/EasterIsland" , 0x06B08D }, + { (char*) "CST6CDT" , 0x06B944 }, + { (char*) "Cuba" , 0x06C256 }, + { (char*) "EET" , 0x06CBD2 }, + { (char*) "Egypt" , 0x06D352 }, + { (char*) "Eire" , 0x06DB01 }, + { (char*) "EST" , 0x06E8B1 }, + { (char*) "EST5EDT" , 0x06E92F }, + { (char*) "Etc/GMT" , 0x06F241 }, + { (char*) "Etc/GMT+0" , 0x06F2BF }, + { (char*) "Etc/GMT+1" , 0x06F33D }, + { (char*) "Etc/GMT+10" , 0x06F3BD }, + { (char*) "Etc/GMT+11" , 0x06F43E }, + { (char*) "Etc/GMT+12" , 0x06F4BF }, + { (char*) "Etc/GMT+2" , 0x06F540 }, + { (char*) "Etc/GMT+3" , 0x06F5C0 }, + { (char*) "Etc/GMT+4" , 0x06F640 }, + { (char*) "Etc/GMT+5" , 0x06F6C0 }, + { (char*) "Etc/GMT+6" , 0x06F740 }, + { (char*) "Etc/GMT+7" , 0x06F7C0 }, + { (char*) "Etc/GMT+8" , 0x06F840 }, + { (char*) "Etc/GMT+9" , 0x06F8C0 }, + { (char*) "Etc/GMT-0" , 0x06F940 }, + { (char*) "Etc/GMT-1" , 0x06F9BE }, + { (char*) "Etc/GMT-10" , 0x06FA3F }, + { (char*) "Etc/GMT-11" , 0x06FAC1 }, + { (char*) "Etc/GMT-12" , 0x06FB43 }, + { (char*) "Etc/GMT-13" , 0x06FBC5 }, + { (char*) "Etc/GMT-14" , 0x06FC47 }, + { (char*) "Etc/GMT-2" , 0x06FCC9 }, + { (char*) "Etc/GMT-3" , 0x06FD4A }, + { (char*) "Etc/GMT-4" , 0x06FDCB }, + { (char*) "Etc/GMT-5" , 0x06FE4C }, + { (char*) "Etc/GMT-6" , 0x06FECD }, + { (char*) "Etc/GMT-7" , 0x06FF4E }, + { (char*) "Etc/GMT-8" , 0x06FFCF }, + { (char*) "Etc/GMT-9" , 0x070050 }, + { (char*) "Etc/GMT0" , 0x0700D1 }, + { (char*) "Etc/Greenwich" , 0x07014F }, + { (char*) "Etc/UCT" , 0x0701CD }, + { (char*) "Etc/Universal" , 0x07024B }, + { (char*) "Etc/UTC" , 0x0702C9 }, + { (char*) "Etc/Zulu" , 0x070347 }, + { (char*) "Europe/Amsterdam" , 0x0703C5 }, + { (char*) "Europe/Andorra" , 0x070F2F }, + { (char*) "Europe/Astrakhan" , 0x071609 }, + { (char*) "Europe/Athens" , 0x071AA6 }, + { (char*) "Europe/Belfast" , 0x072388 }, + { (char*) "Europe/Belgrade" , 0x0731E4 }, + { (char*) "Europe/Berlin" , 0x073970 }, + { (char*) "Europe/Bratislava" , 0x07428A }, + { (char*) "Europe/Brussels" , 0x074B93 }, + { (char*) "Europe/Bucharest" , 0x075714 }, + { (char*) "Europe/Budapest" , 0x075FA8 }, + { (char*) "Europe/Busingen" , 0x0768F4 }, + { (char*) "Europe/Chisinau" , 0x07707D }, + { (char*) "Europe/Copenhagen" , 0x0779DF }, + { (char*) "Europe/Dublin" , 0x078244 }, + { (char*) "Europe/Gibraltar" , 0x078FF4 }, + { (char*) "Europe/Guernsey" , 0x079BFC }, + { (char*) "Europe/Helsinki" , 0x07AA9C }, + { (char*) "Europe/Isle_of_Man" , 0x07B214 }, + { (char*) "Europe/Istanbul" , 0x07C060 }, + { (char*) "Europe/Jersey" , 0x07C7F9 }, + { (char*) "Europe/Kaliningrad" , 0x07D699 }, + { (char*) "Europe/Kiev" , 0x07DC8E }, + { (char*) "Europe/Kirov" , 0x07E4E2 }, + { (char*) "Europe/Kyiv" , 0x07E96F }, + { (char*) "Europe/Lisbon" , 0x07F1D7 }, + { (char*) "Europe/Ljubljana" , 0x07FF9F }, + { (char*) "Europe/London" , 0x08072B }, + { (char*) "Europe/Luxembourg" , 0x081587 }, + { (char*) "Europe/Madrid" , 0x082115 }, + { (char*) "Europe/Malta" , 0x082B67 }, + { (char*) "Europe/Mariehamn" , 0x0835AF }, + { (char*) "Europe/Minsk" , 0x083D27 }, + { (char*) "Europe/Monaco" , 0x08424E }, + { (char*) "Europe/Moscow" , 0x084DDA }, + { (char*) "Europe/Nicosia" , 0x0853F9 }, + { (char*) "Europe/Oslo" , 0x085BD7 }, + { (char*) "Europe/Paris" , 0x086497 }, + { (char*) "Europe/Podgorica" , 0x087035 }, + { (char*) "Europe/Prague" , 0x0877C1 }, + { (char*) "Europe/Riga" , 0x0880CA }, + { (char*) "Europe/Rome" , 0x08896C }, + { (char*) "Europe/Samara" , 0x0893C9 }, + { (char*) "Europe/San_Marino" , 0x08989F }, + { (char*) "Europe/Sarajevo" , 0x08A2FC }, + { (char*) "Europe/Saratov" , 0x08AA88 }, + { (char*) "Europe/Simferopol" , 0x08AF35 }, + { (char*) "Europe/Skopje" , 0x08B504 }, + { (char*) "Europe/Sofia" , 0x08BC90 }, + { (char*) "Europe/Stockholm" , 0x08C4B9 }, + { (char*) "Europe/Tallinn" , 0x08CC3A }, + { (char*) "Europe/Tirane" , 0x08D4AA }, + { (char*) "Europe/Tiraspol" , 0x08DCDA }, + { (char*) "Europe/Ulyanovsk" , 0x08E63C }, + { (char*) "Europe/Uzhgorod" , 0x08EB3F }, + { (char*) "Europe/Vaduz" , 0x08F393 }, + { (char*) "Europe/Vatican" , 0x08FAFF }, + { (char*) "Europe/Vienna" , 0x09055C }, + { (char*) "Europe/Vilnius" , 0x090E00 }, + { (char*) "Europe/Volgograd" , 0x09167E }, + { (char*) "Europe/Warsaw" , 0x091B1B }, + { (char*) "Europe/Zagreb" , 0x092585 }, + { (char*) "Europe/Zaporozhye" , 0x092D11 }, + { (char*) "Europe/Zurich" , 0x093565 }, + { (char*) "Factory" , 0x093CE6 }, + { (char*) "GB" , 0x093D66 }, + { (char*) "GB-Eire" , 0x094BC2 }, + { (char*) "GMT" , 0x095A1E }, + { (char*) "GMT+0" , 0x095A9C }, + { (char*) "GMT-0" , 0x095B1A }, + { (char*) "GMT0" , 0x095B98 }, + { (char*) "Greenwich" , 0x095C16 }, + { (char*) "Hongkong" , 0x095C94 }, + { (char*) "HST" , 0x096171 }, + { (char*) "Iceland" , 0x0961F0 }, + { (char*) "Indian/Antananarivo" , 0x096290 }, + { (char*) "Indian/Chagos" , 0x096377 }, + { (char*) "Indian/Christmas" , 0x09643C }, + { (char*) "Indian/Cocos" , 0x0964DF }, + { (char*) "Indian/Comoro" , 0x09658B }, + { (char*) "Indian/Kerguelen" , 0x09662C }, + { (char*) "Indian/Mahe" , 0x0966CF }, + { (char*) "Indian/Maldives" , 0x096772 }, + { (char*) "Indian/Mauritius" , 0x096837 }, + { (char*) "Indian/Mayotte" , 0x096926 }, + { (char*) "Indian/Reunion" , 0x0969C7 }, + { (char*) "Iran" , 0x096A6A }, + { (char*) "Israel" , 0x096F56 }, + { (char*) "Jamaica" , 0x0978B6 }, + { (char*) "Japan" , 0x097AA4 }, + { (char*) "Kwajalein" , 0x097BE5 }, + { (char*) "Libya" , 0x097D1F }, + { (char*) "MET" , 0x097F9C }, + { (char*) "Mexico/BajaNorte" , 0x0987D6 }, + { (char*) "Mexico/BajaSur" , 0x099128 }, + { (char*) "Mexico/General" , 0x09959C }, + { (char*) "MST" , 0x099A6E }, + { (char*) "MST7MDT" , 0x099AEC }, + { (char*) "Navajo" , 0x09A3FE }, + { (char*) "NZ" , 0x09ADA6 }, + { (char*) "NZ-CHAT" , 0x09B737 }, + { (char*) "Pacific/Apia" , 0x09BF49 }, + { (char*) "Pacific/Auckland" , 0x09C1AB }, + { (char*) "Pacific/Bougainville" , 0x09CB54 }, + { (char*) "Pacific/Chatham" , 0x09CC6A }, + { (char*) "Pacific/Chuuk" , 0x09D48B }, + { (char*) "Pacific/Easter" , 0x09D5A5 }, + { (char*) "Pacific/Efate" , 0x09DE69 }, + { (char*) "Pacific/Enderbury" , 0x09E081 }, + { (char*) "Pacific/Fakaofo" , 0x09E169 }, + { (char*) "Pacific/Fiji" , 0x09E22F }, + { (char*) "Pacific/Funafuti" , 0x09E46F }, + { (char*) "Pacific/Galapagos" , 0x09E513 }, + { (char*) "Pacific/Gambier" , 0x09E610 }, + { (char*) "Pacific/Guadalcanal" , 0x09E6C1 }, + { (char*) "Pacific/Guam" , 0x09E765 }, + { (char*) "Pacific/Honolulu" , 0x09E95F }, + { (char*) "Pacific/Johnston" , 0x09EABA }, + { (char*) "Pacific/Kanton" , 0x09EC0F }, + { (char*) "Pacific/Kiritimati" , 0x09ED06 }, + { (char*) "Pacific/Kosrae" , 0x09EDFE }, + { (char*) "Pacific/Kwajalein" , 0x09EF61 }, + { (char*) "Pacific/Majuro" , 0x09F0A4 }, + { (char*) "Pacific/Marquesas" , 0x09F1F5 }, + { (char*) "Pacific/Midway" , 0x09F2B1 }, + { (char*) "Pacific/Nauru" , 0x09F3A4 }, + { (char*) "Pacific/Niue" , 0x09F49E }, + { (char*) "Pacific/Norfolk" , 0x09F567 }, + { (char*) "Pacific/Noumea" , 0x09F8D5 }, + { (char*) "Pacific/Pago_Pago" , 0x09FA03 }, + { (char*) "Pacific/Palau" , 0x09FABE }, + { (char*) "Pacific/Pitcairn" , 0x09FB70 }, + { (char*) "Pacific/Pohnpei" , 0x09FC38 }, + { (char*) "Pacific/Ponape" , 0x09FD73 }, + { (char*) "Pacific/Port_Moresby" , 0x09FE17 }, + { (char*) "Pacific/Rarotonga" , 0x09FEEC }, + { (char*) "Pacific/Saipan" , 0x0A0145 }, + { (char*) "Pacific/Samoa" , 0x0A0331 }, + { (char*) "Pacific/Tahiti" , 0x0A03EC }, + { (char*) "Pacific/Tarawa" , 0x0A049E }, + { (char*) "Pacific/Tongatapu" , 0x0A0551 }, + { (char*) "Pacific/Truk" , 0x0A06C3 }, + { (char*) "Pacific/Wake" , 0x0A077B }, + { (char*) "Pacific/Wallis" , 0x0A082A }, + { (char*) "Pacific/Yap" , 0x0A08CE }, + { (char*) "Poland" , 0x0A0986 }, + { (char*) "Portugal" , 0x0A13F0 }, + { (char*) "PRC" , 0x0A21A5 }, + { (char*) "PST8PDT" , 0x0A23E2 }, + { (char*) "ROC" , 0x0A2CF4 }, + { (char*) "ROK" , 0x0A2FF9 }, + { (char*) "Singapore" , 0x0A326E }, + { (char*) "Turkey" , 0x0A340B }, + { (char*) "UCT" , 0x0A3BA4 }, + { (char*) "Universal" , 0x0A3C22 }, + { (char*) "US/Alaska" , 0x0A3CA0 }, + { (char*) "US/Aleutian" , 0x0A45EF }, + { (char*) "US/Arizona" , 0x0A4F2F }, + { (char*) "US/Central" , 0x0A50A3 }, + { (char*) "US/East-Indiana" , 0x0A5EB7 }, + { (char*) "US/Eastern" , 0x0A6555 }, + { (char*) "US/Hawaii" , 0x0A7341 }, + { (char*) "US/Indiana-Starke" , 0x0A7496 }, + { (char*) "US/Michigan" , 0x0A7E2E }, + { (char*) "US/Mountain" , 0x0A86F0 }, + { (char*) "US/Pacific" , 0x0A9098 }, + { (char*) "US/Samoa" , 0x0A9BC8 }, + { (char*) "UTC" , 0x0A9C83 }, + { (char*) "W-SU" , 0x0A9D01 }, + { (char*) "WET" , 0x0AA30C }, + { (char*) "Zulu" , 0x0AAA89 }, }; -const unsigned char timelib_timezone_db_data_builtin[696923] = { +const unsigned char timelib_timezone_db_data_builtin[699143] = { /* Africa/Abidjan */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -27515,9 +27663,8 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x50, 0x53, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x43, 0x53, 0x54, 0x36, 0x0A, -0x00, 0xA9, 0x11, 0x40, 0x00, 0x72, 0x0F, 0x38, 0x00, 0x00, 0x00, 0x20, 0x43, 0x65, 0x6E, 0x74, -0x72, 0x61, 0x6C, 0x20, 0x54, 0x69, 0x6D, 0x65, 0x20, 0x2D, 0x20, 0x42, 0x61, 0x68, 0x69, 0x61, -0x20, 0x64, 0x65, 0x20, 0x42, 0x61, 0x6E, 0x64, 0x65, 0x72, 0x61, 0x73, +0x00, 0xA9, 0x11, 0x40, 0x00, 0x72, 0x0F, 0x38, 0x00, 0x00, 0x00, 0x11, 0x42, 0x61, 0x68, 0x69, +0x61, 0x20, 0x64, 0x65, 0x20, 0x42, 0x61, 0x6E, 0x64, 0x65, 0x72, 0x61, 0x73, /* America/Barbados */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -27764,7 +27911,7 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x4F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x80, 0x00, 0x00, 0x00, -0x98, 0x58, 0x55, 0x70, 0x2A, 0x03, 0x73, 0x50, 0x2B, 0xBE, 0x5D, 0x40, 0x01, 0x03, 0x02, 0x03, +0x98, 0x58, 0x55, 0x70, 0x2A, 0x03, 0x73, 0x50, 0x2B, 0x74, 0x89, 0x40, 0x01, 0x03, 0x02, 0x03, 0xFF, 0xFF, 0xBA, 0x90, 0x00, 0x00, 0xFF, 0xFF, 0xBA, 0x90, 0x00, 0x04, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x08, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x34, 0x00, 0x2D, 0x30, 0x35, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, @@ -27772,7 +27919,7 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0x5E, 0x9C, 0x34, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0x98, 0x58, 0x55, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x03, 0x73, 0x50, 0x00, 0x00, 0x00, 0x00, -0x2B, 0xBE, 0x5D, 0x40, 0x01, 0x03, 0x02, 0x03, 0xFF, 0xFF, 0xBA, 0x90, 0x00, 0x00, 0xFF, 0xFF, +0x2B, 0x74, 0x89, 0x40, 0x01, 0x03, 0x02, 0x03, 0xFF, 0xFF, 0xBA, 0x90, 0x00, 0x00, 0xFF, 0xFF, 0xBA, 0x90, 0x00, 0x04, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x08, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x42, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x34, 0x00, 0x2D, 0x30, 0x35, 0x00, 0x0A, 0x3C, 0x2D, 0x30, 0x35, 0x3E, 0x35, 0x0A, 0x00, 0x90, 0x59, 0x20, 0x00, 0xA1, 0x9D, 0xB2, @@ -28006,138 +28153,148 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { /* America/Cambridge_Bay */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x7B, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x25, 0xA1, 0xF2, 0xCD, 0x80, -0xCB, 0x89, 0x0C, 0x90, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x61, 0x18, 0x00, 0xF7, 0x2F, 0x5A, 0x70, -0xF8, 0x28, 0x85, 0xF0, 0x13, 0x69, 0x64, 0x10, 0x14, 0x59, 0x47, 0x00, 0x15, 0x49, 0x46, 0x10, -0x16, 0x39, 0x29, 0x00, 0x17, 0x29, 0x28, 0x10, 0x18, 0x22, 0x45, 0x80, 0x19, 0x09, 0x0A, 0x10, -0x1A, 0x02, 0x27, 0x80, 0x1A, 0xF2, 0x26, 0x90, 0x1B, 0xE2, 0x09, 0x80, 0x1C, 0xD2, 0x08, 0x90, -0x1D, 0xC1, 0xEB, 0x80, 0x1E, 0xB1, 0xEA, 0x90, 0x1F, 0xA1, 0xCD, 0x80, 0x20, 0x76, 0x1D, 0x10, -0x21, 0x81, 0xAF, 0x80, 0x22, 0x55, 0xFF, 0x10, 0x23, 0x6A, 0xCC, 0x00, 0x24, 0x35, 0xE1, 0x10, -0x25, 0x4A, 0xAE, 0x00, 0x26, 0x15, 0xC3, 0x10, 0x27, 0x2A, 0x90, 0x00, 0x27, 0xFE, 0xDF, 0x90, -0x29, 0x0A, 0x72, 0x00, 0x29, 0xDE, 0xC1, 0x90, 0x2A, 0xEA, 0x54, 0x00, 0x2B, 0xBE, 0xA3, 0x90, -0x2C, 0xD3, 0x70, 0x80, 0x2D, 0x9E, 0x85, 0x90, 0x2E, 0xB3, 0x52, 0x80, 0x2F, 0x7E, 0x67, 0x90, -0x30, 0x93, 0x34, 0x80, 0x31, 0x67, 0x84, 0x10, 0x32, 0x73, 0x16, 0x80, 0x33, 0x47, 0x66, 0x10, -0x34, 0x52, 0xF8, 0x80, 0x35, 0x27, 0x48, 0x10, 0x36, 0x32, 0xDA, 0x80, 0x37, 0x07, 0x2A, 0x10, -0x38, 0x1B, 0xF7, 0x00, 0x38, 0xE6, 0xFE, 0x00, 0x39, 0xFB, 0xCA, 0xF0, 0x3A, 0x04, 0xE9, 0x50, -0x3A, 0xC6, 0xEE, 0x10, 0x3B, 0xDB, 0xBB, 0x00, 0x3C, 0xB0, 0x0A, 0x90, 0x3D, 0xBB, 0x9D, 0x00, -0x3E, 0x8F, 0xEC, 0x90, 0x3F, 0x9B, 0x7F, 0x00, 0x40, 0x6F, 0xCE, 0x90, 0x41, 0x84, 0x9B, 0x80, -0x42, 0x4F, 0xB0, 0x90, 0x43, 0x64, 0x7D, 0x80, 0x44, 0x2F, 0x92, 0x90, 0x45, 0x44, 0x5F, 0x80, -0x45, 0xF3, 0xC5, 0x10, 0x47, 0x2D, 0x7C, 0x00, 0x47, 0xD3, 0xA7, 0x10, 0x49, 0x0D, 0x5E, 0x00, -0x49, 0xB3, 0x89, 0x10, 0x4A, 0xED, 0x40, 0x00, 0x4B, 0x9C, 0xA5, 0x90, 0x4C, 0xD6, 0x5C, 0x80, -0x4D, 0x7C, 0x87, 0x90, 0x4E, 0xB6, 0x3E, 0x80, 0x4F, 0x5C, 0x69, 0x90, 0x50, 0x96, 0x20, 0x80, -0x51, 0x3C, 0x4B, 0x90, 0x52, 0x76, 0x02, 0x80, 0x53, 0x1C, 0x2D, 0x90, 0x54, 0x55, 0xE4, 0x80, -0x54, 0xFC, 0x0F, 0x90, 0x56, 0x35, 0xC6, 0x80, 0x56, 0xE5, 0x2C, 0x10, 0x58, 0x1E, 0xE3, 0x00, -0x58, 0xC5, 0x0E, 0x10, 0x59, 0xFE, 0xC5, 0x00, 0x5A, 0xA4, 0xF0, 0x10, 0x5B, 0xDE, 0xA7, 0x00, -0x5C, 0x84, 0xD2, 0x10, 0x5D, 0xBE, 0x89, 0x00, 0x5E, 0x64, 0xB4, 0x10, 0x5F, 0x9E, 0x6B, 0x00, -0x60, 0x4D, 0xD0, 0x90, 0x61, 0x87, 0x87, 0x80, 0x62, 0x2D, 0xB2, 0x90, 0x63, 0x67, 0x69, 0x80, -0x64, 0x0D, 0x94, 0x90, 0x65, 0x47, 0x4B, 0x80, 0x65, 0xED, 0x76, 0x90, 0x67, 0x27, 0x2D, 0x80, -0x67, 0xCD, 0x58, 0x90, 0x69, 0x07, 0x0F, 0x80, 0x69, 0xAD, 0x3A, 0x90, 0x6A, 0xE6, 0xF1, 0x80, -0x6B, 0x96, 0x57, 0x10, 0x6C, 0xD0, 0x0E, 0x00, 0x6D, 0x76, 0x39, 0x10, 0x6E, 0xAF, 0xF0, 0x00, -0x6F, 0x56, 0x1B, 0x10, 0x70, 0x8F, 0xD2, 0x00, 0x71, 0x35, 0xFD, 0x10, 0x72, 0x6F, 0xB4, 0x00, -0x73, 0x15, 0xDF, 0x10, 0x74, 0x4F, 0x96, 0x00, 0x74, 0xFE, 0xFB, 0x90, 0x76, 0x38, 0xB2, 0x80, -0x76, 0xDE, 0xDD, 0x90, 0x78, 0x18, 0x94, 0x80, 0x78, 0xBE, 0xBF, 0x90, 0x79, 0xF8, 0x76, 0x80, -0x7A, 0x9E, 0xA1, 0x90, 0x7B, 0xD8, 0x58, 0x80, 0x7C, 0x7E, 0x83, 0x90, 0x7D, 0xB8, 0x3A, 0x80, -0x7E, 0x5E, 0x65, 0x90, 0x7F, 0x98, 0x1C, 0x80, 0x03, 0x01, 0x02, 0x03, 0x04, 0x03, 0x05, 0x03, -0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, -0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, -0x05, 0x03, 0x05, 0x03, 0x05, 0x07, 0x06, 0x08, 0x07, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x04, 0xFF, -0xFF, 0xAB, 0xA0, 0x01, 0x08, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x0C, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, -0x10, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x15, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x19, 0xFF, 0xFF, 0xAB, -0xA0, 0x00, 0x1D, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x21, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x15, 0xFF, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x89, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x20, 0xA1, 0xF2, 0xCD, 0x80, +0xCB, 0x89, 0x0C, 0x90, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x61, 0x18, 0x00, 0x04, 0x61, 0x19, 0x90, +0x05, 0x50, 0xFC, 0x80, 0x06, 0x40, 0xFB, 0x90, 0x07, 0x30, 0xDE, 0x80, 0x08, 0x20, 0xDD, 0x90, +0x09, 0x10, 0xC0, 0x80, 0x0A, 0x00, 0xBF, 0x90, 0x0A, 0xF0, 0xA2, 0x80, 0x0B, 0xE0, 0xA1, 0x90, +0x0C, 0xD9, 0xBF, 0x00, 0x0D, 0xC0, 0x83, 0x90, 0x0E, 0xB9, 0xA1, 0x00, 0x0F, 0xA9, 0xA0, 0x10, +0x10, 0x99, 0x83, 0x00, 0x11, 0x89, 0x82, 0x10, 0x12, 0x79, 0x65, 0x00, 0x13, 0x69, 0x64, 0x10, +0x14, 0x59, 0x47, 0x00, 0x15, 0x49, 0x46, 0x10, 0x16, 0x39, 0x29, 0x00, 0x17, 0x29, 0x28, 0x10, +0x18, 0x22, 0x45, 0x80, 0x19, 0x09, 0x0A, 0x10, 0x1A, 0x02, 0x27, 0x80, 0x1A, 0xF2, 0x26, 0x90, +0x1B, 0xE2, 0x09, 0x80, 0x1C, 0xD2, 0x08, 0x90, 0x1D, 0xC1, 0xEB, 0x80, 0x1E, 0xB1, 0xEA, 0x90, +0x1F, 0xA1, 0xCD, 0x80, 0x20, 0x76, 0x1D, 0x10, 0x21, 0x81, 0xAF, 0x80, 0x22, 0x55, 0xFF, 0x10, +0x23, 0x6A, 0xCC, 0x00, 0x24, 0x35, 0xE1, 0x10, 0x25, 0x4A, 0xAE, 0x00, 0x26, 0x15, 0xC3, 0x10, +0x27, 0x2A, 0x90, 0x00, 0x27, 0xFE, 0xDF, 0x90, 0x29, 0x0A, 0x72, 0x00, 0x29, 0xDE, 0xC1, 0x90, +0x2A, 0xEA, 0x54, 0x00, 0x2B, 0xBE, 0xA3, 0x90, 0x2C, 0xD3, 0x70, 0x80, 0x2D, 0x9E, 0x85, 0x90, +0x2E, 0xB3, 0x52, 0x80, 0x2F, 0x7E, 0x67, 0x90, 0x30, 0x93, 0x34, 0x80, 0x31, 0x67, 0x84, 0x10, +0x32, 0x73, 0x16, 0x80, 0x33, 0x47, 0x66, 0x10, 0x34, 0x52, 0xF8, 0x80, 0x35, 0x27, 0x48, 0x10, +0x36, 0x32, 0xDA, 0x80, 0x37, 0x07, 0x2A, 0x10, 0x38, 0x1B, 0xF7, 0x00, 0x38, 0xE6, 0xFE, 0x00, +0x39, 0xFB, 0xCA, 0xF0, 0x3A, 0x04, 0xE9, 0x50, 0x3A, 0xC6, 0xEE, 0x10, 0x3B, 0xDB, 0xBB, 0x00, +0x3C, 0xB0, 0x0A, 0x90, 0x3D, 0xBB, 0x9D, 0x00, 0x3E, 0x8F, 0xEC, 0x90, 0x3F, 0x9B, 0x7F, 0x00, +0x40, 0x6F, 0xCE, 0x90, 0x41, 0x84, 0x9B, 0x80, 0x42, 0x4F, 0xB0, 0x90, 0x43, 0x64, 0x7D, 0x80, +0x44, 0x2F, 0x92, 0x90, 0x45, 0x44, 0x5F, 0x80, 0x45, 0xF3, 0xC5, 0x10, 0x47, 0x2D, 0x7C, 0x00, +0x47, 0xD3, 0xA7, 0x10, 0x49, 0x0D, 0x5E, 0x00, 0x49, 0xB3, 0x89, 0x10, 0x4A, 0xED, 0x40, 0x00, +0x4B, 0x9C, 0xA5, 0x90, 0x4C, 0xD6, 0x5C, 0x80, 0x4D, 0x7C, 0x87, 0x90, 0x4E, 0xB6, 0x3E, 0x80, +0x4F, 0x5C, 0x69, 0x90, 0x50, 0x96, 0x20, 0x80, 0x51, 0x3C, 0x4B, 0x90, 0x52, 0x76, 0x02, 0x80, +0x53, 0x1C, 0x2D, 0x90, 0x54, 0x55, 0xE4, 0x80, 0x54, 0xFC, 0x0F, 0x90, 0x56, 0x35, 0xC6, 0x80, +0x56, 0xE5, 0x2C, 0x10, 0x58, 0x1E, 0xE3, 0x00, 0x58, 0xC5, 0x0E, 0x10, 0x59, 0xFE, 0xC5, 0x00, +0x5A, 0xA4, 0xF0, 0x10, 0x5B, 0xDE, 0xA7, 0x00, 0x5C, 0x84, 0xD2, 0x10, 0x5D, 0xBE, 0x89, 0x00, +0x5E, 0x64, 0xB4, 0x10, 0x5F, 0x9E, 0x6B, 0x00, 0x60, 0x4D, 0xD0, 0x90, 0x61, 0x87, 0x87, 0x80, +0x62, 0x2D, 0xB2, 0x90, 0x63, 0x67, 0x69, 0x80, 0x64, 0x0D, 0x94, 0x90, 0x65, 0x47, 0x4B, 0x80, +0x65, 0xED, 0x76, 0x90, 0x67, 0x27, 0x2D, 0x80, 0x67, 0xCD, 0x58, 0x90, 0x69, 0x07, 0x0F, 0x80, +0x69, 0xAD, 0x3A, 0x90, 0x6A, 0xE6, 0xF1, 0x80, 0x6B, 0x96, 0x57, 0x10, 0x6C, 0xD0, 0x0E, 0x00, +0x6D, 0x76, 0x39, 0x10, 0x6E, 0xAF, 0xF0, 0x00, 0x6F, 0x56, 0x1B, 0x10, 0x70, 0x8F, 0xD2, 0x00, +0x71, 0x35, 0xFD, 0x10, 0x72, 0x6F, 0xB4, 0x00, 0x73, 0x15, 0xDF, 0x10, 0x74, 0x4F, 0x96, 0x00, +0x74, 0xFE, 0xFB, 0x90, 0x76, 0x38, 0xB2, 0x80, 0x76, 0xDE, 0xDD, 0x90, 0x78, 0x18, 0x94, 0x80, +0x78, 0xBE, 0xBF, 0x90, 0x79, 0xF8, 0x76, 0x80, 0x7A, 0x9E, 0xA1, 0x90, 0x7B, 0xD8, 0x58, 0x80, +0x7C, 0x7E, 0x83, 0x90, 0x7D, 0xB8, 0x3A, 0x80, 0x7E, 0x5E, 0x65, 0x90, 0x7F, 0x98, 0x1C, 0x80, +0x03, 0x01, 0x02, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x06, 0x05, 0x07, 0x06, 0x04, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, +0xFF, 0xAB, 0xA0, 0x01, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x08, 0xFF, 0xFF, 0x9D, 0x90, 0x00, +0x0C, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x10, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x14, 0xFF, 0xFF, 0xAB, +0xA0, 0x00, 0x18, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x1C, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x10, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x0C, 0x2D, 0x30, 0x30, 0x00, 0x4D, 0x57, 0x54, 0x00, 0x4D, 0x50, 0x54, -0x00, 0x4D, 0x53, 0x54, 0x00, 0x4D, 0x44, 0x44, 0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x43, 0x44, -0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x7B, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x25, 0xFF, 0xFF, 0xFF, 0xFF, -0xA1, 0xF2, 0xCD, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x89, 0x0C, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, -0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x61, 0x18, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, -0xF7, 0x2F, 0x5A, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x28, 0x85, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x13, 0x69, 0x64, 0x10, 0x00, 0x00, 0x00, 0x00, 0x14, 0x59, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, -0x15, 0x49, 0x46, 0x10, 0x00, 0x00, 0x00, 0x00, 0x16, 0x39, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, -0x17, 0x29, 0x28, 0x10, 0x00, 0x00, 0x00, 0x00, 0x18, 0x22, 0x45, 0x80, 0x00, 0x00, 0x00, 0x00, -0x19, 0x09, 0x0A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x02, 0x27, 0x80, 0x00, 0x00, 0x00, 0x00, -0x1A, 0xF2, 0x26, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xE2, 0x09, 0x80, 0x00, 0x00, 0x00, 0x00, -0x1C, 0xD2, 0x08, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xC1, 0xEB, 0x80, 0x00, 0x00, 0x00, 0x00, -0x1E, 0xB1, 0xEA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xA1, 0xCD, 0x80, 0x00, 0x00, 0x00, 0x00, -0x20, 0x76, 0x1D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x21, 0x81, 0xAF, 0x80, 0x00, 0x00, 0x00, 0x00, -0x22, 0x55, 0xFF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x23, 0x6A, 0xCC, 0x00, 0x00, 0x00, 0x00, 0x00, -0x24, 0x35, 0xE1, 0x10, 0x00, 0x00, 0x00, 0x00, 0x25, 0x4A, 0xAE, 0x00, 0x00, 0x00, 0x00, 0x00, -0x26, 0x15, 0xC3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x27, 0x2A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, -0x27, 0xFE, 0xDF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, 0x0A, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, -0x29, 0xDE, 0xC1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xEA, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, -0x2B, 0xBE, 0xA3, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xD3, 0x70, 0x80, 0x00, 0x00, 0x00, 0x00, -0x2D, 0x9E, 0x85, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2E, 0xB3, 0x52, 0x80, 0x00, 0x00, 0x00, 0x00, -0x2F, 0x7E, 0x67, 0x90, 0x00, 0x00, 0x00, 0x00, 0x30, 0x93, 0x34, 0x80, 0x00, 0x00, 0x00, 0x00, -0x31, 0x67, 0x84, 0x10, 0x00, 0x00, 0x00, 0x00, 0x32, 0x73, 0x16, 0x80, 0x00, 0x00, 0x00, 0x00, -0x33, 0x47, 0x66, 0x10, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0xF8, 0x80, 0x00, 0x00, 0x00, 0x00, -0x35, 0x27, 0x48, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0xDA, 0x80, 0x00, 0x00, 0x00, 0x00, -0x37, 0x07, 0x2A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0xF7, 0x00, 0x00, 0x00, 0x00, 0x00, -0x38, 0xE6, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0xCA, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x3A, 0x04, 0xE9, 0x50, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xC6, 0xEE, 0x10, 0x00, 0x00, 0x00, 0x00, -0x3B, 0xDB, 0xBB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xB0, 0x0A, 0x90, 0x00, 0x00, 0x00, 0x00, -0x3D, 0xBB, 0x9D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x8F, 0xEC, 0x90, 0x00, 0x00, 0x00, 0x00, -0x3F, 0x9B, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x6F, 0xCE, 0x90, 0x00, 0x00, 0x00, 0x00, -0x41, 0x84, 0x9B, 0x80, 0x00, 0x00, 0x00, 0x00, 0x42, 0x4F, 0xB0, 0x90, 0x00, 0x00, 0x00, 0x00, -0x43, 0x64, 0x7D, 0x80, 0x00, 0x00, 0x00, 0x00, 0x44, 0x2F, 0x92, 0x90, 0x00, 0x00, 0x00, 0x00, -0x45, 0x44, 0x5F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x45, 0xF3, 0xC5, 0x10, 0x00, 0x00, 0x00, 0x00, -0x47, 0x2D, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0xD3, 0xA7, 0x10, 0x00, 0x00, 0x00, 0x00, -0x49, 0x0D, 0x5E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0xB3, 0x89, 0x10, 0x00, 0x00, 0x00, 0x00, -0x4A, 0xED, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4B, 0x9C, 0xA5, 0x90, 0x00, 0x00, 0x00, 0x00, -0x4C, 0xD6, 0x5C, 0x80, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x7C, 0x87, 0x90, 0x00, 0x00, 0x00, 0x00, -0x4E, 0xB6, 0x3E, 0x80, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x5C, 0x69, 0x90, 0x00, 0x00, 0x00, 0x00, -0x50, 0x96, 0x20, 0x80, 0x00, 0x00, 0x00, 0x00, 0x51, 0x3C, 0x4B, 0x90, 0x00, 0x00, 0x00, 0x00, -0x52, 0x76, 0x02, 0x80, 0x00, 0x00, 0x00, 0x00, 0x53, 0x1C, 0x2D, 0x90, 0x00, 0x00, 0x00, 0x00, -0x54, 0x55, 0xE4, 0x80, 0x00, 0x00, 0x00, 0x00, 0x54, 0xFC, 0x0F, 0x90, 0x00, 0x00, 0x00, 0x00, -0x56, 0x35, 0xC6, 0x80, 0x00, 0x00, 0x00, 0x00, 0x56, 0xE5, 0x2C, 0x10, 0x00, 0x00, 0x00, 0x00, -0x58, 0x1E, 0xE3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 0xC5, 0x0E, 0x10, 0x00, 0x00, 0x00, 0x00, -0x59, 0xFE, 0xC5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xA4, 0xF0, 0x10, 0x00, 0x00, 0x00, 0x00, -0x5B, 0xDE, 0xA7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5C, 0x84, 0xD2, 0x10, 0x00, 0x00, 0x00, 0x00, -0x5D, 0xBE, 0x89, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x64, 0xB4, 0x10, 0x00, 0x00, 0x00, 0x00, -0x5F, 0x9E, 0x6B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x4D, 0xD0, 0x90, 0x00, 0x00, 0x00, 0x00, -0x61, 0x87, 0x87, 0x80, 0x00, 0x00, 0x00, 0x00, 0x62, 0x2D, 0xB2, 0x90, 0x00, 0x00, 0x00, 0x00, -0x63, 0x67, 0x69, 0x80, 0x00, 0x00, 0x00, 0x00, 0x64, 0x0D, 0x94, 0x90, 0x00, 0x00, 0x00, 0x00, -0x65, 0x47, 0x4B, 0x80, 0x00, 0x00, 0x00, 0x00, 0x65, 0xED, 0x76, 0x90, 0x00, 0x00, 0x00, 0x00, -0x67, 0x27, 0x2D, 0x80, 0x00, 0x00, 0x00, 0x00, 0x67, 0xCD, 0x58, 0x90, 0x00, 0x00, 0x00, 0x00, -0x69, 0x07, 0x0F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x69, 0xAD, 0x3A, 0x90, 0x00, 0x00, 0x00, 0x00, -0x6A, 0xE6, 0xF1, 0x80, 0x00, 0x00, 0x00, 0x00, 0x6B, 0x96, 0x57, 0x10, 0x00, 0x00, 0x00, 0x00, -0x6C, 0xD0, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x76, 0x39, 0x10, 0x00, 0x00, 0x00, 0x00, -0x6E, 0xAF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x56, 0x1B, 0x10, 0x00, 0x00, 0x00, 0x00, -0x70, 0x8F, 0xD2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x71, 0x35, 0xFD, 0x10, 0x00, 0x00, 0x00, 0x00, -0x72, 0x6F, 0xB4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x73, 0x15, 0xDF, 0x10, 0x00, 0x00, 0x00, 0x00, -0x74, 0x4F, 0x96, 0x00, 0x00, 0x00, 0x00, 0x00, 0x74, 0xFE, 0xFB, 0x90, 0x00, 0x00, 0x00, 0x00, -0x76, 0x38, 0xB2, 0x80, 0x00, 0x00, 0x00, 0x00, 0x76, 0xDE, 0xDD, 0x90, 0x00, 0x00, 0x00, 0x00, -0x78, 0x18, 0x94, 0x80, 0x00, 0x00, 0x00, 0x00, 0x78, 0xBE, 0xBF, 0x90, 0x00, 0x00, 0x00, 0x00, -0x79, 0xF8, 0x76, 0x80, 0x00, 0x00, 0x00, 0x00, 0x7A, 0x9E, 0xA1, 0x90, 0x00, 0x00, 0x00, 0x00, -0x7B, 0xD8, 0x58, 0x80, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x7E, 0x83, 0x90, 0x00, 0x00, 0x00, 0x00, -0x7D, 0xB8, 0x3A, 0x80, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x5E, 0x65, 0x90, 0x00, 0x00, 0x00, 0x00, -0x7F, 0x98, 0x1C, 0x80, 0x03, 0x01, 0x02, 0x03, 0x04, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, -0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, -0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, -0x05, 0x07, 0x06, 0x08, 0x07, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, -0x08, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x0C, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x10, 0xFF, 0xFF, 0xAB, -0xA0, 0x01, 0x15, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x19, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x1D, 0xFF, -0xFF, 0xB9, 0xB0, 0x00, 0x21, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x15, 0xFF, 0xFF, 0x9D, 0x90, 0x00, -0x0C, 0x2D, 0x30, 0x30, 0x00, 0x4D, 0x57, 0x54, 0x00, 0x4D, 0x50, 0x54, 0x00, 0x4D, 0x53, 0x54, -0x00, 0x4D, 0x44, 0x44, 0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x43, 0x53, -0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x4D, 0x53, 0x54, -0x37, 0x4D, 0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, -0x31, 0x2E, 0x30, 0x0A, 0x00, 0xF2, 0xC9, 0xDC, 0x00, 0x72, 0x5C, 0x42, 0x00, 0x00, 0x00, 0x14, -0x4D, 0x6F, 0x75, 0x6E, 0x74, 0x61, 0x69, 0x6E, 0x20, 0x2D, 0x20, 0x4E, 0x55, 0x20, 0x28, 0x77, -0x65, 0x73, 0x74, 0x29, +0x00, 0x4D, 0x53, 0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x43, 0x53, 0x54, +0x00, 0x45, 0x53, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x89, 0x00, 0x00, 0x00, +0x0A, 0x00, 0x00, 0x00, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0xF2, 0xCD, 0x80, 0xFF, 0xFF, 0xFF, +0xFF, 0xCB, 0x89, 0x0C, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, +0xFF, 0xD2, 0x61, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x61, 0x19, 0x90, 0x00, 0x00, 0x00, +0x00, 0x05, 0x50, 0xFC, 0x80, 0x00, 0x00, 0x00, 0x00, 0x06, 0x40, 0xFB, 0x90, 0x00, 0x00, 0x00, +0x00, 0x07, 0x30, 0xDE, 0x80, 0x00, 0x00, 0x00, 0x00, 0x08, 0x20, 0xDD, 0x90, 0x00, 0x00, 0x00, +0x00, 0x09, 0x10, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0xBF, 0x90, 0x00, 0x00, 0x00, +0x00, 0x0A, 0xF0, 0xA2, 0x80, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xE0, 0xA1, 0x90, 0x00, 0x00, 0x00, +0x00, 0x0C, 0xD9, 0xBF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, 0xC0, 0x83, 0x90, 0x00, 0x00, 0x00, +0x00, 0x0E, 0xB9, 0xA1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xA9, 0xA0, 0x10, 0x00, 0x00, 0x00, +0x00, 0x10, 0x99, 0x83, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x89, 0x82, 0x10, 0x00, 0x00, 0x00, +0x00, 0x12, 0x79, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x64, 0x10, 0x00, 0x00, 0x00, +0x00, 0x14, 0x59, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x49, 0x46, 0x10, 0x00, 0x00, 0x00, +0x00, 0x16, 0x39, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x29, 0x28, 0x10, 0x00, 0x00, 0x00, +0x00, 0x18, 0x22, 0x45, 0x80, 0x00, 0x00, 0x00, 0x00, 0x19, 0x09, 0x0A, 0x10, 0x00, 0x00, 0x00, +0x00, 0x1A, 0x02, 0x27, 0x80, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xF2, 0x26, 0x90, 0x00, 0x00, 0x00, +0x00, 0x1B, 0xE2, 0x09, 0x80, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xD2, 0x08, 0x90, 0x00, 0x00, 0x00, +0x00, 0x1D, 0xC1, 0xEB, 0x80, 0x00, 0x00, 0x00, 0x00, 0x1E, 0xB1, 0xEA, 0x90, 0x00, 0x00, 0x00, +0x00, 0x1F, 0xA1, 0xCD, 0x80, 0x00, 0x00, 0x00, 0x00, 0x20, 0x76, 0x1D, 0x10, 0x00, 0x00, 0x00, +0x00, 0x21, 0x81, 0xAF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x22, 0x55, 0xFF, 0x10, 0x00, 0x00, 0x00, +0x00, 0x23, 0x6A, 0xCC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x35, 0xE1, 0x10, 0x00, 0x00, 0x00, +0x00, 0x25, 0x4A, 0xAE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x26, 0x15, 0xC3, 0x10, 0x00, 0x00, 0x00, +0x00, 0x27, 0x2A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0xFE, 0xDF, 0x90, 0x00, 0x00, 0x00, +0x00, 0x29, 0x0A, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x29, 0xDE, 0xC1, 0x90, 0x00, 0x00, 0x00, +0x00, 0x2A, 0xEA, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xBE, 0xA3, 0x90, 0x00, 0x00, 0x00, +0x00, 0x2C, 0xD3, 0x70, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x9E, 0x85, 0x90, 0x00, 0x00, 0x00, +0x00, 0x2E, 0xB3, 0x52, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x7E, 0x67, 0x90, 0x00, 0x00, 0x00, +0x00, 0x30, 0x93, 0x34, 0x80, 0x00, 0x00, 0x00, 0x00, 0x31, 0x67, 0x84, 0x10, 0x00, 0x00, 0x00, +0x00, 0x32, 0x73, 0x16, 0x80, 0x00, 0x00, 0x00, 0x00, 0x33, 0x47, 0x66, 0x10, 0x00, 0x00, 0x00, +0x00, 0x34, 0x52, 0xF8, 0x80, 0x00, 0x00, 0x00, 0x00, 0x35, 0x27, 0x48, 0x10, 0x00, 0x00, 0x00, +0x00, 0x36, 0x32, 0xDA, 0x80, 0x00, 0x00, 0x00, 0x00, 0x37, 0x07, 0x2A, 0x10, 0x00, 0x00, 0x00, +0x00, 0x38, 0x1B, 0xF7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0xE6, 0xFE, 0x00, 0x00, 0x00, 0x00, +0x00, 0x39, 0xFB, 0xCA, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x3A, 0x04, 0xE9, 0x50, 0x00, 0x00, 0x00, +0x00, 0x3A, 0xC6, 0xEE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0xBB, 0x00, 0x00, 0x00, 0x00, +0x00, 0x3C, 0xB0, 0x0A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x9D, 0x00, 0x00, 0x00, 0x00, +0x00, 0x3E, 0x8F, 0xEC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x7F, 0x00, 0x00, 0x00, 0x00, +0x00, 0x40, 0x6F, 0xCE, 0x90, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x9B, 0x80, 0x00, 0x00, 0x00, +0x00, 0x42, 0x4F, 0xB0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x7D, 0x80, 0x00, 0x00, 0x00, +0x00, 0x44, 0x2F, 0x92, 0x90, 0x00, 0x00, 0x00, 0x00, 0x45, 0x44, 0x5F, 0x80, 0x00, 0x00, 0x00, +0x00, 0x45, 0xF3, 0xC5, 0x10, 0x00, 0x00, 0x00, 0x00, 0x47, 0x2D, 0x7C, 0x00, 0x00, 0x00, 0x00, +0x00, 0x47, 0xD3, 0xA7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, 0x0D, 0x5E, 0x00, 0x00, 0x00, 0x00, +0x00, 0x49, 0xB3, 0x89, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xED, 0x40, 0x00, 0x00, 0x00, 0x00, +0x00, 0x4B, 0x9C, 0xA5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4C, 0xD6, 0x5C, 0x80, 0x00, 0x00, 0x00, +0x00, 0x4D, 0x7C, 0x87, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4E, 0xB6, 0x3E, 0x80, 0x00, 0x00, 0x00, +0x00, 0x4F, 0x5C, 0x69, 0x90, 0x00, 0x00, 0x00, 0x00, 0x50, 0x96, 0x20, 0x80, 0x00, 0x00, 0x00, +0x00, 0x51, 0x3C, 0x4B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x52, 0x76, 0x02, 0x80, 0x00, 0x00, 0x00, +0x00, 0x53, 0x1C, 0x2D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x54, 0x55, 0xE4, 0x80, 0x00, 0x00, 0x00, +0x00, 0x54, 0xFC, 0x0F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, 0x35, 0xC6, 0x80, 0x00, 0x00, 0x00, +0x00, 0x56, 0xE5, 0x2C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x58, 0x1E, 0xE3, 0x00, 0x00, 0x00, 0x00, +0x00, 0x58, 0xC5, 0x0E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x59, 0xFE, 0xC5, 0x00, 0x00, 0x00, 0x00, +0x00, 0x5A, 0xA4, 0xF0, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5B, 0xDE, 0xA7, 0x00, 0x00, 0x00, 0x00, +0x00, 0x5C, 0x84, 0xD2, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5D, 0xBE, 0x89, 0x00, 0x00, 0x00, 0x00, +0x00, 0x5E, 0x64, 0xB4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x9E, 0x6B, 0x00, 0x00, 0x00, 0x00, +0x00, 0x60, 0x4D, 0xD0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x61, 0x87, 0x87, 0x80, 0x00, 0x00, 0x00, +0x00, 0x62, 0x2D, 0xB2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x63, 0x67, 0x69, 0x80, 0x00, 0x00, 0x00, +0x00, 0x64, 0x0D, 0x94, 0x90, 0x00, 0x00, 0x00, 0x00, 0x65, 0x47, 0x4B, 0x80, 0x00, 0x00, 0x00, +0x00, 0x65, 0xED, 0x76, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, 0x27, 0x2D, 0x80, 0x00, 0x00, 0x00, +0x00, 0x67, 0xCD, 0x58, 0x90, 0x00, 0x00, 0x00, 0x00, 0x69, 0x07, 0x0F, 0x80, 0x00, 0x00, 0x00, +0x00, 0x69, 0xAD, 0x3A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xE6, 0xF1, 0x80, 0x00, 0x00, 0x00, +0x00, 0x6B, 0x96, 0x57, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xD0, 0x0E, 0x00, 0x00, 0x00, 0x00, +0x00, 0x6D, 0x76, 0x39, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6E, 0xAF, 0xF0, 0x00, 0x00, 0x00, 0x00, +0x00, 0x6F, 0x56, 0x1B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x70, 0x8F, 0xD2, 0x00, 0x00, 0x00, 0x00, +0x00, 0x71, 0x35, 0xFD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x72, 0x6F, 0xB4, 0x00, 0x00, 0x00, 0x00, +0x00, 0x73, 0x15, 0xDF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x74, 0x4F, 0x96, 0x00, 0x00, 0x00, 0x00, +0x00, 0x74, 0xFE, 0xFB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x76, 0x38, 0xB2, 0x80, 0x00, 0x00, 0x00, +0x00, 0x76, 0xDE, 0xDD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x78, 0x18, 0x94, 0x80, 0x00, 0x00, 0x00, +0x00, 0x78, 0xBE, 0xBF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x79, 0xF8, 0x76, 0x80, 0x00, 0x00, 0x00, +0x00, 0x7A, 0x9E, 0xA1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7B, 0xD8, 0x58, 0x80, 0x00, 0x00, 0x00, +0x00, 0x7C, 0x7E, 0x83, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7D, 0xB8, 0x3A, 0x80, 0x00, 0x00, 0x00, +0x00, 0x7E, 0x5E, 0x65, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x98, 0x1C, 0x80, 0x03, 0x01, 0x02, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x06, 0x05, 0x07, 0x06, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xAB, 0xA0, +0x01, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x08, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x0C, 0xFF, 0xFF, +0xAB, 0xA0, 0x01, 0x10, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x14, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x18, +0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x1C, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x10, 0xFF, 0xFF, 0x9D, 0x90, +0x00, 0x0C, 0x2D, 0x30, 0x30, 0x00, 0x4D, 0x57, 0x54, 0x00, 0x4D, 0x50, 0x54, 0x00, 0x4D, 0x53, +0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x45, 0x53, +0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x4D, 0x53, 0x54, 0x37, 0x4D, 0x44, 0x54, 0x2C, 0x4D, +0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, 0x31, 0x2E, 0x30, 0x0A, 0x00, 0xF2, +0xC9, 0xDC, 0x00, 0x72, 0x5C, 0x42, 0x00, 0x00, 0x00, 0x14, 0x4D, 0x6F, 0x75, 0x6E, 0x74, 0x61, +0x69, 0x6E, 0x20, 0x2D, 0x20, 0x4E, 0x55, 0x20, 0x28, 0x77, 0x65, 0x73, 0x74, 0x29, /* America/Campo_Grande */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x42, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -28286,10 +28443,8 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { 0xB9, 0xB0, 0x01, 0x10, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x45, 0x44, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x45, 0x53, 0x54, -0x35, 0x0A, 0x00, 0xA9, 0x7F, 0xED, 0x00, 0x8E, 0x43, 0x45, 0x00, 0x00, 0x00, 0x24, 0x45, 0x61, -0x73, 0x74, 0x65, 0x72, 0x6E, 0x20, 0x53, 0x74, 0x61, 0x6E, 0x64, 0x61, 0x72, 0x64, 0x20, 0x54, -0x69, 0x6D, 0x65, 0x20, 0x2D, 0x20, 0x51, 0x75, 0x69, 0x6E, 0x74, 0x61, 0x6E, 0x61, 0x20, 0x52, -0x6F, 0x6F, +0x35, 0x0A, 0x00, 0xA9, 0x7F, 0xED, 0x00, 0x8E, 0x43, 0x45, 0x00, 0x00, 0x00, 0x0C, 0x51, 0x75, +0x69, 0x6E, 0x74, 0x61, 0x6E, 0x61, 0x20, 0x52, 0x6F, 0x6F, /* America/Caracas */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x56, 0x45, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -28709,11 +28864,111 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { 0xAB, 0xA0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x43, 0x53, 0x54, 0x36, 0x0A, 0x00, 0xB5, -0x05, 0x25, 0x00, 0x70, 0xC9, 0xB2, 0x00, 0x00, 0x00, 0x26, 0x4D, 0x6F, 0x75, 0x6E, 0x74, 0x61, -0x69, 0x6E, 0x20, 0x54, 0x69, 0x6D, 0x65, 0x20, 0x2D, 0x20, 0x43, 0x68, 0x69, 0x68, 0x75, 0x61, +0x05, 0x25, 0x00, 0x70, 0xC9, 0xB2, 0x00, 0x00, 0x00, 0x16, 0x43, 0x68, 0x69, 0x68, 0x75, 0x61, 0x68, 0x75, 0x61, 0x20, 0x28, 0x6D, 0x6F, 0x73, 0x74, 0x20, 0x61, 0x72, 0x65, 0x61, 0x73, 0x29, +/* America/Ciudad_Juarez */ +0x50, 0x48, 0x50, 0x32, 0x01, 0x4D, 0x58, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x5B, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x14, 0xA5, 0xB6, 0xE8, 0x70, +0xAF, 0xF2, 0x6E, 0xE0, 0xB6, 0x66, 0x56, 0x60, 0xB7, 0x43, 0xD2, 0x60, 0xB8, 0x0C, 0x36, 0x60, +0xB8, 0xFD, 0x86, 0xF0, 0x31, 0x67, 0x76, 0x00, 0x32, 0x73, 0x08, 0x70, 0x33, 0x47, 0x58, 0x00, +0x34, 0x52, 0xEA, 0x70, 0x35, 0x27, 0x48, 0x10, 0x36, 0x32, 0xDA, 0x80, 0x37, 0x07, 0x2A, 0x10, +0x38, 0x1B, 0xF7, 0x00, 0x38, 0xE7, 0x0C, 0x10, 0x39, 0xFB, 0xD9, 0x00, 0x3A, 0xF5, 0x12, 0x90, +0x3B, 0xB6, 0xD1, 0x00, 0x3C, 0xB0, 0x0A, 0x90, 0x3D, 0xBB, 0x9D, 0x00, 0x3E, 0x8F, 0xEC, 0x90, +0x3F, 0x9B, 0x7F, 0x00, 0x40, 0x6F, 0xCE, 0x90, 0x41, 0x84, 0x9B, 0x80, 0x42, 0x4F, 0xB0, 0x90, +0x43, 0x64, 0x7D, 0x80, 0x44, 0x2F, 0x92, 0x90, 0x45, 0x44, 0x5F, 0x80, 0x46, 0x0F, 0x74, 0x90, +0x47, 0x24, 0x41, 0x80, 0x47, 0xF8, 0x91, 0x10, 0x49, 0x04, 0x23, 0x80, 0x49, 0xD8, 0x73, 0x10, +0x4A, 0xE4, 0x05, 0x80, 0x4B, 0x9C, 0xA5, 0x90, 0x4C, 0xD6, 0x5C, 0x80, 0x4D, 0x7C, 0x87, 0x90, +0x4E, 0xB6, 0x3E, 0x80, 0x4F, 0x5C, 0x69, 0x90, 0x50, 0x96, 0x20, 0x80, 0x51, 0x3C, 0x4B, 0x90, +0x52, 0x76, 0x02, 0x80, 0x53, 0x1C, 0x2D, 0x90, 0x54, 0x55, 0xE4, 0x80, 0x54, 0xFC, 0x0F, 0x90, +0x56, 0x35, 0xC6, 0x80, 0x56, 0xE5, 0x2C, 0x10, 0x58, 0x1E, 0xE3, 0x00, 0x58, 0xC5, 0x0E, 0x10, +0x59, 0xFE, 0xC5, 0x00, 0x5A, 0xA4, 0xF0, 0x10, 0x5B, 0xDE, 0xA7, 0x00, 0x5C, 0x84, 0xD2, 0x10, +0x5D, 0xBE, 0x89, 0x00, 0x5E, 0x64, 0xB4, 0x10, 0x5F, 0x9E, 0x6B, 0x00, 0x60, 0x4D, 0xD0, 0x90, +0x61, 0x87, 0x87, 0x80, 0x62, 0x2D, 0xB2, 0x90, 0x63, 0x5E, 0x2F, 0x00, 0x63, 0x86, 0xF1, 0x60, +0x64, 0x0D, 0x94, 0x90, 0x65, 0x47, 0x4B, 0x80, 0x65, 0xED, 0x76, 0x90, 0x67, 0x27, 0x2D, 0x80, +0x67, 0xCD, 0x58, 0x90, 0x69, 0x07, 0x0F, 0x80, 0x69, 0xAD, 0x3A, 0x90, 0x6A, 0xE6, 0xF1, 0x80, +0x6B, 0x96, 0x57, 0x10, 0x6C, 0xD0, 0x0E, 0x00, 0x6D, 0x76, 0x39, 0x10, 0x6E, 0xAF, 0xF0, 0x00, +0x6F, 0x56, 0x1B, 0x10, 0x70, 0x8F, 0xD2, 0x00, 0x71, 0x35, 0xFD, 0x10, 0x72, 0x6F, 0xB4, 0x00, +0x73, 0x15, 0xDF, 0x10, 0x74, 0x4F, 0x96, 0x00, 0x74, 0xFE, 0xFB, 0x90, 0x76, 0x38, 0xB2, 0x80, +0x76, 0xDE, 0xDD, 0x90, 0x78, 0x18, 0x94, 0x80, 0x78, 0xBE, 0xBF, 0x90, 0x79, 0xF8, 0x76, 0x80, +0x7A, 0x9E, 0xA1, 0x90, 0x7B, 0xD8, 0x58, 0x80, 0x7C, 0x7E, 0x83, 0x90, 0x7D, 0xB8, 0x3A, 0x80, +0x7E, 0x5E, 0x65, 0x90, 0x7F, 0x98, 0x1C, 0x80, 0x01, 0x02, 0x04, 0x03, 0x04, 0x02, 0x05, 0x02, +0x05, 0x02, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, +0x03, 0x04, 0x03, 0x02, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0xFF, 0xFF, 0x9C, 0x2C, 0x00, 0x00, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x04, 0xFF, +0xFF, 0xAB, 0xA0, 0x00, 0x08, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x0C, 0xFF, 0xFF, 0x9D, 0x90, 0x00, +0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x10, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, +0x00, 0x4D, 0x53, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x43, 0x44, 0x54, +0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, +0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x5B, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, +0xB6, 0xE8, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xAF, 0xF2, 0x6E, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, +0x66, 0x56, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0x43, 0xD2, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, +0x0C, 0x36, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0xFD, 0x86, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x31, +0x67, 0x76, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x73, 0x08, 0x70, 0x00, 0x00, 0x00, 0x00, 0x33, +0x47, 0x58, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0xEA, 0x70, 0x00, 0x00, 0x00, 0x00, 0x35, +0x27, 0x48, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0xDA, 0x80, 0x00, 0x00, 0x00, 0x00, 0x37, +0x07, 0x2A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0xF7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, +0xE7, 0x0C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0xD9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3A, +0xF5, 0x12, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xB6, 0xD1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, +0xB0, 0x0A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x9D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, +0x8F, 0xEC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, +0x6F, 0xCE, 0x90, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x9B, 0x80, 0x00, 0x00, 0x00, 0x00, 0x42, +0x4F, 0xB0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x7D, 0x80, 0x00, 0x00, 0x00, 0x00, 0x44, +0x2F, 0x92, 0x90, 0x00, 0x00, 0x00, 0x00, 0x45, 0x44, 0x5F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x46, +0x0F, 0x74, 0x90, 0x00, 0x00, 0x00, 0x00, 0x47, 0x24, 0x41, 0x80, 0x00, 0x00, 0x00, 0x00, 0x47, +0xF8, 0x91, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, 0x04, 0x23, 0x80, 0x00, 0x00, 0x00, 0x00, 0x49, +0xD8, 0x73, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xE4, 0x05, 0x80, 0x00, 0x00, 0x00, 0x00, 0x4B, +0x9C, 0xA5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4C, 0xD6, 0x5C, 0x80, 0x00, 0x00, 0x00, 0x00, 0x4D, +0x7C, 0x87, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4E, 0xB6, 0x3E, 0x80, 0x00, 0x00, 0x00, 0x00, 0x4F, +0x5C, 0x69, 0x90, 0x00, 0x00, 0x00, 0x00, 0x50, 0x96, 0x20, 0x80, 0x00, 0x00, 0x00, 0x00, 0x51, +0x3C, 0x4B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x52, 0x76, 0x02, 0x80, 0x00, 0x00, 0x00, 0x00, 0x53, +0x1C, 0x2D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x54, 0x55, 0xE4, 0x80, 0x00, 0x00, 0x00, 0x00, 0x54, +0xFC, 0x0F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, 0x35, 0xC6, 0x80, 0x00, 0x00, 0x00, 0x00, 0x56, +0xE5, 0x2C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x58, 0x1E, 0xE3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, +0xC5, 0x0E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x59, 0xFE, 0xC5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5A, +0xA4, 0xF0, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5B, 0xDE, 0xA7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5C, +0x84, 0xD2, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5D, 0xBE, 0x89, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5E, +0x64, 0xB4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x9E, 0x6B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, +0x4D, 0xD0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x61, 0x87, 0x87, 0x80, 0x00, 0x00, 0x00, 0x00, 0x62, +0x2D, 0xB2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x63, 0x5E, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x63, +0x86, 0xF1, 0x60, 0x00, 0x00, 0x00, 0x00, 0x64, 0x0D, 0x94, 0x90, 0x00, 0x00, 0x00, 0x00, 0x65, +0x47, 0x4B, 0x80, 0x00, 0x00, 0x00, 0x00, 0x65, 0xED, 0x76, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, +0x27, 0x2D, 0x80, 0x00, 0x00, 0x00, 0x00, 0x67, 0xCD, 0x58, 0x90, 0x00, 0x00, 0x00, 0x00, 0x69, +0x07, 0x0F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x69, 0xAD, 0x3A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6A, +0xE6, 0xF1, 0x80, 0x00, 0x00, 0x00, 0x00, 0x6B, 0x96, 0x57, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6C, +0xD0, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x76, 0x39, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6E, +0xAF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x56, 0x1B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x70, +0x8F, 0xD2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x71, 0x35, 0xFD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x72, +0x6F, 0xB4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x73, 0x15, 0xDF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x74, +0x4F, 0x96, 0x00, 0x00, 0x00, 0x00, 0x00, 0x74, 0xFE, 0xFB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x76, +0x38, 0xB2, 0x80, 0x00, 0x00, 0x00, 0x00, 0x76, 0xDE, 0xDD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x78, +0x18, 0x94, 0x80, 0x00, 0x00, 0x00, 0x00, 0x78, 0xBE, 0xBF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x79, +0xF8, 0x76, 0x80, 0x00, 0x00, 0x00, 0x00, 0x7A, 0x9E, 0xA1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7B, +0xD8, 0x58, 0x80, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x7E, 0x83, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7D, +0xB8, 0x3A, 0x80, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x5E, 0x65, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7F, +0x98, 0x1C, 0x80, 0x01, 0x02, 0x04, 0x03, 0x04, 0x02, 0x05, 0x02, 0x05, 0x02, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x02, 0x04, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0xFF, 0xFF, +0x9C, 0x2C, 0x00, 0x00, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x08, +0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x0C, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, +0x01, 0x10, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, +0x43, 0x53, 0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x00, 0x01, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x4D, 0x53, 0x54, 0x37, 0x4D, +0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, 0x31, 0x2E, +0x30, 0x0A, 0x00, 0xB9, 0xC0, 0x15, 0x00, 0x70, 0x2D, 0x72, 0x00, 0x00, 0x00, 0x1C, 0x43, 0x68, +0x69, 0x68, 0x75, 0x61, 0x68, 0x75, 0x61, 0x20, 0x28, 0x55, 0x53, 0x20, 0x62, 0x6F, 0x72, 0x64, +0x65, 0x72, 0x20, 0x2D, 0x20, 0x77, 0x65, 0x73, 0x74, 0x29, + /* America/Coral_Harbour */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -30297,8 +30552,8 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { /* America/Godthab */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x0C, 0x9B, 0x80, 0x68, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0C, 0x9B, 0x80, 0x68, 0x00, 0x13, 0x4D, 0x7C, 0x50, 0x14, 0x33, 0xFA, 0x90, 0x15, 0x23, 0xEB, 0x90, 0x16, 0x13, 0xDC, 0x90, 0x17, 0x03, 0xCD, 0x90, 0x17, 0xF3, 0xBE, 0x90, 0x18, 0xE3, 0xAF, 0x90, 0x19, 0xD3, 0xA0, 0x90, 0x1A, 0xC3, 0x91, 0x90, 0x1B, 0xBC, 0xBD, 0x10, 0x1C, 0xAC, 0xAE, 0x10, 0x1D, 0x9C, 0x9F, 0x10, @@ -30320,99 +30575,73 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { 0x56, 0xF7, 0x30, 0x90, 0x58, 0x15, 0x46, 0x10, 0x58, 0xD7, 0x12, 0x90, 0x59, 0xF5, 0x28, 0x10, 0x5A, 0xB6, 0xF4, 0x90, 0x5B, 0xD5, 0x0A, 0x10, 0x5C, 0xA0, 0x11, 0x10, 0x5D, 0xB4, 0xEC, 0x10, 0x5E, 0x7F, 0xF3, 0x10, 0x5F, 0x94, 0xCE, 0x10, 0x60, 0x5F, 0xD5, 0x10, 0x61, 0x7D, 0xEA, 0x90, -0x62, 0x3F, 0xB7, 0x10, 0x63, 0x5D, 0xCC, 0x90, 0x64, 0x1F, 0x99, 0x10, 0x65, 0x3D, 0xAE, 0x90, -0x66, 0x08, 0xB5, 0x90, 0x67, 0x1D, 0x90, 0x90, 0x67, 0xE8, 0x97, 0x90, 0x68, 0xFD, 0x72, 0x90, -0x69, 0xC8, 0x79, 0x90, 0x6A, 0xDD, 0x54, 0x90, 0x6B, 0xA8, 0x5B, 0x90, 0x6C, 0xC6, 0x71, 0x10, -0x6D, 0x88, 0x3D, 0x90, 0x6E, 0xA6, 0x53, 0x10, 0x6F, 0x68, 0x1F, 0x90, 0x70, 0x86, 0x35, 0x10, -0x71, 0x51, 0x3C, 0x10, 0x72, 0x66, 0x17, 0x10, 0x73, 0x31, 0x1E, 0x10, 0x74, 0x45, 0xF9, 0x10, -0x75, 0x11, 0x00, 0x10, 0x76, 0x2F, 0x15, 0x90, 0x76, 0xF0, 0xE2, 0x10, 0x78, 0x0E, 0xF7, 0x90, -0x78, 0xD0, 0xC4, 0x10, 0x79, 0xEE, 0xD9, 0x90, 0x7A, 0xB0, 0xA6, 0x10, 0x7B, 0xCE, 0xBB, 0x90, -0x7C, 0x99, 0xC2, 0x90, 0x7D, 0xAE, 0x9D, 0x90, 0x7E, 0x79, 0xA4, 0x90, 0x7F, 0x8E, 0x7F, 0x90, -0x01, 0x04, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x62, 0x3F, 0xB7, 0x10, 0x63, 0x5D, 0xCC, 0x90, 0x64, 0x1F, 0x99, 0x10, 0x01, 0x04, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x05, 0xFF, 0xFF, 0xCF, 0x80, 0x00, 0x00, 0xFF, 0xFF, 0xD5, 0xD0, 0x00, 0x04, +0xFF, 0xFF, 0xD5, 0xD0, 0x00, 0x04, 0xFF, 0xFF, 0xE3, 0xE0, 0x01, 0x08, 0xFF, 0xFF, 0xE3, 0xE0, +0x01, 0x08, 0xFF, 0xFF, 0xE3, 0xE0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x33, 0x00, +0x2D, 0x30, 0x32, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, +0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0C, 0xFF, 0xFF, 0xFF, 0xFF, +0x9B, 0x80, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x4D, 0x7C, 0x50, 0x00, 0x00, 0x00, 0x00, +0x14, 0x33, 0xFA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x15, 0x23, 0xEB, 0x90, 0x00, 0x00, 0x00, 0x00, +0x16, 0x13, 0xDC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x17, 0x03, 0xCD, 0x90, 0x00, 0x00, 0x00, 0x00, +0x17, 0xF3, 0xBE, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, 0xE3, 0xAF, 0x90, 0x00, 0x00, 0x00, 0x00, +0x19, 0xD3, 0xA0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xC3, 0x91, 0x90, 0x00, 0x00, 0x00, 0x00, +0x1B, 0xBC, 0xBD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xAC, 0xAE, 0x10, 0x00, 0x00, 0x00, 0x00, +0x1D, 0x9C, 0x9F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x8C, 0x90, 0x10, 0x00, 0x00, 0x00, 0x00, +0x1F, 0x7C, 0x81, 0x10, 0x00, 0x00, 0x00, 0x00, 0x20, 0x6C, 0x72, 0x10, 0x00, 0x00, 0x00, 0x00, +0x21, 0x5C, 0x63, 0x10, 0x00, 0x00, 0x00, 0x00, 0x22, 0x4C, 0x54, 0x10, 0x00, 0x00, 0x00, 0x00, +0x23, 0x3C, 0x45, 0x10, 0x00, 0x00, 0x00, 0x00, 0x24, 0x2C, 0x36, 0x10, 0x00, 0x00, 0x00, 0x00, +0x25, 0x1C, 0x27, 0x10, 0x00, 0x00, 0x00, 0x00, 0x26, 0x0C, 0x18, 0x10, 0x00, 0x00, 0x00, 0x00, +0x27, 0x05, 0x43, 0x90, 0x00, 0x00, 0x00, 0x00, 0x27, 0xF5, 0x34, 0x90, 0x00, 0x00, 0x00, 0x00, +0x28, 0xE5, 0x25, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, 0xD5, 0x16, 0x90, 0x00, 0x00, 0x00, 0x00, +0x2A, 0xC5, 0x07, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xB4, 0xF8, 0x90, 0x00, 0x00, 0x00, 0x00, +0x2C, 0xA4, 0xE9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x94, 0xDA, 0x90, 0x00, 0x00, 0x00, 0x00, +0x2E, 0x84, 0xCB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x74, 0xBC, 0x90, 0x00, 0x00, 0x00, 0x00, +0x30, 0x64, 0xAD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0xD9, 0x10, 0x00, 0x00, 0x00, 0x00, +0x32, 0x72, 0xB4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x33, 0x3D, 0xBB, 0x10, 0x00, 0x00, 0x00, 0x00, +0x34, 0x52, 0x96, 0x10, 0x00, 0x00, 0x00, 0x00, 0x35, 0x1D, 0x9D, 0x10, 0x00, 0x00, 0x00, 0x00, +0x36, 0x32, 0x78, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0xFD, 0x7F, 0x10, 0x00, 0x00, 0x00, 0x00, +0x38, 0x1B, 0x94, 0x90, 0x00, 0x00, 0x00, 0x00, 0x38, 0xDD, 0x61, 0x10, 0x00, 0x00, 0x00, 0x00, +0x39, 0xFB, 0x76, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xBD, 0x43, 0x10, 0x00, 0x00, 0x00, 0x00, +0x3B, 0xDB, 0x58, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xA6, 0x5F, 0x90, 0x00, 0x00, 0x00, 0x00, +0x3D, 0xBB, 0x3A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x86, 0x41, 0x90, 0x00, 0x00, 0x00, 0x00, +0x3F, 0x9B, 0x1C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x40, 0x66, 0x23, 0x90, 0x00, 0x00, 0x00, 0x00, +0x41, 0x84, 0x39, 0x10, 0x00, 0x00, 0x00, 0x00, 0x42, 0x46, 0x05, 0x90, 0x00, 0x00, 0x00, 0x00, +0x43, 0x64, 0x1B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x44, 0x25, 0xE7, 0x90, 0x00, 0x00, 0x00, 0x00, +0x45, 0x43, 0xFD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x46, 0x05, 0xC9, 0x90, 0x00, 0x00, 0x00, 0x00, +0x47, 0x23, 0xDF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x47, 0xEE, 0xE6, 0x10, 0x00, 0x00, 0x00, 0x00, +0x49, 0x03, 0xC1, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, 0xCE, 0xC8, 0x10, 0x00, 0x00, 0x00, 0x00, +0x4A, 0xE3, 0xA3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4B, 0xAE, 0xAA, 0x10, 0x00, 0x00, 0x00, 0x00, +0x4C, 0xCC, 0xBF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x8E, 0x8C, 0x10, 0x00, 0x00, 0x00, 0x00, +0x4E, 0xAC, 0xA1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x6E, 0x6E, 0x10, 0x00, 0x00, 0x00, 0x00, +0x50, 0x8C, 0x83, 0x90, 0x00, 0x00, 0x00, 0x00, 0x51, 0x57, 0x8A, 0x90, 0x00, 0x00, 0x00, 0x00, +0x52, 0x6C, 0x65, 0x90, 0x00, 0x00, 0x00, 0x00, 0x53, 0x37, 0x6C, 0x90, 0x00, 0x00, 0x00, 0x00, +0x54, 0x4C, 0x47, 0x90, 0x00, 0x00, 0x00, 0x00, 0x55, 0x17, 0x4E, 0x90, 0x00, 0x00, 0x00, 0x00, +0x56, 0x2C, 0x29, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, 0xF7, 0x30, 0x90, 0x00, 0x00, 0x00, 0x00, +0x58, 0x15, 0x46, 0x10, 0x00, 0x00, 0x00, 0x00, 0x58, 0xD7, 0x12, 0x90, 0x00, 0x00, 0x00, 0x00, +0x59, 0xF5, 0x28, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xB6, 0xF4, 0x90, 0x00, 0x00, 0x00, 0x00, +0x5B, 0xD5, 0x0A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5C, 0xA0, 0x11, 0x10, 0x00, 0x00, 0x00, 0x00, +0x5D, 0xB4, 0xEC, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x7F, 0xF3, 0x10, 0x00, 0x00, 0x00, 0x00, +0x5F, 0x94, 0xCE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x60, 0x5F, 0xD5, 0x10, 0x00, 0x00, 0x00, 0x00, +0x61, 0x7D, 0xEA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x62, 0x3F, 0xB7, 0x10, 0x00, 0x00, 0x00, 0x00, +0x63, 0x5D, 0xCC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x64, 0x1F, 0x99, 0x10, 0x01, 0x04, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0xFF, 0xFF, 0xCF, 0x80, 0x00, 0x00, 0xFF, 0xFF, 0xD5, 0xD0, 0x00, -0x04, 0xFF, 0xFF, 0xD5, 0xD0, 0x00, 0x04, 0xFF, 0xFF, 0xE3, 0xE0, 0x01, 0x08, 0xFF, 0xFF, 0xE3, -0xE0, 0x01, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x33, 0x00, 0x2D, 0x30, 0x32, 0x00, 0x00, -0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x33, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, -0x05, 0x00, 0x00, 0x00, 0x0C, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x80, 0x68, 0x00, 0x00, 0x00, 0x00, -0x00, 0x13, 0x4D, 0x7C, 0x50, 0x00, 0x00, 0x00, 0x00, 0x14, 0x33, 0xFA, 0x90, 0x00, 0x00, 0x00, -0x00, 0x15, 0x23, 0xEB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x16, 0x13, 0xDC, 0x90, 0x00, 0x00, 0x00, -0x00, 0x17, 0x03, 0xCD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x17, 0xF3, 0xBE, 0x90, 0x00, 0x00, 0x00, -0x00, 0x18, 0xE3, 0xAF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x19, 0xD3, 0xA0, 0x90, 0x00, 0x00, 0x00, -0x00, 0x1A, 0xC3, 0x91, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xBC, 0xBD, 0x10, 0x00, 0x00, 0x00, -0x00, 0x1C, 0xAC, 0xAE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1D, 0x9C, 0x9F, 0x10, 0x00, 0x00, 0x00, -0x00, 0x1E, 0x8C, 0x90, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x7C, 0x81, 0x10, 0x00, 0x00, 0x00, -0x00, 0x20, 0x6C, 0x72, 0x10, 0x00, 0x00, 0x00, 0x00, 0x21, 0x5C, 0x63, 0x10, 0x00, 0x00, 0x00, -0x00, 0x22, 0x4C, 0x54, 0x10, 0x00, 0x00, 0x00, 0x00, 0x23, 0x3C, 0x45, 0x10, 0x00, 0x00, 0x00, -0x00, 0x24, 0x2C, 0x36, 0x10, 0x00, 0x00, 0x00, 0x00, 0x25, 0x1C, 0x27, 0x10, 0x00, 0x00, 0x00, -0x00, 0x26, 0x0C, 0x18, 0x10, 0x00, 0x00, 0x00, 0x00, 0x27, 0x05, 0x43, 0x90, 0x00, 0x00, 0x00, -0x00, 0x27, 0xF5, 0x34, 0x90, 0x00, 0x00, 0x00, 0x00, 0x28, 0xE5, 0x25, 0x90, 0x00, 0x00, 0x00, -0x00, 0x29, 0xD5, 0x16, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xC5, 0x07, 0x90, 0x00, 0x00, 0x00, -0x00, 0x2B, 0xB4, 0xF8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xA4, 0xE9, 0x90, 0x00, 0x00, 0x00, -0x00, 0x2D, 0x94, 0xDA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x84, 0xCB, 0x90, 0x00, 0x00, 0x00, -0x00, 0x2F, 0x74, 0xBC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x30, 0x64, 0xAD, 0x90, 0x00, 0x00, 0x00, -0x00, 0x31, 0x5D, 0xD9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x32, 0x72, 0xB4, 0x10, 0x00, 0x00, 0x00, -0x00, 0x33, 0x3D, 0xBB, 0x10, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0x96, 0x10, 0x00, 0x00, 0x00, -0x00, 0x35, 0x1D, 0x9D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0x78, 0x10, 0x00, 0x00, 0x00, -0x00, 0x36, 0xFD, 0x7F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0x94, 0x90, 0x00, 0x00, 0x00, -0x00, 0x38, 0xDD, 0x61, 0x10, 0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0x76, 0x90, 0x00, 0x00, 0x00, -0x00, 0x3A, 0xBD, 0x43, 0x10, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0x58, 0x90, 0x00, 0x00, 0x00, -0x00, 0x3C, 0xA6, 0x5F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x3A, 0x90, 0x00, 0x00, 0x00, -0x00, 0x3E, 0x86, 0x41, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x1C, 0x90, 0x00, 0x00, 0x00, -0x00, 0x40, 0x66, 0x23, 0x90, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x39, 0x10, 0x00, 0x00, 0x00, -0x00, 0x42, 0x46, 0x05, 0x90, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x1B, 0x10, 0x00, 0x00, 0x00, -0x00, 0x44, 0x25, 0xE7, 0x90, 0x00, 0x00, 0x00, 0x00, 0x45, 0x43, 0xFD, 0x10, 0x00, 0x00, 0x00, -0x00, 0x46, 0x05, 0xC9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x47, 0x23, 0xDF, 0x10, 0x00, 0x00, 0x00, -0x00, 0x47, 0xEE, 0xE6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, 0x03, 0xC1, 0x10, 0x00, 0x00, 0x00, -0x00, 0x49, 0xCE, 0xC8, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xE3, 0xA3, 0x10, 0x00, 0x00, 0x00, -0x00, 0x4B, 0xAE, 0xAA, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4C, 0xCC, 0xBF, 0x90, 0x00, 0x00, 0x00, -0x00, 0x4D, 0x8E, 0x8C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4E, 0xAC, 0xA1, 0x90, 0x00, 0x00, 0x00, -0x00, 0x4F, 0x6E, 0x6E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x50, 0x8C, 0x83, 0x90, 0x00, 0x00, 0x00, -0x00, 0x51, 0x57, 0x8A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x52, 0x6C, 0x65, 0x90, 0x00, 0x00, 0x00, -0x00, 0x53, 0x37, 0x6C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x54, 0x4C, 0x47, 0x90, 0x00, 0x00, 0x00, -0x00, 0x55, 0x17, 0x4E, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, 0x2C, 0x29, 0x90, 0x00, 0x00, 0x00, -0x00, 0x56, 0xF7, 0x30, 0x90, 0x00, 0x00, 0x00, 0x00, 0x58, 0x15, 0x46, 0x10, 0x00, 0x00, 0x00, -0x00, 0x58, 0xD7, 0x12, 0x90, 0x00, 0x00, 0x00, 0x00, 0x59, 0xF5, 0x28, 0x10, 0x00, 0x00, 0x00, -0x00, 0x5A, 0xB6, 0xF4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x5B, 0xD5, 0x0A, 0x10, 0x00, 0x00, 0x00, -0x00, 0x5C, 0xA0, 0x11, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5D, 0xB4, 0xEC, 0x10, 0x00, 0x00, 0x00, -0x00, 0x5E, 0x7F, 0xF3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x94, 0xCE, 0x10, 0x00, 0x00, 0x00, -0x00, 0x60, 0x5F, 0xD5, 0x10, 0x00, 0x00, 0x00, 0x00, 0x61, 0x7D, 0xEA, 0x90, 0x00, 0x00, 0x00, -0x00, 0x62, 0x3F, 0xB7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x63, 0x5D, 0xCC, 0x90, 0x00, 0x00, 0x00, -0x00, 0x64, 0x1F, 0x99, 0x10, 0x00, 0x00, 0x00, 0x00, 0x65, 0x3D, 0xAE, 0x90, 0x00, 0x00, 0x00, -0x00, 0x66, 0x08, 0xB5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, 0x1D, 0x90, 0x90, 0x00, 0x00, 0x00, -0x00, 0x67, 0xE8, 0x97, 0x90, 0x00, 0x00, 0x00, 0x00, 0x68, 0xFD, 0x72, 0x90, 0x00, 0x00, 0x00, -0x00, 0x69, 0xC8, 0x79, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xDD, 0x54, 0x90, 0x00, 0x00, 0x00, -0x00, 0x6B, 0xA8, 0x5B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xC6, 0x71, 0x10, 0x00, 0x00, 0x00, -0x00, 0x6D, 0x88, 0x3D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6E, 0xA6, 0x53, 0x10, 0x00, 0x00, 0x00, -0x00, 0x6F, 0x68, 0x1F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x70, 0x86, 0x35, 0x10, 0x00, 0x00, 0x00, -0x00, 0x71, 0x51, 0x3C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x72, 0x66, 0x17, 0x10, 0x00, 0x00, 0x00, -0x00, 0x73, 0x31, 0x1E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x74, 0x45, 0xF9, 0x10, 0x00, 0x00, 0x00, -0x00, 0x75, 0x11, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x76, 0x2F, 0x15, 0x90, 0x00, 0x00, 0x00, -0x00, 0x76, 0xF0, 0xE2, 0x10, 0x00, 0x00, 0x00, 0x00, 0x78, 0x0E, 0xF7, 0x90, 0x00, 0x00, 0x00, -0x00, 0x78, 0xD0, 0xC4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x79, 0xEE, 0xD9, 0x90, 0x00, 0x00, 0x00, -0x00, 0x7A, 0xB0, 0xA6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x7B, 0xCE, 0xBB, 0x90, 0x00, 0x00, 0x00, -0x00, 0x7C, 0x99, 0xC2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7D, 0xAE, 0x9D, 0x90, 0x00, 0x00, 0x00, -0x00, 0x7E, 0x79, 0xA4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x8E, 0x7F, 0x90, 0x01, 0x04, 0x02, -0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, -0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, -0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, -0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, -0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, -0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, -0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, -0x03, 0x02, 0xFF, 0xFF, 0xCF, 0x80, 0x00, 0x00, 0xFF, 0xFF, 0xD5, 0xD0, 0x00, 0x04, 0xFF, 0xFF, -0xD5, 0xD0, 0x00, 0x04, 0xFF, 0xFF, 0xE3, 0xE0, 0x01, 0x08, 0xFF, 0xFF, 0xE3, 0xE0, 0x01, 0x08, -0x4C, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x33, 0x00, 0x2D, 0x30, 0x32, 0x00, 0x00, 0x00, 0x01, 0x01, -0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x0A, 0x3C, 0x2D, 0x30, 0x33, 0x3E, 0x33, 0x3C, 0x2D, 0x30, -0x32, 0x3E, 0x2C, 0x4D, 0x33, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x2D, 0x32, 0x2C, 0x4D, 0x31, 0x30, -0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x2D, 0x31, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x02, 0x03, 0x02, 0x05, 0xFF, 0xFF, 0xCF, 0x80, 0x00, 0x00, 0xFF, 0xFF, 0xD5, 0xD0, 0x00, 0x04, +0xFF, 0xFF, 0xD5, 0xD0, 0x00, 0x04, 0xFF, 0xFF, 0xE3, 0xE0, 0x01, 0x08, 0xFF, 0xFF, 0xE3, 0xE0, +0x01, 0x08, 0xFF, 0xFF, 0xE3, 0xE0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x33, 0x00, +0x2D, 0x30, 0x32, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, +0x0A, 0x3C, 0x2D, 0x30, 0x32, 0x3E, 0x32, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* America/Goose_Bay */ @@ -31227,9 +31456,7 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { 0x4C, 0x4D, 0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x50, 0x53, 0x54, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x4D, 0x53, 0x54, 0x37, 0x0A, 0x00, 0xB5, 0xAE, 0x6A, 0x00, 0x69, 0x56, 0x25, -0x00, 0x00, 0x00, 0x1F, 0x4D, 0x6F, 0x75, 0x6E, 0x74, 0x61, 0x69, 0x6E, 0x20, 0x53, 0x74, 0x61, -0x6E, 0x64, 0x61, 0x72, 0x64, 0x20, 0x54, 0x69, 0x6D, 0x65, 0x20, 0x2D, 0x20, 0x53, 0x6F, 0x6E, -0x6F, 0x72, 0x61, +0x00, 0x00, 0x00, 0x06, 0x53, 0x6F, 0x6E, 0x6F, 0x72, 0x61, /* America/Indiana/Indianapolis */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x55, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -32280,37 +32507,122 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { /* America/Inuvik */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x15, 0xE0, 0x06, 0x4E, 0x80, -0xF7, 0x2F, 0x68, 0x80, 0xF8, 0x28, 0x94, 0x00, 0x11, 0x89, 0x90, 0x20, 0x13, 0x69, 0x64, 0x10, -0x14, 0x59, 0x47, 0x00, 0x15, 0x49, 0x46, 0x10, 0x16, 0x39, 0x29, 0x00, 0x17, 0x29, 0x28, 0x10, -0x18, 0x22, 0x45, 0x80, 0x19, 0x09, 0x0A, 0x10, 0x1A, 0x02, 0x27, 0x80, 0x1A, 0xF2, 0x26, 0x90, -0x1B, 0xE2, 0x09, 0x80, 0x1C, 0xD2, 0x08, 0x90, 0x1D, 0xC1, 0xEB, 0x80, 0x1E, 0xB1, 0xEA, 0x90, -0x1F, 0xA1, 0xCD, 0x80, 0x20, 0x76, 0x1D, 0x10, 0x21, 0x81, 0xAF, 0x80, 0x22, 0x55, 0xFF, 0x10, -0x23, 0x6A, 0xCC, 0x00, 0x24, 0x35, 0xE1, 0x10, 0x25, 0x4A, 0xAE, 0x00, 0x26, 0x15, 0xC3, 0x10, -0x27, 0x2A, 0x90, 0x00, 0x27, 0xFE, 0xDF, 0x90, 0x29, 0x0A, 0x72, 0x00, 0x29, 0xDE, 0xC1, 0x90, -0x2A, 0xEA, 0x54, 0x00, 0x2B, 0xBE, 0xA3, 0x90, 0x2C, 0xD3, 0x70, 0x80, 0x2D, 0x9E, 0x85, 0x90, -0x2E, 0xB3, 0x52, 0x80, 0x2F, 0x7E, 0x67, 0x90, 0x30, 0x93, 0x34, 0x80, 0x31, 0x67, 0x84, 0x10, -0x32, 0x73, 0x16, 0x80, 0x33, 0x47, 0x66, 0x10, 0x34, 0x52, 0xF8, 0x80, 0x35, 0x27, 0x48, 0x10, -0x36, 0x32, 0xDA, 0x80, 0x37, 0x07, 0x2A, 0x10, 0x38, 0x1B, 0xF7, 0x00, 0x38, 0xE7, 0x0C, 0x10, -0x39, 0xFB, 0xD9, 0x00, 0x3A, 0xC6, 0xEE, 0x10, 0x3B, 0xDB, 0xBB, 0x00, 0x3C, 0xB0, 0x0A, 0x90, -0x3D, 0xBB, 0x9D, 0x00, 0x3E, 0x8F, 0xEC, 0x90, 0x3F, 0x9B, 0x7F, 0x00, 0x40, 0x6F, 0xCE, 0x90, -0x41, 0x84, 0x9B, 0x80, 0x42, 0x4F, 0xB0, 0x90, 0x43, 0x64, 0x7D, 0x80, 0x44, 0x2F, 0x92, 0x90, -0x45, 0x44, 0x5F, 0x80, 0x45, 0xF3, 0xC5, 0x10, 0x47, 0x2D, 0x7C, 0x00, 0x47, 0xD3, 0xA7, 0x10, -0x49, 0x0D, 0x5E, 0x00, 0x49, 0xB3, 0x89, 0x10, 0x4A, 0xED, 0x40, 0x00, 0x4B, 0x9C, 0xA5, 0x90, -0x4C, 0xD6, 0x5C, 0x80, 0x4D, 0x7C, 0x87, 0x90, 0x4E, 0xB6, 0x3E, 0x80, 0x4F, 0x5C, 0x69, 0x90, -0x50, 0x96, 0x20, 0x80, 0x51, 0x3C, 0x4B, 0x90, 0x52, 0x76, 0x02, 0x80, 0x53, 0x1C, 0x2D, 0x90, -0x54, 0x55, 0xE4, 0x80, 0x54, 0xFC, 0x0F, 0x90, 0x56, 0x35, 0xC6, 0x80, 0x56, 0xE5, 0x2C, 0x10, -0x58, 0x1E, 0xE3, 0x00, 0x58, 0xC5, 0x0E, 0x10, 0x59, 0xFE, 0xC5, 0x00, 0x5A, 0xA4, 0xF0, 0x10, -0x5B, 0xDE, 0xA7, 0x00, 0x5C, 0x84, 0xD2, 0x10, 0x5D, 0xBE, 0x89, 0x00, 0x5E, 0x64, 0xB4, 0x10, -0x5F, 0x9E, 0x6B, 0x00, 0x60, 0x4D, 0xD0, 0x90, 0x61, 0x87, 0x87, 0x80, 0x62, 0x2D, 0xB2, 0x90, -0x63, 0x67, 0x69, 0x80, 0x64, 0x0D, 0x94, 0x90, 0x65, 0x47, 0x4B, 0x80, 0x65, 0xED, 0x76, 0x90, -0x67, 0x27, 0x2D, 0x80, 0x67, 0xCD, 0x58, 0x90, 0x69, 0x07, 0x0F, 0x80, 0x69, 0xAD, 0x3A, 0x90, -0x6A, 0xE6, 0xF1, 0x80, 0x6B, 0x96, 0x57, 0x10, 0x6C, 0xD0, 0x0E, 0x00, 0x6D, 0x76, 0x39, 0x10, -0x6E, 0xAF, 0xF0, 0x00, 0x6F, 0x56, 0x1B, 0x10, 0x70, 0x8F, 0xD2, 0x00, 0x71, 0x35, 0xFD, 0x10, -0x72, 0x6F, 0xB4, 0x00, 0x73, 0x15, 0xDF, 0x10, 0x74, 0x4F, 0x96, 0x00, 0x74, 0xFE, 0xFB, 0x90, -0x76, 0x38, 0xB2, 0x80, 0x76, 0xDE, 0xDD, 0x90, 0x78, 0x18, 0x94, 0x80, 0x78, 0xBE, 0xBF, 0x90, -0x79, 0xF8, 0x76, 0x80, 0x7A, 0x9E, 0xA1, 0x90, 0x7B, 0xD8, 0x58, 0x80, 0x7C, 0x7E, 0x83, 0x90, -0x7D, 0xB8, 0x3A, 0x80, 0x7E, 0x5E, 0x65, 0x90, 0x7F, 0x98, 0x1C, 0x80, 0x02, 0x01, 0x02, 0x03, +0x00, 0x00, 0x00, 0x85, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0xE0, 0x06, 0x4E, 0x80, +0x04, 0x61, 0x27, 0xA0, 0x05, 0x51, 0x0A, 0x90, 0x06, 0x41, 0x09, 0xA0, 0x07, 0x30, 0xEC, 0x90, +0x08, 0x20, 0xEB, 0xA0, 0x09, 0x10, 0xCE, 0x90, 0x0A, 0x00, 0xCD, 0xA0, 0x0A, 0xF0, 0xB0, 0x90, +0x0B, 0xE0, 0xAF, 0xA0, 0x0C, 0xD9, 0xCD, 0x10, 0x0D, 0xC0, 0x91, 0xA0, 0x0E, 0xB9, 0xAF, 0x10, +0x0F, 0xA9, 0xAE, 0x20, 0x10, 0x99, 0x91, 0x10, 0x11, 0x89, 0x90, 0x20, 0x12, 0x79, 0x65, 0x00, +0x13, 0x69, 0x64, 0x10, 0x14, 0x59, 0x47, 0x00, 0x15, 0x49, 0x46, 0x10, 0x16, 0x39, 0x29, 0x00, +0x17, 0x29, 0x28, 0x10, 0x18, 0x22, 0x45, 0x80, 0x19, 0x09, 0x0A, 0x10, 0x1A, 0x02, 0x27, 0x80, +0x1A, 0xF2, 0x26, 0x90, 0x1B, 0xE2, 0x09, 0x80, 0x1C, 0xD2, 0x08, 0x90, 0x1D, 0xC1, 0xEB, 0x80, +0x1E, 0xB1, 0xEA, 0x90, 0x1F, 0xA1, 0xCD, 0x80, 0x20, 0x76, 0x1D, 0x10, 0x21, 0x81, 0xAF, 0x80, +0x22, 0x55, 0xFF, 0x10, 0x23, 0x6A, 0xCC, 0x00, 0x24, 0x35, 0xE1, 0x10, 0x25, 0x4A, 0xAE, 0x00, +0x26, 0x15, 0xC3, 0x10, 0x27, 0x2A, 0x90, 0x00, 0x27, 0xFE, 0xDF, 0x90, 0x29, 0x0A, 0x72, 0x00, +0x29, 0xDE, 0xC1, 0x90, 0x2A, 0xEA, 0x54, 0x00, 0x2B, 0xBE, 0xA3, 0x90, 0x2C, 0xD3, 0x70, 0x80, +0x2D, 0x9E, 0x85, 0x90, 0x2E, 0xB3, 0x52, 0x80, 0x2F, 0x7E, 0x67, 0x90, 0x30, 0x93, 0x34, 0x80, +0x31, 0x67, 0x84, 0x10, 0x32, 0x73, 0x16, 0x80, 0x33, 0x47, 0x66, 0x10, 0x34, 0x52, 0xF8, 0x80, +0x35, 0x27, 0x48, 0x10, 0x36, 0x32, 0xDA, 0x80, 0x37, 0x07, 0x2A, 0x10, 0x38, 0x1B, 0xF7, 0x00, +0x38, 0xE7, 0x0C, 0x10, 0x39, 0xFB, 0xD9, 0x00, 0x3A, 0xC6, 0xEE, 0x10, 0x3B, 0xDB, 0xBB, 0x00, +0x3C, 0xB0, 0x0A, 0x90, 0x3D, 0xBB, 0x9D, 0x00, 0x3E, 0x8F, 0xEC, 0x90, 0x3F, 0x9B, 0x7F, 0x00, +0x40, 0x6F, 0xCE, 0x90, 0x41, 0x84, 0x9B, 0x80, 0x42, 0x4F, 0xB0, 0x90, 0x43, 0x64, 0x7D, 0x80, +0x44, 0x2F, 0x92, 0x90, 0x45, 0x44, 0x5F, 0x80, 0x45, 0xF3, 0xC5, 0x10, 0x47, 0x2D, 0x7C, 0x00, +0x47, 0xD3, 0xA7, 0x10, 0x49, 0x0D, 0x5E, 0x00, 0x49, 0xB3, 0x89, 0x10, 0x4A, 0xED, 0x40, 0x00, +0x4B, 0x9C, 0xA5, 0x90, 0x4C, 0xD6, 0x5C, 0x80, 0x4D, 0x7C, 0x87, 0x90, 0x4E, 0xB6, 0x3E, 0x80, +0x4F, 0x5C, 0x69, 0x90, 0x50, 0x96, 0x20, 0x80, 0x51, 0x3C, 0x4B, 0x90, 0x52, 0x76, 0x02, 0x80, +0x53, 0x1C, 0x2D, 0x90, 0x54, 0x55, 0xE4, 0x80, 0x54, 0xFC, 0x0F, 0x90, 0x56, 0x35, 0xC6, 0x80, +0x56, 0xE5, 0x2C, 0x10, 0x58, 0x1E, 0xE3, 0x00, 0x58, 0xC5, 0x0E, 0x10, 0x59, 0xFE, 0xC5, 0x00, +0x5A, 0xA4, 0xF0, 0x10, 0x5B, 0xDE, 0xA7, 0x00, 0x5C, 0x84, 0xD2, 0x10, 0x5D, 0xBE, 0x89, 0x00, +0x5E, 0x64, 0xB4, 0x10, 0x5F, 0x9E, 0x6B, 0x00, 0x60, 0x4D, 0xD0, 0x90, 0x61, 0x87, 0x87, 0x80, +0x62, 0x2D, 0xB2, 0x90, 0x63, 0x67, 0x69, 0x80, 0x64, 0x0D, 0x94, 0x90, 0x65, 0x47, 0x4B, 0x80, +0x65, 0xED, 0x76, 0x90, 0x67, 0x27, 0x2D, 0x80, 0x67, 0xCD, 0x58, 0x90, 0x69, 0x07, 0x0F, 0x80, +0x69, 0xAD, 0x3A, 0x90, 0x6A, 0xE6, 0xF1, 0x80, 0x6B, 0x96, 0x57, 0x10, 0x6C, 0xD0, 0x0E, 0x00, +0x6D, 0x76, 0x39, 0x10, 0x6E, 0xAF, 0xF0, 0x00, 0x6F, 0x56, 0x1B, 0x10, 0x70, 0x8F, 0xD2, 0x00, +0x71, 0x35, 0xFD, 0x10, 0x72, 0x6F, 0xB4, 0x00, 0x73, 0x15, 0xDF, 0x10, 0x74, 0x4F, 0x96, 0x00, +0x74, 0xFE, 0xFB, 0x90, 0x76, 0x38, 0xB2, 0x80, 0x76, 0xDE, 0xDD, 0x90, 0x78, 0x18, 0x94, 0x80, +0x78, 0xBE, 0xBF, 0x90, 0x79, 0xF8, 0x76, 0x80, 0x7A, 0x9E, 0xA1, 0x90, 0x7B, 0xD8, 0x58, 0x80, +0x7C, 0x7E, 0x83, 0x90, 0x7D, 0xB8, 0x3A, 0x80, 0x7E, 0x5E, 0x65, 0x90, 0x7F, 0x98, 0x1C, 0x80, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x04, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, +0x03, 0x04, 0x03, 0x04, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x9D, 0x90, 0x01, +0x04, 0xFF, 0xFF, 0x8F, 0x80, 0x00, 0x08, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x0C, 0xFF, 0xFF, 0xAB, +0xA0, 0x01, 0x10, 0x2D, 0x30, 0x30, 0x00, 0x50, 0x44, 0x54, 0x00, 0x50, 0x53, 0x54, 0x00, 0x4D, +0x53, 0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x85, 0x00, 0x00, 0x00, 0x05, 0x00, +0x00, 0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x06, 0x4E, 0x80, 0x00, 0x00, 0x00, 0x00, 0x04, +0x61, 0x27, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x05, 0x51, 0x0A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x06, +0x41, 0x09, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x07, 0x30, 0xEC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x08, +0x20, 0xEB, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x09, 0x10, 0xCE, 0x90, 0x00, 0x00, 0x00, 0x00, 0x0A, +0x00, 0xCD, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xF0, 0xB0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x0B, +0xE0, 0xAF, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xD9, 0xCD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x0D, +0xC0, 0x91, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xB9, 0xAF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x0F, +0xA9, 0xAE, 0x20, 0x00, 0x00, 0x00, 0x00, 0x10, 0x99, 0x91, 0x10, 0x00, 0x00, 0x00, 0x00, 0x11, +0x89, 0x90, 0x20, 0x00, 0x00, 0x00, 0x00, 0x12, 0x79, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, +0x69, 0x64, 0x10, 0x00, 0x00, 0x00, 0x00, 0x14, 0x59, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, +0x49, 0x46, 0x10, 0x00, 0x00, 0x00, 0x00, 0x16, 0x39, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, +0x29, 0x28, 0x10, 0x00, 0x00, 0x00, 0x00, 0x18, 0x22, 0x45, 0x80, 0x00, 0x00, 0x00, 0x00, 0x19, +0x09, 0x0A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x02, 0x27, 0x80, 0x00, 0x00, 0x00, 0x00, 0x1A, +0xF2, 0x26, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xE2, 0x09, 0x80, 0x00, 0x00, 0x00, 0x00, 0x1C, +0xD2, 0x08, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xC1, 0xEB, 0x80, 0x00, 0x00, 0x00, 0x00, 0x1E, +0xB1, 0xEA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xA1, 0xCD, 0x80, 0x00, 0x00, 0x00, 0x00, 0x20, +0x76, 0x1D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x21, 0x81, 0xAF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x22, +0x55, 0xFF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x23, 0x6A, 0xCC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, +0x35, 0xE1, 0x10, 0x00, 0x00, 0x00, 0x00, 0x25, 0x4A, 0xAE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x26, +0x15, 0xC3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x27, 0x2A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, +0xFE, 0xDF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, 0x0A, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x29, +0xDE, 0xC1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xEA, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2B, +0xBE, 0xA3, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xD3, 0x70, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2D, +0x9E, 0x85, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2E, 0xB3, 0x52, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2F, +0x7E, 0x67, 0x90, 0x00, 0x00, 0x00, 0x00, 0x30, 0x93, 0x34, 0x80, 0x00, 0x00, 0x00, 0x00, 0x31, +0x67, 0x84, 0x10, 0x00, 0x00, 0x00, 0x00, 0x32, 0x73, 0x16, 0x80, 0x00, 0x00, 0x00, 0x00, 0x33, +0x47, 0x66, 0x10, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0xF8, 0x80, 0x00, 0x00, 0x00, 0x00, 0x35, +0x27, 0x48, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0xDA, 0x80, 0x00, 0x00, 0x00, 0x00, 0x37, +0x07, 0x2A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0xF7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, +0xE7, 0x0C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0xD9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3A, +0xC6, 0xEE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0xBB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, +0xB0, 0x0A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x9D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, +0x8F, 0xEC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, +0x6F, 0xCE, 0x90, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x9B, 0x80, 0x00, 0x00, 0x00, 0x00, 0x42, +0x4F, 0xB0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x7D, 0x80, 0x00, 0x00, 0x00, 0x00, 0x44, +0x2F, 0x92, 0x90, 0x00, 0x00, 0x00, 0x00, 0x45, 0x44, 0x5F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x45, +0xF3, 0xC5, 0x10, 0x00, 0x00, 0x00, 0x00, 0x47, 0x2D, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, +0xD3, 0xA7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, 0x0D, 0x5E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, +0xB3, 0x89, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xED, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4B, +0x9C, 0xA5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4C, 0xD6, 0x5C, 0x80, 0x00, 0x00, 0x00, 0x00, 0x4D, +0x7C, 0x87, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4E, 0xB6, 0x3E, 0x80, 0x00, 0x00, 0x00, 0x00, 0x4F, +0x5C, 0x69, 0x90, 0x00, 0x00, 0x00, 0x00, 0x50, 0x96, 0x20, 0x80, 0x00, 0x00, 0x00, 0x00, 0x51, +0x3C, 0x4B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x52, 0x76, 0x02, 0x80, 0x00, 0x00, 0x00, 0x00, 0x53, +0x1C, 0x2D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x54, 0x55, 0xE4, 0x80, 0x00, 0x00, 0x00, 0x00, 0x54, +0xFC, 0x0F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, 0x35, 0xC6, 0x80, 0x00, 0x00, 0x00, 0x00, 0x56, +0xE5, 0x2C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x58, 0x1E, 0xE3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, +0xC5, 0x0E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x59, 0xFE, 0xC5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5A, +0xA4, 0xF0, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5B, 0xDE, 0xA7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5C, +0x84, 0xD2, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5D, 0xBE, 0x89, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5E, +0x64, 0xB4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x9E, 0x6B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, +0x4D, 0xD0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x61, 0x87, 0x87, 0x80, 0x00, 0x00, 0x00, 0x00, 0x62, +0x2D, 0xB2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x63, 0x67, 0x69, 0x80, 0x00, 0x00, 0x00, 0x00, 0x64, +0x0D, 0x94, 0x90, 0x00, 0x00, 0x00, 0x00, 0x65, 0x47, 0x4B, 0x80, 0x00, 0x00, 0x00, 0x00, 0x65, +0xED, 0x76, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, 0x27, 0x2D, 0x80, 0x00, 0x00, 0x00, 0x00, 0x67, +0xCD, 0x58, 0x90, 0x00, 0x00, 0x00, 0x00, 0x69, 0x07, 0x0F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x69, +0xAD, 0x3A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xE6, 0xF1, 0x80, 0x00, 0x00, 0x00, 0x00, 0x6B, +0x96, 0x57, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xD0, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6D, +0x76, 0x39, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6E, 0xAF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6F, +0x56, 0x1B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x70, 0x8F, 0xD2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x71, +0x35, 0xFD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x72, 0x6F, 0xB4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x73, +0x15, 0xDF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x74, 0x4F, 0x96, 0x00, 0x00, 0x00, 0x00, 0x00, 0x74, +0xFE, 0xFB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x76, 0x38, 0xB2, 0x80, 0x00, 0x00, 0x00, 0x00, 0x76, +0xDE, 0xDD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x78, 0x18, 0x94, 0x80, 0x00, 0x00, 0x00, 0x00, 0x78, +0xBE, 0xBF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x79, 0xF8, 0x76, 0x80, 0x00, 0x00, 0x00, 0x00, 0x7A, +0x9E, 0xA1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7B, 0xD8, 0x58, 0x80, 0x00, 0x00, 0x00, 0x00, 0x7C, +0x7E, 0x83, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7D, 0xB8, 0x3A, 0x80, 0x00, 0x00, 0x00, 0x00, 0x7E, +0x5E, 0x65, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x98, 0x1C, 0x80, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, @@ -32318,219 +32630,155 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, -0x04, 0x03, 0x04, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x04, -0xFF, 0xFF, 0x8F, 0x80, 0x00, 0x09, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x0D, 0xFF, 0xFF, 0xAB, 0xA0, -0x01, 0x11, 0x2D, 0x30, 0x30, 0x00, 0x50, 0x44, 0x44, 0x54, 0x00, 0x50, 0x53, 0x54, 0x00, 0x4D, -0x53, 0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x05, 0x00, -0x00, 0x00, 0x15, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x06, 0x4E, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, -0x2F, 0x68, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x28, 0x94, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, -0x89, 0x90, 0x20, 0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x64, 0x10, 0x00, 0x00, 0x00, 0x00, 0x14, -0x59, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x49, 0x46, 0x10, 0x00, 0x00, 0x00, 0x00, 0x16, -0x39, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x29, 0x28, 0x10, 0x00, 0x00, 0x00, 0x00, 0x18, -0x22, 0x45, 0x80, 0x00, 0x00, 0x00, 0x00, 0x19, 0x09, 0x0A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1A, -0x02, 0x27, 0x80, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xF2, 0x26, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, -0xE2, 0x09, 0x80, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xD2, 0x08, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1D, -0xC1, 0xEB, 0x80, 0x00, 0x00, 0x00, 0x00, 0x1E, 0xB1, 0xEA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1F, -0xA1, 0xCD, 0x80, 0x00, 0x00, 0x00, 0x00, 0x20, 0x76, 0x1D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x21, -0x81, 0xAF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x22, 0x55, 0xFF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x23, -0x6A, 0xCC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x35, 0xE1, 0x10, 0x00, 0x00, 0x00, 0x00, 0x25, -0x4A, 0xAE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x26, 0x15, 0xC3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x27, -0x2A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0xFE, 0xDF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, -0x0A, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x29, 0xDE, 0xC1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2A, -0xEA, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xBE, 0xA3, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2C, -0xD3, 0x70, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x9E, 0x85, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2E, -0xB3, 0x52, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x7E, 0x67, 0x90, 0x00, 0x00, 0x00, 0x00, 0x30, -0x93, 0x34, 0x80, 0x00, 0x00, 0x00, 0x00, 0x31, 0x67, 0x84, 0x10, 0x00, 0x00, 0x00, 0x00, 0x32, -0x73, 0x16, 0x80, 0x00, 0x00, 0x00, 0x00, 0x33, 0x47, 0x66, 0x10, 0x00, 0x00, 0x00, 0x00, 0x34, -0x52, 0xF8, 0x80, 0x00, 0x00, 0x00, 0x00, 0x35, 0x27, 0x48, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, -0x32, 0xDA, 0x80, 0x00, 0x00, 0x00, 0x00, 0x37, 0x07, 0x2A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x38, -0x1B, 0xF7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0xE7, 0x0C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x39, -0xFB, 0xD9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xC6, 0xEE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x3B, -0xDB, 0xBB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xB0, 0x0A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3D, -0xBB, 0x9D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x8F, 0xEC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3F, -0x9B, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x6F, 0xCE, 0x90, 0x00, 0x00, 0x00, 0x00, 0x41, -0x84, 0x9B, 0x80, 0x00, 0x00, 0x00, 0x00, 0x42, 0x4F, 0xB0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x43, -0x64, 0x7D, 0x80, 0x00, 0x00, 0x00, 0x00, 0x44, 0x2F, 0x92, 0x90, 0x00, 0x00, 0x00, 0x00, 0x45, -0x44, 0x5F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x45, 0xF3, 0xC5, 0x10, 0x00, 0x00, 0x00, 0x00, 0x47, -0x2D, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0xD3, 0xA7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, -0x0D, 0x5E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0xB3, 0x89, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4A, -0xED, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4B, 0x9C, 0xA5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4C, -0xD6, 0x5C, 0x80, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x7C, 0x87, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4E, -0xB6, 0x3E, 0x80, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x5C, 0x69, 0x90, 0x00, 0x00, 0x00, 0x00, 0x50, -0x96, 0x20, 0x80, 0x00, 0x00, 0x00, 0x00, 0x51, 0x3C, 0x4B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x52, -0x76, 0x02, 0x80, 0x00, 0x00, 0x00, 0x00, 0x53, 0x1C, 0x2D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x54, -0x55, 0xE4, 0x80, 0x00, 0x00, 0x00, 0x00, 0x54, 0xFC, 0x0F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, -0x35, 0xC6, 0x80, 0x00, 0x00, 0x00, 0x00, 0x56, 0xE5, 0x2C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x58, -0x1E, 0xE3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 0xC5, 0x0E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x59, -0xFE, 0xC5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xA4, 0xF0, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5B, -0xDE, 0xA7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5C, 0x84, 0xD2, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5D, -0xBE, 0x89, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x64, 0xB4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5F, -0x9E, 0x6B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x4D, 0xD0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x61, -0x87, 0x87, 0x80, 0x00, 0x00, 0x00, 0x00, 0x62, 0x2D, 0xB2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x63, -0x67, 0x69, 0x80, 0x00, 0x00, 0x00, 0x00, 0x64, 0x0D, 0x94, 0x90, 0x00, 0x00, 0x00, 0x00, 0x65, -0x47, 0x4B, 0x80, 0x00, 0x00, 0x00, 0x00, 0x65, 0xED, 0x76, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, -0x27, 0x2D, 0x80, 0x00, 0x00, 0x00, 0x00, 0x67, 0xCD, 0x58, 0x90, 0x00, 0x00, 0x00, 0x00, 0x69, -0x07, 0x0F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x69, 0xAD, 0x3A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6A, -0xE6, 0xF1, 0x80, 0x00, 0x00, 0x00, 0x00, 0x6B, 0x96, 0x57, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6C, -0xD0, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x76, 0x39, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6E, -0xAF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x56, 0x1B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x70, -0x8F, 0xD2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x71, 0x35, 0xFD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x72, -0x6F, 0xB4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x73, 0x15, 0xDF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x74, -0x4F, 0x96, 0x00, 0x00, 0x00, 0x00, 0x00, 0x74, 0xFE, 0xFB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x76, -0x38, 0xB2, 0x80, 0x00, 0x00, 0x00, 0x00, 0x76, 0xDE, 0xDD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x78, -0x18, 0x94, 0x80, 0x00, 0x00, 0x00, 0x00, 0x78, 0xBE, 0xBF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x79, -0xF8, 0x76, 0x80, 0x00, 0x00, 0x00, 0x00, 0x7A, 0x9E, 0xA1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7B, -0xD8, 0x58, 0x80, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x7E, 0x83, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7D, -0xB8, 0x3A, 0x80, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x5E, 0x65, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7F, -0x98, 0x1C, 0x80, 0x02, 0x01, 0x02, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, -0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, -0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, -0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, -0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, -0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, -0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, -0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x04, 0xFF, 0xFF, 0x8F, 0x80, 0x00, 0x09, 0xFF, 0xFF, 0x9D, -0x90, 0x00, 0x0D, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x11, 0x2D, 0x30, 0x30, 0x00, 0x50, 0x44, 0x44, -0x54, 0x00, 0x50, 0x53, 0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x0A, 0x4D, -0x53, 0x54, 0x37, 0x4D, 0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, -0x31, 0x2E, 0x31, 0x2E, 0x30, 0x0A, 0x00, 0xF1, 0x9F, 0x5C, 0x00, 0x46, 0x9F, 0x6D, 0x00, 0x00, -0x00, 0x14, 0x4D, 0x6F, 0x75, 0x6E, 0x74, 0x61, 0x69, 0x6E, 0x20, 0x2D, 0x20, 0x4E, 0x54, 0x20, -0x28, 0x77, 0x65, 0x73, 0x74, 0x29, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x9D, 0x90, 0x01, 0x04, 0xFF, 0xFF, 0x8F, 0x80, +0x00, 0x08, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x0C, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x10, 0x2D, 0x30, +0x30, 0x00, 0x50, 0x44, 0x54, 0x00, 0x50, 0x53, 0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, 0x4D, 0x44, +0x54, 0x00, 0x0A, 0x4D, 0x53, 0x54, 0x37, 0x4D, 0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, +0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, 0x31, 0x2E, 0x30, 0x0A, 0x00, 0xF1, 0x9F, 0x5C, 0x00, 0x46, +0x9F, 0x6D, 0x00, 0x00, 0x00, 0x14, 0x4D, 0x6F, 0x75, 0x6E, 0x74, 0x61, 0x69, 0x6E, 0x20, 0x2D, +0x20, 0x4E, 0x54, 0x20, 0x28, 0x77, 0x65, 0x73, 0x74, 0x29, /* America/Iqaluit */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x79, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x21, 0xCC, 0x6C, 0xA1, 0x80, -0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xFB, 0xE0, 0xF7, 0x2F, 0x3E, 0x50, 0xF8, 0x28, 0x69, 0xD0, -0x13, 0x69, 0x47, 0xF0, 0x14, 0x59, 0x2A, 0xE0, 0x15, 0x49, 0x29, 0xF0, 0x16, 0x39, 0x0C, 0xE0, -0x17, 0x29, 0x0B, 0xF0, 0x18, 0x22, 0x29, 0x60, 0x19, 0x08, 0xED, 0xF0, 0x1A, 0x02, 0x0B, 0x60, -0x1A, 0xF2, 0x0A, 0x70, 0x1B, 0xE1, 0xED, 0x60, 0x1C, 0xD1, 0xEC, 0x70, 0x1D, 0xC1, 0xCF, 0x60, -0x1E, 0xB1, 0xCE, 0x70, 0x1F, 0xA1, 0xB1, 0x60, 0x20, 0x76, 0x00, 0xF0, 0x21, 0x81, 0x93, 0x60, -0x22, 0x55, 0xE2, 0xF0, 0x23, 0x6A, 0xAF, 0xE0, 0x24, 0x35, 0xC4, 0xF0, 0x25, 0x4A, 0x91, 0xE0, -0x26, 0x15, 0xA6, 0xF0, 0x27, 0x2A, 0x73, 0xE0, 0x27, 0xFE, 0xC3, 0x70, 0x29, 0x0A, 0x55, 0xE0, -0x29, 0xDE, 0xA5, 0x70, 0x2A, 0xEA, 0x37, 0xE0, 0x2B, 0xBE, 0x87, 0x70, 0x2C, 0xD3, 0x54, 0x60, -0x2D, 0x9E, 0x69, 0x70, 0x2E, 0xB3, 0x36, 0x60, 0x2F, 0x7E, 0x4B, 0x70, 0x30, 0x93, 0x18, 0x60, -0x31, 0x67, 0x67, 0xF0, 0x32, 0x72, 0xFA, 0x60, 0x33, 0x47, 0x49, 0xF0, 0x34, 0x52, 0xDC, 0x60, -0x35, 0x27, 0x2B, 0xF0, 0x36, 0x32, 0xBE, 0x60, 0x37, 0x07, 0x0D, 0xF0, 0x38, 0x1B, 0xDA, 0xE0, -0x38, 0xE6, 0xFE, 0x00, 0x39, 0xFB, 0xCA, 0xF0, 0x3A, 0xC6, 0xD1, 0xF0, 0x3B, 0xDB, 0x9E, 0xE0, -0x3C, 0xAF, 0xEE, 0x70, 0x3D, 0xBB, 0x80, 0xE0, 0x3E, 0x8F, 0xD0, 0x70, 0x3F, 0x9B, 0x62, 0xE0, -0x40, 0x6F, 0xB2, 0x70, 0x41, 0x84, 0x7F, 0x60, 0x42, 0x4F, 0x94, 0x70, 0x43, 0x64, 0x61, 0x60, -0x44, 0x2F, 0x76, 0x70, 0x45, 0x44, 0x43, 0x60, 0x45, 0xF3, 0xA8, 0xF0, 0x47, 0x2D, 0x5F, 0xE0, -0x47, 0xD3, 0x8A, 0xF0, 0x49, 0x0D, 0x41, 0xE0, 0x49, 0xB3, 0x6C, 0xF0, 0x4A, 0xED, 0x23, 0xE0, -0x4B, 0x9C, 0x89, 0x70, 0x4C, 0xD6, 0x40, 0x60, 0x4D, 0x7C, 0x6B, 0x70, 0x4E, 0xB6, 0x22, 0x60, -0x4F, 0x5C, 0x4D, 0x70, 0x50, 0x96, 0x04, 0x60, 0x51, 0x3C, 0x2F, 0x70, 0x52, 0x75, 0xE6, 0x60, -0x53, 0x1C, 0x11, 0x70, 0x54, 0x55, 0xC8, 0x60, 0x54, 0xFB, 0xF3, 0x70, 0x56, 0x35, 0xAA, 0x60, -0x56, 0xE5, 0x0F, 0xF0, 0x58, 0x1E, 0xC6, 0xE0, 0x58, 0xC4, 0xF1, 0xF0, 0x59, 0xFE, 0xA8, 0xE0, -0x5A, 0xA4, 0xD3, 0xF0, 0x5B, 0xDE, 0x8A, 0xE0, 0x5C, 0x84, 0xB5, 0xF0, 0x5D, 0xBE, 0x6C, 0xE0, -0x5E, 0x64, 0x97, 0xF0, 0x5F, 0x9E, 0x4E, 0xE0, 0x60, 0x4D, 0xB4, 0x70, 0x61, 0x87, 0x6B, 0x60, -0x62, 0x2D, 0x96, 0x70, 0x63, 0x67, 0x4D, 0x60, 0x64, 0x0D, 0x78, 0x70, 0x65, 0x47, 0x2F, 0x60, -0x65, 0xED, 0x5A, 0x70, 0x67, 0x27, 0x11, 0x60, 0x67, 0xCD, 0x3C, 0x70, 0x69, 0x06, 0xF3, 0x60, -0x69, 0xAD, 0x1E, 0x70, 0x6A, 0xE6, 0xD5, 0x60, 0x6B, 0x96, 0x3A, 0xF0, 0x6C, 0xCF, 0xF1, 0xE0, -0x6D, 0x76, 0x1C, 0xF0, 0x6E, 0xAF, 0xD3, 0xE0, 0x6F, 0x55, 0xFE, 0xF0, 0x70, 0x8F, 0xB5, 0xE0, -0x71, 0x35, 0xE0, 0xF0, 0x72, 0x6F, 0x97, 0xE0, 0x73, 0x15, 0xC2, 0xF0, 0x74, 0x4F, 0x79, 0xE0, -0x74, 0xFE, 0xDF, 0x70, 0x76, 0x38, 0x96, 0x60, 0x76, 0xDE, 0xC1, 0x70, 0x78, 0x18, 0x78, 0x60, -0x78, 0xBE, 0xA3, 0x70, 0x79, 0xF8, 0x5A, 0x60, 0x7A, 0x9E, 0x85, 0x70, 0x7B, 0xD8, 0x3C, 0x60, -0x7C, 0x7E, 0x67, 0x70, 0x7D, 0xB8, 0x1E, 0x60, 0x7E, 0x5E, 0x49, 0x70, 0x7F, 0x98, 0x00, 0x60, -0x05, 0x01, 0x02, 0x03, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, -0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, -0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x06, 0x07, 0x02, 0x04, -0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, -0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, -0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, -0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, -0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, -0xFF, 0xC7, 0xC0, 0x01, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, -0x0C, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x11, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x15, 0xFF, 0xFF, 0xAB, -0xA0, 0x00, 0x19, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x1D, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x11, 0xFF, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x87, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x1C, 0xCC, 0x6C, 0xA1, 0x80, +0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xFB, 0xE0, 0x04, 0x60, 0xFD, 0x70, 0x05, 0x50, 0xE0, 0x60, +0x06, 0x40, 0xDF, 0x70, 0x07, 0x30, 0xC2, 0x60, 0x08, 0x20, 0xC1, 0x70, 0x09, 0x10, 0xA4, 0x60, +0x0A, 0x00, 0xA3, 0x70, 0x0A, 0xF0, 0x86, 0x60, 0x0B, 0xE0, 0x85, 0x70, 0x0C, 0xD9, 0xA2, 0xE0, +0x0D, 0xC0, 0x67, 0x70, 0x0E, 0xB9, 0x84, 0xE0, 0x0F, 0xA9, 0x83, 0xF0, 0x10, 0x99, 0x66, 0xE0, +0x11, 0x89, 0x65, 0xF0, 0x12, 0x79, 0x48, 0xE0, 0x13, 0x69, 0x47, 0xF0, 0x14, 0x59, 0x2A, 0xE0, +0x15, 0x49, 0x29, 0xF0, 0x16, 0x39, 0x0C, 0xE0, 0x17, 0x29, 0x0B, 0xF0, 0x18, 0x22, 0x29, 0x60, +0x19, 0x08, 0xED, 0xF0, 0x1A, 0x02, 0x0B, 0x60, 0x1A, 0xF2, 0x0A, 0x70, 0x1B, 0xE1, 0xED, 0x60, +0x1C, 0xD1, 0xEC, 0x70, 0x1D, 0xC1, 0xCF, 0x60, 0x1E, 0xB1, 0xCE, 0x70, 0x1F, 0xA1, 0xB1, 0x60, +0x20, 0x76, 0x00, 0xF0, 0x21, 0x81, 0x93, 0x60, 0x22, 0x55, 0xE2, 0xF0, 0x23, 0x6A, 0xAF, 0xE0, +0x24, 0x35, 0xC4, 0xF0, 0x25, 0x4A, 0x91, 0xE0, 0x26, 0x15, 0xA6, 0xF0, 0x27, 0x2A, 0x73, 0xE0, +0x27, 0xFE, 0xC3, 0x70, 0x29, 0x0A, 0x55, 0xE0, 0x29, 0xDE, 0xA5, 0x70, 0x2A, 0xEA, 0x37, 0xE0, +0x2B, 0xBE, 0x87, 0x70, 0x2C, 0xD3, 0x54, 0x60, 0x2D, 0x9E, 0x69, 0x70, 0x2E, 0xB3, 0x36, 0x60, +0x2F, 0x7E, 0x4B, 0x70, 0x30, 0x93, 0x18, 0x60, 0x31, 0x67, 0x67, 0xF0, 0x32, 0x72, 0xFA, 0x60, +0x33, 0x47, 0x49, 0xF0, 0x34, 0x52, 0xDC, 0x60, 0x35, 0x27, 0x2B, 0xF0, 0x36, 0x32, 0xBE, 0x60, +0x37, 0x07, 0x0D, 0xF0, 0x38, 0x1B, 0xDA, 0xE0, 0x38, 0xE6, 0xFE, 0x00, 0x39, 0xFB, 0xCA, 0xF0, +0x3A, 0xC6, 0xD1, 0xF0, 0x3B, 0xDB, 0x9E, 0xE0, 0x3C, 0xAF, 0xEE, 0x70, 0x3D, 0xBB, 0x80, 0xE0, +0x3E, 0x8F, 0xD0, 0x70, 0x3F, 0x9B, 0x62, 0xE0, 0x40, 0x6F, 0xB2, 0x70, 0x41, 0x84, 0x7F, 0x60, +0x42, 0x4F, 0x94, 0x70, 0x43, 0x64, 0x61, 0x60, 0x44, 0x2F, 0x76, 0x70, 0x45, 0x44, 0x43, 0x60, +0x45, 0xF3, 0xA8, 0xF0, 0x47, 0x2D, 0x5F, 0xE0, 0x47, 0xD3, 0x8A, 0xF0, 0x49, 0x0D, 0x41, 0xE0, +0x49, 0xB3, 0x6C, 0xF0, 0x4A, 0xED, 0x23, 0xE0, 0x4B, 0x9C, 0x89, 0x70, 0x4C, 0xD6, 0x40, 0x60, +0x4D, 0x7C, 0x6B, 0x70, 0x4E, 0xB6, 0x22, 0x60, 0x4F, 0x5C, 0x4D, 0x70, 0x50, 0x96, 0x04, 0x60, +0x51, 0x3C, 0x2F, 0x70, 0x52, 0x75, 0xE6, 0x60, 0x53, 0x1C, 0x11, 0x70, 0x54, 0x55, 0xC8, 0x60, +0x54, 0xFB, 0xF3, 0x70, 0x56, 0x35, 0xAA, 0x60, 0x56, 0xE5, 0x0F, 0xF0, 0x58, 0x1E, 0xC6, 0xE0, +0x58, 0xC4, 0xF1, 0xF0, 0x59, 0xFE, 0xA8, 0xE0, 0x5A, 0xA4, 0xD3, 0xF0, 0x5B, 0xDE, 0x8A, 0xE0, +0x5C, 0x84, 0xB5, 0xF0, 0x5D, 0xBE, 0x6C, 0xE0, 0x5E, 0x64, 0x97, 0xF0, 0x5F, 0x9E, 0x4E, 0xE0, +0x60, 0x4D, 0xB4, 0x70, 0x61, 0x87, 0x6B, 0x60, 0x62, 0x2D, 0x96, 0x70, 0x63, 0x67, 0x4D, 0x60, +0x64, 0x0D, 0x78, 0x70, 0x65, 0x47, 0x2F, 0x60, 0x65, 0xED, 0x5A, 0x70, 0x67, 0x27, 0x11, 0x60, +0x67, 0xCD, 0x3C, 0x70, 0x69, 0x06, 0xF3, 0x60, 0x69, 0xAD, 0x1E, 0x70, 0x6A, 0xE6, 0xD5, 0x60, +0x6B, 0x96, 0x3A, 0xF0, 0x6C, 0xCF, 0xF1, 0xE0, 0x6D, 0x76, 0x1C, 0xF0, 0x6E, 0xAF, 0xD3, 0xE0, +0x6F, 0x55, 0xFE, 0xF0, 0x70, 0x8F, 0xB5, 0xE0, 0x71, 0x35, 0xE0, 0xF0, 0x72, 0x6F, 0x97, 0xE0, +0x73, 0x15, 0xC2, 0xF0, 0x74, 0x4F, 0x79, 0xE0, 0x74, 0xFE, 0xDF, 0x70, 0x76, 0x38, 0x96, 0x60, +0x76, 0xDE, 0xC1, 0x70, 0x78, 0x18, 0x78, 0x60, 0x78, 0xBE, 0xA3, 0x70, 0x79, 0xF8, 0x5A, 0x60, +0x7A, 0x9E, 0x85, 0x70, 0x7B, 0xD8, 0x3C, 0x60, 0x7C, 0x7E, 0x67, 0x70, 0x7D, 0xB8, 0x1E, 0x60, +0x7E, 0x5E, 0x49, 0x70, 0x7F, 0x98, 0x00, 0x60, 0x04, 0x01, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x05, 0x06, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, +0x08, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x0C, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x10, 0xFF, 0xFF, 0xAB, +0xA0, 0x00, 0x14, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x18, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x0C, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0x2D, 0x30, 0x30, 0x00, 0x45, 0x50, 0x54, 0x00, 0x45, 0x53, 0x54, -0x00, 0x45, 0x44, 0x44, 0x54, 0x00, 0x45, 0x44, 0x54, 0x00, 0x45, 0x57, 0x54, 0x00, 0x43, 0x53, -0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x79, 0x00, 0x00, -0x00, 0x0A, 0x00, 0x00, 0x00, 0x21, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0xA1, 0x80, 0xFF, 0xFF, -0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xFB, 0xE0, 0xFF, 0xFF, -0xFF, 0xFF, 0xF7, 0x2F, 0x3E, 0x50, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x28, 0x69, 0xD0, 0x00, 0x00, -0x00, 0x00, 0x13, 0x69, 0x47, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x14, 0x59, 0x2A, 0xE0, 0x00, 0x00, -0x00, 0x00, 0x15, 0x49, 0x29, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x39, 0x0C, 0xE0, 0x00, 0x00, -0x00, 0x00, 0x17, 0x29, 0x0B, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x18, 0x22, 0x29, 0x60, 0x00, 0x00, -0x00, 0x00, 0x19, 0x08, 0xED, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x02, 0x0B, 0x60, 0x00, 0x00, -0x00, 0x00, 0x1A, 0xF2, 0x0A, 0x70, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xE1, 0xED, 0x60, 0x00, 0x00, -0x00, 0x00, 0x1C, 0xD1, 0xEC, 0x70, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xC1, 0xCF, 0x60, 0x00, 0x00, -0x00, 0x00, 0x1E, 0xB1, 0xCE, 0x70, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xA1, 0xB1, 0x60, 0x00, 0x00, -0x00, 0x00, 0x20, 0x76, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x21, 0x81, 0x93, 0x60, 0x00, 0x00, -0x00, 0x00, 0x22, 0x55, 0xE2, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x23, 0x6A, 0xAF, 0xE0, 0x00, 0x00, -0x00, 0x00, 0x24, 0x35, 0xC4, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x25, 0x4A, 0x91, 0xE0, 0x00, 0x00, -0x00, 0x00, 0x26, 0x15, 0xA6, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x27, 0x2A, 0x73, 0xE0, 0x00, 0x00, -0x00, 0x00, 0x27, 0xFE, 0xC3, 0x70, 0x00, 0x00, 0x00, 0x00, 0x29, 0x0A, 0x55, 0xE0, 0x00, 0x00, -0x00, 0x00, 0x29, 0xDE, 0xA5, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xEA, 0x37, 0xE0, 0x00, 0x00, -0x00, 0x00, 0x2B, 0xBE, 0x87, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xD3, 0x54, 0x60, 0x00, 0x00, -0x00, 0x00, 0x2D, 0x9E, 0x69, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2E, 0xB3, 0x36, 0x60, 0x00, 0x00, -0x00, 0x00, 0x2F, 0x7E, 0x4B, 0x70, 0x00, 0x00, 0x00, 0x00, 0x30, 0x93, 0x18, 0x60, 0x00, 0x00, -0x00, 0x00, 0x31, 0x67, 0x67, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x32, 0x72, 0xFA, 0x60, 0x00, 0x00, -0x00, 0x00, 0x33, 0x47, 0x49, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0xDC, 0x60, 0x00, 0x00, -0x00, 0x00, 0x35, 0x27, 0x2B, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0xBE, 0x60, 0x00, 0x00, -0x00, 0x00, 0x37, 0x07, 0x0D, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0xDA, 0xE0, 0x00, 0x00, -0x00, 0x00, 0x38, 0xE6, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0xCA, 0xF0, 0x00, 0x00, -0x00, 0x00, 0x3A, 0xC6, 0xD1, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0x9E, 0xE0, 0x00, 0x00, -0x00, 0x00, 0x3C, 0xAF, 0xEE, 0x70, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x80, 0xE0, 0x00, 0x00, -0x00, 0x00, 0x3E, 0x8F, 0xD0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x62, 0xE0, 0x00, 0x00, -0x00, 0x00, 0x40, 0x6F, 0xB2, 0x70, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x7F, 0x60, 0x00, 0x00, -0x00, 0x00, 0x42, 0x4F, 0x94, 0x70, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x61, 0x60, 0x00, 0x00, -0x00, 0x00, 0x44, 0x2F, 0x76, 0x70, 0x00, 0x00, 0x00, 0x00, 0x45, 0x44, 0x43, 0x60, 0x00, 0x00, -0x00, 0x00, 0x45, 0xF3, 0xA8, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x47, 0x2D, 0x5F, 0xE0, 0x00, 0x00, -0x00, 0x00, 0x47, 0xD3, 0x8A, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x49, 0x0D, 0x41, 0xE0, 0x00, 0x00, -0x00, 0x00, 0x49, 0xB3, 0x6C, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xED, 0x23, 0xE0, 0x00, 0x00, -0x00, 0x00, 0x4B, 0x9C, 0x89, 0x70, 0x00, 0x00, 0x00, 0x00, 0x4C, 0xD6, 0x40, 0x60, 0x00, 0x00, -0x00, 0x00, 0x4D, 0x7C, 0x6B, 0x70, 0x00, 0x00, 0x00, 0x00, 0x4E, 0xB6, 0x22, 0x60, 0x00, 0x00, -0x00, 0x00, 0x4F, 0x5C, 0x4D, 0x70, 0x00, 0x00, 0x00, 0x00, 0x50, 0x96, 0x04, 0x60, 0x00, 0x00, -0x00, 0x00, 0x51, 0x3C, 0x2F, 0x70, 0x00, 0x00, 0x00, 0x00, 0x52, 0x75, 0xE6, 0x60, 0x00, 0x00, -0x00, 0x00, 0x53, 0x1C, 0x11, 0x70, 0x00, 0x00, 0x00, 0x00, 0x54, 0x55, 0xC8, 0x60, 0x00, 0x00, -0x00, 0x00, 0x54, 0xFB, 0xF3, 0x70, 0x00, 0x00, 0x00, 0x00, 0x56, 0x35, 0xAA, 0x60, 0x00, 0x00, -0x00, 0x00, 0x56, 0xE5, 0x0F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x58, 0x1E, 0xC6, 0xE0, 0x00, 0x00, -0x00, 0x00, 0x58, 0xC4, 0xF1, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x59, 0xFE, 0xA8, 0xE0, 0x00, 0x00, -0x00, 0x00, 0x5A, 0xA4, 0xD3, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x5B, 0xDE, 0x8A, 0xE0, 0x00, 0x00, -0x00, 0x00, 0x5C, 0x84, 0xB5, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x5D, 0xBE, 0x6C, 0xE0, 0x00, 0x00, -0x00, 0x00, 0x5E, 0x64, 0x97, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x9E, 0x4E, 0xE0, 0x00, 0x00, -0x00, 0x00, 0x60, 0x4D, 0xB4, 0x70, 0x00, 0x00, 0x00, 0x00, 0x61, 0x87, 0x6B, 0x60, 0x00, 0x00, -0x00, 0x00, 0x62, 0x2D, 0x96, 0x70, 0x00, 0x00, 0x00, 0x00, 0x63, 0x67, 0x4D, 0x60, 0x00, 0x00, -0x00, 0x00, 0x64, 0x0D, 0x78, 0x70, 0x00, 0x00, 0x00, 0x00, 0x65, 0x47, 0x2F, 0x60, 0x00, 0x00, -0x00, 0x00, 0x65, 0xED, 0x5A, 0x70, 0x00, 0x00, 0x00, 0x00, 0x67, 0x27, 0x11, 0x60, 0x00, 0x00, -0x00, 0x00, 0x67, 0xCD, 0x3C, 0x70, 0x00, 0x00, 0x00, 0x00, 0x69, 0x06, 0xF3, 0x60, 0x00, 0x00, -0x00, 0x00, 0x69, 0xAD, 0x1E, 0x70, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xE6, 0xD5, 0x60, 0x00, 0x00, -0x00, 0x00, 0x6B, 0x96, 0x3A, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xCF, 0xF1, 0xE0, 0x00, 0x00, -0x00, 0x00, 0x6D, 0x76, 0x1C, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x6E, 0xAF, 0xD3, 0xE0, 0x00, 0x00, -0x00, 0x00, 0x6F, 0x55, 0xFE, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x70, 0x8F, 0xB5, 0xE0, 0x00, 0x00, -0x00, 0x00, 0x71, 0x35, 0xE0, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x72, 0x6F, 0x97, 0xE0, 0x00, 0x00, -0x00, 0x00, 0x73, 0x15, 0xC2, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x74, 0x4F, 0x79, 0xE0, 0x00, 0x00, -0x00, 0x00, 0x74, 0xFE, 0xDF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x76, 0x38, 0x96, 0x60, 0x00, 0x00, -0x00, 0x00, 0x76, 0xDE, 0xC1, 0x70, 0x00, 0x00, 0x00, 0x00, 0x78, 0x18, 0x78, 0x60, 0x00, 0x00, -0x00, 0x00, 0x78, 0xBE, 0xA3, 0x70, 0x00, 0x00, 0x00, 0x00, 0x79, 0xF8, 0x5A, 0x60, 0x00, 0x00, -0x00, 0x00, 0x7A, 0x9E, 0x85, 0x70, 0x00, 0x00, 0x00, 0x00, 0x7B, 0xD8, 0x3C, 0x60, 0x00, 0x00, -0x00, 0x00, 0x7C, 0x7E, 0x67, 0x70, 0x00, 0x00, 0x00, 0x00, 0x7D, 0xB8, 0x1E, 0x60, 0x00, 0x00, -0x00, 0x00, 0x7E, 0x5E, 0x49, 0x70, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x98, 0x00, 0x60, 0x05, 0x01, -0x02, 0x03, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, -0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, -0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x06, 0x07, 0x02, 0x04, 0x02, 0x04, -0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, -0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, -0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, -0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, -0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xC7, -0xC0, 0x01, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x0C, 0xFF, -0xFF, 0xC7, 0xC0, 0x01, 0x11, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x15, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, -0x19, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x1D, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x11, 0xFF, 0xFF, 0xB9, -0xB0, 0x00, 0x08, 0x2D, 0x30, 0x30, 0x00, 0x45, 0x50, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x45, -0x44, 0x44, 0x54, 0x00, 0x45, 0x44, 0x54, 0x00, 0x45, 0x57, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, -0x43, 0x44, 0x54, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x45, 0x53, 0x54, 0x35, 0x45, 0x44, 0x54, -0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, 0x31, 0x2E, 0x30, 0x0A, -0x00, 0xEA, 0x94, 0x15, 0x00, 0xAA, 0x2F, 0xB5, 0x00, 0x00, 0x00, 0x1E, 0x45, 0x61, 0x73, 0x74, -0x65, 0x72, 0x6E, 0x20, 0x2D, 0x20, 0x4E, 0x55, 0x20, 0x28, 0x6D, 0x6F, 0x73, 0x74, 0x20, 0x65, -0x61, 0x73, 0x74, 0x20, 0x61, 0x72, 0x65, 0x61, 0x73, 0x29, +0x00, 0x45, 0x44, 0x54, 0x00, 0x45, 0x57, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x43, 0x44, 0x54, +0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x09, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x87, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x1C, 0xFF, +0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0xA1, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, +0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xFB, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x04, 0x60, 0xFD, 0x70, 0x00, +0x00, 0x00, 0x00, 0x05, 0x50, 0xE0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x06, 0x40, 0xDF, 0x70, 0x00, +0x00, 0x00, 0x00, 0x07, 0x30, 0xC2, 0x60, 0x00, 0x00, 0x00, 0x00, 0x08, 0x20, 0xC1, 0x70, 0x00, +0x00, 0x00, 0x00, 0x09, 0x10, 0xA4, 0x60, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0xA3, 0x70, 0x00, +0x00, 0x00, 0x00, 0x0A, 0xF0, 0x86, 0x60, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xE0, 0x85, 0x70, 0x00, +0x00, 0x00, 0x00, 0x0C, 0xD9, 0xA2, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0D, 0xC0, 0x67, 0x70, 0x00, +0x00, 0x00, 0x00, 0x0E, 0xB9, 0x84, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xA9, 0x83, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x10, 0x99, 0x66, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x11, 0x89, 0x65, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x12, 0x79, 0x48, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x47, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x14, 0x59, 0x2A, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x15, 0x49, 0x29, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x16, 0x39, 0x0C, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x17, 0x29, 0x0B, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x18, 0x22, 0x29, 0x60, 0x00, 0x00, 0x00, 0x00, 0x19, 0x08, 0xED, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x1A, 0x02, 0x0B, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xF2, 0x0A, 0x70, 0x00, +0x00, 0x00, 0x00, 0x1B, 0xE1, 0xED, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xD1, 0xEC, 0x70, 0x00, +0x00, 0x00, 0x00, 0x1D, 0xC1, 0xCF, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1E, 0xB1, 0xCE, 0x70, 0x00, +0x00, 0x00, 0x00, 0x1F, 0xA1, 0xB1, 0x60, 0x00, 0x00, 0x00, 0x00, 0x20, 0x76, 0x00, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x21, 0x81, 0x93, 0x60, 0x00, 0x00, 0x00, 0x00, 0x22, 0x55, 0xE2, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x23, 0x6A, 0xAF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x24, 0x35, 0xC4, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x25, 0x4A, 0x91, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x26, 0x15, 0xA6, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x27, 0x2A, 0x73, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x27, 0xFE, 0xC3, 0x70, 0x00, +0x00, 0x00, 0x00, 0x29, 0x0A, 0x55, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x29, 0xDE, 0xA5, 0x70, 0x00, +0x00, 0x00, 0x00, 0x2A, 0xEA, 0x37, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xBE, 0x87, 0x70, 0x00, +0x00, 0x00, 0x00, 0x2C, 0xD3, 0x54, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x9E, 0x69, 0x70, 0x00, +0x00, 0x00, 0x00, 0x2E, 0xB3, 0x36, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x7E, 0x4B, 0x70, 0x00, +0x00, 0x00, 0x00, 0x30, 0x93, 0x18, 0x60, 0x00, 0x00, 0x00, 0x00, 0x31, 0x67, 0x67, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x32, 0x72, 0xFA, 0x60, 0x00, 0x00, 0x00, 0x00, 0x33, 0x47, 0x49, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x34, 0x52, 0xDC, 0x60, 0x00, 0x00, 0x00, 0x00, 0x35, 0x27, 0x2B, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x36, 0x32, 0xBE, 0x60, 0x00, 0x00, 0x00, 0x00, 0x37, 0x07, 0x0D, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x38, 0x1B, 0xDA, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x38, 0xE6, 0xFE, 0x00, 0x00, +0x00, 0x00, 0x00, 0x39, 0xFB, 0xCA, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xC6, 0xD1, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x3B, 0xDB, 0x9E, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xAF, 0xEE, 0x70, 0x00, +0x00, 0x00, 0x00, 0x3D, 0xBB, 0x80, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x8F, 0xD0, 0x70, 0x00, +0x00, 0x00, 0x00, 0x3F, 0x9B, 0x62, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x40, 0x6F, 0xB2, 0x70, 0x00, +0x00, 0x00, 0x00, 0x41, 0x84, 0x7F, 0x60, 0x00, 0x00, 0x00, 0x00, 0x42, 0x4F, 0x94, 0x70, 0x00, +0x00, 0x00, 0x00, 0x43, 0x64, 0x61, 0x60, 0x00, 0x00, 0x00, 0x00, 0x44, 0x2F, 0x76, 0x70, 0x00, +0x00, 0x00, 0x00, 0x45, 0x44, 0x43, 0x60, 0x00, 0x00, 0x00, 0x00, 0x45, 0xF3, 0xA8, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x47, 0x2D, 0x5F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x47, 0xD3, 0x8A, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x49, 0x0D, 0x41, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x49, 0xB3, 0x6C, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x4A, 0xED, 0x23, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x4B, 0x9C, 0x89, 0x70, 0x00, +0x00, 0x00, 0x00, 0x4C, 0xD6, 0x40, 0x60, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x7C, 0x6B, 0x70, 0x00, +0x00, 0x00, 0x00, 0x4E, 0xB6, 0x22, 0x60, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x5C, 0x4D, 0x70, 0x00, +0x00, 0x00, 0x00, 0x50, 0x96, 0x04, 0x60, 0x00, 0x00, 0x00, 0x00, 0x51, 0x3C, 0x2F, 0x70, 0x00, +0x00, 0x00, 0x00, 0x52, 0x75, 0xE6, 0x60, 0x00, 0x00, 0x00, 0x00, 0x53, 0x1C, 0x11, 0x70, 0x00, +0x00, 0x00, 0x00, 0x54, 0x55, 0xC8, 0x60, 0x00, 0x00, 0x00, 0x00, 0x54, 0xFB, 0xF3, 0x70, 0x00, +0x00, 0x00, 0x00, 0x56, 0x35, 0xAA, 0x60, 0x00, 0x00, 0x00, 0x00, 0x56, 0xE5, 0x0F, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x58, 0x1E, 0xC6, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x58, 0xC4, 0xF1, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x59, 0xFE, 0xA8, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xA4, 0xD3, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x5B, 0xDE, 0x8A, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x5C, 0x84, 0xB5, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x5D, 0xBE, 0x6C, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x64, 0x97, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x5F, 0x9E, 0x4E, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x60, 0x4D, 0xB4, 0x70, 0x00, +0x00, 0x00, 0x00, 0x61, 0x87, 0x6B, 0x60, 0x00, 0x00, 0x00, 0x00, 0x62, 0x2D, 0x96, 0x70, 0x00, +0x00, 0x00, 0x00, 0x63, 0x67, 0x4D, 0x60, 0x00, 0x00, 0x00, 0x00, 0x64, 0x0D, 0x78, 0x70, 0x00, +0x00, 0x00, 0x00, 0x65, 0x47, 0x2F, 0x60, 0x00, 0x00, 0x00, 0x00, 0x65, 0xED, 0x5A, 0x70, 0x00, +0x00, 0x00, 0x00, 0x67, 0x27, 0x11, 0x60, 0x00, 0x00, 0x00, 0x00, 0x67, 0xCD, 0x3C, 0x70, 0x00, +0x00, 0x00, 0x00, 0x69, 0x06, 0xF3, 0x60, 0x00, 0x00, 0x00, 0x00, 0x69, 0xAD, 0x1E, 0x70, 0x00, +0x00, 0x00, 0x00, 0x6A, 0xE6, 0xD5, 0x60, 0x00, 0x00, 0x00, 0x00, 0x6B, 0x96, 0x3A, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x6C, 0xCF, 0xF1, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x76, 0x1C, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x6E, 0xAF, 0xD3, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x55, 0xFE, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x70, 0x8F, 0xB5, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x71, 0x35, 0xE0, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x72, 0x6F, 0x97, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x73, 0x15, 0xC2, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x74, 0x4F, 0x79, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x74, 0xFE, 0xDF, 0x70, 0x00, +0x00, 0x00, 0x00, 0x76, 0x38, 0x96, 0x60, 0x00, 0x00, 0x00, 0x00, 0x76, 0xDE, 0xC1, 0x70, 0x00, +0x00, 0x00, 0x00, 0x78, 0x18, 0x78, 0x60, 0x00, 0x00, 0x00, 0x00, 0x78, 0xBE, 0xA3, 0x70, 0x00, +0x00, 0x00, 0x00, 0x79, 0xF8, 0x5A, 0x60, 0x00, 0x00, 0x00, 0x00, 0x7A, 0x9E, 0x85, 0x70, 0x00, +0x00, 0x00, 0x00, 0x7B, 0xD8, 0x3C, 0x60, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x7E, 0x67, 0x70, 0x00, +0x00, 0x00, 0x00, 0x7D, 0xB8, 0x1E, 0x60, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x5E, 0x49, 0x70, 0x00, +0x00, 0x00, 0x00, 0x7F, 0x98, 0x00, 0x60, 0x04, 0x01, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x05, 0x06, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, +0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x0C, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x10, 0xFF, 0xFF, 0xAB, 0xA0, +0x00, 0x14, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x18, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x0C, 0xFF, 0xFF, +0xB9, 0xB0, 0x00, 0x08, 0x2D, 0x30, 0x30, 0x00, 0x45, 0x50, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, +0x45, 0x44, 0x54, 0x00, 0x45, 0x57, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, +0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x0A, 0x45, 0x53, 0x54, 0x35, 0x45, 0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, +0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, 0x31, 0x2E, 0x30, 0x0A, 0x00, 0xEA, 0x94, 0x15, 0x00, 0xAA, +0x2F, 0xB5, 0x00, 0x00, 0x00, 0x19, 0x45, 0x61, 0x73, 0x74, 0x65, 0x72, 0x6E, 0x20, 0x2D, 0x20, +0x4E, 0x55, 0x20, 0x28, 0x6D, 0x6F, 0x73, 0x74, 0x20, 0x61, 0x72, 0x65, 0x61, 0x73, 0x29, /* America/Jamaica */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4A, 0x4D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -33964,11 +34212,10 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0A, 0x43, 0x53, 0x54, 0x36, 0x43, 0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, 0x31, 0x2E, 0x30, 0x0A, 0x00, 0xB0, 0xBF, 0x65, 0x00, 0x7D, -0xE2, 0x90, 0x00, 0x00, 0x00, 0x3E, 0x43, 0x65, 0x6E, 0x74, 0x72, 0x61, 0x6C, 0x20, 0x54, 0x69, -0x6D, 0x65, 0x20, 0x55, 0x53, 0x20, 0x2D, 0x20, 0x43, 0x6F, 0x61, 0x68, 0x75, 0x69, 0x6C, 0x61, -0x2C, 0x20, 0x4E, 0x75, 0x65, 0x76, 0x6F, 0x20, 0x4C, 0x65, 0x6F, 0x6E, 0x2C, 0x20, 0x54, 0x61, -0x6D, 0x61, 0x75, 0x6C, 0x69, 0x70, 0x61, 0x73, 0x20, 0x28, 0x55, 0x53, 0x20, 0x62, 0x6F, 0x72, -0x64, 0x65, 0x72, 0x29, +0xE2, 0x90, 0x00, 0x00, 0x00, 0x2C, 0x43, 0x6F, 0x61, 0x68, 0x75, 0x69, 0x6C, 0x61, 0x2C, 0x20, +0x4E, 0x75, 0x65, 0x76, 0x6F, 0x20, 0x4C, 0x65, 0x6F, 0x6E, 0x2C, 0x20, 0x54, 0x61, 0x6D, 0x61, +0x75, 0x6C, 0x69, 0x70, 0x61, 0x73, 0x20, 0x28, 0x55, 0x53, 0x20, 0x62, 0x6F, 0x72, 0x64, 0x65, +0x72, 0x29, /* America/Mazatlan */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4D, 0x58, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -34042,10 +34289,10 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { 0x4C, 0x4D, 0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x50, 0x53, 0x54, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x4D, 0x53, 0x54, 0x37, 0x0A, 0x00, 0xAC, 0xC1, 0x42, 0x00, 0x70, 0x47, 0x7D, -0x00, 0x00, 0x00, 0x35, 0x4D, 0x6F, 0x75, 0x6E, 0x74, 0x61, 0x69, 0x6E, 0x20, 0x54, 0x69, 0x6D, -0x65, 0x20, 0x2D, 0x20, 0x42, 0x61, 0x6A, 0x61, 0x20, 0x43, 0x61, 0x6C, 0x69, 0x66, 0x6F, 0x72, +0x00, 0x00, 0x00, 0x32, 0x42, 0x61, 0x6A, 0x61, 0x20, 0x43, 0x61, 0x6C, 0x69, 0x66, 0x6F, 0x72, 0x6E, 0x69, 0x61, 0x20, 0x53, 0x75, 0x72, 0x2C, 0x20, 0x4E, 0x61, 0x79, 0x61, 0x72, 0x69, 0x74, -0x2C, 0x20, 0x53, 0x69, 0x6E, 0x61, 0x6C, 0x6F, 0x61, +0x20, 0x28, 0x6D, 0x6F, 0x73, 0x74, 0x20, 0x61, 0x72, 0x65, 0x61, 0x73, 0x29, 0x2C, 0x20, 0x53, +0x69, 0x6E, 0x61, 0x6C, 0x6F, 0x61, /* America/Mendoza */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -34328,9 +34575,8 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x0C, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0A, 0x43, 0x53, 0x54, 0x36, 0x0A, 0x00, 0xA9, 0x52, 0x5A, -0x00, 0x89, 0xE9, 0xFD, 0x00, 0x00, 0x00, 0x20, 0x43, 0x65, 0x6E, 0x74, 0x72, 0x61, 0x6C, 0x20, -0x54, 0x69, 0x6D, 0x65, 0x20, 0x2D, 0x20, 0x43, 0x61, 0x6D, 0x70, 0x65, 0x63, 0x68, 0x65, 0x2C, -0x20, 0x59, 0x75, 0x63, 0x61, 0x74, 0x61, 0x6E, +0x00, 0x89, 0xE9, 0xFD, 0x00, 0x00, 0x00, 0x11, 0x43, 0x61, 0x6D, 0x70, 0x65, 0x63, 0x68, 0x65, +0x2C, 0x20, 0x59, 0x75, 0x63, 0x61, 0x74, 0x61, 0x6E, /* America/Metlakatla */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x55, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -34504,7 +34750,8 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { 0x43, 0x53, 0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x43, 0x57, 0x54, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x43, 0x53, 0x54, 0x36, 0x0A, 0x00, 0xA6, 0xEE, 0x60, 0x00, 0x7B, 0x5E, 0x07, 0x00, 0x00, -0x00, 0x0C, 0x43, 0x65, 0x6E, 0x74, 0x72, 0x61, 0x6C, 0x20, 0x54, 0x69, 0x6D, 0x65, +0x00, 0x0E, 0x43, 0x65, 0x6E, 0x74, 0x72, 0x61, 0x6C, 0x20, 0x4D, 0x65, 0x78, 0x69, 0x63, 0x6F, + /* America/Miquelon */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x50, 0x4D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -34877,12 +35124,11 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { 0x02, 0x03, 0xFF, 0xFF, 0xA1, 0xF4, 0x00, 0x00, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x08, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0A, 0x43, -0x53, 0x54, 0x36, 0x0A, 0x00, 0xB0, 0x7E, 0x4A, 0x00, 0x79, 0x96, 0x4D, 0x00, 0x00, 0x00, 0x45, -0x43, 0x65, 0x6E, 0x74, 0x72, 0x61, 0x6C, 0x20, 0x54, 0x69, 0x6D, 0x65, 0x20, 0x2D, 0x20, 0x44, -0x75, 0x72, 0x61, 0x6E, 0x67, 0x6F, 0x3B, 0x20, 0x43, 0x6F, 0x61, 0x68, 0x75, 0x69, 0x6C, 0x61, -0x2C, 0x20, 0x4E, 0x75, 0x65, 0x76, 0x6F, 0x20, 0x4C, 0x65, 0x6F, 0x6E, 0x2C, 0x20, 0x54, 0x61, -0x6D, 0x61, 0x75, 0x6C, 0x69, 0x70, 0x61, 0x73, 0x20, 0x28, 0x6D, 0x6F, 0x73, 0x74, 0x20, 0x61, -0x72, 0x65, 0x61, 0x73, 0x29, +0x53, 0x54, 0x36, 0x0A, 0x00, 0xB0, 0x7E, 0x4A, 0x00, 0x79, 0x96, 0x4D, 0x00, 0x00, 0x00, 0x36, +0x44, 0x75, 0x72, 0x61, 0x6E, 0x67, 0x6F, 0x3B, 0x20, 0x43, 0x6F, 0x61, 0x68, 0x75, 0x69, 0x6C, +0x61, 0x2C, 0x20, 0x4E, 0x75, 0x65, 0x76, 0x6F, 0x20, 0x4C, 0x65, 0x6F, 0x6E, 0x2C, 0x20, 0x54, +0x61, 0x6D, 0x61, 0x75, 0x6C, 0x69, 0x70, 0x61, 0x73, 0x20, 0x28, 0x6D, 0x6F, 0x73, 0x74, 0x20, +0x61, 0x72, 0x65, 0x61, 0x73, 0x29, /* America/Montevideo */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x55, 0x59, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -36483,8 +36729,8 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { /* America/Nuuk */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x47, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x0C, 0x9B, 0x80, 0x68, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0C, 0x9B, 0x80, 0x68, 0x00, 0x13, 0x4D, 0x7C, 0x50, 0x14, 0x33, 0xFA, 0x90, 0x15, 0x23, 0xEB, 0x90, 0x16, 0x13, 0xDC, 0x90, 0x17, 0x03, 0xCD, 0x90, 0x17, 0xF3, 0xBE, 0x90, 0x18, 0xE3, 0xAF, 0x90, 0x19, 0xD3, 0xA0, 0x90, 0x1A, 0xC3, 0x91, 0x90, 0x1B, 0xBC, 0xBD, 0x10, 0x1C, 0xAC, 0xAE, 0x10, 0x1D, 0x9C, 0x9F, 0x10, @@ -36506,106 +36752,80 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { 0x56, 0xF7, 0x30, 0x90, 0x58, 0x15, 0x46, 0x10, 0x58, 0xD7, 0x12, 0x90, 0x59, 0xF5, 0x28, 0x10, 0x5A, 0xB6, 0xF4, 0x90, 0x5B, 0xD5, 0x0A, 0x10, 0x5C, 0xA0, 0x11, 0x10, 0x5D, 0xB4, 0xEC, 0x10, 0x5E, 0x7F, 0xF3, 0x10, 0x5F, 0x94, 0xCE, 0x10, 0x60, 0x5F, 0xD5, 0x10, 0x61, 0x7D, 0xEA, 0x90, -0x62, 0x3F, 0xB7, 0x10, 0x63, 0x5D, 0xCC, 0x90, 0x64, 0x1F, 0x99, 0x10, 0x65, 0x3D, 0xAE, 0x90, -0x66, 0x08, 0xB5, 0x90, 0x67, 0x1D, 0x90, 0x90, 0x67, 0xE8, 0x97, 0x90, 0x68, 0xFD, 0x72, 0x90, -0x69, 0xC8, 0x79, 0x90, 0x6A, 0xDD, 0x54, 0x90, 0x6B, 0xA8, 0x5B, 0x90, 0x6C, 0xC6, 0x71, 0x10, -0x6D, 0x88, 0x3D, 0x90, 0x6E, 0xA6, 0x53, 0x10, 0x6F, 0x68, 0x1F, 0x90, 0x70, 0x86, 0x35, 0x10, -0x71, 0x51, 0x3C, 0x10, 0x72, 0x66, 0x17, 0x10, 0x73, 0x31, 0x1E, 0x10, 0x74, 0x45, 0xF9, 0x10, -0x75, 0x11, 0x00, 0x10, 0x76, 0x2F, 0x15, 0x90, 0x76, 0xF0, 0xE2, 0x10, 0x78, 0x0E, 0xF7, 0x90, -0x78, 0xD0, 0xC4, 0x10, 0x79, 0xEE, 0xD9, 0x90, 0x7A, 0xB0, 0xA6, 0x10, 0x7B, 0xCE, 0xBB, 0x90, -0x7C, 0x99, 0xC2, 0x90, 0x7D, 0xAE, 0x9D, 0x90, 0x7E, 0x79, 0xA4, 0x90, 0x7F, 0x8E, 0x7F, 0x90, -0x01, 0x04, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x62, 0x3F, 0xB7, 0x10, 0x63, 0x5D, 0xCC, 0x90, 0x64, 0x1F, 0x99, 0x10, 0x01, 0x04, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x05, 0xFF, 0xFF, 0xCF, 0x80, 0x00, 0x00, 0xFF, 0xFF, 0xD5, 0xD0, 0x00, 0x04, +0xFF, 0xFF, 0xD5, 0xD0, 0x00, 0x04, 0xFF, 0xFF, 0xE3, 0xE0, 0x01, 0x08, 0xFF, 0xFF, 0xE3, 0xE0, +0x01, 0x08, 0xFF, 0xFF, 0xE3, 0xE0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x33, 0x00, +0x2D, 0x30, 0x32, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, +0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0C, 0xFF, 0xFF, 0xFF, 0xFF, +0x9B, 0x80, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x4D, 0x7C, 0x50, 0x00, 0x00, 0x00, 0x00, +0x14, 0x33, 0xFA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x15, 0x23, 0xEB, 0x90, 0x00, 0x00, 0x00, 0x00, +0x16, 0x13, 0xDC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x17, 0x03, 0xCD, 0x90, 0x00, 0x00, 0x00, 0x00, +0x17, 0xF3, 0xBE, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, 0xE3, 0xAF, 0x90, 0x00, 0x00, 0x00, 0x00, +0x19, 0xD3, 0xA0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xC3, 0x91, 0x90, 0x00, 0x00, 0x00, 0x00, +0x1B, 0xBC, 0xBD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xAC, 0xAE, 0x10, 0x00, 0x00, 0x00, 0x00, +0x1D, 0x9C, 0x9F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x8C, 0x90, 0x10, 0x00, 0x00, 0x00, 0x00, +0x1F, 0x7C, 0x81, 0x10, 0x00, 0x00, 0x00, 0x00, 0x20, 0x6C, 0x72, 0x10, 0x00, 0x00, 0x00, 0x00, +0x21, 0x5C, 0x63, 0x10, 0x00, 0x00, 0x00, 0x00, 0x22, 0x4C, 0x54, 0x10, 0x00, 0x00, 0x00, 0x00, +0x23, 0x3C, 0x45, 0x10, 0x00, 0x00, 0x00, 0x00, 0x24, 0x2C, 0x36, 0x10, 0x00, 0x00, 0x00, 0x00, +0x25, 0x1C, 0x27, 0x10, 0x00, 0x00, 0x00, 0x00, 0x26, 0x0C, 0x18, 0x10, 0x00, 0x00, 0x00, 0x00, +0x27, 0x05, 0x43, 0x90, 0x00, 0x00, 0x00, 0x00, 0x27, 0xF5, 0x34, 0x90, 0x00, 0x00, 0x00, 0x00, +0x28, 0xE5, 0x25, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, 0xD5, 0x16, 0x90, 0x00, 0x00, 0x00, 0x00, +0x2A, 0xC5, 0x07, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xB4, 0xF8, 0x90, 0x00, 0x00, 0x00, 0x00, +0x2C, 0xA4, 0xE9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x94, 0xDA, 0x90, 0x00, 0x00, 0x00, 0x00, +0x2E, 0x84, 0xCB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x74, 0xBC, 0x90, 0x00, 0x00, 0x00, 0x00, +0x30, 0x64, 0xAD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0xD9, 0x10, 0x00, 0x00, 0x00, 0x00, +0x32, 0x72, 0xB4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x33, 0x3D, 0xBB, 0x10, 0x00, 0x00, 0x00, 0x00, +0x34, 0x52, 0x96, 0x10, 0x00, 0x00, 0x00, 0x00, 0x35, 0x1D, 0x9D, 0x10, 0x00, 0x00, 0x00, 0x00, +0x36, 0x32, 0x78, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0xFD, 0x7F, 0x10, 0x00, 0x00, 0x00, 0x00, +0x38, 0x1B, 0x94, 0x90, 0x00, 0x00, 0x00, 0x00, 0x38, 0xDD, 0x61, 0x10, 0x00, 0x00, 0x00, 0x00, +0x39, 0xFB, 0x76, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xBD, 0x43, 0x10, 0x00, 0x00, 0x00, 0x00, +0x3B, 0xDB, 0x58, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xA6, 0x5F, 0x90, 0x00, 0x00, 0x00, 0x00, +0x3D, 0xBB, 0x3A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x86, 0x41, 0x90, 0x00, 0x00, 0x00, 0x00, +0x3F, 0x9B, 0x1C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x40, 0x66, 0x23, 0x90, 0x00, 0x00, 0x00, 0x00, +0x41, 0x84, 0x39, 0x10, 0x00, 0x00, 0x00, 0x00, 0x42, 0x46, 0x05, 0x90, 0x00, 0x00, 0x00, 0x00, +0x43, 0x64, 0x1B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x44, 0x25, 0xE7, 0x90, 0x00, 0x00, 0x00, 0x00, +0x45, 0x43, 0xFD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x46, 0x05, 0xC9, 0x90, 0x00, 0x00, 0x00, 0x00, +0x47, 0x23, 0xDF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x47, 0xEE, 0xE6, 0x10, 0x00, 0x00, 0x00, 0x00, +0x49, 0x03, 0xC1, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, 0xCE, 0xC8, 0x10, 0x00, 0x00, 0x00, 0x00, +0x4A, 0xE3, 0xA3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4B, 0xAE, 0xAA, 0x10, 0x00, 0x00, 0x00, 0x00, +0x4C, 0xCC, 0xBF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x8E, 0x8C, 0x10, 0x00, 0x00, 0x00, 0x00, +0x4E, 0xAC, 0xA1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x6E, 0x6E, 0x10, 0x00, 0x00, 0x00, 0x00, +0x50, 0x8C, 0x83, 0x90, 0x00, 0x00, 0x00, 0x00, 0x51, 0x57, 0x8A, 0x90, 0x00, 0x00, 0x00, 0x00, +0x52, 0x6C, 0x65, 0x90, 0x00, 0x00, 0x00, 0x00, 0x53, 0x37, 0x6C, 0x90, 0x00, 0x00, 0x00, 0x00, +0x54, 0x4C, 0x47, 0x90, 0x00, 0x00, 0x00, 0x00, 0x55, 0x17, 0x4E, 0x90, 0x00, 0x00, 0x00, 0x00, +0x56, 0x2C, 0x29, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, 0xF7, 0x30, 0x90, 0x00, 0x00, 0x00, 0x00, +0x58, 0x15, 0x46, 0x10, 0x00, 0x00, 0x00, 0x00, 0x58, 0xD7, 0x12, 0x90, 0x00, 0x00, 0x00, 0x00, +0x59, 0xF5, 0x28, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xB6, 0xF4, 0x90, 0x00, 0x00, 0x00, 0x00, +0x5B, 0xD5, 0x0A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5C, 0xA0, 0x11, 0x10, 0x00, 0x00, 0x00, 0x00, +0x5D, 0xB4, 0xEC, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x7F, 0xF3, 0x10, 0x00, 0x00, 0x00, 0x00, +0x5F, 0x94, 0xCE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x60, 0x5F, 0xD5, 0x10, 0x00, 0x00, 0x00, 0x00, +0x61, 0x7D, 0xEA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x62, 0x3F, 0xB7, 0x10, 0x00, 0x00, 0x00, 0x00, +0x63, 0x5D, 0xCC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x64, 0x1F, 0x99, 0x10, 0x01, 0x04, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0xFF, 0xFF, 0xCF, 0x80, 0x00, 0x00, 0xFF, 0xFF, 0xD5, 0xD0, 0x00, -0x04, 0xFF, 0xFF, 0xD5, 0xD0, 0x00, 0x04, 0xFF, 0xFF, 0xE3, 0xE0, 0x01, 0x08, 0xFF, 0xFF, 0xE3, -0xE0, 0x01, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x33, 0x00, 0x2D, 0x30, 0x32, 0x00, 0x00, -0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x33, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, -0x05, 0x00, 0x00, 0x00, 0x0C, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x80, 0x68, 0x00, 0x00, 0x00, 0x00, -0x00, 0x13, 0x4D, 0x7C, 0x50, 0x00, 0x00, 0x00, 0x00, 0x14, 0x33, 0xFA, 0x90, 0x00, 0x00, 0x00, -0x00, 0x15, 0x23, 0xEB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x16, 0x13, 0xDC, 0x90, 0x00, 0x00, 0x00, -0x00, 0x17, 0x03, 0xCD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x17, 0xF3, 0xBE, 0x90, 0x00, 0x00, 0x00, -0x00, 0x18, 0xE3, 0xAF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x19, 0xD3, 0xA0, 0x90, 0x00, 0x00, 0x00, -0x00, 0x1A, 0xC3, 0x91, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xBC, 0xBD, 0x10, 0x00, 0x00, 0x00, -0x00, 0x1C, 0xAC, 0xAE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1D, 0x9C, 0x9F, 0x10, 0x00, 0x00, 0x00, -0x00, 0x1E, 0x8C, 0x90, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x7C, 0x81, 0x10, 0x00, 0x00, 0x00, -0x00, 0x20, 0x6C, 0x72, 0x10, 0x00, 0x00, 0x00, 0x00, 0x21, 0x5C, 0x63, 0x10, 0x00, 0x00, 0x00, -0x00, 0x22, 0x4C, 0x54, 0x10, 0x00, 0x00, 0x00, 0x00, 0x23, 0x3C, 0x45, 0x10, 0x00, 0x00, 0x00, -0x00, 0x24, 0x2C, 0x36, 0x10, 0x00, 0x00, 0x00, 0x00, 0x25, 0x1C, 0x27, 0x10, 0x00, 0x00, 0x00, -0x00, 0x26, 0x0C, 0x18, 0x10, 0x00, 0x00, 0x00, 0x00, 0x27, 0x05, 0x43, 0x90, 0x00, 0x00, 0x00, -0x00, 0x27, 0xF5, 0x34, 0x90, 0x00, 0x00, 0x00, 0x00, 0x28, 0xE5, 0x25, 0x90, 0x00, 0x00, 0x00, -0x00, 0x29, 0xD5, 0x16, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xC5, 0x07, 0x90, 0x00, 0x00, 0x00, -0x00, 0x2B, 0xB4, 0xF8, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xA4, 0xE9, 0x90, 0x00, 0x00, 0x00, -0x00, 0x2D, 0x94, 0xDA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x84, 0xCB, 0x90, 0x00, 0x00, 0x00, -0x00, 0x2F, 0x74, 0xBC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x30, 0x64, 0xAD, 0x90, 0x00, 0x00, 0x00, -0x00, 0x31, 0x5D, 0xD9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x32, 0x72, 0xB4, 0x10, 0x00, 0x00, 0x00, -0x00, 0x33, 0x3D, 0xBB, 0x10, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0x96, 0x10, 0x00, 0x00, 0x00, -0x00, 0x35, 0x1D, 0x9D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0x78, 0x10, 0x00, 0x00, 0x00, -0x00, 0x36, 0xFD, 0x7F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0x94, 0x90, 0x00, 0x00, 0x00, -0x00, 0x38, 0xDD, 0x61, 0x10, 0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0x76, 0x90, 0x00, 0x00, 0x00, -0x00, 0x3A, 0xBD, 0x43, 0x10, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0x58, 0x90, 0x00, 0x00, 0x00, -0x00, 0x3C, 0xA6, 0x5F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x3A, 0x90, 0x00, 0x00, 0x00, -0x00, 0x3E, 0x86, 0x41, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x1C, 0x90, 0x00, 0x00, 0x00, -0x00, 0x40, 0x66, 0x23, 0x90, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x39, 0x10, 0x00, 0x00, 0x00, -0x00, 0x42, 0x46, 0x05, 0x90, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x1B, 0x10, 0x00, 0x00, 0x00, -0x00, 0x44, 0x25, 0xE7, 0x90, 0x00, 0x00, 0x00, 0x00, 0x45, 0x43, 0xFD, 0x10, 0x00, 0x00, 0x00, -0x00, 0x46, 0x05, 0xC9, 0x90, 0x00, 0x00, 0x00, 0x00, 0x47, 0x23, 0xDF, 0x10, 0x00, 0x00, 0x00, -0x00, 0x47, 0xEE, 0xE6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, 0x03, 0xC1, 0x10, 0x00, 0x00, 0x00, -0x00, 0x49, 0xCE, 0xC8, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xE3, 0xA3, 0x10, 0x00, 0x00, 0x00, -0x00, 0x4B, 0xAE, 0xAA, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4C, 0xCC, 0xBF, 0x90, 0x00, 0x00, 0x00, -0x00, 0x4D, 0x8E, 0x8C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4E, 0xAC, 0xA1, 0x90, 0x00, 0x00, 0x00, -0x00, 0x4F, 0x6E, 0x6E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x50, 0x8C, 0x83, 0x90, 0x00, 0x00, 0x00, -0x00, 0x51, 0x57, 0x8A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x52, 0x6C, 0x65, 0x90, 0x00, 0x00, 0x00, -0x00, 0x53, 0x37, 0x6C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x54, 0x4C, 0x47, 0x90, 0x00, 0x00, 0x00, -0x00, 0x55, 0x17, 0x4E, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, 0x2C, 0x29, 0x90, 0x00, 0x00, 0x00, -0x00, 0x56, 0xF7, 0x30, 0x90, 0x00, 0x00, 0x00, 0x00, 0x58, 0x15, 0x46, 0x10, 0x00, 0x00, 0x00, -0x00, 0x58, 0xD7, 0x12, 0x90, 0x00, 0x00, 0x00, 0x00, 0x59, 0xF5, 0x28, 0x10, 0x00, 0x00, 0x00, -0x00, 0x5A, 0xB6, 0xF4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x5B, 0xD5, 0x0A, 0x10, 0x00, 0x00, 0x00, -0x00, 0x5C, 0xA0, 0x11, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5D, 0xB4, 0xEC, 0x10, 0x00, 0x00, 0x00, -0x00, 0x5E, 0x7F, 0xF3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x94, 0xCE, 0x10, 0x00, 0x00, 0x00, -0x00, 0x60, 0x5F, 0xD5, 0x10, 0x00, 0x00, 0x00, 0x00, 0x61, 0x7D, 0xEA, 0x90, 0x00, 0x00, 0x00, -0x00, 0x62, 0x3F, 0xB7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x63, 0x5D, 0xCC, 0x90, 0x00, 0x00, 0x00, -0x00, 0x64, 0x1F, 0x99, 0x10, 0x00, 0x00, 0x00, 0x00, 0x65, 0x3D, 0xAE, 0x90, 0x00, 0x00, 0x00, -0x00, 0x66, 0x08, 0xB5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, 0x1D, 0x90, 0x90, 0x00, 0x00, 0x00, -0x00, 0x67, 0xE8, 0x97, 0x90, 0x00, 0x00, 0x00, 0x00, 0x68, 0xFD, 0x72, 0x90, 0x00, 0x00, 0x00, -0x00, 0x69, 0xC8, 0x79, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xDD, 0x54, 0x90, 0x00, 0x00, 0x00, -0x00, 0x6B, 0xA8, 0x5B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xC6, 0x71, 0x10, 0x00, 0x00, 0x00, -0x00, 0x6D, 0x88, 0x3D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6E, 0xA6, 0x53, 0x10, 0x00, 0x00, 0x00, -0x00, 0x6F, 0x68, 0x1F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x70, 0x86, 0x35, 0x10, 0x00, 0x00, 0x00, -0x00, 0x71, 0x51, 0x3C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x72, 0x66, 0x17, 0x10, 0x00, 0x00, 0x00, -0x00, 0x73, 0x31, 0x1E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x74, 0x45, 0xF9, 0x10, 0x00, 0x00, 0x00, -0x00, 0x75, 0x11, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x76, 0x2F, 0x15, 0x90, 0x00, 0x00, 0x00, -0x00, 0x76, 0xF0, 0xE2, 0x10, 0x00, 0x00, 0x00, 0x00, 0x78, 0x0E, 0xF7, 0x90, 0x00, 0x00, 0x00, -0x00, 0x78, 0xD0, 0xC4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x79, 0xEE, 0xD9, 0x90, 0x00, 0x00, 0x00, -0x00, 0x7A, 0xB0, 0xA6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x7B, 0xCE, 0xBB, 0x90, 0x00, 0x00, 0x00, -0x00, 0x7C, 0x99, 0xC2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7D, 0xAE, 0x9D, 0x90, 0x00, 0x00, 0x00, -0x00, 0x7E, 0x79, 0xA4, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x8E, 0x7F, 0x90, 0x01, 0x04, 0x02, -0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, -0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, -0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, -0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, -0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, -0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, -0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, -0x03, 0x02, 0xFF, 0xFF, 0xCF, 0x80, 0x00, 0x00, 0xFF, 0xFF, 0xD5, 0xD0, 0x00, 0x04, 0xFF, 0xFF, -0xD5, 0xD0, 0x00, 0x04, 0xFF, 0xFF, 0xE3, 0xE0, 0x01, 0x08, 0xFF, 0xFF, 0xE3, 0xE0, 0x01, 0x08, -0x4C, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x33, 0x00, 0x2D, 0x30, 0x32, 0x00, 0x00, 0x00, 0x01, 0x01, -0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x0A, 0x3C, 0x2D, 0x30, 0x33, 0x3E, 0x33, 0x3C, 0x2D, 0x30, -0x32, 0x3E, 0x2C, 0x4D, 0x33, 0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x2D, 0x32, 0x2C, 0x4D, 0x31, 0x30, -0x2E, 0x35, 0x2E, 0x30, 0x2F, 0x2D, 0x31, 0x0A, 0x00, 0xEB, 0x43, 0xDD, 0x00, 0xC3, 0xB8, 0x2A, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x05, 0xFF, 0xFF, 0xCF, 0x80, 0x00, 0x00, 0xFF, 0xFF, 0xD5, 0xD0, 0x00, 0x04, +0xFF, 0xFF, 0xD5, 0xD0, 0x00, 0x04, 0xFF, 0xFF, 0xE3, 0xE0, 0x01, 0x08, 0xFF, 0xFF, 0xE3, 0xE0, +0x01, 0x08, 0xFF, 0xFF, 0xE3, 0xE0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x2D, 0x30, 0x33, 0x00, +0x2D, 0x30, 0x32, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, +0x0A, 0x3C, 0x2D, 0x30, 0x32, 0x3E, 0x32, 0x0A, 0x00, 0xEB, 0x43, 0xDD, 0x00, 0xC3, 0xB8, 0x2A, 0x00, 0x00, 0x00, 0x16, 0x47, 0x72, 0x65, 0x65, 0x6E, 0x6C, 0x61, 0x6E, 0x64, 0x20, 0x28, 0x6D, 0x6F, 0x73, 0x74, 0x20, 0x61, 0x72, 0x65, 0x61, 0x73, 0x29, /* America/Ojinaga */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4D, 0x58, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x14, 0xA5, 0xB6, 0xE8, 0x70, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x14, 0xA5, 0xB6, 0xE8, 0x70, 0xAF, 0xF2, 0x6E, 0xE0, 0xB6, 0x66, 0x56, 0x60, 0xB7, 0x43, 0xD2, 0x60, 0xB8, 0x0C, 0x36, 0x60, 0xB8, 0xFD, 0x86, 0xF0, 0x31, 0x67, 0x76, 0x00, 0x32, 0x73, 0x08, 0x70, 0x33, 0x47, 0x58, 0x00, 0x34, 0x52, 0xEA, 0x70, 0x35, 0x27, 0x48, 0x10, 0x36, 0x32, 0xDA, 0x80, 0x37, 0x07, 0x2A, 0x10, @@ -36620,62 +36840,87 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { 0x56, 0x35, 0xC6, 0x80, 0x56, 0xE5, 0x2C, 0x10, 0x58, 0x1E, 0xE3, 0x00, 0x58, 0xC5, 0x0E, 0x10, 0x59, 0xFE, 0xC5, 0x00, 0x5A, 0xA4, 0xF0, 0x10, 0x5B, 0xDE, 0xA7, 0x00, 0x5C, 0x84, 0xD2, 0x10, 0x5D, 0xBE, 0x89, 0x00, 0x5E, 0x64, 0xB4, 0x10, 0x5F, 0x9E, 0x6B, 0x00, 0x60, 0x4D, 0xD0, 0x90, -0x61, 0x87, 0x87, 0x80, 0x62, 0x2D, 0xB2, 0x90, 0x63, 0x5E, 0x2F, 0x00, 0x01, 0x02, 0x04, 0x03, -0x04, 0x02, 0x05, 0x02, 0x05, 0x02, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, +0x61, 0x87, 0x87, 0x80, 0x62, 0x2D, 0xB2, 0x90, 0x63, 0x5E, 0x2F, 0x00, 0x64, 0x0D, 0x86, 0x80, +0x65, 0x47, 0x3D, 0x70, 0x65, 0xED, 0x68, 0x80, 0x67, 0x27, 0x1F, 0x70, 0x67, 0xCD, 0x4A, 0x80, +0x69, 0x07, 0x01, 0x70, 0x69, 0xAD, 0x2C, 0x80, 0x6A, 0xE6, 0xE3, 0x70, 0x6B, 0x96, 0x49, 0x00, +0x6C, 0xCF, 0xFF, 0xF0, 0x6D, 0x76, 0x2B, 0x00, 0x6E, 0xAF, 0xE1, 0xF0, 0x6F, 0x56, 0x0D, 0x00, +0x70, 0x8F, 0xC3, 0xF0, 0x71, 0x35, 0xEF, 0x00, 0x72, 0x6F, 0xA5, 0xF0, 0x73, 0x15, 0xD1, 0x00, +0x74, 0x4F, 0x87, 0xF0, 0x74, 0xFE, 0xED, 0x80, 0x76, 0x38, 0xA4, 0x70, 0x76, 0xDE, 0xCF, 0x80, +0x78, 0x18, 0x86, 0x70, 0x78, 0xBE, 0xB1, 0x80, 0x79, 0xF8, 0x68, 0x70, 0x7A, 0x9E, 0x93, 0x80, +0x7B, 0xD8, 0x4A, 0x70, 0x7C, 0x7E, 0x75, 0x80, 0x7D, 0xB8, 0x2C, 0x70, 0x7E, 0x5E, 0x57, 0x80, +0x7F, 0x98, 0x0E, 0x70, 0x01, 0x02, 0x04, 0x03, 0x04, 0x02, 0x05, 0x02, 0x05, 0x02, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, -0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x02, 0xFF, 0xFF, 0x9E, 0x1C, 0x00, 0x00, 0xFF, 0xFF, -0x9D, 0x90, 0x00, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x08, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x0C, -0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x10, 0xFF, 0xFF, 0xAB, 0xA0, -0x01, 0x0C, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x02, +0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, +0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0xFF, 0xFF, +0x9E, 0x1C, 0x00, 0x00, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x08, +0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x0C, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, +0x01, 0x10, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x00, 0x01, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, -0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, -0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, 0xB6, 0xE8, 0x70, -0xFF, 0xFF, 0xFF, 0xFF, 0xAF, 0xF2, 0x6E, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x66, 0x56, 0x60, -0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0x43, 0xD2, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0x0C, 0x36, 0x60, -0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0xFD, 0x86, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x31, 0x67, 0x76, 0x00, -0x00, 0x00, 0x00, 0x00, 0x32, 0x73, 0x08, 0x70, 0x00, 0x00, 0x00, 0x00, 0x33, 0x47, 0x58, 0x00, -0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0xEA, 0x70, 0x00, 0x00, 0x00, 0x00, 0x35, 0x27, 0x48, 0x10, -0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0xDA, 0x80, 0x00, 0x00, 0x00, 0x00, 0x37, 0x07, 0x2A, 0x10, -0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0xF7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0xE7, 0x0C, 0x10, -0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0xD9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xF5, 0x12, 0x90, -0x00, 0x00, 0x00, 0x00, 0x3B, 0xB6, 0xD1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xB0, 0x0A, 0x90, -0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x9D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x8F, 0xEC, 0x90, -0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x6F, 0xCE, 0x90, -0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x9B, 0x80, 0x00, 0x00, 0x00, 0x00, 0x42, 0x4F, 0xB0, 0x90, -0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x7D, 0x80, 0x00, 0x00, 0x00, 0x00, 0x44, 0x2F, 0x92, 0x90, -0x00, 0x00, 0x00, 0x00, 0x45, 0x44, 0x5F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x46, 0x0F, 0x74, 0x90, -0x00, 0x00, 0x00, 0x00, 0x47, 0x24, 0x41, 0x80, 0x00, 0x00, 0x00, 0x00, 0x47, 0xF8, 0x91, 0x10, -0x00, 0x00, 0x00, 0x00, 0x49, 0x04, 0x23, 0x80, 0x00, 0x00, 0x00, 0x00, 0x49, 0xD8, 0x73, 0x10, -0x00, 0x00, 0x00, 0x00, 0x4A, 0xE4, 0x05, 0x80, 0x00, 0x00, 0x00, 0x00, 0x4B, 0x9C, 0xA5, 0x90, -0x00, 0x00, 0x00, 0x00, 0x4C, 0xD6, 0x5C, 0x80, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x7C, 0x87, 0x90, -0x00, 0x00, 0x00, 0x00, 0x4E, 0xB6, 0x3E, 0x80, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x5C, 0x69, 0x90, -0x00, 0x00, 0x00, 0x00, 0x50, 0x96, 0x20, 0x80, 0x00, 0x00, 0x00, 0x00, 0x51, 0x3C, 0x4B, 0x90, -0x00, 0x00, 0x00, 0x00, 0x52, 0x76, 0x02, 0x80, 0x00, 0x00, 0x00, 0x00, 0x53, 0x1C, 0x2D, 0x90, -0x00, 0x00, 0x00, 0x00, 0x54, 0x55, 0xE4, 0x80, 0x00, 0x00, 0x00, 0x00, 0x54, 0xFC, 0x0F, 0x90, -0x00, 0x00, 0x00, 0x00, 0x56, 0x35, 0xC6, 0x80, 0x00, 0x00, 0x00, 0x00, 0x56, 0xE5, 0x2C, 0x10, -0x00, 0x00, 0x00, 0x00, 0x58, 0x1E, 0xE3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 0xC5, 0x0E, 0x10, -0x00, 0x00, 0x00, 0x00, 0x59, 0xFE, 0xC5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xA4, 0xF0, 0x10, -0x00, 0x00, 0x00, 0x00, 0x5B, 0xDE, 0xA7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5C, 0x84, 0xD2, 0x10, -0x00, 0x00, 0x00, 0x00, 0x5D, 0xBE, 0x89, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x64, 0xB4, 0x10, -0x00, 0x00, 0x00, 0x00, 0x5F, 0x9E, 0x6B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x4D, 0xD0, 0x90, -0x00, 0x00, 0x00, 0x00, 0x61, 0x87, 0x87, 0x80, 0x00, 0x00, 0x00, 0x00, 0x62, 0x2D, 0xB2, 0x90, -0x00, 0x00, 0x00, 0x00, 0x63, 0x5E, 0x2F, 0x00, 0x01, 0x02, 0x04, 0x03, 0x04, 0x02, 0x05, 0x02, -0x05, 0x02, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, +0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, +0x00, 0x07, 0x00, 0x00, 0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, 0xA5, 0xB6, 0xE8, 0x70, 0xFF, 0xFF, +0xFF, 0xFF, 0xAF, 0xF2, 0x6E, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xB6, 0x66, 0x56, 0x60, 0xFF, 0xFF, +0xFF, 0xFF, 0xB7, 0x43, 0xD2, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xB8, 0x0C, 0x36, 0x60, 0xFF, 0xFF, +0xFF, 0xFF, 0xB8, 0xFD, 0x86, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x31, 0x67, 0x76, 0x00, 0x00, 0x00, +0x00, 0x00, 0x32, 0x73, 0x08, 0x70, 0x00, 0x00, 0x00, 0x00, 0x33, 0x47, 0x58, 0x00, 0x00, 0x00, +0x00, 0x00, 0x34, 0x52, 0xEA, 0x70, 0x00, 0x00, 0x00, 0x00, 0x35, 0x27, 0x48, 0x10, 0x00, 0x00, +0x00, 0x00, 0x36, 0x32, 0xDA, 0x80, 0x00, 0x00, 0x00, 0x00, 0x37, 0x07, 0x2A, 0x10, 0x00, 0x00, +0x00, 0x00, 0x38, 0x1B, 0xF7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0xE7, 0x0C, 0x10, 0x00, 0x00, +0x00, 0x00, 0x39, 0xFB, 0xD9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xF5, 0x12, 0x90, 0x00, 0x00, +0x00, 0x00, 0x3B, 0xB6, 0xD1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xB0, 0x0A, 0x90, 0x00, 0x00, +0x00, 0x00, 0x3D, 0xBB, 0x9D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x8F, 0xEC, 0x90, 0x00, 0x00, +0x00, 0x00, 0x3F, 0x9B, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x6F, 0xCE, 0x90, 0x00, 0x00, +0x00, 0x00, 0x41, 0x84, 0x9B, 0x80, 0x00, 0x00, 0x00, 0x00, 0x42, 0x4F, 0xB0, 0x90, 0x00, 0x00, +0x00, 0x00, 0x43, 0x64, 0x7D, 0x80, 0x00, 0x00, 0x00, 0x00, 0x44, 0x2F, 0x92, 0x90, 0x00, 0x00, +0x00, 0x00, 0x45, 0x44, 0x5F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x46, 0x0F, 0x74, 0x90, 0x00, 0x00, +0x00, 0x00, 0x47, 0x24, 0x41, 0x80, 0x00, 0x00, 0x00, 0x00, 0x47, 0xF8, 0x91, 0x10, 0x00, 0x00, +0x00, 0x00, 0x49, 0x04, 0x23, 0x80, 0x00, 0x00, 0x00, 0x00, 0x49, 0xD8, 0x73, 0x10, 0x00, 0x00, +0x00, 0x00, 0x4A, 0xE4, 0x05, 0x80, 0x00, 0x00, 0x00, 0x00, 0x4B, 0x9C, 0xA5, 0x90, 0x00, 0x00, +0x00, 0x00, 0x4C, 0xD6, 0x5C, 0x80, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x7C, 0x87, 0x90, 0x00, 0x00, +0x00, 0x00, 0x4E, 0xB6, 0x3E, 0x80, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x5C, 0x69, 0x90, 0x00, 0x00, +0x00, 0x00, 0x50, 0x96, 0x20, 0x80, 0x00, 0x00, 0x00, 0x00, 0x51, 0x3C, 0x4B, 0x90, 0x00, 0x00, +0x00, 0x00, 0x52, 0x76, 0x02, 0x80, 0x00, 0x00, 0x00, 0x00, 0x53, 0x1C, 0x2D, 0x90, 0x00, 0x00, +0x00, 0x00, 0x54, 0x55, 0xE4, 0x80, 0x00, 0x00, 0x00, 0x00, 0x54, 0xFC, 0x0F, 0x90, 0x00, 0x00, +0x00, 0x00, 0x56, 0x35, 0xC6, 0x80, 0x00, 0x00, 0x00, 0x00, 0x56, 0xE5, 0x2C, 0x10, 0x00, 0x00, +0x00, 0x00, 0x58, 0x1E, 0xE3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 0xC5, 0x0E, 0x10, 0x00, 0x00, +0x00, 0x00, 0x59, 0xFE, 0xC5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xA4, 0xF0, 0x10, 0x00, 0x00, +0x00, 0x00, 0x5B, 0xDE, 0xA7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5C, 0x84, 0xD2, 0x10, 0x00, 0x00, +0x00, 0x00, 0x5D, 0xBE, 0x89, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x64, 0xB4, 0x10, 0x00, 0x00, +0x00, 0x00, 0x5F, 0x9E, 0x6B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x4D, 0xD0, 0x90, 0x00, 0x00, +0x00, 0x00, 0x61, 0x87, 0x87, 0x80, 0x00, 0x00, 0x00, 0x00, 0x62, 0x2D, 0xB2, 0x90, 0x00, 0x00, +0x00, 0x00, 0x63, 0x5E, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x0D, 0x86, 0x80, 0x00, 0x00, +0x00, 0x00, 0x65, 0x47, 0x3D, 0x70, 0x00, 0x00, 0x00, 0x00, 0x65, 0xED, 0x68, 0x80, 0x00, 0x00, +0x00, 0x00, 0x67, 0x27, 0x1F, 0x70, 0x00, 0x00, 0x00, 0x00, 0x67, 0xCD, 0x4A, 0x80, 0x00, 0x00, +0x00, 0x00, 0x69, 0x07, 0x01, 0x70, 0x00, 0x00, 0x00, 0x00, 0x69, 0xAD, 0x2C, 0x80, 0x00, 0x00, +0x00, 0x00, 0x6A, 0xE6, 0xE3, 0x70, 0x00, 0x00, 0x00, 0x00, 0x6B, 0x96, 0x49, 0x00, 0x00, 0x00, +0x00, 0x00, 0x6C, 0xCF, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x76, 0x2B, 0x00, 0x00, 0x00, +0x00, 0x00, 0x6E, 0xAF, 0xE1, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x56, 0x0D, 0x00, 0x00, 0x00, +0x00, 0x00, 0x70, 0x8F, 0xC3, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x71, 0x35, 0xEF, 0x00, 0x00, 0x00, +0x00, 0x00, 0x72, 0x6F, 0xA5, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x73, 0x15, 0xD1, 0x00, 0x00, 0x00, +0x00, 0x00, 0x74, 0x4F, 0x87, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x74, 0xFE, 0xED, 0x80, 0x00, 0x00, +0x00, 0x00, 0x76, 0x38, 0xA4, 0x70, 0x00, 0x00, 0x00, 0x00, 0x76, 0xDE, 0xCF, 0x80, 0x00, 0x00, +0x00, 0x00, 0x78, 0x18, 0x86, 0x70, 0x00, 0x00, 0x00, 0x00, 0x78, 0xBE, 0xB1, 0x80, 0x00, 0x00, +0x00, 0x00, 0x79, 0xF8, 0x68, 0x70, 0x00, 0x00, 0x00, 0x00, 0x7A, 0x9E, 0x93, 0x80, 0x00, 0x00, +0x00, 0x00, 0x7B, 0xD8, 0x4A, 0x70, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x7E, 0x75, 0x80, 0x00, 0x00, +0x00, 0x00, 0x7D, 0xB8, 0x2C, 0x70, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x5E, 0x57, 0x80, 0x00, 0x00, +0x00, 0x00, 0x7F, 0x98, 0x0E, 0x70, 0x01, 0x02, 0x04, 0x03, 0x04, 0x02, 0x05, 0x02, 0x05, 0x02, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, -0x03, 0x04, 0x03, 0x02, 0xFF, 0xFF, 0x9E, 0x1C, 0x00, 0x00, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x04, -0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x08, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x0C, 0xFF, 0xFF, 0x9D, 0x90, -0x00, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x10, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x0C, 0xFF, 0xFF, -0xAB, 0xA0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, -0x4D, 0x44, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x43, 0x53, 0x54, 0x36, 0x0A, 0x00, 0xB6, -0x71, 0xBA, 0x00, 0x73, 0x54, 0xBD, 0x00, 0x00, 0x00, 0x28, 0x4D, 0x6F, 0x75, 0x6E, 0x74, 0x61, -0x69, 0x6E, 0x20, 0x54, 0x69, 0x6D, 0x65, 0x20, 0x55, 0x53, 0x20, 0x2D, 0x20, 0x43, 0x68, 0x69, -0x68, 0x75, 0x61, 0x68, 0x75, 0x61, 0x20, 0x28, 0x55, 0x53, 0x20, 0x62, 0x6F, 0x72, 0x64, 0x65, -0x72, 0x29, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, +0x03, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, +0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, 0x05, 0x02, +0xFF, 0xFF, 0x9E, 0x1C, 0x00, 0x00, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, +0x00, 0x08, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x0C, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x04, 0xFF, 0xFF, +0xB9, 0xB0, 0x01, 0x10, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x4D, 0x53, +0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x00, 0x01, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x43, 0x53, 0x54, +0x36, 0x43, 0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, +0x31, 0x2E, 0x30, 0x0A, 0x00, 0xB6, 0x71, 0xBA, 0x00, 0x73, 0x54, 0xBD, 0x00, 0x00, 0x00, 0x1C, +0x43, 0x68, 0x69, 0x68, 0x75, 0x61, 0x68, 0x75, 0x61, 0x20, 0x28, 0x55, 0x53, 0x20, 0x62, 0x6F, +0x72, 0x64, 0x65, 0x72, 0x20, 0x2D, 0x20, 0x65, 0x61, 0x73, 0x74, 0x29, /* America/Panama */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x50, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -36693,140 +36938,145 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { 0x00, 0x00, /* America/Pangnirtung */ -0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x7A, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x29, 0xA3, 0xD5, 0x52, 0x80, -0xCB, 0x88, 0xE2, 0x60, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xED, 0xD0, 0xF7, 0x2F, 0x30, 0x40, -0xF8, 0x28, 0x5B, 0xC0, 0x13, 0x69, 0x39, 0xE0, 0x14, 0x59, 0x1C, 0xD0, 0x15, 0x49, 0x1B, 0xE0, -0x16, 0x38, 0xFE, 0xD0, 0x17, 0x28, 0xFD, 0xE0, 0x18, 0x22, 0x1B, 0x50, 0x19, 0x08, 0xDF, 0xE0, -0x1A, 0x01, 0xFD, 0x50, 0x1A, 0xF1, 0xFC, 0x60, 0x1B, 0xE1, 0xDF, 0x50, 0x1C, 0xD1, 0xDE, 0x60, -0x1D, 0xC1, 0xC1, 0x50, 0x1E, 0xB1, 0xC0, 0x60, 0x1F, 0xA1, 0xA3, 0x50, 0x20, 0x75, 0xF2, 0xE0, -0x21, 0x81, 0x85, 0x50, 0x22, 0x55, 0xD4, 0xE0, 0x23, 0x6A, 0xA1, 0xD0, 0x24, 0x35, 0xB6, 0xE0, -0x25, 0x4A, 0x83, 0xD0, 0x26, 0x15, 0x98, 0xE0, 0x27, 0x2A, 0x65, 0xD0, 0x27, 0xFE, 0xB5, 0x60, -0x29, 0x0A, 0x47, 0xD0, 0x29, 0xDE, 0x97, 0x60, 0x2A, 0xEA, 0x29, 0xD0, 0x2B, 0xBE, 0x79, 0x60, -0x2C, 0xD3, 0x46, 0x50, 0x2D, 0x9E, 0x5B, 0x60, 0x2E, 0xB3, 0x28, 0x50, 0x2F, 0x7E, 0x3D, 0x60, -0x30, 0x93, 0x18, 0x60, 0x31, 0x67, 0x67, 0xF0, 0x32, 0x72, 0xFA, 0x60, 0x33, 0x47, 0x49, 0xF0, -0x34, 0x52, 0xDC, 0x60, 0x35, 0x27, 0x2B, 0xF0, 0x36, 0x32, 0xBE, 0x60, 0x37, 0x07, 0x0D, 0xF0, -0x38, 0x1B, 0xDA, 0xE0, 0x38, 0xE6, 0xFE, 0x00, 0x39, 0xFB, 0xCA, 0xF0, 0x3A, 0xC6, 0xD1, 0xF0, -0x3B, 0xDB, 0x9E, 0xE0, 0x3C, 0xAF, 0xEE, 0x70, 0x3D, 0xBB, 0x80, 0xE0, 0x3E, 0x8F, 0xD0, 0x70, -0x3F, 0x9B, 0x62, 0xE0, 0x40, 0x6F, 0xB2, 0x70, 0x41, 0x84, 0x7F, 0x60, 0x42, 0x4F, 0x94, 0x70, -0x43, 0x64, 0x61, 0x60, 0x44, 0x2F, 0x76, 0x70, 0x45, 0x44, 0x43, 0x60, 0x45, 0xF3, 0xA8, 0xF0, -0x47, 0x2D, 0x5F, 0xE0, 0x47, 0xD3, 0x8A, 0xF0, 0x49, 0x0D, 0x41, 0xE0, 0x49, 0xB3, 0x6C, 0xF0, -0x4A, 0xED, 0x23, 0xE0, 0x4B, 0x9C, 0x89, 0x70, 0x4C, 0xD6, 0x40, 0x60, 0x4D, 0x7C, 0x6B, 0x70, -0x4E, 0xB6, 0x22, 0x60, 0x4F, 0x5C, 0x4D, 0x70, 0x50, 0x96, 0x04, 0x60, 0x51, 0x3C, 0x2F, 0x70, -0x52, 0x75, 0xE6, 0x60, 0x53, 0x1C, 0x11, 0x70, 0x54, 0x55, 0xC8, 0x60, 0x54, 0xFB, 0xF3, 0x70, -0x56, 0x35, 0xAA, 0x60, 0x56, 0xE5, 0x0F, 0xF0, 0x58, 0x1E, 0xC6, 0xE0, 0x58, 0xC4, 0xF1, 0xF0, -0x59, 0xFE, 0xA8, 0xE0, 0x5A, 0xA4, 0xD3, 0xF0, 0x5B, 0xDE, 0x8A, 0xE0, 0x5C, 0x84, 0xB5, 0xF0, -0x5D, 0xBE, 0x6C, 0xE0, 0x5E, 0x64, 0x97, 0xF0, 0x5F, 0x9E, 0x4E, 0xE0, 0x60, 0x4D, 0xB4, 0x70, -0x61, 0x87, 0x6B, 0x60, 0x62, 0x2D, 0x96, 0x70, 0x63, 0x67, 0x4D, 0x60, 0x64, 0x0D, 0x78, 0x70, -0x65, 0x47, 0x2F, 0x60, 0x65, 0xED, 0x5A, 0x70, 0x67, 0x27, 0x11, 0x60, 0x67, 0xCD, 0x3C, 0x70, -0x69, 0x06, 0xF3, 0x60, 0x69, 0xAD, 0x1E, 0x70, 0x6A, 0xE6, 0xD5, 0x60, 0x6B, 0x96, 0x3A, 0xF0, -0x6C, 0xCF, 0xF1, 0xE0, 0x6D, 0x76, 0x1C, 0xF0, 0x6E, 0xAF, 0xD3, 0xE0, 0x6F, 0x55, 0xFE, 0xF0, -0x70, 0x8F, 0xB5, 0xE0, 0x71, 0x35, 0xE0, 0xF0, 0x72, 0x6F, 0x97, 0xE0, 0x73, 0x15, 0xC2, 0xF0, -0x74, 0x4F, 0x79, 0xE0, 0x74, 0xFE, 0xDF, 0x70, 0x76, 0x38, 0x96, 0x60, 0x76, 0xDE, 0xC1, 0x70, -0x78, 0x18, 0x78, 0x60, 0x78, 0xBE, 0xA3, 0x70, 0x79, 0xF8, 0x5A, 0x60, 0x7A, 0x9E, 0x85, 0x70, -0x7B, 0xD8, 0x3C, 0x60, 0x7C, 0x7E, 0x67, 0x70, 0x7D, 0xB8, 0x1E, 0x60, 0x7E, 0x5E, 0x49, 0x70, -0x7F, 0x98, 0x00, 0x60, 0x03, 0x01, 0x02, 0x03, 0x04, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, -0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, -0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, -0x06, 0x08, 0x09, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, -0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, -0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, -0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, -0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x08, -0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x0C, 0xFF, 0xFF, 0xE3, 0xE0, 0x01, 0x10, 0xFF, 0xFF, 0xD5, 0xD0, -0x01, 0x15, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x19, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x1D, 0xFF, 0xFF, -0xAB, 0xA0, 0x00, 0x21, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x25, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x19, -0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x1D, 0x2D, 0x30, 0x30, 0x00, 0x41, 0x57, 0x54, 0x00, 0x41, 0x50, -0x54, 0x00, 0x41, 0x53, 0x54, 0x00, 0x41, 0x44, 0x44, 0x54, 0x00, 0x41, 0x44, 0x54, 0x00, 0x45, -0x44, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x00, -0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, -0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7A, 0x00, 0x00, 0x00, 0x0C, 0x00, -0x00, 0x00, 0x29, 0xFF, 0xFF, 0xFF, 0xFF, 0xA3, 0xD5, 0x52, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, -0x88, 0xE2, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, -0x60, 0xED, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x2F, 0x30, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, -0x28, 0x5B, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x39, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x14, -0x59, 0x1C, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x15, 0x49, 0x1B, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x16, -0x38, 0xFE, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x17, 0x28, 0xFD, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x18, -0x22, 0x1B, 0x50, 0x00, 0x00, 0x00, 0x00, 0x19, 0x08, 0xDF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x1A, -0x01, 0xFD, 0x50, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xF1, 0xFC, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1B, -0xE1, 0xDF, 0x50, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xD1, 0xDE, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1D, -0xC1, 0xC1, 0x50, 0x00, 0x00, 0x00, 0x00, 0x1E, 0xB1, 0xC0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1F, -0xA1, 0xA3, 0x50, 0x00, 0x00, 0x00, 0x00, 0x20, 0x75, 0xF2, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x21, -0x81, 0x85, 0x50, 0x00, 0x00, 0x00, 0x00, 0x22, 0x55, 0xD4, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x23, -0x6A, 0xA1, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x24, 0x35, 0xB6, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x25, -0x4A, 0x83, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x26, 0x15, 0x98, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x27, -0x2A, 0x65, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x27, 0xFE, 0xB5, 0x60, 0x00, 0x00, 0x00, 0x00, 0x29, -0x0A, 0x47, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x29, 0xDE, 0x97, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2A, -0xEA, 0x29, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xBE, 0x79, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2C, -0xD3, 0x46, 0x50, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x9E, 0x5B, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2E, -0xB3, 0x28, 0x50, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x7E, 0x3D, 0x60, 0x00, 0x00, 0x00, 0x00, 0x30, -0x93, 0x18, 0x60, 0x00, 0x00, 0x00, 0x00, 0x31, 0x67, 0x67, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x32, -0x72, 0xFA, 0x60, 0x00, 0x00, 0x00, 0x00, 0x33, 0x47, 0x49, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x34, -0x52, 0xDC, 0x60, 0x00, 0x00, 0x00, 0x00, 0x35, 0x27, 0x2B, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x36, -0x32, 0xBE, 0x60, 0x00, 0x00, 0x00, 0x00, 0x37, 0x07, 0x0D, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x38, -0x1B, 0xDA, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x38, 0xE6, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x39, -0xFB, 0xCA, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xC6, 0xD1, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x3B, -0xDB, 0x9E, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xAF, 0xEE, 0x70, 0x00, 0x00, 0x00, 0x00, 0x3D, -0xBB, 0x80, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x8F, 0xD0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x3F, -0x9B, 0x62, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x40, 0x6F, 0xB2, 0x70, 0x00, 0x00, 0x00, 0x00, 0x41, -0x84, 0x7F, 0x60, 0x00, 0x00, 0x00, 0x00, 0x42, 0x4F, 0x94, 0x70, 0x00, 0x00, 0x00, 0x00, 0x43, -0x64, 0x61, 0x60, 0x00, 0x00, 0x00, 0x00, 0x44, 0x2F, 0x76, 0x70, 0x00, 0x00, 0x00, 0x00, 0x45, -0x44, 0x43, 0x60, 0x00, 0x00, 0x00, 0x00, 0x45, 0xF3, 0xA8, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x47, -0x2D, 0x5F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x47, 0xD3, 0x8A, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x49, -0x0D, 0x41, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x49, 0xB3, 0x6C, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x4A, -0xED, 0x23, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x4B, 0x9C, 0x89, 0x70, 0x00, 0x00, 0x00, 0x00, 0x4C, -0xD6, 0x40, 0x60, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x7C, 0x6B, 0x70, 0x00, 0x00, 0x00, 0x00, 0x4E, -0xB6, 0x22, 0x60, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x5C, 0x4D, 0x70, 0x00, 0x00, 0x00, 0x00, 0x50, -0x96, 0x04, 0x60, 0x00, 0x00, 0x00, 0x00, 0x51, 0x3C, 0x2F, 0x70, 0x00, 0x00, 0x00, 0x00, 0x52, -0x75, 0xE6, 0x60, 0x00, 0x00, 0x00, 0x00, 0x53, 0x1C, 0x11, 0x70, 0x00, 0x00, 0x00, 0x00, 0x54, -0x55, 0xC8, 0x60, 0x00, 0x00, 0x00, 0x00, 0x54, 0xFB, 0xF3, 0x70, 0x00, 0x00, 0x00, 0x00, 0x56, -0x35, 0xAA, 0x60, 0x00, 0x00, 0x00, 0x00, 0x56, 0xE5, 0x0F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x58, -0x1E, 0xC6, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x58, 0xC4, 0xF1, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x59, -0xFE, 0xA8, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xA4, 0xD3, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x5B, -0xDE, 0x8A, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x5C, 0x84, 0xB5, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x5D, -0xBE, 0x6C, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x64, 0x97, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x5F, -0x9E, 0x4E, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x60, 0x4D, 0xB4, 0x70, 0x00, 0x00, 0x00, 0x00, 0x61, -0x87, 0x6B, 0x60, 0x00, 0x00, 0x00, 0x00, 0x62, 0x2D, 0x96, 0x70, 0x00, 0x00, 0x00, 0x00, 0x63, -0x67, 0x4D, 0x60, 0x00, 0x00, 0x00, 0x00, 0x64, 0x0D, 0x78, 0x70, 0x00, 0x00, 0x00, 0x00, 0x65, -0x47, 0x2F, 0x60, 0x00, 0x00, 0x00, 0x00, 0x65, 0xED, 0x5A, 0x70, 0x00, 0x00, 0x00, 0x00, 0x67, -0x27, 0x11, 0x60, 0x00, 0x00, 0x00, 0x00, 0x67, 0xCD, 0x3C, 0x70, 0x00, 0x00, 0x00, 0x00, 0x69, -0x06, 0xF3, 0x60, 0x00, 0x00, 0x00, 0x00, 0x69, 0xAD, 0x1E, 0x70, 0x00, 0x00, 0x00, 0x00, 0x6A, -0xE6, 0xD5, 0x60, 0x00, 0x00, 0x00, 0x00, 0x6B, 0x96, 0x3A, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x6C, -0xCF, 0xF1, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x76, 0x1C, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x6E, -0xAF, 0xD3, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x55, 0xFE, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x70, -0x8F, 0xB5, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x71, 0x35, 0xE0, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x72, -0x6F, 0x97, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x73, 0x15, 0xC2, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x74, -0x4F, 0x79, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x74, 0xFE, 0xDF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x76, -0x38, 0x96, 0x60, 0x00, 0x00, 0x00, 0x00, 0x76, 0xDE, 0xC1, 0x70, 0x00, 0x00, 0x00, 0x00, 0x78, -0x18, 0x78, 0x60, 0x00, 0x00, 0x00, 0x00, 0x78, 0xBE, 0xA3, 0x70, 0x00, 0x00, 0x00, 0x00, 0x79, -0xF8, 0x5A, 0x60, 0x00, 0x00, 0x00, 0x00, 0x7A, 0x9E, 0x85, 0x70, 0x00, 0x00, 0x00, 0x00, 0x7B, -0xD8, 0x3C, 0x60, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x7E, 0x67, 0x70, 0x00, 0x00, 0x00, 0x00, 0x7D, -0xB8, 0x1E, 0x60, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x5E, 0x49, 0x70, 0x00, 0x00, 0x00, 0x00, 0x7F, -0x98, 0x00, 0x60, 0x03, 0x01, 0x02, 0x03, 0x04, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, -0x08, 0x09, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, -0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, -0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, -0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, -0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x04, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, 0x08, 0xFF, -0xFF, 0xC7, 0xC0, 0x00, 0x0C, 0xFF, 0xFF, 0xE3, 0xE0, 0x01, 0x10, 0xFF, 0xFF, 0xD5, 0xD0, 0x01, -0x15, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x19, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x1D, 0xFF, 0xFF, 0xAB, -0xA0, 0x00, 0x21, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x25, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x19, 0xFF, -0xFF, 0xB9, 0xB0, 0x00, 0x1D, 0x2D, 0x30, 0x30, 0x00, 0x41, 0x57, 0x54, 0x00, 0x41, 0x50, 0x54, -0x00, 0x41, 0x53, 0x54, 0x00, 0x41, 0x44, 0x44, 0x54, 0x00, 0x41, 0x44, 0x54, 0x00, 0x45, 0x44, -0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x00, 0x00, -0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x45, 0x53, 0x54, 0x35, 0x45, 0x44, 0x54, 0x2C, 0x4D, -0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, 0x31, 0x2E, 0x30, 0x0A, 0x00, 0xEE, -0x3D, 0x95, 0x00, 0xAE, 0x5B, 0x6A, 0x00, 0x00, 0x00, 0x1A, 0x45, 0x61, 0x73, 0x74, 0x65, 0x72, -0x6E, 0x20, 0x2D, 0x20, 0x4E, 0x55, 0x20, 0x28, 0x50, 0x61, 0x6E, 0x67, 0x6E, 0x69, 0x72, 0x74, -0x75, 0x6E, 0x67, 0x29, +0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x87, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x1C, 0xCC, 0x6C, 0xA1, 0x80, +0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xFB, 0xE0, 0x04, 0x60, 0xFD, 0x70, 0x05, 0x50, 0xE0, 0x60, +0x06, 0x40, 0xDF, 0x70, 0x07, 0x30, 0xC2, 0x60, 0x08, 0x20, 0xC1, 0x70, 0x09, 0x10, 0xA4, 0x60, +0x0A, 0x00, 0xA3, 0x70, 0x0A, 0xF0, 0x86, 0x60, 0x0B, 0xE0, 0x85, 0x70, 0x0C, 0xD9, 0xA2, 0xE0, +0x0D, 0xC0, 0x67, 0x70, 0x0E, 0xB9, 0x84, 0xE0, 0x0F, 0xA9, 0x83, 0xF0, 0x10, 0x99, 0x66, 0xE0, +0x11, 0x89, 0x65, 0xF0, 0x12, 0x79, 0x48, 0xE0, 0x13, 0x69, 0x47, 0xF0, 0x14, 0x59, 0x2A, 0xE0, +0x15, 0x49, 0x29, 0xF0, 0x16, 0x39, 0x0C, 0xE0, 0x17, 0x29, 0x0B, 0xF0, 0x18, 0x22, 0x29, 0x60, +0x19, 0x08, 0xED, 0xF0, 0x1A, 0x02, 0x0B, 0x60, 0x1A, 0xF2, 0x0A, 0x70, 0x1B, 0xE1, 0xED, 0x60, +0x1C, 0xD1, 0xEC, 0x70, 0x1D, 0xC1, 0xCF, 0x60, 0x1E, 0xB1, 0xCE, 0x70, 0x1F, 0xA1, 0xB1, 0x60, +0x20, 0x76, 0x00, 0xF0, 0x21, 0x81, 0x93, 0x60, 0x22, 0x55, 0xE2, 0xF0, 0x23, 0x6A, 0xAF, 0xE0, +0x24, 0x35, 0xC4, 0xF0, 0x25, 0x4A, 0x91, 0xE0, 0x26, 0x15, 0xA6, 0xF0, 0x27, 0x2A, 0x73, 0xE0, +0x27, 0xFE, 0xC3, 0x70, 0x29, 0x0A, 0x55, 0xE0, 0x29, 0xDE, 0xA5, 0x70, 0x2A, 0xEA, 0x37, 0xE0, +0x2B, 0xBE, 0x87, 0x70, 0x2C, 0xD3, 0x54, 0x60, 0x2D, 0x9E, 0x69, 0x70, 0x2E, 0xB3, 0x36, 0x60, +0x2F, 0x7E, 0x4B, 0x70, 0x30, 0x93, 0x18, 0x60, 0x31, 0x67, 0x67, 0xF0, 0x32, 0x72, 0xFA, 0x60, +0x33, 0x47, 0x49, 0xF0, 0x34, 0x52, 0xDC, 0x60, 0x35, 0x27, 0x2B, 0xF0, 0x36, 0x32, 0xBE, 0x60, +0x37, 0x07, 0x0D, 0xF0, 0x38, 0x1B, 0xDA, 0xE0, 0x38, 0xE6, 0xFE, 0x00, 0x39, 0xFB, 0xCA, 0xF0, +0x3A, 0xC6, 0xD1, 0xF0, 0x3B, 0xDB, 0x9E, 0xE0, 0x3C, 0xAF, 0xEE, 0x70, 0x3D, 0xBB, 0x80, 0xE0, +0x3E, 0x8F, 0xD0, 0x70, 0x3F, 0x9B, 0x62, 0xE0, 0x40, 0x6F, 0xB2, 0x70, 0x41, 0x84, 0x7F, 0x60, +0x42, 0x4F, 0x94, 0x70, 0x43, 0x64, 0x61, 0x60, 0x44, 0x2F, 0x76, 0x70, 0x45, 0x44, 0x43, 0x60, +0x45, 0xF3, 0xA8, 0xF0, 0x47, 0x2D, 0x5F, 0xE0, 0x47, 0xD3, 0x8A, 0xF0, 0x49, 0x0D, 0x41, 0xE0, +0x49, 0xB3, 0x6C, 0xF0, 0x4A, 0xED, 0x23, 0xE0, 0x4B, 0x9C, 0x89, 0x70, 0x4C, 0xD6, 0x40, 0x60, +0x4D, 0x7C, 0x6B, 0x70, 0x4E, 0xB6, 0x22, 0x60, 0x4F, 0x5C, 0x4D, 0x70, 0x50, 0x96, 0x04, 0x60, +0x51, 0x3C, 0x2F, 0x70, 0x52, 0x75, 0xE6, 0x60, 0x53, 0x1C, 0x11, 0x70, 0x54, 0x55, 0xC8, 0x60, +0x54, 0xFB, 0xF3, 0x70, 0x56, 0x35, 0xAA, 0x60, 0x56, 0xE5, 0x0F, 0xF0, 0x58, 0x1E, 0xC6, 0xE0, +0x58, 0xC4, 0xF1, 0xF0, 0x59, 0xFE, 0xA8, 0xE0, 0x5A, 0xA4, 0xD3, 0xF0, 0x5B, 0xDE, 0x8A, 0xE0, +0x5C, 0x84, 0xB5, 0xF0, 0x5D, 0xBE, 0x6C, 0xE0, 0x5E, 0x64, 0x97, 0xF0, 0x5F, 0x9E, 0x4E, 0xE0, +0x60, 0x4D, 0xB4, 0x70, 0x61, 0x87, 0x6B, 0x60, 0x62, 0x2D, 0x96, 0x70, 0x63, 0x67, 0x4D, 0x60, +0x64, 0x0D, 0x78, 0x70, 0x65, 0x47, 0x2F, 0x60, 0x65, 0xED, 0x5A, 0x70, 0x67, 0x27, 0x11, 0x60, +0x67, 0xCD, 0x3C, 0x70, 0x69, 0x06, 0xF3, 0x60, 0x69, 0xAD, 0x1E, 0x70, 0x6A, 0xE6, 0xD5, 0x60, +0x6B, 0x96, 0x3A, 0xF0, 0x6C, 0xCF, 0xF1, 0xE0, 0x6D, 0x76, 0x1C, 0xF0, 0x6E, 0xAF, 0xD3, 0xE0, +0x6F, 0x55, 0xFE, 0xF0, 0x70, 0x8F, 0xB5, 0xE0, 0x71, 0x35, 0xE0, 0xF0, 0x72, 0x6F, 0x97, 0xE0, +0x73, 0x15, 0xC2, 0xF0, 0x74, 0x4F, 0x79, 0xE0, 0x74, 0xFE, 0xDF, 0x70, 0x76, 0x38, 0x96, 0x60, +0x76, 0xDE, 0xC1, 0x70, 0x78, 0x18, 0x78, 0x60, 0x78, 0xBE, 0xA3, 0x70, 0x79, 0xF8, 0x5A, 0x60, +0x7A, 0x9E, 0x85, 0x70, 0x7B, 0xD8, 0x3C, 0x60, 0x7C, 0x7E, 0x67, 0x70, 0x7D, 0xB8, 0x1E, 0x60, +0x7E, 0x5E, 0x49, 0x70, 0x7F, 0x98, 0x00, 0x60, 0x04, 0x01, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x05, 0x06, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, +0x08, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x0C, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x10, 0xFF, 0xFF, 0xAB, +0xA0, 0x00, 0x14, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x18, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x0C, 0xFF, +0xFF, 0xB9, 0xB0, 0x00, 0x08, 0x2D, 0x30, 0x30, 0x00, 0x45, 0x50, 0x54, 0x00, 0x45, 0x53, 0x54, +0x00, 0x45, 0x44, 0x54, 0x00, 0x45, 0x57, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x43, 0x44, 0x54, +0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x09, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x87, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x1C, 0xFF, +0xFF, 0xFF, 0xFF, 0xCC, 0x6C, 0xA1, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, +0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xFB, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x04, 0x60, 0xFD, 0x70, 0x00, +0x00, 0x00, 0x00, 0x05, 0x50, 0xE0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x06, 0x40, 0xDF, 0x70, 0x00, +0x00, 0x00, 0x00, 0x07, 0x30, 0xC2, 0x60, 0x00, 0x00, 0x00, 0x00, 0x08, 0x20, 0xC1, 0x70, 0x00, +0x00, 0x00, 0x00, 0x09, 0x10, 0xA4, 0x60, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0xA3, 0x70, 0x00, +0x00, 0x00, 0x00, 0x0A, 0xF0, 0x86, 0x60, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xE0, 0x85, 0x70, 0x00, +0x00, 0x00, 0x00, 0x0C, 0xD9, 0xA2, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0D, 0xC0, 0x67, 0x70, 0x00, +0x00, 0x00, 0x00, 0x0E, 0xB9, 0x84, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xA9, 0x83, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x10, 0x99, 0x66, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x11, 0x89, 0x65, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x12, 0x79, 0x48, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x47, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x14, 0x59, 0x2A, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x15, 0x49, 0x29, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x16, 0x39, 0x0C, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x17, 0x29, 0x0B, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x18, 0x22, 0x29, 0x60, 0x00, 0x00, 0x00, 0x00, 0x19, 0x08, 0xED, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x1A, 0x02, 0x0B, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xF2, 0x0A, 0x70, 0x00, +0x00, 0x00, 0x00, 0x1B, 0xE1, 0xED, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xD1, 0xEC, 0x70, 0x00, +0x00, 0x00, 0x00, 0x1D, 0xC1, 0xCF, 0x60, 0x00, 0x00, 0x00, 0x00, 0x1E, 0xB1, 0xCE, 0x70, 0x00, +0x00, 0x00, 0x00, 0x1F, 0xA1, 0xB1, 0x60, 0x00, 0x00, 0x00, 0x00, 0x20, 0x76, 0x00, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x21, 0x81, 0x93, 0x60, 0x00, 0x00, 0x00, 0x00, 0x22, 0x55, 0xE2, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x23, 0x6A, 0xAF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x24, 0x35, 0xC4, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x25, 0x4A, 0x91, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x26, 0x15, 0xA6, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x27, 0x2A, 0x73, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x27, 0xFE, 0xC3, 0x70, 0x00, +0x00, 0x00, 0x00, 0x29, 0x0A, 0x55, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x29, 0xDE, 0xA5, 0x70, 0x00, +0x00, 0x00, 0x00, 0x2A, 0xEA, 0x37, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xBE, 0x87, 0x70, 0x00, +0x00, 0x00, 0x00, 0x2C, 0xD3, 0x54, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x9E, 0x69, 0x70, 0x00, +0x00, 0x00, 0x00, 0x2E, 0xB3, 0x36, 0x60, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x7E, 0x4B, 0x70, 0x00, +0x00, 0x00, 0x00, 0x30, 0x93, 0x18, 0x60, 0x00, 0x00, 0x00, 0x00, 0x31, 0x67, 0x67, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x32, 0x72, 0xFA, 0x60, 0x00, 0x00, 0x00, 0x00, 0x33, 0x47, 0x49, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x34, 0x52, 0xDC, 0x60, 0x00, 0x00, 0x00, 0x00, 0x35, 0x27, 0x2B, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x36, 0x32, 0xBE, 0x60, 0x00, 0x00, 0x00, 0x00, 0x37, 0x07, 0x0D, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x38, 0x1B, 0xDA, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x38, 0xE6, 0xFE, 0x00, 0x00, +0x00, 0x00, 0x00, 0x39, 0xFB, 0xCA, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xC6, 0xD1, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x3B, 0xDB, 0x9E, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xAF, 0xEE, 0x70, 0x00, +0x00, 0x00, 0x00, 0x3D, 0xBB, 0x80, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x8F, 0xD0, 0x70, 0x00, +0x00, 0x00, 0x00, 0x3F, 0x9B, 0x62, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x40, 0x6F, 0xB2, 0x70, 0x00, +0x00, 0x00, 0x00, 0x41, 0x84, 0x7F, 0x60, 0x00, 0x00, 0x00, 0x00, 0x42, 0x4F, 0x94, 0x70, 0x00, +0x00, 0x00, 0x00, 0x43, 0x64, 0x61, 0x60, 0x00, 0x00, 0x00, 0x00, 0x44, 0x2F, 0x76, 0x70, 0x00, +0x00, 0x00, 0x00, 0x45, 0x44, 0x43, 0x60, 0x00, 0x00, 0x00, 0x00, 0x45, 0xF3, 0xA8, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x47, 0x2D, 0x5F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x47, 0xD3, 0x8A, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x49, 0x0D, 0x41, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x49, 0xB3, 0x6C, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x4A, 0xED, 0x23, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x4B, 0x9C, 0x89, 0x70, 0x00, +0x00, 0x00, 0x00, 0x4C, 0xD6, 0x40, 0x60, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x7C, 0x6B, 0x70, 0x00, +0x00, 0x00, 0x00, 0x4E, 0xB6, 0x22, 0x60, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x5C, 0x4D, 0x70, 0x00, +0x00, 0x00, 0x00, 0x50, 0x96, 0x04, 0x60, 0x00, 0x00, 0x00, 0x00, 0x51, 0x3C, 0x2F, 0x70, 0x00, +0x00, 0x00, 0x00, 0x52, 0x75, 0xE6, 0x60, 0x00, 0x00, 0x00, 0x00, 0x53, 0x1C, 0x11, 0x70, 0x00, +0x00, 0x00, 0x00, 0x54, 0x55, 0xC8, 0x60, 0x00, 0x00, 0x00, 0x00, 0x54, 0xFB, 0xF3, 0x70, 0x00, +0x00, 0x00, 0x00, 0x56, 0x35, 0xAA, 0x60, 0x00, 0x00, 0x00, 0x00, 0x56, 0xE5, 0x0F, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x58, 0x1E, 0xC6, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x58, 0xC4, 0xF1, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x59, 0xFE, 0xA8, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xA4, 0xD3, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x5B, 0xDE, 0x8A, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x5C, 0x84, 0xB5, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x5D, 0xBE, 0x6C, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x64, 0x97, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x5F, 0x9E, 0x4E, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x60, 0x4D, 0xB4, 0x70, 0x00, +0x00, 0x00, 0x00, 0x61, 0x87, 0x6B, 0x60, 0x00, 0x00, 0x00, 0x00, 0x62, 0x2D, 0x96, 0x70, 0x00, +0x00, 0x00, 0x00, 0x63, 0x67, 0x4D, 0x60, 0x00, 0x00, 0x00, 0x00, 0x64, 0x0D, 0x78, 0x70, 0x00, +0x00, 0x00, 0x00, 0x65, 0x47, 0x2F, 0x60, 0x00, 0x00, 0x00, 0x00, 0x65, 0xED, 0x5A, 0x70, 0x00, +0x00, 0x00, 0x00, 0x67, 0x27, 0x11, 0x60, 0x00, 0x00, 0x00, 0x00, 0x67, 0xCD, 0x3C, 0x70, 0x00, +0x00, 0x00, 0x00, 0x69, 0x06, 0xF3, 0x60, 0x00, 0x00, 0x00, 0x00, 0x69, 0xAD, 0x1E, 0x70, 0x00, +0x00, 0x00, 0x00, 0x6A, 0xE6, 0xD5, 0x60, 0x00, 0x00, 0x00, 0x00, 0x6B, 0x96, 0x3A, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x6C, 0xCF, 0xF1, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x76, 0x1C, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x6E, 0xAF, 0xD3, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x55, 0xFE, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x70, 0x8F, 0xB5, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x71, 0x35, 0xE0, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x72, 0x6F, 0x97, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x73, 0x15, 0xC2, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x74, 0x4F, 0x79, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x74, 0xFE, 0xDF, 0x70, 0x00, +0x00, 0x00, 0x00, 0x76, 0x38, 0x96, 0x60, 0x00, 0x00, 0x00, 0x00, 0x76, 0xDE, 0xC1, 0x70, 0x00, +0x00, 0x00, 0x00, 0x78, 0x18, 0x78, 0x60, 0x00, 0x00, 0x00, 0x00, 0x78, 0xBE, 0xA3, 0x70, 0x00, +0x00, 0x00, 0x00, 0x79, 0xF8, 0x5A, 0x60, 0x00, 0x00, 0x00, 0x00, 0x7A, 0x9E, 0x85, 0x70, 0x00, +0x00, 0x00, 0x00, 0x7B, 0xD8, 0x3C, 0x60, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x7E, 0x67, 0x70, 0x00, +0x00, 0x00, 0x00, 0x7D, 0xB8, 0x1E, 0x60, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x5E, 0x49, 0x70, 0x00, +0x00, 0x00, 0x00, 0x7F, 0x98, 0x00, 0x60, 0x04, 0x01, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x05, 0x06, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x04, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x08, +0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x0C, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x10, 0xFF, 0xFF, 0xAB, 0xA0, +0x00, 0x14, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x18, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x0C, 0xFF, 0xFF, +0xB9, 0xB0, 0x00, 0x08, 0x2D, 0x30, 0x30, 0x00, 0x45, 0x50, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, +0x45, 0x44, 0x54, 0x00, 0x45, 0x57, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, +0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x0A, 0x45, 0x53, 0x54, 0x35, 0x45, 0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, +0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, 0x31, 0x2E, 0x30, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* America/Paramaribo */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x53, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -37390,125 +37640,136 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { /* America/Rankin_Inlet */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x15, 0xE7, 0x8C, 0x6E, 0x00, -0xF7, 0x2F, 0x4C, 0x60, 0xF8, 0x28, 0x77, 0xE0, 0x13, 0x69, 0x56, 0x00, 0x14, 0x59, 0x38, 0xF0, -0x15, 0x49, 0x38, 0x00, 0x16, 0x39, 0x1A, 0xF0, 0x17, 0x29, 0x1A, 0x00, 0x18, 0x22, 0x37, 0x70, -0x19, 0x08, 0xFC, 0x00, 0x1A, 0x02, 0x19, 0x70, 0x1A, 0xF2, 0x18, 0x80, 0x1B, 0xE1, 0xFB, 0x70, -0x1C, 0xD1, 0xFA, 0x80, 0x1D, 0xC1, 0xDD, 0x70, 0x1E, 0xB1, 0xDC, 0x80, 0x1F, 0xA1, 0xBF, 0x70, -0x20, 0x76, 0x0F, 0x00, 0x21, 0x81, 0xA1, 0x70, 0x22, 0x55, 0xF1, 0x00, 0x23, 0x6A, 0xBD, 0xF0, -0x24, 0x35, 0xD3, 0x00, 0x25, 0x4A, 0x9F, 0xF0, 0x26, 0x15, 0xB5, 0x00, 0x27, 0x2A, 0x81, 0xF0, -0x27, 0xFE, 0xD1, 0x80, 0x29, 0x0A, 0x63, 0xF0, 0x29, 0xDE, 0xB3, 0x80, 0x2A, 0xEA, 0x45, 0xF0, -0x2B, 0xBE, 0x95, 0x80, 0x2C, 0xD3, 0x62, 0x70, 0x2D, 0x9E, 0x77, 0x80, 0x2E, 0xB3, 0x44, 0x70, -0x2F, 0x7E, 0x59, 0x80, 0x30, 0x93, 0x26, 0x70, 0x31, 0x67, 0x76, 0x00, 0x32, 0x73, 0x08, 0x70, -0x33, 0x47, 0x58, 0x00, 0x34, 0x52, 0xEA, 0x70, 0x35, 0x27, 0x3A, 0x00, 0x36, 0x32, 0xCC, 0x70, -0x37, 0x07, 0x1C, 0x00, 0x38, 0x1B, 0xE8, 0xF0, 0x38, 0xE6, 0xFE, 0x00, 0x39, 0xFB, 0xCA, 0xF0, -0x3A, 0xC6, 0xE0, 0x00, 0x3B, 0xDB, 0xAC, 0xF0, 0x3C, 0xAF, 0xFC, 0x80, 0x3D, 0xBB, 0x8E, 0xF0, -0x3E, 0x8F, 0xDE, 0x80, 0x3F, 0x9B, 0x70, 0xF0, 0x40, 0x6F, 0xC0, 0x80, 0x41, 0x84, 0x8D, 0x70, -0x42, 0x4F, 0xA2, 0x80, 0x43, 0x64, 0x6F, 0x70, 0x44, 0x2F, 0x84, 0x80, 0x45, 0x44, 0x51, 0x70, -0x45, 0xF3, 0xB7, 0x00, 0x47, 0x2D, 0x6D, 0xF0, 0x47, 0xD3, 0x99, 0x00, 0x49, 0x0D, 0x4F, 0xF0, -0x49, 0xB3, 0x7B, 0x00, 0x4A, 0xED, 0x31, 0xF0, 0x4B, 0x9C, 0x97, 0x80, 0x4C, 0xD6, 0x4E, 0x70, -0x4D, 0x7C, 0x79, 0x80, 0x4E, 0xB6, 0x30, 0x70, 0x4F, 0x5C, 0x5B, 0x80, 0x50, 0x96, 0x12, 0x70, -0x51, 0x3C, 0x3D, 0x80, 0x52, 0x75, 0xF4, 0x70, 0x53, 0x1C, 0x1F, 0x80, 0x54, 0x55, 0xD6, 0x70, -0x54, 0xFC, 0x01, 0x80, 0x56, 0x35, 0xB8, 0x70, 0x56, 0xE5, 0x1E, 0x00, 0x58, 0x1E, 0xD4, 0xF0, -0x58, 0xC5, 0x00, 0x00, 0x59, 0xFE, 0xB6, 0xF0, 0x5A, 0xA4, 0xE2, 0x00, 0x5B, 0xDE, 0x98, 0xF0, -0x5C, 0x84, 0xC4, 0x00, 0x5D, 0xBE, 0x7A, 0xF0, 0x5E, 0x64, 0xA6, 0x00, 0x5F, 0x9E, 0x5C, 0xF0, -0x60, 0x4D, 0xC2, 0x80, 0x61, 0x87, 0x79, 0x70, 0x62, 0x2D, 0xA4, 0x80, 0x63, 0x67, 0x5B, 0x70, -0x64, 0x0D, 0x86, 0x80, 0x65, 0x47, 0x3D, 0x70, 0x65, 0xED, 0x68, 0x80, 0x67, 0x27, 0x1F, 0x70, -0x67, 0xCD, 0x4A, 0x80, 0x69, 0x07, 0x01, 0x70, 0x69, 0xAD, 0x2C, 0x80, 0x6A, 0xE6, 0xE3, 0x70, -0x6B, 0x96, 0x49, 0x00, 0x6C, 0xCF, 0xFF, 0xF0, 0x6D, 0x76, 0x2B, 0x00, 0x6E, 0xAF, 0xE1, 0xF0, -0x6F, 0x56, 0x0D, 0x00, 0x70, 0x8F, 0xC3, 0xF0, 0x71, 0x35, 0xEF, 0x00, 0x72, 0x6F, 0xA5, 0xF0, -0x73, 0x15, 0xD1, 0x00, 0x74, 0x4F, 0x87, 0xF0, 0x74, 0xFE, 0xED, 0x80, 0x76, 0x38, 0xA4, 0x70, -0x76, 0xDE, 0xCF, 0x80, 0x78, 0x18, 0x86, 0x70, 0x78, 0xBE, 0xB1, 0x80, 0x79, 0xF8, 0x68, 0x70, -0x7A, 0x9E, 0x93, 0x80, 0x7B, 0xD8, 0x4A, 0x70, 0x7C, 0x7E, 0x75, 0x80, 0x7D, 0xB8, 0x2C, 0x70, -0x7E, 0x5E, 0x57, 0x80, 0x7F, 0x98, 0x0E, 0x70, 0x02, 0x01, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x04, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, -0x09, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x0D, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x11, 0xFF, 0xFF, 0xAB, -0xA0, 0x00, 0x09, 0x2D, 0x30, 0x30, 0x00, 0x43, 0x44, 0x44, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, -0x43, 0x44, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, 0x06, -0x00, 0x00, 0x00, 0x15, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x8C, 0x6E, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, -0xF7, 0x2F, 0x4C, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x28, 0x77, 0xE0, 0x00, 0x00, 0x00, 0x00, -0x13, 0x69, 0x56, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x59, 0x38, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x15, 0x49, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0x39, 0x1A, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x17, 0x29, 0x1A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x22, 0x37, 0x70, 0x00, 0x00, 0x00, 0x00, -0x19, 0x08, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x02, 0x19, 0x70, 0x00, 0x00, 0x00, 0x00, -0x1A, 0xF2, 0x18, 0x80, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xE1, 0xFB, 0x70, 0x00, 0x00, 0x00, 0x00, -0x1C, 0xD1, 0xFA, 0x80, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xC1, 0xDD, 0x70, 0x00, 0x00, 0x00, 0x00, -0x1E, 0xB1, 0xDC, 0x80, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xA1, 0xBF, 0x70, 0x00, 0x00, 0x00, 0x00, -0x20, 0x76, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x81, 0xA1, 0x70, 0x00, 0x00, 0x00, 0x00, -0x22, 0x55, 0xF1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x23, 0x6A, 0xBD, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x24, 0x35, 0xD3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x25, 0x4A, 0x9F, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x26, 0x15, 0xB5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0x2A, 0x81, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x27, 0xFE, 0xD1, 0x80, 0x00, 0x00, 0x00, 0x00, 0x29, 0x0A, 0x63, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x29, 0xDE, 0xB3, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xEA, 0x45, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x2B, 0xBE, 0x95, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xD3, 0x62, 0x70, 0x00, 0x00, 0x00, 0x00, -0x2D, 0x9E, 0x77, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2E, 0xB3, 0x44, 0x70, 0x00, 0x00, 0x00, 0x00, -0x2F, 0x7E, 0x59, 0x80, 0x00, 0x00, 0x00, 0x00, 0x30, 0x93, 0x26, 0x70, 0x00, 0x00, 0x00, 0x00, -0x31, 0x67, 0x76, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x73, 0x08, 0x70, 0x00, 0x00, 0x00, 0x00, -0x33, 0x47, 0x58, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0xEA, 0x70, 0x00, 0x00, 0x00, 0x00, -0x35, 0x27, 0x3A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0xCC, 0x70, 0x00, 0x00, 0x00, 0x00, -0x37, 0x07, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0xE8, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x38, 0xE6, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0xCA, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x3A, 0xC6, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0xAC, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x3C, 0xAF, 0xFC, 0x80, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x8E, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x3E, 0x8F, 0xDE, 0x80, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x70, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x40, 0x6F, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x8D, 0x70, 0x00, 0x00, 0x00, 0x00, -0x42, 0x4F, 0xA2, 0x80, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x6F, 0x70, 0x00, 0x00, 0x00, 0x00, -0x44, 0x2F, 0x84, 0x80, 0x00, 0x00, 0x00, 0x00, 0x45, 0x44, 0x51, 0x70, 0x00, 0x00, 0x00, 0x00, -0x45, 0xF3, 0xB7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x2D, 0x6D, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x47, 0xD3, 0x99, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x0D, 0x4F, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x49, 0xB3, 0x7B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xED, 0x31, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x4B, 0x9C, 0x97, 0x80, 0x00, 0x00, 0x00, 0x00, 0x4C, 0xD6, 0x4E, 0x70, 0x00, 0x00, 0x00, 0x00, -0x4D, 0x7C, 0x79, 0x80, 0x00, 0x00, 0x00, 0x00, 0x4E, 0xB6, 0x30, 0x70, 0x00, 0x00, 0x00, 0x00, -0x4F, 0x5C, 0x5B, 0x80, 0x00, 0x00, 0x00, 0x00, 0x50, 0x96, 0x12, 0x70, 0x00, 0x00, 0x00, 0x00, -0x51, 0x3C, 0x3D, 0x80, 0x00, 0x00, 0x00, 0x00, 0x52, 0x75, 0xF4, 0x70, 0x00, 0x00, 0x00, 0x00, -0x53, 0x1C, 0x1F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x54, 0x55, 0xD6, 0x70, 0x00, 0x00, 0x00, 0x00, -0x54, 0xFC, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x56, 0x35, 0xB8, 0x70, 0x00, 0x00, 0x00, 0x00, -0x56, 0xE5, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 0x1E, 0xD4, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x58, 0xC5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x59, 0xFE, 0xB6, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x5A, 0xA4, 0xE2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5B, 0xDE, 0x98, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x5C, 0x84, 0xC4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5D, 0xBE, 0x7A, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x5E, 0x64, 0xA6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x9E, 0x5C, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x60, 0x4D, 0xC2, 0x80, 0x00, 0x00, 0x00, 0x00, 0x61, 0x87, 0x79, 0x70, 0x00, 0x00, 0x00, 0x00, -0x62, 0x2D, 0xA4, 0x80, 0x00, 0x00, 0x00, 0x00, 0x63, 0x67, 0x5B, 0x70, 0x00, 0x00, 0x00, 0x00, -0x64, 0x0D, 0x86, 0x80, 0x00, 0x00, 0x00, 0x00, 0x65, 0x47, 0x3D, 0x70, 0x00, 0x00, 0x00, 0x00, -0x65, 0xED, 0x68, 0x80, 0x00, 0x00, 0x00, 0x00, 0x67, 0x27, 0x1F, 0x70, 0x00, 0x00, 0x00, 0x00, -0x67, 0xCD, 0x4A, 0x80, 0x00, 0x00, 0x00, 0x00, 0x69, 0x07, 0x01, 0x70, 0x00, 0x00, 0x00, 0x00, -0x69, 0xAD, 0x2C, 0x80, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xE6, 0xE3, 0x70, 0x00, 0x00, 0x00, 0x00, -0x6B, 0x96, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xCF, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x6D, 0x76, 0x2B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6E, 0xAF, 0xE1, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x6F, 0x56, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x8F, 0xC3, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x71, 0x35, 0xEF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x72, 0x6F, 0xA5, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x73, 0x15, 0xD1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x74, 0x4F, 0x87, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x74, 0xFE, 0xED, 0x80, 0x00, 0x00, 0x00, 0x00, 0x76, 0x38, 0xA4, 0x70, 0x00, 0x00, 0x00, 0x00, -0x76, 0xDE, 0xCF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x78, 0x18, 0x86, 0x70, 0x00, 0x00, 0x00, 0x00, -0x78, 0xBE, 0xB1, 0x80, 0x00, 0x00, 0x00, 0x00, 0x79, 0xF8, 0x68, 0x70, 0x00, 0x00, 0x00, 0x00, -0x7A, 0x9E, 0x93, 0x80, 0x00, 0x00, 0x00, 0x00, 0x7B, 0xD8, 0x4A, 0x70, 0x00, 0x00, 0x00, 0x00, -0x7C, 0x7E, 0x75, 0x80, 0x00, 0x00, 0x00, 0x00, 0x7D, 0xB8, 0x2C, 0x70, 0x00, 0x00, 0x00, 0x00, -0x7E, 0x5E, 0x57, 0x80, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x98, 0x0E, 0x70, 0x02, 0x01, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x04, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x04, 0xFF, -0xFF, 0xAB, 0xA0, 0x00, 0x09, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x0D, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, -0x11, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x09, 0x2D, 0x30, 0x30, 0x00, 0x43, 0x44, 0x44, 0x54, 0x00, -0x43, 0x53, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x0A, 0x43, 0x53, 0x54, -0x36, 0x43, 0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, -0x31, 0x2E, 0x30, 0x0A, 0x00, 0xE9, 0x2E, 0x02, 0x00, 0x86, 0x26, 0x8E, 0x00, 0x00, 0x00, 0x16, -0x43, 0x65, 0x6E, 0x74, 0x72, 0x61, 0x6C, 0x20, 0x2D, 0x20, 0x4E, 0x55, 0x20, 0x28, 0x63, 0x65, -0x6E, 0x74, 0x72, 0x61, 0x6C, 0x29, +0x00, 0x00, 0x00, 0x85, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x10, 0xE7, 0x8C, 0x6E, 0x00, +0x04, 0x61, 0x0B, 0x80, 0x05, 0x50, 0xEE, 0x70, 0x06, 0x40, 0xED, 0x80, 0x07, 0x30, 0xD0, 0x70, +0x08, 0x20, 0xCF, 0x80, 0x09, 0x10, 0xB2, 0x70, 0x0A, 0x00, 0xB1, 0x80, 0x0A, 0xF0, 0x94, 0x70, +0x0B, 0xE0, 0x93, 0x80, 0x0C, 0xD9, 0xB0, 0xF0, 0x0D, 0xC0, 0x75, 0x80, 0x0E, 0xB9, 0x92, 0xF0, +0x0F, 0xA9, 0x92, 0x00, 0x10, 0x99, 0x74, 0xF0, 0x11, 0x89, 0x74, 0x00, 0x12, 0x79, 0x56, 0xF0, +0x13, 0x69, 0x56, 0x00, 0x14, 0x59, 0x38, 0xF0, 0x15, 0x49, 0x38, 0x00, 0x16, 0x39, 0x1A, 0xF0, +0x17, 0x29, 0x1A, 0x00, 0x18, 0x22, 0x37, 0x70, 0x19, 0x08, 0xFC, 0x00, 0x1A, 0x02, 0x19, 0x70, +0x1A, 0xF2, 0x18, 0x80, 0x1B, 0xE1, 0xFB, 0x70, 0x1C, 0xD1, 0xFA, 0x80, 0x1D, 0xC1, 0xDD, 0x70, +0x1E, 0xB1, 0xDC, 0x80, 0x1F, 0xA1, 0xBF, 0x70, 0x20, 0x76, 0x0F, 0x00, 0x21, 0x81, 0xA1, 0x70, +0x22, 0x55, 0xF1, 0x00, 0x23, 0x6A, 0xBD, 0xF0, 0x24, 0x35, 0xD3, 0x00, 0x25, 0x4A, 0x9F, 0xF0, +0x26, 0x15, 0xB5, 0x00, 0x27, 0x2A, 0x81, 0xF0, 0x27, 0xFE, 0xD1, 0x80, 0x29, 0x0A, 0x63, 0xF0, +0x29, 0xDE, 0xB3, 0x80, 0x2A, 0xEA, 0x45, 0xF0, 0x2B, 0xBE, 0x95, 0x80, 0x2C, 0xD3, 0x62, 0x70, +0x2D, 0x9E, 0x77, 0x80, 0x2E, 0xB3, 0x44, 0x70, 0x2F, 0x7E, 0x59, 0x80, 0x30, 0x93, 0x26, 0x70, +0x31, 0x67, 0x76, 0x00, 0x32, 0x73, 0x08, 0x70, 0x33, 0x47, 0x58, 0x00, 0x34, 0x52, 0xEA, 0x70, +0x35, 0x27, 0x3A, 0x00, 0x36, 0x32, 0xCC, 0x70, 0x37, 0x07, 0x1C, 0x00, 0x38, 0x1B, 0xE8, 0xF0, +0x38, 0xE6, 0xFE, 0x00, 0x39, 0xFB, 0xCA, 0xF0, 0x3A, 0xC6, 0xE0, 0x00, 0x3B, 0xDB, 0xAC, 0xF0, +0x3C, 0xAF, 0xFC, 0x80, 0x3D, 0xBB, 0x8E, 0xF0, 0x3E, 0x8F, 0xDE, 0x80, 0x3F, 0x9B, 0x70, 0xF0, +0x40, 0x6F, 0xC0, 0x80, 0x41, 0x84, 0x8D, 0x70, 0x42, 0x4F, 0xA2, 0x80, 0x43, 0x64, 0x6F, 0x70, +0x44, 0x2F, 0x84, 0x80, 0x45, 0x44, 0x51, 0x70, 0x45, 0xF3, 0xB7, 0x00, 0x47, 0x2D, 0x6D, 0xF0, +0x47, 0xD3, 0x99, 0x00, 0x49, 0x0D, 0x4F, 0xF0, 0x49, 0xB3, 0x7B, 0x00, 0x4A, 0xED, 0x31, 0xF0, +0x4B, 0x9C, 0x97, 0x80, 0x4C, 0xD6, 0x4E, 0x70, 0x4D, 0x7C, 0x79, 0x80, 0x4E, 0xB6, 0x30, 0x70, +0x4F, 0x5C, 0x5B, 0x80, 0x50, 0x96, 0x12, 0x70, 0x51, 0x3C, 0x3D, 0x80, 0x52, 0x75, 0xF4, 0x70, +0x53, 0x1C, 0x1F, 0x80, 0x54, 0x55, 0xD6, 0x70, 0x54, 0xFC, 0x01, 0x80, 0x56, 0x35, 0xB8, 0x70, +0x56, 0xE5, 0x1E, 0x00, 0x58, 0x1E, 0xD4, 0xF0, 0x58, 0xC5, 0x00, 0x00, 0x59, 0xFE, 0xB6, 0xF0, +0x5A, 0xA4, 0xE2, 0x00, 0x5B, 0xDE, 0x98, 0xF0, 0x5C, 0x84, 0xC4, 0x00, 0x5D, 0xBE, 0x7A, 0xF0, +0x5E, 0x64, 0xA6, 0x00, 0x5F, 0x9E, 0x5C, 0xF0, 0x60, 0x4D, 0xC2, 0x80, 0x61, 0x87, 0x79, 0x70, +0x62, 0x2D, 0xA4, 0x80, 0x63, 0x67, 0x5B, 0x70, 0x64, 0x0D, 0x86, 0x80, 0x65, 0x47, 0x3D, 0x70, +0x65, 0xED, 0x68, 0x80, 0x67, 0x27, 0x1F, 0x70, 0x67, 0xCD, 0x4A, 0x80, 0x69, 0x07, 0x01, 0x70, +0x69, 0xAD, 0x2C, 0x80, 0x6A, 0xE6, 0xE3, 0x70, 0x6B, 0x96, 0x49, 0x00, 0x6C, 0xCF, 0xFF, 0xF0, +0x6D, 0x76, 0x2B, 0x00, 0x6E, 0xAF, 0xE1, 0xF0, 0x6F, 0x56, 0x0D, 0x00, 0x70, 0x8F, 0xC3, 0xF0, +0x71, 0x35, 0xEF, 0x00, 0x72, 0x6F, 0xA5, 0xF0, 0x73, 0x15, 0xD1, 0x00, 0x74, 0x4F, 0x87, 0xF0, +0x74, 0xFE, 0xED, 0x80, 0x76, 0x38, 0xA4, 0x70, 0x76, 0xDE, 0xCF, 0x80, 0x78, 0x18, 0x86, 0x70, +0x78, 0xBE, 0xB1, 0x80, 0x79, 0xF8, 0x68, 0x70, 0x7A, 0x9E, 0x93, 0x80, 0x7B, 0xD8, 0x4A, 0x70, +0x7C, 0x7E, 0x75, 0x80, 0x7D, 0xB8, 0x2C, 0x70, 0x7E, 0x5E, 0x57, 0x80, 0x7F, 0x98, 0x0E, 0x70, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, +0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x08, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x0C, 0xFF, 0xFF, 0xAB, +0xA0, 0x00, 0x08, 0x2D, 0x30, 0x30, 0x00, 0x43, 0x44, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x45, +0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x85, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x10, 0xFF, +0xFF, 0xFF, 0xFF, 0xE7, 0x8C, 0x6E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x61, 0x0B, 0x80, 0x00, +0x00, 0x00, 0x00, 0x05, 0x50, 0xEE, 0x70, 0x00, 0x00, 0x00, 0x00, 0x06, 0x40, 0xED, 0x80, 0x00, +0x00, 0x00, 0x00, 0x07, 0x30, 0xD0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x08, 0x20, 0xCF, 0x80, 0x00, +0x00, 0x00, 0x00, 0x09, 0x10, 0xB2, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0xB1, 0x80, 0x00, +0x00, 0x00, 0x00, 0x0A, 0xF0, 0x94, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xE0, 0x93, 0x80, 0x00, +0x00, 0x00, 0x00, 0x0C, 0xD9, 0xB0, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x0D, 0xC0, 0x75, 0x80, 0x00, +0x00, 0x00, 0x00, 0x0E, 0xB9, 0x92, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xA9, 0x92, 0x00, 0x00, +0x00, 0x00, 0x00, 0x10, 0x99, 0x74, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x11, 0x89, 0x74, 0x00, 0x00, +0x00, 0x00, 0x00, 0x12, 0x79, 0x56, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x56, 0x00, 0x00, +0x00, 0x00, 0x00, 0x14, 0x59, 0x38, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x15, 0x49, 0x38, 0x00, 0x00, +0x00, 0x00, 0x00, 0x16, 0x39, 0x1A, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x17, 0x29, 0x1A, 0x00, 0x00, +0x00, 0x00, 0x00, 0x18, 0x22, 0x37, 0x70, 0x00, 0x00, 0x00, 0x00, 0x19, 0x08, 0xFC, 0x00, 0x00, +0x00, 0x00, 0x00, 0x1A, 0x02, 0x19, 0x70, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xF2, 0x18, 0x80, 0x00, +0x00, 0x00, 0x00, 0x1B, 0xE1, 0xFB, 0x70, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xD1, 0xFA, 0x80, 0x00, +0x00, 0x00, 0x00, 0x1D, 0xC1, 0xDD, 0x70, 0x00, 0x00, 0x00, 0x00, 0x1E, 0xB1, 0xDC, 0x80, 0x00, +0x00, 0x00, 0x00, 0x1F, 0xA1, 0xBF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x20, 0x76, 0x0F, 0x00, 0x00, +0x00, 0x00, 0x00, 0x21, 0x81, 0xA1, 0x70, 0x00, 0x00, 0x00, 0x00, 0x22, 0x55, 0xF1, 0x00, 0x00, +0x00, 0x00, 0x00, 0x23, 0x6A, 0xBD, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x24, 0x35, 0xD3, 0x00, 0x00, +0x00, 0x00, 0x00, 0x25, 0x4A, 0x9F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x26, 0x15, 0xB5, 0x00, 0x00, +0x00, 0x00, 0x00, 0x27, 0x2A, 0x81, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x27, 0xFE, 0xD1, 0x80, 0x00, +0x00, 0x00, 0x00, 0x29, 0x0A, 0x63, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x29, 0xDE, 0xB3, 0x80, 0x00, +0x00, 0x00, 0x00, 0x2A, 0xEA, 0x45, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xBE, 0x95, 0x80, 0x00, +0x00, 0x00, 0x00, 0x2C, 0xD3, 0x62, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x9E, 0x77, 0x80, 0x00, +0x00, 0x00, 0x00, 0x2E, 0xB3, 0x44, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x7E, 0x59, 0x80, 0x00, +0x00, 0x00, 0x00, 0x30, 0x93, 0x26, 0x70, 0x00, 0x00, 0x00, 0x00, 0x31, 0x67, 0x76, 0x00, 0x00, +0x00, 0x00, 0x00, 0x32, 0x73, 0x08, 0x70, 0x00, 0x00, 0x00, 0x00, 0x33, 0x47, 0x58, 0x00, 0x00, +0x00, 0x00, 0x00, 0x34, 0x52, 0xEA, 0x70, 0x00, 0x00, 0x00, 0x00, 0x35, 0x27, 0x3A, 0x00, 0x00, +0x00, 0x00, 0x00, 0x36, 0x32, 0xCC, 0x70, 0x00, 0x00, 0x00, 0x00, 0x37, 0x07, 0x1C, 0x00, 0x00, +0x00, 0x00, 0x00, 0x38, 0x1B, 0xE8, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x38, 0xE6, 0xFE, 0x00, 0x00, +0x00, 0x00, 0x00, 0x39, 0xFB, 0xCA, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xC6, 0xE0, 0x00, 0x00, +0x00, 0x00, 0x00, 0x3B, 0xDB, 0xAC, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xAF, 0xFC, 0x80, 0x00, +0x00, 0x00, 0x00, 0x3D, 0xBB, 0x8E, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x8F, 0xDE, 0x80, 0x00, +0x00, 0x00, 0x00, 0x3F, 0x9B, 0x70, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x40, 0x6F, 0xC0, 0x80, 0x00, +0x00, 0x00, 0x00, 0x41, 0x84, 0x8D, 0x70, 0x00, 0x00, 0x00, 0x00, 0x42, 0x4F, 0xA2, 0x80, 0x00, +0x00, 0x00, 0x00, 0x43, 0x64, 0x6F, 0x70, 0x00, 0x00, 0x00, 0x00, 0x44, 0x2F, 0x84, 0x80, 0x00, +0x00, 0x00, 0x00, 0x45, 0x44, 0x51, 0x70, 0x00, 0x00, 0x00, 0x00, 0x45, 0xF3, 0xB7, 0x00, 0x00, +0x00, 0x00, 0x00, 0x47, 0x2D, 0x6D, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x47, 0xD3, 0x99, 0x00, 0x00, +0x00, 0x00, 0x00, 0x49, 0x0D, 0x4F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x49, 0xB3, 0x7B, 0x00, 0x00, +0x00, 0x00, 0x00, 0x4A, 0xED, 0x31, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x4B, 0x9C, 0x97, 0x80, 0x00, +0x00, 0x00, 0x00, 0x4C, 0xD6, 0x4E, 0x70, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x7C, 0x79, 0x80, 0x00, +0x00, 0x00, 0x00, 0x4E, 0xB6, 0x30, 0x70, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x5C, 0x5B, 0x80, 0x00, +0x00, 0x00, 0x00, 0x50, 0x96, 0x12, 0x70, 0x00, 0x00, 0x00, 0x00, 0x51, 0x3C, 0x3D, 0x80, 0x00, +0x00, 0x00, 0x00, 0x52, 0x75, 0xF4, 0x70, 0x00, 0x00, 0x00, 0x00, 0x53, 0x1C, 0x1F, 0x80, 0x00, +0x00, 0x00, 0x00, 0x54, 0x55, 0xD6, 0x70, 0x00, 0x00, 0x00, 0x00, 0x54, 0xFC, 0x01, 0x80, 0x00, +0x00, 0x00, 0x00, 0x56, 0x35, 0xB8, 0x70, 0x00, 0x00, 0x00, 0x00, 0x56, 0xE5, 0x1E, 0x00, 0x00, +0x00, 0x00, 0x00, 0x58, 0x1E, 0xD4, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x58, 0xC5, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x59, 0xFE, 0xB6, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xA4, 0xE2, 0x00, 0x00, +0x00, 0x00, 0x00, 0x5B, 0xDE, 0x98, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x5C, 0x84, 0xC4, 0x00, 0x00, +0x00, 0x00, 0x00, 0x5D, 0xBE, 0x7A, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x64, 0xA6, 0x00, 0x00, +0x00, 0x00, 0x00, 0x5F, 0x9E, 0x5C, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x60, 0x4D, 0xC2, 0x80, 0x00, +0x00, 0x00, 0x00, 0x61, 0x87, 0x79, 0x70, 0x00, 0x00, 0x00, 0x00, 0x62, 0x2D, 0xA4, 0x80, 0x00, +0x00, 0x00, 0x00, 0x63, 0x67, 0x5B, 0x70, 0x00, 0x00, 0x00, 0x00, 0x64, 0x0D, 0x86, 0x80, 0x00, +0x00, 0x00, 0x00, 0x65, 0x47, 0x3D, 0x70, 0x00, 0x00, 0x00, 0x00, 0x65, 0xED, 0x68, 0x80, 0x00, +0x00, 0x00, 0x00, 0x67, 0x27, 0x1F, 0x70, 0x00, 0x00, 0x00, 0x00, 0x67, 0xCD, 0x4A, 0x80, 0x00, +0x00, 0x00, 0x00, 0x69, 0x07, 0x01, 0x70, 0x00, 0x00, 0x00, 0x00, 0x69, 0xAD, 0x2C, 0x80, 0x00, +0x00, 0x00, 0x00, 0x6A, 0xE6, 0xE3, 0x70, 0x00, 0x00, 0x00, 0x00, 0x6B, 0x96, 0x49, 0x00, 0x00, +0x00, 0x00, 0x00, 0x6C, 0xCF, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x76, 0x2B, 0x00, 0x00, +0x00, 0x00, 0x00, 0x6E, 0xAF, 0xE1, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x56, 0x0D, 0x00, 0x00, +0x00, 0x00, 0x00, 0x70, 0x8F, 0xC3, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x71, 0x35, 0xEF, 0x00, 0x00, +0x00, 0x00, 0x00, 0x72, 0x6F, 0xA5, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x73, 0x15, 0xD1, 0x00, 0x00, +0x00, 0x00, 0x00, 0x74, 0x4F, 0x87, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x74, 0xFE, 0xED, 0x80, 0x00, +0x00, 0x00, 0x00, 0x76, 0x38, 0xA4, 0x70, 0x00, 0x00, 0x00, 0x00, 0x76, 0xDE, 0xCF, 0x80, 0x00, +0x00, 0x00, 0x00, 0x78, 0x18, 0x86, 0x70, 0x00, 0x00, 0x00, 0x00, 0x78, 0xBE, 0xB1, 0x80, 0x00, +0x00, 0x00, 0x00, 0x79, 0xF8, 0x68, 0x70, 0x00, 0x00, 0x00, 0x00, 0x7A, 0x9E, 0x93, 0x80, 0x00, +0x00, 0x00, 0x00, 0x7B, 0xD8, 0x4A, 0x70, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x7E, 0x75, 0x80, 0x00, +0x00, 0x00, 0x00, 0x7D, 0xB8, 0x2C, 0x70, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x5E, 0x57, 0x80, 0x00, +0x00, 0x00, 0x00, 0x7F, 0x98, 0x0E, 0x70, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x08, 0xFF, 0xFF, +0xB9, 0xB0, 0x00, 0x0C, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x08, 0x2D, 0x30, 0x30, 0x00, 0x43, 0x44, +0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x0A, 0x43, 0x53, 0x54, 0x36, 0x43, +0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, 0x31, 0x2E, +0x30, 0x0A, 0x00, 0xE9, 0x2E, 0x02, 0x00, 0x86, 0x26, 0x8E, 0x00, 0x00, 0x00, 0x16, 0x43, 0x65, +0x6E, 0x74, 0x72, 0x61, 0x6C, 0x20, 0x2D, 0x20, 0x4E, 0x55, 0x20, 0x28, 0x63, 0x65, 0x6E, 0x74, +0x72, 0x61, 0x6C, 0x29, /* America/Recife */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x42, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -37627,125 +37888,136 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { /* America/Resolute */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x15, 0xD5, 0xFB, 0x81, 0x80, -0xF7, 0x2F, 0x4C, 0x60, 0xF8, 0x28, 0x77, 0xE0, 0x13, 0x69, 0x56, 0x00, 0x14, 0x59, 0x38, 0xF0, -0x15, 0x49, 0x38, 0x00, 0x16, 0x39, 0x1A, 0xF0, 0x17, 0x29, 0x1A, 0x00, 0x18, 0x22, 0x37, 0x70, -0x19, 0x08, 0xFC, 0x00, 0x1A, 0x02, 0x19, 0x70, 0x1A, 0xF2, 0x18, 0x80, 0x1B, 0xE1, 0xFB, 0x70, -0x1C, 0xD1, 0xFA, 0x80, 0x1D, 0xC1, 0xDD, 0x70, 0x1E, 0xB1, 0xDC, 0x80, 0x1F, 0xA1, 0xBF, 0x70, -0x20, 0x76, 0x0F, 0x00, 0x21, 0x81, 0xA1, 0x70, 0x22, 0x55, 0xF1, 0x00, 0x23, 0x6A, 0xBD, 0xF0, -0x24, 0x35, 0xD3, 0x00, 0x25, 0x4A, 0x9F, 0xF0, 0x26, 0x15, 0xB5, 0x00, 0x27, 0x2A, 0x81, 0xF0, -0x27, 0xFE, 0xD1, 0x80, 0x29, 0x0A, 0x63, 0xF0, 0x29, 0xDE, 0xB3, 0x80, 0x2A, 0xEA, 0x45, 0xF0, -0x2B, 0xBE, 0x95, 0x80, 0x2C, 0xD3, 0x62, 0x70, 0x2D, 0x9E, 0x77, 0x80, 0x2E, 0xB3, 0x44, 0x70, -0x2F, 0x7E, 0x59, 0x80, 0x30, 0x93, 0x26, 0x70, 0x31, 0x67, 0x76, 0x00, 0x32, 0x73, 0x08, 0x70, -0x33, 0x47, 0x58, 0x00, 0x34, 0x52, 0xEA, 0x70, 0x35, 0x27, 0x3A, 0x00, 0x36, 0x32, 0xCC, 0x70, -0x37, 0x07, 0x1C, 0x00, 0x38, 0x1B, 0xE8, 0xF0, 0x38, 0xE6, 0xFE, 0x00, 0x39, 0xFB, 0xCA, 0xF0, -0x3A, 0xC6, 0xE0, 0x00, 0x3B, 0xDB, 0xAC, 0xF0, 0x3C, 0xAF, 0xFC, 0x80, 0x3D, 0xBB, 0x8E, 0xF0, -0x3E, 0x8F, 0xDE, 0x80, 0x3F, 0x9B, 0x70, 0xF0, 0x40, 0x6F, 0xC0, 0x80, 0x41, 0x84, 0x8D, 0x70, -0x42, 0x4F, 0xA2, 0x80, 0x43, 0x64, 0x6F, 0x70, 0x44, 0x2F, 0x84, 0x80, 0x45, 0x44, 0x51, 0x70, -0x45, 0xF3, 0xB7, 0x00, 0x47, 0x2D, 0x6D, 0xF0, 0x47, 0xD3, 0x99, 0x00, 0x49, 0x0D, 0x4F, 0xF0, -0x49, 0xB3, 0x7B, 0x00, 0x4A, 0xED, 0x31, 0xF0, 0x4B, 0x9C, 0x97, 0x80, 0x4C, 0xD6, 0x4E, 0x70, -0x4D, 0x7C, 0x79, 0x80, 0x4E, 0xB6, 0x30, 0x70, 0x4F, 0x5C, 0x5B, 0x80, 0x50, 0x96, 0x12, 0x70, -0x51, 0x3C, 0x3D, 0x80, 0x52, 0x75, 0xF4, 0x70, 0x53, 0x1C, 0x1F, 0x80, 0x54, 0x55, 0xD6, 0x70, -0x54, 0xFC, 0x01, 0x80, 0x56, 0x35, 0xB8, 0x70, 0x56, 0xE5, 0x1E, 0x00, 0x58, 0x1E, 0xD4, 0xF0, -0x58, 0xC5, 0x00, 0x00, 0x59, 0xFE, 0xB6, 0xF0, 0x5A, 0xA4, 0xE2, 0x00, 0x5B, 0xDE, 0x98, 0xF0, -0x5C, 0x84, 0xC4, 0x00, 0x5D, 0xBE, 0x7A, 0xF0, 0x5E, 0x64, 0xA6, 0x00, 0x5F, 0x9E, 0x5C, 0xF0, -0x60, 0x4D, 0xC2, 0x80, 0x61, 0x87, 0x79, 0x70, 0x62, 0x2D, 0xA4, 0x80, 0x63, 0x67, 0x5B, 0x70, -0x64, 0x0D, 0x86, 0x80, 0x65, 0x47, 0x3D, 0x70, 0x65, 0xED, 0x68, 0x80, 0x67, 0x27, 0x1F, 0x70, -0x67, 0xCD, 0x4A, 0x80, 0x69, 0x07, 0x01, 0x70, 0x69, 0xAD, 0x2C, 0x80, 0x6A, 0xE6, 0xE3, 0x70, -0x6B, 0x96, 0x49, 0x00, 0x6C, 0xCF, 0xFF, 0xF0, 0x6D, 0x76, 0x2B, 0x00, 0x6E, 0xAF, 0xE1, 0xF0, -0x6F, 0x56, 0x0D, 0x00, 0x70, 0x8F, 0xC3, 0xF0, 0x71, 0x35, 0xEF, 0x00, 0x72, 0x6F, 0xA5, 0xF0, -0x73, 0x15, 0xD1, 0x00, 0x74, 0x4F, 0x87, 0xF0, 0x74, 0xFE, 0xED, 0x80, 0x76, 0x38, 0xA4, 0x70, -0x76, 0xDE, 0xCF, 0x80, 0x78, 0x18, 0x86, 0x70, 0x78, 0xBE, 0xB1, 0x80, 0x79, 0xF8, 0x68, 0x70, -0x7A, 0x9E, 0x93, 0x80, 0x7B, 0xD8, 0x4A, 0x70, 0x7C, 0x7E, 0x75, 0x80, 0x7D, 0xB8, 0x2C, 0x70, -0x7E, 0x5E, 0x57, 0x80, 0x7F, 0x98, 0x0E, 0x70, 0x02, 0x01, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x04, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x04, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, -0x09, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x0D, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x11, 0xFF, 0xFF, 0xAB, -0xA0, 0x00, 0x09, 0x2D, 0x30, 0x30, 0x00, 0x43, 0x44, 0x44, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, -0x43, 0x44, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, 0x06, -0x00, 0x00, 0x00, 0x15, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0xFB, 0x81, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, -0xF7, 0x2F, 0x4C, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x28, 0x77, 0xE0, 0x00, 0x00, 0x00, 0x00, -0x13, 0x69, 0x56, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x59, 0x38, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x15, 0x49, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0x39, 0x1A, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x17, 0x29, 0x1A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x22, 0x37, 0x70, 0x00, 0x00, 0x00, 0x00, -0x19, 0x08, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x02, 0x19, 0x70, 0x00, 0x00, 0x00, 0x00, -0x1A, 0xF2, 0x18, 0x80, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xE1, 0xFB, 0x70, 0x00, 0x00, 0x00, 0x00, -0x1C, 0xD1, 0xFA, 0x80, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xC1, 0xDD, 0x70, 0x00, 0x00, 0x00, 0x00, -0x1E, 0xB1, 0xDC, 0x80, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xA1, 0xBF, 0x70, 0x00, 0x00, 0x00, 0x00, -0x20, 0x76, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x81, 0xA1, 0x70, 0x00, 0x00, 0x00, 0x00, -0x22, 0x55, 0xF1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x23, 0x6A, 0xBD, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x24, 0x35, 0xD3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x25, 0x4A, 0x9F, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x26, 0x15, 0xB5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0x2A, 0x81, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x27, 0xFE, 0xD1, 0x80, 0x00, 0x00, 0x00, 0x00, 0x29, 0x0A, 0x63, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x29, 0xDE, 0xB3, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xEA, 0x45, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x2B, 0xBE, 0x95, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xD3, 0x62, 0x70, 0x00, 0x00, 0x00, 0x00, -0x2D, 0x9E, 0x77, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2E, 0xB3, 0x44, 0x70, 0x00, 0x00, 0x00, 0x00, -0x2F, 0x7E, 0x59, 0x80, 0x00, 0x00, 0x00, 0x00, 0x30, 0x93, 0x26, 0x70, 0x00, 0x00, 0x00, 0x00, -0x31, 0x67, 0x76, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x73, 0x08, 0x70, 0x00, 0x00, 0x00, 0x00, -0x33, 0x47, 0x58, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0xEA, 0x70, 0x00, 0x00, 0x00, 0x00, -0x35, 0x27, 0x3A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0xCC, 0x70, 0x00, 0x00, 0x00, 0x00, -0x37, 0x07, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0xE8, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x38, 0xE6, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0xCA, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x3A, 0xC6, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0xAC, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x3C, 0xAF, 0xFC, 0x80, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x8E, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x3E, 0x8F, 0xDE, 0x80, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x70, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x40, 0x6F, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x8D, 0x70, 0x00, 0x00, 0x00, 0x00, -0x42, 0x4F, 0xA2, 0x80, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x6F, 0x70, 0x00, 0x00, 0x00, 0x00, -0x44, 0x2F, 0x84, 0x80, 0x00, 0x00, 0x00, 0x00, 0x45, 0x44, 0x51, 0x70, 0x00, 0x00, 0x00, 0x00, -0x45, 0xF3, 0xB7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x2D, 0x6D, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x47, 0xD3, 0x99, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x0D, 0x4F, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x49, 0xB3, 0x7B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xED, 0x31, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x4B, 0x9C, 0x97, 0x80, 0x00, 0x00, 0x00, 0x00, 0x4C, 0xD6, 0x4E, 0x70, 0x00, 0x00, 0x00, 0x00, -0x4D, 0x7C, 0x79, 0x80, 0x00, 0x00, 0x00, 0x00, 0x4E, 0xB6, 0x30, 0x70, 0x00, 0x00, 0x00, 0x00, -0x4F, 0x5C, 0x5B, 0x80, 0x00, 0x00, 0x00, 0x00, 0x50, 0x96, 0x12, 0x70, 0x00, 0x00, 0x00, 0x00, -0x51, 0x3C, 0x3D, 0x80, 0x00, 0x00, 0x00, 0x00, 0x52, 0x75, 0xF4, 0x70, 0x00, 0x00, 0x00, 0x00, -0x53, 0x1C, 0x1F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x54, 0x55, 0xD6, 0x70, 0x00, 0x00, 0x00, 0x00, -0x54, 0xFC, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x56, 0x35, 0xB8, 0x70, 0x00, 0x00, 0x00, 0x00, -0x56, 0xE5, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 0x1E, 0xD4, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x58, 0xC5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x59, 0xFE, 0xB6, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x5A, 0xA4, 0xE2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5B, 0xDE, 0x98, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x5C, 0x84, 0xC4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5D, 0xBE, 0x7A, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x5E, 0x64, 0xA6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x9E, 0x5C, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x60, 0x4D, 0xC2, 0x80, 0x00, 0x00, 0x00, 0x00, 0x61, 0x87, 0x79, 0x70, 0x00, 0x00, 0x00, 0x00, -0x62, 0x2D, 0xA4, 0x80, 0x00, 0x00, 0x00, 0x00, 0x63, 0x67, 0x5B, 0x70, 0x00, 0x00, 0x00, 0x00, -0x64, 0x0D, 0x86, 0x80, 0x00, 0x00, 0x00, 0x00, 0x65, 0x47, 0x3D, 0x70, 0x00, 0x00, 0x00, 0x00, -0x65, 0xED, 0x68, 0x80, 0x00, 0x00, 0x00, 0x00, 0x67, 0x27, 0x1F, 0x70, 0x00, 0x00, 0x00, 0x00, -0x67, 0xCD, 0x4A, 0x80, 0x00, 0x00, 0x00, 0x00, 0x69, 0x07, 0x01, 0x70, 0x00, 0x00, 0x00, 0x00, -0x69, 0xAD, 0x2C, 0x80, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xE6, 0xE3, 0x70, 0x00, 0x00, 0x00, 0x00, -0x6B, 0x96, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xCF, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x6D, 0x76, 0x2B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6E, 0xAF, 0xE1, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x6F, 0x56, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x8F, 0xC3, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x71, 0x35, 0xEF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x72, 0x6F, 0xA5, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x73, 0x15, 0xD1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x74, 0x4F, 0x87, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x74, 0xFE, 0xED, 0x80, 0x00, 0x00, 0x00, 0x00, 0x76, 0x38, 0xA4, 0x70, 0x00, 0x00, 0x00, 0x00, -0x76, 0xDE, 0xCF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x78, 0x18, 0x86, 0x70, 0x00, 0x00, 0x00, 0x00, -0x78, 0xBE, 0xB1, 0x80, 0x00, 0x00, 0x00, 0x00, 0x79, 0xF8, 0x68, 0x70, 0x00, 0x00, 0x00, 0x00, -0x7A, 0x9E, 0x93, 0x80, 0x00, 0x00, 0x00, 0x00, 0x7B, 0xD8, 0x4A, 0x70, 0x00, 0x00, 0x00, 0x00, -0x7C, 0x7E, 0x75, 0x80, 0x00, 0x00, 0x00, 0x00, 0x7D, 0xB8, 0x2C, 0x70, 0x00, 0x00, 0x00, 0x00, -0x7E, 0x5E, 0x57, 0x80, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x98, 0x0E, 0x70, 0x02, 0x01, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x04, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x04, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xC7, 0xC0, 0x01, 0x04, 0xFF, -0xFF, 0xAB, 0xA0, 0x00, 0x09, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x0D, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, -0x11, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x09, 0x2D, 0x30, 0x30, 0x00, 0x43, 0x44, 0x44, 0x54, 0x00, -0x43, 0x53, 0x54, 0x00, 0x43, 0x44, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x0A, 0x43, 0x53, 0x54, -0x36, 0x43, 0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, -0x31, 0x2E, 0x30, 0x0A, 0x00, 0xFB, 0x4E, 0x33, 0x00, 0x81, 0xF5, 0xDB, 0x00, 0x00, 0x00, 0x17, -0x43, 0x65, 0x6E, 0x74, 0x72, 0x61, 0x6C, 0x20, 0x2D, 0x20, 0x4E, 0x55, 0x20, 0x28, 0x52, 0x65, -0x73, 0x6F, 0x6C, 0x75, 0x74, 0x65, 0x29, +0x00, 0x00, 0x00, 0x85, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x10, 0xD5, 0xFB, 0x81, 0x80, +0x04, 0x61, 0x0B, 0x80, 0x05, 0x50, 0xEE, 0x70, 0x06, 0x40, 0xED, 0x80, 0x07, 0x30, 0xD0, 0x70, +0x08, 0x20, 0xCF, 0x80, 0x09, 0x10, 0xB2, 0x70, 0x0A, 0x00, 0xB1, 0x80, 0x0A, 0xF0, 0x94, 0x70, +0x0B, 0xE0, 0x93, 0x80, 0x0C, 0xD9, 0xB0, 0xF0, 0x0D, 0xC0, 0x75, 0x80, 0x0E, 0xB9, 0x92, 0xF0, +0x0F, 0xA9, 0x92, 0x00, 0x10, 0x99, 0x74, 0xF0, 0x11, 0x89, 0x74, 0x00, 0x12, 0x79, 0x56, 0xF0, +0x13, 0x69, 0x56, 0x00, 0x14, 0x59, 0x38, 0xF0, 0x15, 0x49, 0x38, 0x00, 0x16, 0x39, 0x1A, 0xF0, +0x17, 0x29, 0x1A, 0x00, 0x18, 0x22, 0x37, 0x70, 0x19, 0x08, 0xFC, 0x00, 0x1A, 0x02, 0x19, 0x70, +0x1A, 0xF2, 0x18, 0x80, 0x1B, 0xE1, 0xFB, 0x70, 0x1C, 0xD1, 0xFA, 0x80, 0x1D, 0xC1, 0xDD, 0x70, +0x1E, 0xB1, 0xDC, 0x80, 0x1F, 0xA1, 0xBF, 0x70, 0x20, 0x76, 0x0F, 0x00, 0x21, 0x81, 0xA1, 0x70, +0x22, 0x55, 0xF1, 0x00, 0x23, 0x6A, 0xBD, 0xF0, 0x24, 0x35, 0xD3, 0x00, 0x25, 0x4A, 0x9F, 0xF0, +0x26, 0x15, 0xB5, 0x00, 0x27, 0x2A, 0x81, 0xF0, 0x27, 0xFE, 0xD1, 0x80, 0x29, 0x0A, 0x63, 0xF0, +0x29, 0xDE, 0xB3, 0x80, 0x2A, 0xEA, 0x45, 0xF0, 0x2B, 0xBE, 0x95, 0x80, 0x2C, 0xD3, 0x62, 0x70, +0x2D, 0x9E, 0x77, 0x80, 0x2E, 0xB3, 0x44, 0x70, 0x2F, 0x7E, 0x59, 0x80, 0x30, 0x93, 0x26, 0x70, +0x31, 0x67, 0x76, 0x00, 0x32, 0x73, 0x08, 0x70, 0x33, 0x47, 0x58, 0x00, 0x34, 0x52, 0xEA, 0x70, +0x35, 0x27, 0x3A, 0x00, 0x36, 0x32, 0xCC, 0x70, 0x37, 0x07, 0x1C, 0x00, 0x38, 0x1B, 0xE8, 0xF0, +0x38, 0xE6, 0xFE, 0x00, 0x39, 0xFB, 0xCA, 0xF0, 0x3A, 0xC6, 0xE0, 0x00, 0x3B, 0xDB, 0xAC, 0xF0, +0x3C, 0xAF, 0xFC, 0x80, 0x3D, 0xBB, 0x8E, 0xF0, 0x3E, 0x8F, 0xDE, 0x80, 0x3F, 0x9B, 0x70, 0xF0, +0x40, 0x6F, 0xC0, 0x80, 0x41, 0x84, 0x8D, 0x70, 0x42, 0x4F, 0xA2, 0x80, 0x43, 0x64, 0x6F, 0x70, +0x44, 0x2F, 0x84, 0x80, 0x45, 0x44, 0x51, 0x70, 0x45, 0xF3, 0xB7, 0x00, 0x47, 0x2D, 0x6D, 0xF0, +0x47, 0xD3, 0x99, 0x00, 0x49, 0x0D, 0x4F, 0xF0, 0x49, 0xB3, 0x7B, 0x00, 0x4A, 0xED, 0x31, 0xF0, +0x4B, 0x9C, 0x97, 0x80, 0x4C, 0xD6, 0x4E, 0x70, 0x4D, 0x7C, 0x79, 0x80, 0x4E, 0xB6, 0x30, 0x70, +0x4F, 0x5C, 0x5B, 0x80, 0x50, 0x96, 0x12, 0x70, 0x51, 0x3C, 0x3D, 0x80, 0x52, 0x75, 0xF4, 0x70, +0x53, 0x1C, 0x1F, 0x80, 0x54, 0x55, 0xD6, 0x70, 0x54, 0xFC, 0x01, 0x80, 0x56, 0x35, 0xB8, 0x70, +0x56, 0xE5, 0x1E, 0x00, 0x58, 0x1E, 0xD4, 0xF0, 0x58, 0xC5, 0x00, 0x00, 0x59, 0xFE, 0xB6, 0xF0, +0x5A, 0xA4, 0xE2, 0x00, 0x5B, 0xDE, 0x98, 0xF0, 0x5C, 0x84, 0xC4, 0x00, 0x5D, 0xBE, 0x7A, 0xF0, +0x5E, 0x64, 0xA6, 0x00, 0x5F, 0x9E, 0x5C, 0xF0, 0x60, 0x4D, 0xC2, 0x80, 0x61, 0x87, 0x79, 0x70, +0x62, 0x2D, 0xA4, 0x80, 0x63, 0x67, 0x5B, 0x70, 0x64, 0x0D, 0x86, 0x80, 0x65, 0x47, 0x3D, 0x70, +0x65, 0xED, 0x68, 0x80, 0x67, 0x27, 0x1F, 0x70, 0x67, 0xCD, 0x4A, 0x80, 0x69, 0x07, 0x01, 0x70, +0x69, 0xAD, 0x2C, 0x80, 0x6A, 0xE6, 0xE3, 0x70, 0x6B, 0x96, 0x49, 0x00, 0x6C, 0xCF, 0xFF, 0xF0, +0x6D, 0x76, 0x2B, 0x00, 0x6E, 0xAF, 0xE1, 0xF0, 0x6F, 0x56, 0x0D, 0x00, 0x70, 0x8F, 0xC3, 0xF0, +0x71, 0x35, 0xEF, 0x00, 0x72, 0x6F, 0xA5, 0xF0, 0x73, 0x15, 0xD1, 0x00, 0x74, 0x4F, 0x87, 0xF0, +0x74, 0xFE, 0xED, 0x80, 0x76, 0x38, 0xA4, 0x70, 0x76, 0xDE, 0xCF, 0x80, 0x78, 0x18, 0x86, 0x70, +0x78, 0xBE, 0xB1, 0x80, 0x79, 0xF8, 0x68, 0x70, 0x7A, 0x9E, 0x93, 0x80, 0x7B, 0xD8, 0x4A, 0x70, +0x7C, 0x7E, 0x75, 0x80, 0x7D, 0xB8, 0x2C, 0x70, 0x7E, 0x5E, 0x57, 0x80, 0x7F, 0x98, 0x0E, 0x70, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, +0x02, 0x01, 0x02, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, +0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x08, 0xFF, 0xFF, 0xB9, 0xB0, 0x00, 0x0C, 0xFF, 0xFF, 0xAB, +0xA0, 0x00, 0x08, 0x2D, 0x30, 0x30, 0x00, 0x43, 0x44, 0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x45, +0x53, 0x54, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x85, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x10, 0xFF, +0xFF, 0xFF, 0xFF, 0xD5, 0xFB, 0x81, 0x80, 0x00, 0x00, 0x00, 0x00, 0x04, 0x61, 0x0B, 0x80, 0x00, +0x00, 0x00, 0x00, 0x05, 0x50, 0xEE, 0x70, 0x00, 0x00, 0x00, 0x00, 0x06, 0x40, 0xED, 0x80, 0x00, +0x00, 0x00, 0x00, 0x07, 0x30, 0xD0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x08, 0x20, 0xCF, 0x80, 0x00, +0x00, 0x00, 0x00, 0x09, 0x10, 0xB2, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0xB1, 0x80, 0x00, +0x00, 0x00, 0x00, 0x0A, 0xF0, 0x94, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xE0, 0x93, 0x80, 0x00, +0x00, 0x00, 0x00, 0x0C, 0xD9, 0xB0, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x0D, 0xC0, 0x75, 0x80, 0x00, +0x00, 0x00, 0x00, 0x0E, 0xB9, 0x92, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xA9, 0x92, 0x00, 0x00, +0x00, 0x00, 0x00, 0x10, 0x99, 0x74, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x11, 0x89, 0x74, 0x00, 0x00, +0x00, 0x00, 0x00, 0x12, 0x79, 0x56, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x56, 0x00, 0x00, +0x00, 0x00, 0x00, 0x14, 0x59, 0x38, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x15, 0x49, 0x38, 0x00, 0x00, +0x00, 0x00, 0x00, 0x16, 0x39, 0x1A, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x17, 0x29, 0x1A, 0x00, 0x00, +0x00, 0x00, 0x00, 0x18, 0x22, 0x37, 0x70, 0x00, 0x00, 0x00, 0x00, 0x19, 0x08, 0xFC, 0x00, 0x00, +0x00, 0x00, 0x00, 0x1A, 0x02, 0x19, 0x70, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xF2, 0x18, 0x80, 0x00, +0x00, 0x00, 0x00, 0x1B, 0xE1, 0xFB, 0x70, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xD1, 0xFA, 0x80, 0x00, +0x00, 0x00, 0x00, 0x1D, 0xC1, 0xDD, 0x70, 0x00, 0x00, 0x00, 0x00, 0x1E, 0xB1, 0xDC, 0x80, 0x00, +0x00, 0x00, 0x00, 0x1F, 0xA1, 0xBF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x20, 0x76, 0x0F, 0x00, 0x00, +0x00, 0x00, 0x00, 0x21, 0x81, 0xA1, 0x70, 0x00, 0x00, 0x00, 0x00, 0x22, 0x55, 0xF1, 0x00, 0x00, +0x00, 0x00, 0x00, 0x23, 0x6A, 0xBD, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x24, 0x35, 0xD3, 0x00, 0x00, +0x00, 0x00, 0x00, 0x25, 0x4A, 0x9F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x26, 0x15, 0xB5, 0x00, 0x00, +0x00, 0x00, 0x00, 0x27, 0x2A, 0x81, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x27, 0xFE, 0xD1, 0x80, 0x00, +0x00, 0x00, 0x00, 0x29, 0x0A, 0x63, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x29, 0xDE, 0xB3, 0x80, 0x00, +0x00, 0x00, 0x00, 0x2A, 0xEA, 0x45, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xBE, 0x95, 0x80, 0x00, +0x00, 0x00, 0x00, 0x2C, 0xD3, 0x62, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x9E, 0x77, 0x80, 0x00, +0x00, 0x00, 0x00, 0x2E, 0xB3, 0x44, 0x70, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x7E, 0x59, 0x80, 0x00, +0x00, 0x00, 0x00, 0x30, 0x93, 0x26, 0x70, 0x00, 0x00, 0x00, 0x00, 0x31, 0x67, 0x76, 0x00, 0x00, +0x00, 0x00, 0x00, 0x32, 0x73, 0x08, 0x70, 0x00, 0x00, 0x00, 0x00, 0x33, 0x47, 0x58, 0x00, 0x00, +0x00, 0x00, 0x00, 0x34, 0x52, 0xEA, 0x70, 0x00, 0x00, 0x00, 0x00, 0x35, 0x27, 0x3A, 0x00, 0x00, +0x00, 0x00, 0x00, 0x36, 0x32, 0xCC, 0x70, 0x00, 0x00, 0x00, 0x00, 0x37, 0x07, 0x1C, 0x00, 0x00, +0x00, 0x00, 0x00, 0x38, 0x1B, 0xE8, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x38, 0xE6, 0xFE, 0x00, 0x00, +0x00, 0x00, 0x00, 0x39, 0xFB, 0xCA, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xC6, 0xE0, 0x00, 0x00, +0x00, 0x00, 0x00, 0x3B, 0xDB, 0xAC, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xAF, 0xFC, 0x80, 0x00, +0x00, 0x00, 0x00, 0x3D, 0xBB, 0x8E, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x8F, 0xDE, 0x80, 0x00, +0x00, 0x00, 0x00, 0x3F, 0x9B, 0x70, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x40, 0x6F, 0xC0, 0x80, 0x00, +0x00, 0x00, 0x00, 0x41, 0x84, 0x8D, 0x70, 0x00, 0x00, 0x00, 0x00, 0x42, 0x4F, 0xA2, 0x80, 0x00, +0x00, 0x00, 0x00, 0x43, 0x64, 0x6F, 0x70, 0x00, 0x00, 0x00, 0x00, 0x44, 0x2F, 0x84, 0x80, 0x00, +0x00, 0x00, 0x00, 0x45, 0x44, 0x51, 0x70, 0x00, 0x00, 0x00, 0x00, 0x45, 0xF3, 0xB7, 0x00, 0x00, +0x00, 0x00, 0x00, 0x47, 0x2D, 0x6D, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x47, 0xD3, 0x99, 0x00, 0x00, +0x00, 0x00, 0x00, 0x49, 0x0D, 0x4F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x49, 0xB3, 0x7B, 0x00, 0x00, +0x00, 0x00, 0x00, 0x4A, 0xED, 0x31, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x4B, 0x9C, 0x97, 0x80, 0x00, +0x00, 0x00, 0x00, 0x4C, 0xD6, 0x4E, 0x70, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x7C, 0x79, 0x80, 0x00, +0x00, 0x00, 0x00, 0x4E, 0xB6, 0x30, 0x70, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x5C, 0x5B, 0x80, 0x00, +0x00, 0x00, 0x00, 0x50, 0x96, 0x12, 0x70, 0x00, 0x00, 0x00, 0x00, 0x51, 0x3C, 0x3D, 0x80, 0x00, +0x00, 0x00, 0x00, 0x52, 0x75, 0xF4, 0x70, 0x00, 0x00, 0x00, 0x00, 0x53, 0x1C, 0x1F, 0x80, 0x00, +0x00, 0x00, 0x00, 0x54, 0x55, 0xD6, 0x70, 0x00, 0x00, 0x00, 0x00, 0x54, 0xFC, 0x01, 0x80, 0x00, +0x00, 0x00, 0x00, 0x56, 0x35, 0xB8, 0x70, 0x00, 0x00, 0x00, 0x00, 0x56, 0xE5, 0x1E, 0x00, 0x00, +0x00, 0x00, 0x00, 0x58, 0x1E, 0xD4, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x58, 0xC5, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x59, 0xFE, 0xB6, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xA4, 0xE2, 0x00, 0x00, +0x00, 0x00, 0x00, 0x5B, 0xDE, 0x98, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x5C, 0x84, 0xC4, 0x00, 0x00, +0x00, 0x00, 0x00, 0x5D, 0xBE, 0x7A, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x64, 0xA6, 0x00, 0x00, +0x00, 0x00, 0x00, 0x5F, 0x9E, 0x5C, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x60, 0x4D, 0xC2, 0x80, 0x00, +0x00, 0x00, 0x00, 0x61, 0x87, 0x79, 0x70, 0x00, 0x00, 0x00, 0x00, 0x62, 0x2D, 0xA4, 0x80, 0x00, +0x00, 0x00, 0x00, 0x63, 0x67, 0x5B, 0x70, 0x00, 0x00, 0x00, 0x00, 0x64, 0x0D, 0x86, 0x80, 0x00, +0x00, 0x00, 0x00, 0x65, 0x47, 0x3D, 0x70, 0x00, 0x00, 0x00, 0x00, 0x65, 0xED, 0x68, 0x80, 0x00, +0x00, 0x00, 0x00, 0x67, 0x27, 0x1F, 0x70, 0x00, 0x00, 0x00, 0x00, 0x67, 0xCD, 0x4A, 0x80, 0x00, +0x00, 0x00, 0x00, 0x69, 0x07, 0x01, 0x70, 0x00, 0x00, 0x00, 0x00, 0x69, 0xAD, 0x2C, 0x80, 0x00, +0x00, 0x00, 0x00, 0x6A, 0xE6, 0xE3, 0x70, 0x00, 0x00, 0x00, 0x00, 0x6B, 0x96, 0x49, 0x00, 0x00, +0x00, 0x00, 0x00, 0x6C, 0xCF, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x76, 0x2B, 0x00, 0x00, +0x00, 0x00, 0x00, 0x6E, 0xAF, 0xE1, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x56, 0x0D, 0x00, 0x00, +0x00, 0x00, 0x00, 0x70, 0x8F, 0xC3, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x71, 0x35, 0xEF, 0x00, 0x00, +0x00, 0x00, 0x00, 0x72, 0x6F, 0xA5, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x73, 0x15, 0xD1, 0x00, 0x00, +0x00, 0x00, 0x00, 0x74, 0x4F, 0x87, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x74, 0xFE, 0xED, 0x80, 0x00, +0x00, 0x00, 0x00, 0x76, 0x38, 0xA4, 0x70, 0x00, 0x00, 0x00, 0x00, 0x76, 0xDE, 0xCF, 0x80, 0x00, +0x00, 0x00, 0x00, 0x78, 0x18, 0x86, 0x70, 0x00, 0x00, 0x00, 0x00, 0x78, 0xBE, 0xB1, 0x80, 0x00, +0x00, 0x00, 0x00, 0x79, 0xF8, 0x68, 0x70, 0x00, 0x00, 0x00, 0x00, 0x7A, 0x9E, 0x93, 0x80, 0x00, +0x00, 0x00, 0x00, 0x7B, 0xD8, 0x4A, 0x70, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x7E, 0x75, 0x80, 0x00, +0x00, 0x00, 0x00, 0x7D, 0xB8, 0x2C, 0x70, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x5E, 0x57, 0x80, 0x00, +0x00, 0x00, 0x00, 0x7F, 0x98, 0x0E, 0x70, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x03, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, +0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x08, 0xFF, 0xFF, +0xB9, 0xB0, 0x00, 0x0C, 0xFF, 0xFF, 0xAB, 0xA0, 0x00, 0x08, 0x2D, 0x30, 0x30, 0x00, 0x43, 0x44, +0x54, 0x00, 0x43, 0x53, 0x54, 0x00, 0x45, 0x53, 0x54, 0x00, 0x0A, 0x43, 0x53, 0x54, 0x36, 0x43, +0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, 0x31, 0x2E, +0x30, 0x0A, 0x00, 0xFB, 0x4E, 0x33, 0x00, 0x81, 0xF5, 0xDB, 0x00, 0x00, 0x00, 0x17, 0x43, 0x65, +0x6E, 0x74, 0x72, 0x61, 0x6C, 0x20, 0x2D, 0x20, 0x4E, 0x55, 0x20, 0x28, 0x52, 0x65, 0x73, 0x6F, +0x6C, 0x75, 0x74, 0x65, 0x29, /* America/Rio_Branco */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x42, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -39610,9 +39882,8 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x0A, 0x50, 0x53, 0x54, 0x38, 0x50, 0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, 0x31, 0x2E, 0x30, 0x0A, 0x00, 0xBA, 0xF8, 0x95, 0x00, 0x60, 0x1A, 0xDD, 0x00, 0x00, -0x00, 0x21, 0x50, 0x61, 0x63, 0x69, 0x66, 0x69, 0x63, 0x20, 0x54, 0x69, 0x6D, 0x65, 0x20, 0x55, -0x53, 0x20, 0x2D, 0x20, 0x42, 0x61, 0x6A, 0x61, 0x20, 0x43, 0x61, 0x6C, 0x69, 0x66, 0x6F, 0x72, -0x6E, 0x69, 0x61, +0x00, 0x0F, 0x42, 0x61, 0x6A, 0x61, 0x20, 0x43, 0x61, 0x6C, 0x69, 0x66, 0x6F, 0x72, 0x6E, 0x69, +0x61, /* America/Toronto */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -40061,7 +40332,7 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { 0x00, 0x00, 0x00, 0x5D, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x25, 0x80, 0x00, 0x00, 0x00, 0x9E, 0xB8, 0xCB, 0xB0, 0x9F, 0xBB, 0x23, 0xA0, 0xA0, 0xD0, 0x0C, 0xB0, 0xA1, 0xA2, 0xD2, 0x80, 0xCB, 0x89, 0x28, 0xB0, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x61, 0x34, 0x20, 0xF7, 0x2F, 0x76, 0x90, -0xF8, 0x28, 0xA2, 0x10, 0xFB, 0x1D, 0x5F, 0x10, 0x13, 0x69, 0x72, 0x20, 0x14, 0x59, 0x55, 0x10, +0xF8, 0x28, 0xA2, 0x10, 0xF8, 0xC5, 0x84, 0x90, 0x13, 0x69, 0x72, 0x20, 0x14, 0x59, 0x55, 0x10, 0x15, 0x49, 0x54, 0x20, 0x16, 0x39, 0x37, 0x10, 0x17, 0x29, 0x36, 0x20, 0x18, 0x22, 0x53, 0x90, 0x19, 0x09, 0x18, 0x20, 0x1A, 0x02, 0x35, 0x90, 0x1A, 0xF2, 0x34, 0xA0, 0x1B, 0xE2, 0x17, 0x90, 0x1C, 0xD2, 0x16, 0xA0, 0x1D, 0xC1, 0xF9, 0x90, 0x1E, 0xB1, 0xF8, 0xA0, 0x1F, 0xA1, 0xDB, 0x90, @@ -40102,7 +40373,7 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { 0xFF, 0xFF, 0xA0, 0xD0, 0x0C, 0xB0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0xA2, 0xD2, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x89, 0x28, 0xB0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x61, 0x34, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x2F, 0x76, 0x90, 0xFF, 0xFF, -0xFF, 0xFF, 0xF8, 0x28, 0xA2, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0x1D, 0x5F, 0x10, 0x00, 0x00, +0xFF, 0xFF, 0xF8, 0x28, 0xA2, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0xC5, 0x84, 0x90, 0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x72, 0x20, 0x00, 0x00, 0x00, 0x00, 0x14, 0x59, 0x55, 0x10, 0x00, 0x00, 0x00, 0x00, 0x15, 0x49, 0x54, 0x20, 0x00, 0x00, 0x00, 0x00, 0x16, 0x39, 0x37, 0x10, 0x00, 0x00, 0x00, 0x00, 0x17, 0x29, 0x36, 0x20, 0x00, 0x00, 0x00, 0x00, 0x18, 0x22, 0x53, 0x90, 0x00, 0x00, @@ -40494,131 +40765,141 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { /* America/Yellowknife */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x7A, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x19, 0xBE, 0x2A, 0x18, 0x00, -0xCB, 0x89, 0x0C, 0x90, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x61, 0x18, 0x00, 0xF7, 0x2F, 0x5A, 0x70, -0xF8, 0x28, 0x85, 0xF0, 0x13, 0x69, 0x64, 0x10, 0x14, 0x59, 0x47, 0x00, 0x15, 0x49, 0x46, 0x10, -0x16, 0x39, 0x29, 0x00, 0x17, 0x29, 0x28, 0x10, 0x18, 0x22, 0x45, 0x80, 0x19, 0x09, 0x0A, 0x10, -0x1A, 0x02, 0x27, 0x80, 0x1A, 0xF2, 0x26, 0x90, 0x1B, 0xE2, 0x09, 0x80, 0x1C, 0xD2, 0x08, 0x90, -0x1D, 0xC1, 0xEB, 0x80, 0x1E, 0xB1, 0xEA, 0x90, 0x1F, 0xA1, 0xCD, 0x80, 0x20, 0x76, 0x1D, 0x10, -0x21, 0x81, 0xAF, 0x80, 0x22, 0x55, 0xFF, 0x10, 0x23, 0x6A, 0xCC, 0x00, 0x24, 0x35, 0xE1, 0x10, -0x25, 0x4A, 0xAE, 0x00, 0x26, 0x15, 0xC3, 0x10, 0x27, 0x2A, 0x90, 0x00, 0x27, 0xFE, 0xDF, 0x90, -0x29, 0x0A, 0x72, 0x00, 0x29, 0xDE, 0xC1, 0x90, 0x2A, 0xEA, 0x54, 0x00, 0x2B, 0xBE, 0xA3, 0x90, -0x2C, 0xD3, 0x70, 0x80, 0x2D, 0x9E, 0x85, 0x90, 0x2E, 0xB3, 0x52, 0x80, 0x2F, 0x7E, 0x67, 0x90, -0x30, 0x93, 0x34, 0x80, 0x31, 0x67, 0x84, 0x10, 0x32, 0x73, 0x16, 0x80, 0x33, 0x47, 0x66, 0x10, -0x34, 0x52, 0xF8, 0x80, 0x35, 0x27, 0x48, 0x10, 0x36, 0x32, 0xDA, 0x80, 0x37, 0x07, 0x2A, 0x10, -0x38, 0x1B, 0xF7, 0x00, 0x38, 0xE7, 0x0C, 0x10, 0x39, 0xFB, 0xD9, 0x00, 0x3A, 0xC6, 0xEE, 0x10, -0x3B, 0xDB, 0xBB, 0x00, 0x3C, 0xB0, 0x0A, 0x90, 0x3D, 0xBB, 0x9D, 0x00, 0x3E, 0x8F, 0xEC, 0x90, -0x3F, 0x9B, 0x7F, 0x00, 0x40, 0x6F, 0xCE, 0x90, 0x41, 0x84, 0x9B, 0x80, 0x42, 0x4F, 0xB0, 0x90, -0x43, 0x64, 0x7D, 0x80, 0x44, 0x2F, 0x92, 0x90, 0x45, 0x44, 0x5F, 0x80, 0x45, 0xF3, 0xC5, 0x10, -0x47, 0x2D, 0x7C, 0x00, 0x47, 0xD3, 0xA7, 0x10, 0x49, 0x0D, 0x5E, 0x00, 0x49, 0xB3, 0x89, 0x10, -0x4A, 0xED, 0x40, 0x00, 0x4B, 0x9C, 0xA5, 0x90, 0x4C, 0xD6, 0x5C, 0x80, 0x4D, 0x7C, 0x87, 0x90, -0x4E, 0xB6, 0x3E, 0x80, 0x4F, 0x5C, 0x69, 0x90, 0x50, 0x96, 0x20, 0x80, 0x51, 0x3C, 0x4B, 0x90, -0x52, 0x76, 0x02, 0x80, 0x53, 0x1C, 0x2D, 0x90, 0x54, 0x55, 0xE4, 0x80, 0x54, 0xFC, 0x0F, 0x90, -0x56, 0x35, 0xC6, 0x80, 0x56, 0xE5, 0x2C, 0x10, 0x58, 0x1E, 0xE3, 0x00, 0x58, 0xC5, 0x0E, 0x10, -0x59, 0xFE, 0xC5, 0x00, 0x5A, 0xA4, 0xF0, 0x10, 0x5B, 0xDE, 0xA7, 0x00, 0x5C, 0x84, 0xD2, 0x10, -0x5D, 0xBE, 0x89, 0x00, 0x5E, 0x64, 0xB4, 0x10, 0x5F, 0x9E, 0x6B, 0x00, 0x60, 0x4D, 0xD0, 0x90, -0x61, 0x87, 0x87, 0x80, 0x62, 0x2D, 0xB2, 0x90, 0x63, 0x67, 0x69, 0x80, 0x64, 0x0D, 0x94, 0x90, -0x65, 0x47, 0x4B, 0x80, 0x65, 0xED, 0x76, 0x90, 0x67, 0x27, 0x2D, 0x80, 0x67, 0xCD, 0x58, 0x90, -0x69, 0x07, 0x0F, 0x80, 0x69, 0xAD, 0x3A, 0x90, 0x6A, 0xE6, 0xF1, 0x80, 0x6B, 0x96, 0x57, 0x10, -0x6C, 0xD0, 0x0E, 0x00, 0x6D, 0x76, 0x39, 0x10, 0x6E, 0xAF, 0xF0, 0x00, 0x6F, 0x56, 0x1B, 0x10, -0x70, 0x8F, 0xD2, 0x00, 0x71, 0x35, 0xFD, 0x10, 0x72, 0x6F, 0xB4, 0x00, 0x73, 0x15, 0xDF, 0x10, -0x74, 0x4F, 0x96, 0x00, 0x74, 0xFE, 0xFB, 0x90, 0x76, 0x38, 0xB2, 0x80, 0x76, 0xDE, 0xDD, 0x90, -0x78, 0x18, 0x94, 0x80, 0x78, 0xBE, 0xBF, 0x90, 0x79, 0xF8, 0x76, 0x80, 0x7A, 0x9E, 0xA1, 0x90, -0x7B, 0xD8, 0x58, 0x80, 0x7C, 0x7E, 0x83, 0x90, 0x7D, 0xB8, 0x3A, 0x80, 0x7E, 0x5E, 0x65, 0x90, -0x7F, 0x98, 0x1C, 0x80, 0x03, 0x01, 0x02, 0x03, 0x04, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, -0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, -0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, -0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, -0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, -0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, -0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, -0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x08, -0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x0C, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x10, 0xFF, 0xFF, 0xAB, 0xA0, -0x01, 0x15, 0x2D, 0x30, 0x30, 0x00, 0x4D, 0x57, 0x54, 0x00, 0x4D, 0x50, 0x54, 0x00, 0x4D, 0x53, -0x54, 0x00, 0x4D, 0x44, 0x44, 0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, -0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, -0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7A, 0x00, 0x00, 0x00, 0x06, 0x00, -0x00, 0x00, 0x19, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0x2A, 0x18, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, -0x89, 0x0C, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, -0x61, 0x18, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x2F, 0x5A, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, -0x28, 0x85, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x64, 0x10, 0x00, 0x00, 0x00, 0x00, 0x14, -0x59, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x49, 0x46, 0x10, 0x00, 0x00, 0x00, 0x00, 0x16, -0x39, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x29, 0x28, 0x10, 0x00, 0x00, 0x00, 0x00, 0x18, -0x22, 0x45, 0x80, 0x00, 0x00, 0x00, 0x00, 0x19, 0x09, 0x0A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1A, -0x02, 0x27, 0x80, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xF2, 0x26, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, -0xE2, 0x09, 0x80, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xD2, 0x08, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1D, -0xC1, 0xEB, 0x80, 0x00, 0x00, 0x00, 0x00, 0x1E, 0xB1, 0xEA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1F, -0xA1, 0xCD, 0x80, 0x00, 0x00, 0x00, 0x00, 0x20, 0x76, 0x1D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x21, -0x81, 0xAF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x22, 0x55, 0xFF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x23, -0x6A, 0xCC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x35, 0xE1, 0x10, 0x00, 0x00, 0x00, 0x00, 0x25, -0x4A, 0xAE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x26, 0x15, 0xC3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x27, -0x2A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0xFE, 0xDF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, -0x0A, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x29, 0xDE, 0xC1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2A, -0xEA, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xBE, 0xA3, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2C, -0xD3, 0x70, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x9E, 0x85, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2E, -0xB3, 0x52, 0x80, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x7E, 0x67, 0x90, 0x00, 0x00, 0x00, 0x00, 0x30, -0x93, 0x34, 0x80, 0x00, 0x00, 0x00, 0x00, 0x31, 0x67, 0x84, 0x10, 0x00, 0x00, 0x00, 0x00, 0x32, -0x73, 0x16, 0x80, 0x00, 0x00, 0x00, 0x00, 0x33, 0x47, 0x66, 0x10, 0x00, 0x00, 0x00, 0x00, 0x34, -0x52, 0xF8, 0x80, 0x00, 0x00, 0x00, 0x00, 0x35, 0x27, 0x48, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, -0x32, 0xDA, 0x80, 0x00, 0x00, 0x00, 0x00, 0x37, 0x07, 0x2A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x38, -0x1B, 0xF7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0xE7, 0x0C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x39, -0xFB, 0xD9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xC6, 0xEE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x3B, -0xDB, 0xBB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xB0, 0x0A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3D, -0xBB, 0x9D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x8F, 0xEC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3F, -0x9B, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x6F, 0xCE, 0x90, 0x00, 0x00, 0x00, 0x00, 0x41, -0x84, 0x9B, 0x80, 0x00, 0x00, 0x00, 0x00, 0x42, 0x4F, 0xB0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x43, -0x64, 0x7D, 0x80, 0x00, 0x00, 0x00, 0x00, 0x44, 0x2F, 0x92, 0x90, 0x00, 0x00, 0x00, 0x00, 0x45, -0x44, 0x5F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x45, 0xF3, 0xC5, 0x10, 0x00, 0x00, 0x00, 0x00, 0x47, -0x2D, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0xD3, 0xA7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, -0x0D, 0x5E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0xB3, 0x89, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4A, -0xED, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4B, 0x9C, 0xA5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4C, -0xD6, 0x5C, 0x80, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x7C, 0x87, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4E, -0xB6, 0x3E, 0x80, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x5C, 0x69, 0x90, 0x00, 0x00, 0x00, 0x00, 0x50, -0x96, 0x20, 0x80, 0x00, 0x00, 0x00, 0x00, 0x51, 0x3C, 0x4B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x52, -0x76, 0x02, 0x80, 0x00, 0x00, 0x00, 0x00, 0x53, 0x1C, 0x2D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x54, -0x55, 0xE4, 0x80, 0x00, 0x00, 0x00, 0x00, 0x54, 0xFC, 0x0F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, -0x35, 0xC6, 0x80, 0x00, 0x00, 0x00, 0x00, 0x56, 0xE5, 0x2C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x58, -0x1E, 0xE3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 0xC5, 0x0E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x59, -0xFE, 0xC5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5A, 0xA4, 0xF0, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5B, -0xDE, 0xA7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5C, 0x84, 0xD2, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5D, -0xBE, 0x89, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x64, 0xB4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5F, -0x9E, 0x6B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x4D, 0xD0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x61, -0x87, 0x87, 0x80, 0x00, 0x00, 0x00, 0x00, 0x62, 0x2D, 0xB2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x63, -0x67, 0x69, 0x80, 0x00, 0x00, 0x00, 0x00, 0x64, 0x0D, 0x94, 0x90, 0x00, 0x00, 0x00, 0x00, 0x65, -0x47, 0x4B, 0x80, 0x00, 0x00, 0x00, 0x00, 0x65, 0xED, 0x76, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, -0x27, 0x2D, 0x80, 0x00, 0x00, 0x00, 0x00, 0x67, 0xCD, 0x58, 0x90, 0x00, 0x00, 0x00, 0x00, 0x69, -0x07, 0x0F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x69, 0xAD, 0x3A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6A, -0xE6, 0xF1, 0x80, 0x00, 0x00, 0x00, 0x00, 0x6B, 0x96, 0x57, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6C, -0xD0, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x76, 0x39, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6E, -0xAF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x56, 0x1B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x70, -0x8F, 0xD2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x71, 0x35, 0xFD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x72, -0x6F, 0xB4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x73, 0x15, 0xDF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x74, -0x4F, 0x96, 0x00, 0x00, 0x00, 0x00, 0x00, 0x74, 0xFE, 0xFB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x76, -0x38, 0xB2, 0x80, 0x00, 0x00, 0x00, 0x00, 0x76, 0xDE, 0xDD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x78, -0x18, 0x94, 0x80, 0x00, 0x00, 0x00, 0x00, 0x78, 0xBE, 0xBF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x79, -0xF8, 0x76, 0x80, 0x00, 0x00, 0x00, 0x00, 0x7A, 0x9E, 0xA1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7B, -0xD8, 0x58, 0x80, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x7E, 0x83, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7D, -0xB8, 0x3A, 0x80, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x5E, 0x65, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7F, -0x98, 0x1C, 0x80, 0x03, 0x01, 0x02, 0x03, 0x04, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, -0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x04, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x08, 0xFF, -0xFF, 0x9D, 0x90, 0x00, 0x0C, 0xFF, 0xFF, 0xB9, 0xB0, 0x01, 0x10, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, -0x15, 0x2D, 0x30, 0x30, 0x00, 0x4D, 0x57, 0x54, 0x00, 0x4D, 0x50, 0x54, 0x00, 0x4D, 0x53, 0x54, -0x00, 0x4D, 0x44, 0x44, 0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, -0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0A, 0x4D, 0x53, 0x54, 0x37, 0x4D, 0x44, 0x54, 0x2C, 0x4D, -0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, 0x4D, 0x31, 0x31, 0x2E, 0x31, 0x2E, 0x30, 0x0A, 0x00, 0xE8, -0x9E, 0xC7, 0x00, 0x64, 0x2C, 0x88, 0x00, 0x00, 0x00, 0x17, 0x4D, 0x6F, 0x75, 0x6E, 0x74, 0x61, -0x69, 0x6E, 0x20, 0x2D, 0x20, 0x4E, 0x54, 0x20, 0x28, 0x63, 0x65, 0x6E, 0x74, 0x72, 0x61, 0x6C, -0x29, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x88, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0xBE, 0x2A, 0x18, 0x00, +0xCB, 0x89, 0x0C, 0x90, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x61, 0x18, 0x00, 0x04, 0x61, 0x19, 0x90, +0x05, 0x50, 0xFC, 0x80, 0x06, 0x40, 0xFB, 0x90, 0x07, 0x30, 0xDE, 0x80, 0x08, 0x20, 0xDD, 0x90, +0x09, 0x10, 0xC0, 0x80, 0x0A, 0x00, 0xBF, 0x90, 0x0A, 0xF0, 0xA2, 0x80, 0x0B, 0xE0, 0xA1, 0x90, +0x0C, 0xD9, 0xBF, 0x00, 0x0D, 0xC0, 0x83, 0x90, 0x0E, 0xB9, 0xA1, 0x00, 0x0F, 0xA9, 0xA0, 0x10, +0x10, 0x99, 0x83, 0x00, 0x11, 0x89, 0x82, 0x10, 0x12, 0x79, 0x65, 0x00, 0x13, 0x69, 0x64, 0x10, +0x14, 0x59, 0x47, 0x00, 0x15, 0x49, 0x46, 0x10, 0x16, 0x39, 0x29, 0x00, 0x17, 0x29, 0x28, 0x10, +0x18, 0x22, 0x45, 0x80, 0x19, 0x09, 0x0A, 0x10, 0x1A, 0x02, 0x27, 0x80, 0x1A, 0xF2, 0x26, 0x90, +0x1B, 0xE2, 0x09, 0x80, 0x1C, 0xD2, 0x08, 0x90, 0x1D, 0xC1, 0xEB, 0x80, 0x1E, 0xB1, 0xEA, 0x90, +0x1F, 0xA1, 0xCD, 0x80, 0x20, 0x76, 0x1D, 0x10, 0x21, 0x81, 0xAF, 0x80, 0x22, 0x55, 0xFF, 0x10, +0x23, 0x6A, 0xCC, 0x00, 0x24, 0x35, 0xE1, 0x10, 0x25, 0x4A, 0xAE, 0x00, 0x26, 0x15, 0xC3, 0x10, +0x27, 0x2A, 0x90, 0x00, 0x27, 0xFE, 0xDF, 0x90, 0x29, 0x0A, 0x72, 0x00, 0x29, 0xDE, 0xC1, 0x90, +0x2A, 0xEA, 0x54, 0x00, 0x2B, 0xBE, 0xA3, 0x90, 0x2C, 0xD3, 0x70, 0x80, 0x2D, 0x9E, 0x85, 0x90, +0x2E, 0xB3, 0x52, 0x80, 0x2F, 0x7E, 0x67, 0x90, 0x30, 0x93, 0x34, 0x80, 0x31, 0x67, 0x84, 0x10, +0x32, 0x73, 0x16, 0x80, 0x33, 0x47, 0x66, 0x10, 0x34, 0x52, 0xF8, 0x80, 0x35, 0x27, 0x48, 0x10, +0x36, 0x32, 0xDA, 0x80, 0x37, 0x07, 0x2A, 0x10, 0x38, 0x1B, 0xF7, 0x00, 0x38, 0xE7, 0x0C, 0x10, +0x39, 0xFB, 0xD9, 0x00, 0x3A, 0xC6, 0xEE, 0x10, 0x3B, 0xDB, 0xBB, 0x00, 0x3C, 0xB0, 0x0A, 0x90, +0x3D, 0xBB, 0x9D, 0x00, 0x3E, 0x8F, 0xEC, 0x90, 0x3F, 0x9B, 0x7F, 0x00, 0x40, 0x6F, 0xCE, 0x90, +0x41, 0x84, 0x9B, 0x80, 0x42, 0x4F, 0xB0, 0x90, 0x43, 0x64, 0x7D, 0x80, 0x44, 0x2F, 0x92, 0x90, +0x45, 0x44, 0x5F, 0x80, 0x45, 0xF3, 0xC5, 0x10, 0x47, 0x2D, 0x7C, 0x00, 0x47, 0xD3, 0xA7, 0x10, +0x49, 0x0D, 0x5E, 0x00, 0x49, 0xB3, 0x89, 0x10, 0x4A, 0xED, 0x40, 0x00, 0x4B, 0x9C, 0xA5, 0x90, +0x4C, 0xD6, 0x5C, 0x80, 0x4D, 0x7C, 0x87, 0x90, 0x4E, 0xB6, 0x3E, 0x80, 0x4F, 0x5C, 0x69, 0x90, +0x50, 0x96, 0x20, 0x80, 0x51, 0x3C, 0x4B, 0x90, 0x52, 0x76, 0x02, 0x80, 0x53, 0x1C, 0x2D, 0x90, +0x54, 0x55, 0xE4, 0x80, 0x54, 0xFC, 0x0F, 0x90, 0x56, 0x35, 0xC6, 0x80, 0x56, 0xE5, 0x2C, 0x10, +0x58, 0x1E, 0xE3, 0x00, 0x58, 0xC5, 0x0E, 0x10, 0x59, 0xFE, 0xC5, 0x00, 0x5A, 0xA4, 0xF0, 0x10, +0x5B, 0xDE, 0xA7, 0x00, 0x5C, 0x84, 0xD2, 0x10, 0x5D, 0xBE, 0x89, 0x00, 0x5E, 0x64, 0xB4, 0x10, +0x5F, 0x9E, 0x6B, 0x00, 0x60, 0x4D, 0xD0, 0x90, 0x61, 0x87, 0x87, 0x80, 0x62, 0x2D, 0xB2, 0x90, +0x63, 0x67, 0x69, 0x80, 0x64, 0x0D, 0x94, 0x90, 0x65, 0x47, 0x4B, 0x80, 0x65, 0xED, 0x76, 0x90, +0x67, 0x27, 0x2D, 0x80, 0x67, 0xCD, 0x58, 0x90, 0x69, 0x07, 0x0F, 0x80, 0x69, 0xAD, 0x3A, 0x90, +0x6A, 0xE6, 0xF1, 0x80, 0x6B, 0x96, 0x57, 0x10, 0x6C, 0xD0, 0x0E, 0x00, 0x6D, 0x76, 0x39, 0x10, +0x6E, 0xAF, 0xF0, 0x00, 0x6F, 0x56, 0x1B, 0x10, 0x70, 0x8F, 0xD2, 0x00, 0x71, 0x35, 0xFD, 0x10, +0x72, 0x6F, 0xB4, 0x00, 0x73, 0x15, 0xDF, 0x10, 0x74, 0x4F, 0x96, 0x00, 0x74, 0xFE, 0xFB, 0x90, +0x76, 0x38, 0xB2, 0x80, 0x76, 0xDE, 0xDD, 0x90, 0x78, 0x18, 0x94, 0x80, 0x78, 0xBE, 0xBF, 0x90, +0x79, 0xF8, 0x76, 0x80, 0x7A, 0x9E, 0xA1, 0x90, 0x7B, 0xD8, 0x58, 0x80, 0x7C, 0x7E, 0x83, 0x90, +0x7D, 0xB8, 0x3A, 0x80, 0x7E, 0x5E, 0x65, 0x90, 0x7F, 0x98, 0x1C, 0x80, 0x03, 0x01, 0x02, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x04, +0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x08, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x0C, 0xFF, 0xFF, 0xAB, 0xA0, +0x01, 0x10, 0x2D, 0x30, 0x30, 0x00, 0x4D, 0x57, 0x54, 0x00, 0x4D, 0x50, 0x54, 0x00, 0x4D, 0x53, +0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, +0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x88, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0xFF, 0xFF, 0xFF, 0xFF, +0xBE, 0x2A, 0x18, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x89, 0x0C, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, +0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x61, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, +0x04, 0x61, 0x19, 0x90, 0x00, 0x00, 0x00, 0x00, 0x05, 0x50, 0xFC, 0x80, 0x00, 0x00, 0x00, 0x00, +0x06, 0x40, 0xFB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x07, 0x30, 0xDE, 0x80, 0x00, 0x00, 0x00, 0x00, +0x08, 0x20, 0xDD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x09, 0x10, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, +0x0A, 0x00, 0xBF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xF0, 0xA2, 0x80, 0x00, 0x00, 0x00, 0x00, +0x0B, 0xE0, 0xA1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xD9, 0xBF, 0x00, 0x00, 0x00, 0x00, 0x00, +0x0D, 0xC0, 0x83, 0x90, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xB9, 0xA1, 0x00, 0x00, 0x00, 0x00, 0x00, +0x0F, 0xA9, 0xA0, 0x10, 0x00, 0x00, 0x00, 0x00, 0x10, 0x99, 0x83, 0x00, 0x00, 0x00, 0x00, 0x00, +0x11, 0x89, 0x82, 0x10, 0x00, 0x00, 0x00, 0x00, 0x12, 0x79, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, +0x13, 0x69, 0x64, 0x10, 0x00, 0x00, 0x00, 0x00, 0x14, 0x59, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, +0x15, 0x49, 0x46, 0x10, 0x00, 0x00, 0x00, 0x00, 0x16, 0x39, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, +0x17, 0x29, 0x28, 0x10, 0x00, 0x00, 0x00, 0x00, 0x18, 0x22, 0x45, 0x80, 0x00, 0x00, 0x00, 0x00, +0x19, 0x09, 0x0A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x02, 0x27, 0x80, 0x00, 0x00, 0x00, 0x00, +0x1A, 0xF2, 0x26, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xE2, 0x09, 0x80, 0x00, 0x00, 0x00, 0x00, +0x1C, 0xD2, 0x08, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xC1, 0xEB, 0x80, 0x00, 0x00, 0x00, 0x00, +0x1E, 0xB1, 0xEA, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xA1, 0xCD, 0x80, 0x00, 0x00, 0x00, 0x00, +0x20, 0x76, 0x1D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x21, 0x81, 0xAF, 0x80, 0x00, 0x00, 0x00, 0x00, +0x22, 0x55, 0xFF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x23, 0x6A, 0xCC, 0x00, 0x00, 0x00, 0x00, 0x00, +0x24, 0x35, 0xE1, 0x10, 0x00, 0x00, 0x00, 0x00, 0x25, 0x4A, 0xAE, 0x00, 0x00, 0x00, 0x00, 0x00, +0x26, 0x15, 0xC3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x27, 0x2A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, +0x27, 0xFE, 0xDF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x29, 0x0A, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, +0x29, 0xDE, 0xC1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xEA, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, +0x2B, 0xBE, 0xA3, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xD3, 0x70, 0x80, 0x00, 0x00, 0x00, 0x00, +0x2D, 0x9E, 0x85, 0x90, 0x00, 0x00, 0x00, 0x00, 0x2E, 0xB3, 0x52, 0x80, 0x00, 0x00, 0x00, 0x00, +0x2F, 0x7E, 0x67, 0x90, 0x00, 0x00, 0x00, 0x00, 0x30, 0x93, 0x34, 0x80, 0x00, 0x00, 0x00, 0x00, +0x31, 0x67, 0x84, 0x10, 0x00, 0x00, 0x00, 0x00, 0x32, 0x73, 0x16, 0x80, 0x00, 0x00, 0x00, 0x00, +0x33, 0x47, 0x66, 0x10, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0xF8, 0x80, 0x00, 0x00, 0x00, 0x00, +0x35, 0x27, 0x48, 0x10, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0xDA, 0x80, 0x00, 0x00, 0x00, 0x00, +0x37, 0x07, 0x2A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0xF7, 0x00, 0x00, 0x00, 0x00, 0x00, +0x38, 0xE7, 0x0C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0xD9, 0x00, 0x00, 0x00, 0x00, 0x00, +0x3A, 0xC6, 0xEE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0xBB, 0x00, 0x00, 0x00, 0x00, 0x00, +0x3C, 0xB0, 0x0A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x9D, 0x00, 0x00, 0x00, 0x00, 0x00, +0x3E, 0x8F, 0xEC, 0x90, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9B, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, +0x40, 0x6F, 0xCE, 0x90, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x9B, 0x80, 0x00, 0x00, 0x00, 0x00, +0x42, 0x4F, 0xB0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x43, 0x64, 0x7D, 0x80, 0x00, 0x00, 0x00, 0x00, +0x44, 0x2F, 0x92, 0x90, 0x00, 0x00, 0x00, 0x00, 0x45, 0x44, 0x5F, 0x80, 0x00, 0x00, 0x00, 0x00, +0x45, 0xF3, 0xC5, 0x10, 0x00, 0x00, 0x00, 0x00, 0x47, 0x2D, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, +0x47, 0xD3, 0xA7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x49, 0x0D, 0x5E, 0x00, 0x00, 0x00, 0x00, 0x00, +0x49, 0xB3, 0x89, 0x10, 0x00, 0x00, 0x00, 0x00, 0x4A, 0xED, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, +0x4B, 0x9C, 0xA5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4C, 0xD6, 0x5C, 0x80, 0x00, 0x00, 0x00, 0x00, +0x4D, 0x7C, 0x87, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4E, 0xB6, 0x3E, 0x80, 0x00, 0x00, 0x00, 0x00, +0x4F, 0x5C, 0x69, 0x90, 0x00, 0x00, 0x00, 0x00, 0x50, 0x96, 0x20, 0x80, 0x00, 0x00, 0x00, 0x00, +0x51, 0x3C, 0x4B, 0x90, 0x00, 0x00, 0x00, 0x00, 0x52, 0x76, 0x02, 0x80, 0x00, 0x00, 0x00, 0x00, +0x53, 0x1C, 0x2D, 0x90, 0x00, 0x00, 0x00, 0x00, 0x54, 0x55, 0xE4, 0x80, 0x00, 0x00, 0x00, 0x00, +0x54, 0xFC, 0x0F, 0x90, 0x00, 0x00, 0x00, 0x00, 0x56, 0x35, 0xC6, 0x80, 0x00, 0x00, 0x00, 0x00, +0x56, 0xE5, 0x2C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x58, 0x1E, 0xE3, 0x00, 0x00, 0x00, 0x00, 0x00, +0x58, 0xC5, 0x0E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x59, 0xFE, 0xC5, 0x00, 0x00, 0x00, 0x00, 0x00, +0x5A, 0xA4, 0xF0, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5B, 0xDE, 0xA7, 0x00, 0x00, 0x00, 0x00, 0x00, +0x5C, 0x84, 0xD2, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5D, 0xBE, 0x89, 0x00, 0x00, 0x00, 0x00, 0x00, +0x5E, 0x64, 0xB4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x9E, 0x6B, 0x00, 0x00, 0x00, 0x00, 0x00, +0x60, 0x4D, 0xD0, 0x90, 0x00, 0x00, 0x00, 0x00, 0x61, 0x87, 0x87, 0x80, 0x00, 0x00, 0x00, 0x00, +0x62, 0x2D, 0xB2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x63, 0x67, 0x69, 0x80, 0x00, 0x00, 0x00, 0x00, +0x64, 0x0D, 0x94, 0x90, 0x00, 0x00, 0x00, 0x00, 0x65, 0x47, 0x4B, 0x80, 0x00, 0x00, 0x00, 0x00, +0x65, 0xED, 0x76, 0x90, 0x00, 0x00, 0x00, 0x00, 0x67, 0x27, 0x2D, 0x80, 0x00, 0x00, 0x00, 0x00, +0x67, 0xCD, 0x58, 0x90, 0x00, 0x00, 0x00, 0x00, 0x69, 0x07, 0x0F, 0x80, 0x00, 0x00, 0x00, 0x00, +0x69, 0xAD, 0x3A, 0x90, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xE6, 0xF1, 0x80, 0x00, 0x00, 0x00, 0x00, +0x6B, 0x96, 0x57, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xD0, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, +0x6D, 0x76, 0x39, 0x10, 0x00, 0x00, 0x00, 0x00, 0x6E, 0xAF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, +0x6F, 0x56, 0x1B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x70, 0x8F, 0xD2, 0x00, 0x00, 0x00, 0x00, 0x00, +0x71, 0x35, 0xFD, 0x10, 0x00, 0x00, 0x00, 0x00, 0x72, 0x6F, 0xB4, 0x00, 0x00, 0x00, 0x00, 0x00, +0x73, 0x15, 0xDF, 0x10, 0x00, 0x00, 0x00, 0x00, 0x74, 0x4F, 0x96, 0x00, 0x00, 0x00, 0x00, 0x00, +0x74, 0xFE, 0xFB, 0x90, 0x00, 0x00, 0x00, 0x00, 0x76, 0x38, 0xB2, 0x80, 0x00, 0x00, 0x00, 0x00, +0x76, 0xDE, 0xDD, 0x90, 0x00, 0x00, 0x00, 0x00, 0x78, 0x18, 0x94, 0x80, 0x00, 0x00, 0x00, 0x00, +0x78, 0xBE, 0xBF, 0x90, 0x00, 0x00, 0x00, 0x00, 0x79, 0xF8, 0x76, 0x80, 0x00, 0x00, 0x00, 0x00, +0x7A, 0x9E, 0xA1, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7B, 0xD8, 0x58, 0x80, 0x00, 0x00, 0x00, 0x00, +0x7C, 0x7E, 0x83, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7D, 0xB8, 0x3A, 0x80, 0x00, 0x00, 0x00, 0x00, +0x7E, 0x5E, 0x65, 0x90, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x98, 0x1C, 0x80, 0x03, 0x01, 0x02, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, +0x04, 0x03, 0x04, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x04, +0xFF, 0xFF, 0xAB, 0xA0, 0x01, 0x08, 0xFF, 0xFF, 0x9D, 0x90, 0x00, 0x0C, 0xFF, 0xFF, 0xAB, 0xA0, +0x01, 0x10, 0x2D, 0x30, 0x30, 0x00, 0x4D, 0x57, 0x54, 0x00, 0x4D, 0x50, 0x54, 0x00, 0x4D, 0x53, +0x54, 0x00, 0x4D, 0x44, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, +0x0A, 0x4D, 0x53, 0x54, 0x37, 0x4D, 0x44, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x32, 0x2E, 0x30, 0x2C, +0x4D, 0x31, 0x31, 0x2E, 0x31, 0x2E, 0x30, 0x0A, 0x00, 0xE8, 0x9E, 0xC7, 0x00, 0x64, 0x2C, 0x88, +0x00, 0x00, 0x00, 0x17, 0x4D, 0x6F, 0x75, 0x6E, 0x74, 0x61, 0x69, 0x6E, 0x20, 0x2D, 0x20, 0x4E, +0x54, 0x20, 0x28, 0x63, 0x65, 0x6E, 0x74, 0x72, 0x61, 0x6C, 0x29, /* Antarctica/Casey */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x41, 0x51, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -44387,28 +44668,30 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { /* Asia/Kuala_Lumpur */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4D, 0x59, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x20, 0x80, 0x00, 0x00, 0x00, 0x86, 0x83, 0x85, 0xA3, 0xBA, 0x67, 0x4E, 0x90, 0xC0, 0x0A, 0xE4, 0x60, 0xCA, 0xB3, 0xE5, 0x60, -0xCB, 0x91, 0x5F, 0x08, 0xD2, 0x48, 0x6D, 0xF0, 0x16, 0x91, 0xF5, 0x08, 0x01, 0x02, 0x03, 0x04, +0xCB, 0x91, 0x5F, 0x08, 0xD2, 0x48, 0x6D, 0xF0, 0x16, 0x91, 0xEE, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x05, 0x07, 0x00, 0x00, 0x5F, 0x56, 0x00, 0x00, 0x00, 0x00, 0x61, 0x5D, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x08, 0x00, 0x00, 0x67, 0x20, 0x01, 0x0C, 0x00, 0x00, 0x67, 0x20, 0x00, 0x0C, 0x00, 0x00, 0x69, 0x78, 0x00, 0x12, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x18, 0x00, 0x00, 0x70, 0x80, 0x00, 0x1C, 0x4C, 0x4D, 0x54, 0x00, 0x53, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x37, 0x00, 0x2B, 0x30, 0x37, 0x32, 0x30, 0x00, 0x2B, 0x30, 0x37, 0x33, 0x30, 0x00, 0x2B, 0x30, 0x39, 0x00, -0x2B, 0x30, 0x38, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x2B, 0x30, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x01, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0x7E, 0x36, 0x55, 0xAA, 0xFF, 0xFF, 0xFF, 0xFF, 0x86, 0x83, 0x85, 0xA3, 0xFF, 0xFF, 0xFF, 0xFF, 0xBA, 0x67, 0x4E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x0A, 0xE4, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0xB3, 0xE5, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x91, 0x5F, 0x08, -0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x48, 0x6D, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x91, 0xF5, 0x08, +0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x48, 0x6D, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x91, 0xEE, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x05, 0x07, 0x00, 0x00, 0x5F, 0x56, 0x00, 0x00, 0x00, 0x00, 0x61, 0x5D, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x08, 0x00, 0x00, 0x67, 0x20, 0x01, 0x0C, 0x00, 0x00, 0x67, 0x20, 0x00, 0x0C, 0x00, 0x00, 0x69, 0x78, 0x00, 0x12, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x18, 0x00, 0x00, 0x70, 0x80, 0x00, 0x1C, 0x4C, 0x4D, 0x54, 0x00, 0x53, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x37, 0x00, 0x2B, 0x30, 0x37, 0x32, 0x30, 0x00, 0x2B, 0x30, 0x37, 0x33, 0x30, 0x00, -0x2B, 0x30, 0x39, 0x00, 0x2B, 0x30, 0x38, 0x00, 0x0A, 0x3C, 0x2B, 0x30, 0x38, 0x3E, 0x2D, 0x38, +0x2B, 0x30, 0x39, 0x00, 0x2B, 0x30, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x0A, 0x3C, 0x2B, 0x30, 0x38, 0x3E, 0x2D, 0x38, 0x0A, 0x00, 0x8E, 0x29, 0x3A, 0x01, 0xAD, 0xD7, 0x10, 0x00, 0x00, 0x00, 0x14, 0x4D, 0x61, 0x6C, 0x61, 0x79, 0x73, 0x69, 0x61, 0x20, 0x28, 0x70, 0x65, 0x6E, 0x69, 0x6E, 0x73, 0x75, 0x6C, 0x61, 0x29, @@ -45665,28 +45948,30 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { /* Asia/Singapore */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x53, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x20, 0x80, 0x00, 0x00, 0x00, 0x86, 0x83, 0x85, 0xA3, 0xBA, 0x67, 0x4E, 0x90, 0xC0, 0x0A, 0xE4, 0x60, 0xCA, 0xB3, 0xE5, 0x60, -0xCB, 0x91, 0x5F, 0x08, 0xD2, 0x48, 0x6D, 0xF0, 0x16, 0x91, 0xF5, 0x08, 0x01, 0x02, 0x03, 0x04, +0xCB, 0x91, 0x5F, 0x08, 0xD2, 0x48, 0x6D, 0xF0, 0x16, 0x91, 0xEE, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x05, 0x07, 0x00, 0x00, 0x61, 0x5D, 0x00, 0x00, 0x00, 0x00, 0x61, 0x5D, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x08, 0x00, 0x00, 0x67, 0x20, 0x01, 0x0C, 0x00, 0x00, 0x67, 0x20, 0x00, 0x0C, 0x00, 0x00, 0x69, 0x78, 0x00, 0x12, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x18, 0x00, 0x00, 0x70, 0x80, 0x00, 0x1C, 0x4C, 0x4D, 0x54, 0x00, 0x53, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x37, 0x00, 0x2B, 0x30, 0x37, 0x32, 0x30, 0x00, 0x2B, 0x30, 0x37, 0x33, 0x30, 0x00, 0x2B, 0x30, 0x39, 0x00, -0x2B, 0x30, 0x38, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x2B, 0x30, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x01, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0x7E, 0x36, 0x53, 0xA3, 0xFF, 0xFF, 0xFF, 0xFF, 0x86, 0x83, 0x85, 0xA3, 0xFF, 0xFF, 0xFF, 0xFF, 0xBA, 0x67, 0x4E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x0A, 0xE4, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0xB3, 0xE5, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x91, 0x5F, 0x08, -0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x48, 0x6D, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x91, 0xF5, 0x08, +0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x48, 0x6D, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x91, 0xEE, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x05, 0x07, 0x00, 0x00, 0x61, 0x5D, 0x00, 0x00, 0x00, 0x00, 0x61, 0x5D, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x08, 0x00, 0x00, 0x67, 0x20, 0x01, 0x0C, 0x00, 0x00, 0x67, 0x20, 0x00, 0x0C, 0x00, 0x00, 0x69, 0x78, 0x00, 0x12, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x18, 0x00, 0x00, 0x70, 0x80, 0x00, 0x1C, 0x4C, 0x4D, 0x54, 0x00, 0x53, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x37, 0x00, 0x2B, 0x30, 0x37, 0x32, 0x30, 0x00, 0x2B, 0x30, 0x37, 0x33, 0x30, 0x00, -0x2B, 0x30, 0x39, 0x00, 0x2B, 0x30, 0x38, 0x00, 0x0A, 0x3C, 0x2B, 0x30, 0x38, 0x3E, 0x2D, 0x38, +0x2B, 0x30, 0x39, 0x00, 0x2B, 0x30, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x0A, 0x3C, 0x2B, 0x30, 0x38, 0x3E, 0x2D, 0x38, 0x0A, 0x00, 0x8B, 0x49, 0x8D, 0x01, 0xB1, 0x1E, 0xE8, 0x00, 0x00, 0x00, 0x00, /* Asia/Srednekolymsk */ @@ -52010,7 +52295,7 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { 0x00, 0x00, 0x00, 0x5D, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x25, 0x80, 0x00, 0x00, 0x00, 0x9E, 0xB8, 0xCB, 0xB0, 0x9F, 0xBB, 0x23, 0xA0, 0xA0, 0xD0, 0x0C, 0xB0, 0xA1, 0xA2, 0xD2, 0x80, 0xCB, 0x89, 0x28, 0xB0, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x61, 0x34, 0x20, 0xF7, 0x2F, 0x76, 0x90, -0xF8, 0x28, 0xA2, 0x10, 0xFB, 0x1D, 0x5F, 0x10, 0x13, 0x69, 0x72, 0x20, 0x14, 0x59, 0x55, 0x10, +0xF8, 0x28, 0xA2, 0x10, 0xF8, 0xC5, 0x84, 0x90, 0x13, 0x69, 0x72, 0x20, 0x14, 0x59, 0x55, 0x10, 0x15, 0x49, 0x54, 0x20, 0x16, 0x39, 0x37, 0x10, 0x17, 0x29, 0x36, 0x20, 0x18, 0x22, 0x53, 0x90, 0x19, 0x09, 0x18, 0x20, 0x1A, 0x02, 0x35, 0x90, 0x1A, 0xF2, 0x34, 0xA0, 0x1B, 0xE2, 0x17, 0x90, 0x1C, 0xD2, 0x16, 0xA0, 0x1D, 0xC1, 0xF9, 0x90, 0x1E, 0xB1, 0xF8, 0xA0, 0x1F, 0xA1, 0xDB, 0x90, @@ -52051,7 +52336,7 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { 0xFF, 0xFF, 0xA0, 0xD0, 0x0C, 0xB0, 0xFF, 0xFF, 0xFF, 0xFF, 0xA1, 0xA2, 0xD2, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x89, 0x28, 0xB0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x61, 0x34, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x2F, 0x76, 0x90, 0xFF, 0xFF, -0xFF, 0xFF, 0xF8, 0x28, 0xA2, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0x1D, 0x5F, 0x10, 0x00, 0x00, +0xFF, 0xFF, 0xF8, 0x28, 0xA2, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0xC5, 0x84, 0x90, 0x00, 0x00, 0x00, 0x00, 0x13, 0x69, 0x72, 0x20, 0x00, 0x00, 0x00, 0x00, 0x14, 0x59, 0x55, 0x10, 0x00, 0x00, 0x00, 0x00, 0x15, 0x49, 0x54, 0x20, 0x00, 0x00, 0x00, 0x00, 0x16, 0x39, 0x37, 0x10, 0x00, 0x00, 0x00, 0x00, 0x17, 0x29, 0x36, 0x20, 0x00, 0x00, 0x00, 0x00, 0x18, 0x22, 0x53, 0x90, 0x00, 0x00, @@ -67269,28 +67554,30 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { /* Singapore */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x20, 0x80, 0x00, 0x00, 0x00, 0x86, 0x83, 0x85, 0xA3, 0xBA, 0x67, 0x4E, 0x90, 0xC0, 0x0A, 0xE4, 0x60, 0xCA, 0xB3, 0xE5, 0x60, -0xCB, 0x91, 0x5F, 0x08, 0xD2, 0x48, 0x6D, 0xF0, 0x16, 0x91, 0xF5, 0x08, 0x01, 0x02, 0x03, 0x04, +0xCB, 0x91, 0x5F, 0x08, 0xD2, 0x48, 0x6D, 0xF0, 0x16, 0x91, 0xEE, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x05, 0x07, 0x00, 0x00, 0x61, 0x5D, 0x00, 0x00, 0x00, 0x00, 0x61, 0x5D, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x08, 0x00, 0x00, 0x67, 0x20, 0x01, 0x0C, 0x00, 0x00, 0x67, 0x20, 0x00, 0x0C, 0x00, 0x00, 0x69, 0x78, 0x00, 0x12, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x18, 0x00, 0x00, 0x70, 0x80, 0x00, 0x1C, 0x4C, 0x4D, 0x54, 0x00, 0x53, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x37, 0x00, 0x2B, 0x30, 0x37, 0x32, 0x30, 0x00, 0x2B, 0x30, 0x37, 0x33, 0x30, 0x00, 0x2B, 0x30, 0x39, 0x00, -0x2B, 0x30, 0x38, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x2B, 0x30, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x01, 0x54, 0x5A, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0x7E, 0x36, 0x53, 0xA3, 0xFF, 0xFF, 0xFF, 0xFF, 0x86, 0x83, 0x85, 0xA3, 0xFF, 0xFF, 0xFF, 0xFF, 0xBA, 0x67, 0x4E, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x0A, 0xE4, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0xB3, 0xE5, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x91, 0x5F, 0x08, -0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x48, 0x6D, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x91, 0xF5, 0x08, +0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x48, 0x6D, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x91, 0xEE, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x05, 0x07, 0x00, 0x00, 0x61, 0x5D, 0x00, 0x00, 0x00, 0x00, 0x61, 0x5D, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x08, 0x00, 0x00, 0x67, 0x20, 0x01, 0x0C, 0x00, 0x00, 0x67, 0x20, 0x00, 0x0C, 0x00, 0x00, 0x69, 0x78, 0x00, 0x12, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x18, 0x00, 0x00, 0x70, 0x80, 0x00, 0x1C, 0x4C, 0x4D, 0x54, 0x00, 0x53, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x37, 0x00, 0x2B, 0x30, 0x37, 0x32, 0x30, 0x00, 0x2B, 0x30, 0x37, 0x33, 0x30, 0x00, -0x2B, 0x30, 0x39, 0x00, 0x2B, 0x30, 0x38, 0x00, 0x0A, 0x3C, 0x2B, 0x30, 0x38, 0x3E, 0x2D, 0x38, +0x2B, 0x30, 0x39, 0x00, 0x2B, 0x30, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x0A, 0x3C, 0x2B, 0x30, 0x38, 0x3E, 0x2D, 0x38, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* Turkey */ @@ -69245,4 +69532,4 @@ const unsigned char timelib_timezone_db_data_builtin[696923] = { }; #endif -const timelib_tzdb timezonedb_builtin = { "2022.6", 596, timezonedb_idx_builtin, timelib_timezone_db_data_builtin }; +const timelib_tzdb timezonedb_builtin = { "2022.7", 597, timezonedb_idx_builtin, timelib_timezone_db_data_builtin }; From 44377c3c704a539a0f93290813d6caf6b4202701 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Tue, 29 Nov 2022 15:32:46 +0100 Subject: [PATCH 04/50] Fix GH-9971: Incorrect NUMERIC value returned from PDO_Firebird Dialect 1 databases store and transfer `NUMERIC(15,2)` values as doubles, which we need to cater to in `firebird_stmt_get_col()` to avoid `ZEND_ASSUME(0)` to ever be triggered, since that may result in undefined behavior. Since adding a regression test would require to create a dialect 1 database, we go without it. Closes GH-10021. --- NEWS | 4 ++++ ext/pdo_firebird/firebird_statement.c | 2 ++ 2 files changed, 6 insertions(+) diff --git a/NEWS b/NEWS index e8d436e0fa582..b82ddf8f82365 100644 --- a/NEWS +++ b/NEWS @@ -36,6 +36,10 @@ PHP NEWS . Fixed bug GH-9298 (Signal handler called after rshutdown leads to crash). (Erki Aring) +- PDO_Firebird: + . Fixed bug GH-9971 (Incorrect NUMERIC value returned from PDO_Firebird). + (cmb) + - Session: . Fixed GH-9932 (session name silently fails with . and [). (David Carlier) diff --git a/ext/pdo_firebird/firebird_statement.c b/ext/pdo_firebird/firebird_statement.c index d2b0a720b62fe..04a911c0c76c5 100644 --- a/ext/pdo_firebird/firebird_statement.c +++ b/ext/pdo_firebird/firebird_statement.c @@ -382,6 +382,8 @@ static int firebird_stmt_get_col( case SQL_INT64: n = *(ISC_INT64*)var->sqldata; break; + case SQL_DOUBLE: + break; EMPTY_SWITCH_DEFAULT_CASE() } From 818b46acb0ae8c2d495bbdde2cba7d8f7c2078f0 Mon Sep 17 00:00:00 2001 From: Derick Rethans Date: Wed, 30 Nov 2022 15:42:11 +0000 Subject: [PATCH 05/50] Import timelib 2021.18 --- ext/date/lib/interval.c | 4 +- ext/date/lib/parse_date.c | 211 +++++++++--------- ext/date/lib/parse_date.re | 7 +- ext/date/lib/timelib.h | 6 +- ext/date/tests/bug81263.phpt | 2 +- ext/date/tests/gh7758.phpt | 2 +- ext/date/tests/gh9165.phpt | 2 +- ...me_and_daylight_saving_time-type3-bd2.phpt | 2 +- 8 files changed, 123 insertions(+), 113 deletions(-) diff --git a/ext/date/lib/interval.c b/ext/date/lib/interval.c index d7a05d16ea915..7d7977197d244 100644 --- a/ext/date/lib/interval.c +++ b/ext/date/lib/interval.c @@ -62,7 +62,7 @@ static void sort_old_to_new(timelib_time **one, timelib_time **two, timelib_rel_ if ( (*one)->zone_type == TIMELIB_ZONETYPE_ID && (*two)->zone_type == TIMELIB_ZONETYPE_ID && - (strcmp((*one)->tz_info->name, (*two)->tz_info->name) != 0) + (strcmp((*one)->tz_info->name, (*two)->tz_info->name) == 0) ) { if ( ((*one)->y > (*two)->y) || @@ -200,7 +200,7 @@ timelib_rel_time *timelib_diff(timelib_time *one, timelib_time *two) { timelib_rel_time *rt; - if (one->zone_type == TIMELIB_ZONETYPE_ID && two->zone_type == TIMELIB_ZONETYPE_ID) { + if (one->zone_type == TIMELIB_ZONETYPE_ID && two->zone_type == TIMELIB_ZONETYPE_ID && strcmp(one->tz_info->name, two->tz_info->name) == 0) { return timelib_diff_with_tzid(one, two); } diff --git a/ext/date/lib/parse_date.c b/ext/date/lib/parse_date.c index 64ad3a0ba0867..84ad4fab8947f 100644 --- a/ext/date/lib/parse_date.c +++ b/ext/date/lib/parse_date.c @@ -1,4 +1,4 @@ -/* Generated by re2c 0.15.3 on Wed Sep 14 10:36:03 2022 */ +/* Generated by re2c 0.15.3 on Wed Nov 30 11:53:33 2022 */ #line 1 "ext/date/lib/parse_date.re" /* * The MIT License (MIT) @@ -756,7 +756,12 @@ static timelib_long timelib_lookup_abbr(const char **ptr, int *dst, char **tz_ab timelib_long value = 0; const timelib_tz_lookup_table *tp; - while (**ptr != '\0' && **ptr != ')' && **ptr != ' ') { + /* Only include A-Z, a-z, /, _, and - in abbreviations/TZ IDs */ + while ( + (**ptr >= 'A' && **ptr <= 'Z') || + (**ptr >= 'a' && **ptr <= 'z') || + **ptr == '/' || **ptr == '_' || **ptr == '-' + ) { ++*ptr; } end = *ptr; @@ -952,11 +957,11 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) std: s->tok = cursor; s->len = 0; -#line 1083 "ext/date/lib/parse_date.re" +#line 1088 "ext/date/lib/parse_date.re" -#line 960 "" +#line 965 "" { YYCTYPE yych; unsigned int yyaccept = 0; @@ -1094,7 +1099,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } yy3: YYDEBUG(3, *YYCURSOR); -#line 1817 "ext/date/lib/parse_date.re" +#line 1822 "ext/date/lib/parse_date.re" { int tz_not_found; DEBUG_OUTPUT("tzcorrection | tz"); @@ -1107,7 +1112,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_TIMEZONE; } -#line 1111 "" +#line 1116 "" yy4: YYDEBUG(4, *YYCURSOR); yych = *++YYCURSOR; @@ -1414,12 +1419,12 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '9') goto yy1483; yy12: YYDEBUG(12, *YYCURSOR); -#line 1912 "ext/date/lib/parse_date.re" +#line 1917 "ext/date/lib/parse_date.re" { add_error(s, TIMELIB_ERR_UNEXPECTED_CHARACTER, "Unexpected character"); goto std; } -#line 1423 "" +#line 1428 "" yy13: YYDEBUG(13, *YYCURSOR); yych = *++YYCURSOR; @@ -2663,11 +2668,11 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '9') goto yy54; yy49: YYDEBUG(49, *YYCURSOR); -#line 1901 "ext/date/lib/parse_date.re" +#line 1906 "ext/date/lib/parse_date.re" { goto std; } -#line 2671 "" +#line 2676 "" yy50: YYDEBUG(50, *YYCURSOR); yych = *++YYCURSOR; @@ -2676,12 +2681,12 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) YYDEBUG(51, *YYCURSOR); ++YYCURSOR; YYDEBUG(52, *YYCURSOR); -#line 1906 "ext/date/lib/parse_date.re" +#line 1911 "ext/date/lib/parse_date.re" { s->pos = cursor; s->line++; goto std; } -#line 2685 "" +#line 2690 "" yy53: YYDEBUG(53, *YYCURSOR); yych = *++YYCURSOR; @@ -3103,7 +3108,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych == 's') goto yy85; yy84: YYDEBUG(84, *YYCURSOR); -#line 1885 "ext/date/lib/parse_date.re" +#line 1890 "ext/date/lib/parse_date.re" { timelib_ull i; DEBUG_OUTPUT("relative"); @@ -3118,7 +3123,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_RELATIVE; } -#line 3122 "" +#line 3127 "" yy85: YYDEBUG(85, *YYCURSOR); yych = *++YYCURSOR; @@ -4127,7 +4132,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } yy219: YYDEBUG(219, *YYCURSOR); -#line 1748 "ext/date/lib/parse_date.re" +#line 1753 "ext/date/lib/parse_date.re" { const timelib_relunit* relunit; DEBUG_OUTPUT("daytext"); @@ -4144,7 +4149,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_WEEKDAY; } -#line 4148 "" +#line 4153 "" yy220: YYDEBUG(220, *YYCURSOR); yych = *++YYCURSOR; @@ -4690,7 +4695,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } yy248: YYDEBUG(248, *YYCURSOR); -#line 1807 "ext/date/lib/parse_date.re" +#line 1812 "ext/date/lib/parse_date.re" { DEBUG_OUTPUT("monthtext"); TIMELIB_INIT; @@ -4699,7 +4704,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_DATE_TEXT; } -#line 4703 "" +#line 4708 "" yy249: YYDEBUG(249, *YYCURSOR); ++YYCURSOR; @@ -4948,7 +4953,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) goto yy267; yy262: YYDEBUG(262, *YYCURSOR); -#line 1553 "ext/date/lib/parse_date.re" +#line 1558 "ext/date/lib/parse_date.re" { int length = 0; DEBUG_OUTPUT("datetextual | datenoyear"); @@ -4961,7 +4966,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_DATE_TEXT; } -#line 4965 "" +#line 4970 "" yy263: YYDEBUG(263, *YYCURSOR); yyaccept = 6; @@ -5088,7 +5093,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } yy276: YYDEBUG(276, *YYCURSOR); -#line 1855 "ext/date/lib/parse_date.re" +#line 1860 "ext/date/lib/parse_date.re" { int tz_not_found; DEBUG_OUTPUT("dateshortwithtimeshort | dateshortwithtimelong | dateshortwithtimelongtz"); @@ -5117,7 +5122,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_SHORTDATE_WITH_TIME; } -#line 5121 "" +#line 5126 "" yy277: YYDEBUG(277, *YYCURSOR); yyaccept = 7; @@ -5415,7 +5420,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) YYDEBUG(300, *YYCURSOR); ++YYCURSOR; YYDEBUG(301, *YYCURSOR); -#line 1831 "ext/date/lib/parse_date.re" +#line 1836 "ext/date/lib/parse_date.re" { DEBUG_OUTPUT("dateshortwithtimeshort12 | dateshortwithtimelong12"); TIMELIB_INIT; @@ -5438,7 +5443,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_SHORTDATE_WITH_TIME; } -#line 5442 "" +#line 5447 "" yy302: YYDEBUG(302, *YYCURSOR); yych = *++YYCURSOR; @@ -6116,7 +6121,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) YYDEBUG(362, *YYCURSOR); ++YYCURSOR; YYDEBUG(363, *YYCURSOR); -#line 1525 "ext/date/lib/parse_date.re" +#line 1530 "ext/date/lib/parse_date.re" { int length = 0; DEBUG_OUTPUT("datenoday"); @@ -6129,7 +6134,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_DATE_NO_DAY; } -#line 6133 "" +#line 6138 "" yy364: YYDEBUG(364, *YYCURSOR); yych = *++YYCURSOR; @@ -6360,7 +6365,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '9') goto yy372; yy371: YYDEBUG(371, *YYCURSOR); -#line 1669 "ext/date/lib/parse_date.re" +#line 1674 "ext/date/lib/parse_date.re" { int length = 0; DEBUG_OUTPUT("pgtextshort"); @@ -6373,7 +6378,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_PG_TEXT; } -#line 6377 "" +#line 6382 "" yy372: YYDEBUG(372, *YYCURSOR); yych = *++YYCURSOR; @@ -6955,7 +6960,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } yy398: YYDEBUG(398, *YYCURSOR); -#line 1727 "ext/date/lib/parse_date.re" +#line 1732 "ext/date/lib/parse_date.re" { DEBUG_OUTPUT("ago"); TIMELIB_INIT; @@ -6975,7 +6980,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_AGO; } -#line 6979 "" +#line 6984 "" yy399: YYDEBUG(399, *YYCURSOR); yyaccept = 5; @@ -8764,7 +8769,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) ++YYCURSOR; yy461: YYDEBUG(461, *YYCURSOR); -#line 1418 "ext/date/lib/parse_date.re" +#line 1423 "ext/date/lib/parse_date.re" { DEBUG_OUTPUT("iso8601date4 | iso8601date2 | iso8601dateslash | dateslash"); TIMELIB_INIT; @@ -8775,7 +8780,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_ISO_DATE; } -#line 8779 "" +#line 8784 "" yy462: YYDEBUG(462, *YYCURSOR); yych = *++YYCURSOR; @@ -8897,7 +8902,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) YYDEBUG(484, *YYCURSOR); ++YYCURSOR; YYDEBUG(485, *YYCURSOR); -#line 1444 "ext/date/lib/parse_date.re" +#line 1449 "ext/date/lib/parse_date.re" { DEBUG_OUTPUT("iso8601datex"); TIMELIB_INIT; @@ -8908,7 +8913,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_ISO_DATE; } -#line 8912 "" +#line 8917 "" yy486: YYDEBUG(486, *YYCURSOR); yyaccept = 1; @@ -9662,7 +9667,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } yy509: YYDEBUG(509, *YYCURSOR); -#line 1567 "ext/date/lib/parse_date.re" +#line 1572 "ext/date/lib/parse_date.re" { DEBUG_OUTPUT("datenoyearrev"); TIMELIB_INIT; @@ -9673,7 +9678,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_DATE_TEXT; } -#line 9677 "" +#line 9682 "" yy510: YYDEBUG(510, *YYCURSOR); yyaccept = 9; @@ -9814,7 +9819,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) YYDEBUG(521, *YYCURSOR); ++YYCURSOR; YYDEBUG(522, *YYCURSOR); -#line 1271 "ext/date/lib/parse_date.re" +#line 1276 "ext/date/lib/parse_date.re" { DEBUG_OUTPUT("timetiny12 | timeshort12 | timelong12"); TIMELIB_INIT; @@ -9830,7 +9835,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_TIME12; } -#line 9834 "" +#line 9839 "" yy523: YYDEBUG(523, *YYCURSOR); yyaccept = 10; @@ -9843,7 +9848,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } yy524: YYDEBUG(524, *YYCURSOR); -#line 1308 "ext/date/lib/parse_date.re" +#line 1313 "ext/date/lib/parse_date.re" { int tz_not_found; DEBUG_OUTPUT("timetiny24 | timeshort24 | timelong24 | iso8601long"); @@ -9870,7 +9875,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_TIME24_WITH_ZONE; } -#line 9874 "" +#line 9879 "" yy525: YYDEBUG(525, *YYCURSOR); yyaccept = 10; @@ -10183,7 +10188,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) YYDEBUG(556, *YYCURSOR); ++YYCURSOR; YYDEBUG(557, *YYCURSOR); -#line 1288 "ext/date/lib/parse_date.re" +#line 1293 "ext/date/lib/parse_date.re" { DEBUG_OUTPUT("mssqltime"); TIMELIB_INIT; @@ -10202,7 +10207,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_TIME24_WITH_ZONE; } -#line 10206 "" +#line 10211 "" yy558: YYDEBUG(558, *YYCURSOR); yyaccept = 10; @@ -10308,7 +10313,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '9') goto yy574; yy568: YYDEBUG(568, *YYCURSOR); -#line 1484 "ext/date/lib/parse_date.re" +#line 1489 "ext/date/lib/parse_date.re" { int length = 0; DEBUG_OUTPUT("datefull"); @@ -10322,7 +10327,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_DATE_FULL; } -#line 10326 "" +#line 10331 "" yy569: YYDEBUG(569, *YYCURSOR); yych = *++YYCURSOR; @@ -11058,7 +11063,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) YYDEBUG(639, *YYCURSOR); ++YYCURSOR; YYDEBUG(640, *YYCURSOR); -#line 1499 "ext/date/lib/parse_date.re" +#line 1504 "ext/date/lib/parse_date.re" { DEBUG_OUTPUT("pointed date YYYY"); TIMELIB_INIT; @@ -11069,7 +11074,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_DATE_FULL_POINTED; } -#line 11073 "" +#line 11078 "" yy641: YYDEBUG(641, *YYCURSOR); yyaccept = 10; @@ -11105,7 +11110,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '9') goto yy638; yy645: YYDEBUG(645, *YYCURSOR); -#line 1511 "ext/date/lib/parse_date.re" +#line 1516 "ext/date/lib/parse_date.re" { int length = 0; DEBUG_OUTPUT("pointed date YY"); @@ -11118,7 +11123,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_DATE_FULL_POINTED; } -#line 11122 "" +#line 11127 "" yy646: YYDEBUG(646, *YYCURSOR); yyaccept = 10; @@ -11759,7 +11764,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } yy690: YYDEBUG(690, *YYCURSOR); -#line 1470 "ext/date/lib/parse_date.re" +#line 1475 "ext/date/lib/parse_date.re" { int length = 0; DEBUG_OUTPUT("gnudateshort"); @@ -11772,7 +11777,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_ISO_DATE; } -#line 11776 "" +#line 11781 "" yy691: YYDEBUG(691, *YYCURSOR); yyaccept = 12; @@ -11878,7 +11883,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } yy700: YYDEBUG(700, *YYCURSOR); -#line 1402 "ext/date/lib/parse_date.re" +#line 1407 "ext/date/lib/parse_date.re" { int length = 0; DEBUG_OUTPUT("americanshort | american"); @@ -11893,7 +11898,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_AMERICAN; } -#line 11897 "" +#line 11902 "" yy701: YYDEBUG(701, *YYCURSOR); yyaccept = 13; @@ -12127,7 +12132,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= ':') goto yy737; yy734: YYDEBUG(734, *YYCURSOR); -#line 1697 "ext/date/lib/parse_date.re" +#line 1702 "ext/date/lib/parse_date.re" { int tz_not_found; DEBUG_OUTPUT("clf"); @@ -12147,7 +12152,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_CLF; } -#line 12151 "" +#line 12156 "" yy735: YYDEBUG(735, *YYCURSOR); yyaccept = 14; @@ -12767,7 +12772,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } yy808: YYDEBUG(808, *YYCURSOR); -#line 1430 "ext/date/lib/parse_date.re" +#line 1435 "ext/date/lib/parse_date.re" { int length = 0; DEBUG_OUTPUT("iso8601date2"); @@ -12780,7 +12785,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_ISO_DATE; } -#line 12784 "" +#line 12789 "" yy809: YYDEBUG(809, *YYCURSOR); yych = *++YYCURSOR; @@ -12819,7 +12824,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) YYDEBUG(815, *YYCURSOR); ++YYCURSOR; YYDEBUG(816, *YYCURSOR); -#line 1683 "ext/date/lib/parse_date.re" +#line 1688 "ext/date/lib/parse_date.re" { int length = 0; DEBUG_OUTPUT("pgtextreverse"); @@ -12832,7 +12837,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_PG_TEXT; } -#line 12836 "" +#line 12841 "" yy817: YYDEBUG(817, *YYCURSOR); yych = *++YYCURSOR; @@ -12997,7 +13002,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } yy828: YYDEBUG(828, *YYCURSOR); -#line 1718 "ext/date/lib/parse_date.re" +#line 1723 "ext/date/lib/parse_date.re" { DEBUG_OUTPUT("year4"); TIMELIB_INIT; @@ -13005,7 +13010,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_CLF; } -#line 13009 "" +#line 13014 "" yy829: YYDEBUG(829, *YYCURSOR); yych = *++YYCURSOR; @@ -13210,7 +13215,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } yy838: YYDEBUG(838, *YYCURSOR); -#line 1539 "ext/date/lib/parse_date.re" +#line 1544 "ext/date/lib/parse_date.re" { int length = 0; DEBUG_OUTPUT("datenodayrev"); @@ -13223,7 +13228,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_DATE_NO_DAY; } -#line 13227 "" +#line 13232 "" yy839: YYDEBUG(839, *YYCURSOR); yych = *++YYCURSOR; @@ -13444,7 +13449,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '7') goto yy861; yy859: YYDEBUG(859, *YYCURSOR); -#line 1650 "ext/date/lib/parse_date.re" +#line 1655 "ext/date/lib/parse_date.re" { timelib_sll w, d; DEBUG_OUTPUT("isoweek"); @@ -13462,7 +13467,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_ISO_WEEK; } -#line 13466 "" +#line 13471 "" yy860: YYDEBUG(860, *YYCURSOR); yych = *++YYCURSOR; @@ -13472,7 +13477,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) YYDEBUG(861, *YYCURSOR); ++YYCURSOR; YYDEBUG(862, *YYCURSOR); -#line 1631 "ext/date/lib/parse_date.re" +#line 1636 "ext/date/lib/parse_date.re" { timelib_sll w, d; DEBUG_OUTPUT("isoweekday"); @@ -13490,7 +13495,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_ISO_WEEK; } -#line 13494 "" +#line 13499 "" yy863: YYDEBUG(863, *YYCURSOR); yych = *++YYCURSOR; @@ -13562,7 +13567,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } yy866: YYDEBUG(866, *YYCURSOR); -#line 1617 "ext/date/lib/parse_date.re" +#line 1622 "ext/date/lib/parse_date.re" { int length = 0; DEBUG_OUTPUT("pgydotd"); @@ -13575,7 +13580,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_PG_YEARDAY; } -#line 13579 "" +#line 13584 "" yy867: YYDEBUG(867, *YYCURSOR); yych = *++YYCURSOR; @@ -13678,7 +13683,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) ++YYCURSOR; yy887: YYDEBUG(887, *YYCURSOR); -#line 1591 "ext/date/lib/parse_date.re" +#line 1596 "ext/date/lib/parse_date.re" { int tz_not_found; DEBUG_OUTPUT("xmlrpc | xmlrpcnocolon | soap | wddx | exif"); @@ -13703,7 +13708,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_XMLRPC_SOAP; } -#line 13707 "" +#line 13712 "" yy888: YYDEBUG(888, *YYCURSOR); yych = *++YYCURSOR; @@ -13999,7 +14004,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } yy893: YYDEBUG(893, *YYCURSOR); -#line 1579 "ext/date/lib/parse_date.re" +#line 1584 "ext/date/lib/parse_date.re" { DEBUG_OUTPUT("datenocolon"); TIMELIB_INIT; @@ -14010,7 +14015,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_DATE_NOCOLON; } -#line 14014 "" +#line 14019 "" yy894: YYDEBUG(894, *YYCURSOR); yych = *++YYCURSOR; @@ -14932,7 +14937,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } yy1018: YYDEBUG(1018, *YYCURSOR); -#line 1456 "ext/date/lib/parse_date.re" +#line 1461 "ext/date/lib/parse_date.re" { int length = 0; DEBUG_OUTPUT("gnudateshorter"); @@ -14945,7 +14950,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_ISO_DATE; } -#line 14949 "" +#line 14954 "" yy1019: YYDEBUG(1019, *YYCURSOR); yyaccept = 22; @@ -16153,7 +16158,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } yy1127: YYDEBUG(1127, *YYCURSOR); -#line 1336 "ext/date/lib/parse_date.re" +#line 1341 "ext/date/lib/parse_date.re" { DEBUG_OUTPUT("gnunocolon"); TIMELIB_INIT; @@ -16175,7 +16180,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_GNU_NOCOLON; } -#line 16179 "" +#line 16184 "" yy1128: YYDEBUG(1128, *YYCURSOR); yych = *++YYCURSOR; @@ -16275,7 +16280,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } yy1135: YYDEBUG(1135, *YYCURSOR); -#line 1382 "ext/date/lib/parse_date.re" +#line 1387 "ext/date/lib/parse_date.re" { int tz_not_found; DEBUG_OUTPUT("iso8601nocolon"); @@ -16294,7 +16299,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_ISO_NOCOLON; } -#line 16298 "" +#line 16303 "" yy1136: YYDEBUG(1136, *YYCURSOR); yyaccept = 25; @@ -17270,7 +17275,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } yy1179: YYDEBUG(1179, *YYCURSOR); -#line 1790 "ext/date/lib/parse_date.re" +#line 1795 "ext/date/lib/parse_date.re" { timelib_sll i; int behavior = 0; @@ -17286,7 +17291,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_RELATIVE; } -#line 17290 "" +#line 17295 "" yy1180: YYDEBUG(1180, *YYCURSOR); ++YYCURSOR; @@ -17352,7 +17357,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) YYDEBUG(1188, *YYCURSOR); ++YYCURSOR; YYDEBUG(1189, *YYCURSOR); -#line 1249 "ext/date/lib/parse_date.re" +#line 1254 "ext/date/lib/parse_date.re" { timelib_sll i; int behavior = 0; @@ -17373,7 +17378,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_WEEK_DAY_OF_MONTH; } -#line 17377 "" +#line 17382 "" yy1190: YYDEBUG(1190, *YYCURSOR); yyaccept = 26; @@ -17513,7 +17518,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } yy1206: YYDEBUG(1206, *YYCURSOR); -#line 1766 "ext/date/lib/parse_date.re" +#line 1771 "ext/date/lib/parse_date.re" { timelib_sll i; int behavior = 0; @@ -17536,7 +17541,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_RELATIVE; } -#line 17540 "" +#line 17545 "" yy1207: YYDEBUG(1207, *YYCURSOR); yych = *++YYCURSOR; @@ -20485,7 +20490,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } yy1388: YYDEBUG(1388, *YYCURSOR); -#line 1226 "ext/date/lib/parse_date.re" +#line 1231 "ext/date/lib/parse_date.re" { DEBUG_OUTPUT("backof | frontof"); TIMELIB_INIT; @@ -20507,7 +20512,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_LF_DAY_OF_MONTH; } -#line 20511 "" +#line 20516 "" yy1389: YYDEBUG(1389, *YYCURSOR); yyaccept = 28; @@ -20806,7 +20811,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) YYDEBUG(1410, *YYCURSOR); ++YYCURSOR; YYDEBUG(1411, *YYCURSOR); -#line 1209 "ext/date/lib/parse_date.re" +#line 1214 "ext/date/lib/parse_date.re" { DEBUG_OUTPUT("firstdayof | lastdayof"); TIMELIB_INIT; @@ -20822,7 +20827,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_LF_DAY_OF_MONTH; } -#line 20826 "" +#line 20831 "" yy1412: YYDEBUG(1412, *YYCURSOR); yyaccept = 1; @@ -22344,7 +22349,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '9') goto yy1483; yy1485: YYDEBUG(1485, *YYCURSOR); -#line 1143 "ext/date/lib/parse_date.re" +#line 1148 "ext/date/lib/parse_date.re" { timelib_ull i; @@ -22369,7 +22374,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_RELATIVE; } -#line 22373 "" +#line 22378 "" yy1486: YYDEBUG(1486, *YYCURSOR); ++YYCURSOR; @@ -22377,7 +22382,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '9') goto yy1488; yy1487: YYDEBUG(1487, *YYCURSOR); -#line 1169 "ext/date/lib/parse_date.re" +#line 1174 "ext/date/lib/parse_date.re" { timelib_sll i; timelib_ull us; @@ -22416,7 +22421,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_RELATIVE; } -#line 22420 "" +#line 22425 "" yy1488: YYDEBUG(1488, *YYCURSOR); yych = *++YYCURSOR; @@ -22885,7 +22890,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) ++YYCURSOR; yy1524: YYDEBUG(1524, *YYCURSOR); -#line 1131 "ext/date/lib/parse_date.re" +#line 1136 "ext/date/lib/parse_date.re" { DEBUG_OUTPUT("tomorrow"); TIMELIB_INIT; @@ -22896,7 +22901,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_RELATIVE; } -#line 22900 "" +#line 22905 "" yy1525: YYDEBUG(1525, *YYCURSOR); yych = *++YYCURSOR; @@ -22931,7 +22936,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } yy1527: YYDEBUG(1527, *YYCURSOR); -#line 1121 "ext/date/lib/parse_date.re" +#line 1126 "ext/date/lib/parse_date.re" { DEBUG_OUTPUT("midnight | today"); TIMELIB_INIT; @@ -22940,7 +22945,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_RELATIVE; } -#line 22944 "" +#line 22949 "" yy1528: YYDEBUG(1528, *YYCURSOR); yych = *++YYCURSOR; @@ -25035,7 +25040,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } yy1612: YYDEBUG(1612, *YYCURSOR); -#line 1100 "ext/date/lib/parse_date.re" +#line 1105 "ext/date/lib/parse_date.re" { DEBUG_OUTPUT("now"); TIMELIB_INIT; @@ -25043,7 +25048,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_RELATIVE; } -#line 25047 "" +#line 25052 "" yy1613: YYDEBUG(1613, *YYCURSOR); yych = *++YYCURSOR; @@ -25182,7 +25187,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } yy1620: YYDEBUG(1620, *YYCURSOR); -#line 1109 "ext/date/lib/parse_date.re" +#line 1114 "ext/date/lib/parse_date.re" { DEBUG_OUTPUT("noon"); TIMELIB_INIT; @@ -25193,7 +25198,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_RELATIVE; } -#line 25197 "" +#line 25202 "" yy1621: YYDEBUG(1621, *YYCURSOR); yyaccept = 1; @@ -25726,7 +25731,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) ++YYCURSOR; yy1643: YYDEBUG(1643, *YYCURSOR); -#line 1088 "ext/date/lib/parse_date.re" +#line 1093 "ext/date/lib/parse_date.re" { DEBUG_OUTPUT("yesterday"); TIMELIB_INIT; @@ -25737,7 +25742,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_RELATIVE; } -#line 25741 "" +#line 25746 "" yy1644: YYDEBUG(1644, *YYCURSOR); yyaccept = 1; @@ -25910,7 +25915,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) goto yy1643; } } -#line 1916 "ext/date/lib/parse_date.re" +#line 1921 "ext/date/lib/parse_date.re" } diff --git a/ext/date/lib/parse_date.re b/ext/date/lib/parse_date.re index 403f98d5eae57..b7667ad75b095 100644 --- a/ext/date/lib/parse_date.re +++ b/ext/date/lib/parse_date.re @@ -754,7 +754,12 @@ static timelib_long timelib_lookup_abbr(const char **ptr, int *dst, char **tz_ab timelib_long value = 0; const timelib_tz_lookup_table *tp; - while (**ptr != '\0' && **ptr != ')' && **ptr != ' ') { + /* Only include A-Z, a-z, /, _, and - in abbreviations/TZ IDs */ + while ( + (**ptr >= 'A' && **ptr <= 'Z') || + (**ptr >= 'a' && **ptr <= 'z') || + **ptr == '/' || **ptr == '_' || **ptr == '-' + ) { ++*ptr; } end = *ptr; diff --git a/ext/date/lib/timelib.h b/ext/date/lib/timelib.h index dbdddd34f7b1d..8c88b26cad44e 100644 --- a/ext/date/lib/timelib.h +++ b/ext/date/lib/timelib.h @@ -30,9 +30,9 @@ # include "timelib_config.h" #endif -#define TIMELIB_VERSION 202117 -#define TIMELIB_EXTENDED_VERSION 20211701 -#define TIMELIB_ASCII_VERSION "2021.17" +#define TIMELIB_VERSION 202118 +#define TIMELIB_EXTENDED_VERSION 20211801 +#define TIMELIB_ASCII_VERSION "2021.18" #include #include diff --git a/ext/date/tests/bug81263.phpt b/ext/date/tests/bug81263.phpt index c31b5d0c637cc..7b344d30b983c 100644 --- a/ext/date/tests/bug81263.phpt +++ b/ext/date/tests/bug81263.phpt @@ -41,7 +41,7 @@ DateInterval Object [weekday] => 0 [weekday_behavior] => 0 [first_last_day_of] => 0 - [invert] => 1 + [invert] => 0 [days] => 0 [special_type] => 0 [special_amount] => 0 diff --git a/ext/date/tests/gh7758.phpt b/ext/date/tests/gh7758.phpt index cec5b7d77bf75..ad1fee335eac1 100644 --- a/ext/date/tests/gh7758.phpt +++ b/ext/date/tests/gh7758.phpt @@ -1,5 +1,5 @@ --TEST-- -GH-7758 (Problems with negative timestamps and fractions) +Bug GH-7758 (Problems with negative timestamps and fractions) --FILE-- format($date_format) . ' - ' . $start->format($date_format) echo "\n"; ?> --EXPECT-- -bd0 2010-11-07 01:00:00 EST America/New_York - 2010-11-07 01:59:59 EDT America/New_York = P0DT0H0M1S +bd0 2010-11-07 01:00:00 EST America/New_York - 2010-11-07 01:59:59 EDT America/New_York = P0DT0H59M59S bd5 2010-11-07 01:30:00 EST America/New_York - 2010-11-06 04:30:00 EDT America/New_York = P0DT22H bd6 2010-11-07 01:30:00 EDT America/New_York - 2010-11-06 04:30:00 EDT America/New_York = P0DT21H bd8a 2010-11-07 01:00:00 EST America/New_York - 2010-11-06 01:00:00 EDT America/New_York = P1DT0H From d02185117194c3101063a2407e44f2bce4a79e86 Mon Sep 17 00:00:00 2001 From: Derick Rethans Date: Wed, 30 Nov 2022 15:47:43 +0000 Subject: [PATCH 06/50] Fixed GH-9699, GH-9866, and GH-9880 (problems with diff); and GH-9700 (greedy tzid parsing) --- NEWS | 9 +++++++++ ext/date/tests/gh9699.phpt | 12 ++++++++++++ ext/date/tests/gh9700.phpt | 15 +++++++++++++++ ext/date/tests/gh9866.phpt | 22 ++++++++++++++++++++++ ext/date/tests/gh9880.phpt | 18 ++++++++++++++++++ 5 files changed, 76 insertions(+) create mode 100644 ext/date/tests/gh9699.phpt create mode 100644 ext/date/tests/gh9700.phpt create mode 100644 ext/date/tests/gh9866.phpt create mode 100644 ext/date/tests/gh9880.phpt diff --git a/NEWS b/NEWS index b82ddf8f82365..80f4f7726834c 100644 --- a/NEWS +++ b/NEWS @@ -10,6 +10,15 @@ PHP NEWS . Fixed bug GH-9650 (Can't initialize heap: [0x000001e7]). (Michael Voříšek) . Fixed potentially undefined behavior in Windows ftok(3) emulation. (cmb) +- Date: + . Fixed bug GH-9699 (DateTimeImmutable::diff differences in 8.1.10 onwards - + timezone related). (Derick) + . Fixed bug GH-9700 (DateTime::createFromFormat: Parsing TZID string is too + greedy). (Derick) + . Fixed bug GH-9866 (Time zone bug with \DateTimeInterface::diff()). (Derick) + . Fixed bug GH-9880 (DateTime diff returns wrong sign on day count when using + a timezone). (Derick) + - FPM: . Fixed bug GH-9959 (Solaris port event mechanism is still broken after bug #66694). (Petr Sumbera) diff --git a/ext/date/tests/gh9699.phpt b/ext/date/tests/gh9699.phpt new file mode 100644 index 0000000000000..41dd2b232ea6c --- /dev/null +++ b/ext/date/tests/gh9699.phpt @@ -0,0 +1,12 @@ +--TEST-- +Bug GH-9699 (DateTimeImmutable::diff differences in 8.1.10 onwards - timezone related) +--FILE-- +diff($now)->format("%R %Y %M %D %H %I %S %F"), "\n"; +?> +--EXPECT-- ++ 00 00 00 23 00 00 019290 diff --git a/ext/date/tests/gh9700.phpt b/ext/date/tests/gh9700.phpt new file mode 100644 index 0000000000000..89f8651557781 --- /dev/null +++ b/ext/date/tests/gh9700.phpt @@ -0,0 +1,15 @@ +--TEST-- +Bug GH-9700 (DateTime::createFromFormat: Parsing TZID string is too greedy) +--FILE-- + +--EXPECTF-- +object(DateTime)#%d (%d) { + ["date"]=> + string(26) "2022-02-18 00:00:00.000000" + ["timezone_type"]=> + int(3) + ["timezone"]=> + string(13) "Europe/Berlin" +} diff --git a/ext/date/tests/gh9866.phpt b/ext/date/tests/gh9866.phpt new file mode 100644 index 0000000000000..70fd8c7e7133a --- /dev/null +++ b/ext/date/tests/gh9866.phpt @@ -0,0 +1,22 @@ +--TEST-- +Bug GH-9866 (Time zone bug with \DateTimeInterface::diff()) +--FILE-- +diff($endDate, true); + return $dateInterval->y; +} + +$start = new \DateTimeImmutable('2000-11-01 09:29:22.907606', new \DateTimeZone('America/Chicago')); +$end = new \DateTimeImmutable('2022-06-06 11:00:00.000000', new \DateTimeZone('America/New_York')); +$result = getYearsBetween($start, $end); +var_dump($result); +$diff = $start->diff($end); +echo $diff->format("%R %Y %M %D (%a) %H %I %S %F"), "\n"; +?> +--EXPECT-- +int(21) ++ 21 07 04 (7886) 23 30 37 092394 diff --git a/ext/date/tests/gh9880.phpt b/ext/date/tests/gh9880.phpt new file mode 100644 index 0000000000000..5bd0a547090d4 --- /dev/null +++ b/ext/date/tests/gh9880.phpt @@ -0,0 +1,18 @@ +--TEST-- +Bug GH-9880 (DateTime diff returns wrong sign on day count when using a timezone) +--FILE-- +setTimestamp(1667416695); + +$dateTime = new DateTime(); +$dateTime->setTimestamp(1671904800); +$dateTime->setTimezone(new DateTimeZone('America/New_York')); + +echo $dateTime->diff($nowTime)->format('%R %a %H %I %S'), "\n"; +?> +--EXPECT-- +- 51 22 41 45 From 41fef8b849c87f90ea54bfdb351ddc10208dae01 Mon Sep 17 00:00:00 2001 From: Derick Rethans Date: Wed, 30 Nov 2022 15:58:02 +0000 Subject: [PATCH 07/50] Import timelib 2022.03 --- ext/date/lib/parse_date.c | 2 +- ext/date/lib/timelib.h | 6 +++--- ext/date/lib/tm2unixtime.c | 1 + 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/ext/date/lib/parse_date.c b/ext/date/lib/parse_date.c index 960f0c610fade..8485a395cb685 100644 --- a/ext/date/lib/parse_date.c +++ b/ext/date/lib/parse_date.c @@ -1,4 +1,4 @@ -/* Generated by re2c 0.15.3 on Wed Nov 30 15:55:25 2022 */ +/* Generated by re2c 0.15.3 on Wed Nov 30 15:57:27 2022 */ #line 1 "ext/date/lib/parse_date.re" /* * The MIT License (MIT) diff --git a/ext/date/lib/timelib.h b/ext/date/lib/timelib.h index 3b559b95f4743..c9e8c6d82980e 100644 --- a/ext/date/lib/timelib.h +++ b/ext/date/lib/timelib.h @@ -30,9 +30,9 @@ # include "timelib_config.h" #endif -#define TIMELIB_VERSION 202202 -#define TIMELIB_EXTENDED_VERSION 20220102 -#define TIMELIB_ASCII_VERSION "2022.02" +#define TIMELIB_VERSION 202203 +#define TIMELIB_EXTENDED_VERSION 20220301 +#define TIMELIB_ASCII_VERSION "2022.03" #include #include diff --git a/ext/date/lib/tm2unixtime.c b/ext/date/lib/tm2unixtime.c index 08332bb470624..37bfc98fa1d60 100644 --- a/ext/date/lib/tm2unixtime.c +++ b/ext/date/lib/tm2unixtime.c @@ -423,6 +423,7 @@ static void do_adjust_timezone(timelib_time *tz, timelib_tzinfo *tzi) tz->is_localtime = 1; in_transition = ( + actual_transition_time != INT64_MIN && ((tz->sse - actual_offset) >= (actual_transition_time + (current_offset - actual_offset))) && ((tz->sse - actual_offset) < actual_transition_time) ); From c87c803b96119a676026927d81a6d25b9aed8fe4 Mon Sep 17 00:00:00 2001 From: Derick Rethans Date: Thu, 1 Dec 2022 10:58:37 +0000 Subject: [PATCH 08/50] Some (old, backwards compatible) TZIDs can have numbers in them --- ext/date/lib/parse_date.c | 207 +++++++++++++++++++------------------ ext/date/lib/parse_date.re | 3 +- 2 files changed, 106 insertions(+), 104 deletions(-) diff --git a/ext/date/lib/parse_date.c b/ext/date/lib/parse_date.c index 84ad4fab8947f..99ec21baf56e6 100644 --- a/ext/date/lib/parse_date.c +++ b/ext/date/lib/parse_date.c @@ -1,4 +1,4 @@ -/* Generated by re2c 0.15.3 on Wed Nov 30 11:53:33 2022 */ +/* Generated by re2c 0.15.3 on Thu Dec 1 10:57:42 2022 */ #line 1 "ext/date/lib/parse_date.re" /* * The MIT License (MIT) @@ -756,10 +756,11 @@ static timelib_long timelib_lookup_abbr(const char **ptr, int *dst, char **tz_ab timelib_long value = 0; const timelib_tz_lookup_table *tp; - /* Only include A-Z, a-z, /, _, and - in abbreviations/TZ IDs */ + /* Only include A-Z, a-z, 0-9, /, _, and - in abbreviations/TZ IDs */ while ( (**ptr >= 'A' && **ptr <= 'Z') || (**ptr >= 'a' && **ptr <= 'z') || + (**ptr >= '0' && **ptr <= '9') || **ptr == '/' || **ptr == '_' || **ptr == '-' ) { ++*ptr; @@ -957,11 +958,11 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) std: s->tok = cursor; s->len = 0; -#line 1088 "ext/date/lib/parse_date.re" +#line 1089 "ext/date/lib/parse_date.re" -#line 965 "" +#line 966 "" { YYCTYPE yych; unsigned int yyaccept = 0; @@ -1099,7 +1100,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } yy3: YYDEBUG(3, *YYCURSOR); -#line 1822 "ext/date/lib/parse_date.re" +#line 1823 "ext/date/lib/parse_date.re" { int tz_not_found; DEBUG_OUTPUT("tzcorrection | tz"); @@ -1112,7 +1113,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_TIMEZONE; } -#line 1116 "" +#line 1117 "" yy4: YYDEBUG(4, *YYCURSOR); yych = *++YYCURSOR; @@ -1419,12 +1420,12 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '9') goto yy1483; yy12: YYDEBUG(12, *YYCURSOR); -#line 1917 "ext/date/lib/parse_date.re" +#line 1918 "ext/date/lib/parse_date.re" { add_error(s, TIMELIB_ERR_UNEXPECTED_CHARACTER, "Unexpected character"); goto std; } -#line 1428 "" +#line 1429 "" yy13: YYDEBUG(13, *YYCURSOR); yych = *++YYCURSOR; @@ -2668,11 +2669,11 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '9') goto yy54; yy49: YYDEBUG(49, *YYCURSOR); -#line 1906 "ext/date/lib/parse_date.re" +#line 1907 "ext/date/lib/parse_date.re" { goto std; } -#line 2676 "" +#line 2677 "" yy50: YYDEBUG(50, *YYCURSOR); yych = *++YYCURSOR; @@ -2681,12 +2682,12 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) YYDEBUG(51, *YYCURSOR); ++YYCURSOR; YYDEBUG(52, *YYCURSOR); -#line 1911 "ext/date/lib/parse_date.re" +#line 1912 "ext/date/lib/parse_date.re" { s->pos = cursor; s->line++; goto std; } -#line 2690 "" +#line 2691 "" yy53: YYDEBUG(53, *YYCURSOR); yych = *++YYCURSOR; @@ -3108,7 +3109,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych == 's') goto yy85; yy84: YYDEBUG(84, *YYCURSOR); -#line 1890 "ext/date/lib/parse_date.re" +#line 1891 "ext/date/lib/parse_date.re" { timelib_ull i; DEBUG_OUTPUT("relative"); @@ -3123,7 +3124,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_RELATIVE; } -#line 3127 "" +#line 3128 "" yy85: YYDEBUG(85, *YYCURSOR); yych = *++YYCURSOR; @@ -4132,7 +4133,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } yy219: YYDEBUG(219, *YYCURSOR); -#line 1753 "ext/date/lib/parse_date.re" +#line 1754 "ext/date/lib/parse_date.re" { const timelib_relunit* relunit; DEBUG_OUTPUT("daytext"); @@ -4149,7 +4150,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_WEEKDAY; } -#line 4153 "" +#line 4154 "" yy220: YYDEBUG(220, *YYCURSOR); yych = *++YYCURSOR; @@ -4695,7 +4696,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } yy248: YYDEBUG(248, *YYCURSOR); -#line 1812 "ext/date/lib/parse_date.re" +#line 1813 "ext/date/lib/parse_date.re" { DEBUG_OUTPUT("monthtext"); TIMELIB_INIT; @@ -4704,7 +4705,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_DATE_TEXT; } -#line 4708 "" +#line 4709 "" yy249: YYDEBUG(249, *YYCURSOR); ++YYCURSOR; @@ -4953,7 +4954,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) goto yy267; yy262: YYDEBUG(262, *YYCURSOR); -#line 1558 "ext/date/lib/parse_date.re" +#line 1559 "ext/date/lib/parse_date.re" { int length = 0; DEBUG_OUTPUT("datetextual | datenoyear"); @@ -4966,7 +4967,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_DATE_TEXT; } -#line 4970 "" +#line 4971 "" yy263: YYDEBUG(263, *YYCURSOR); yyaccept = 6; @@ -5093,7 +5094,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } yy276: YYDEBUG(276, *YYCURSOR); -#line 1860 "ext/date/lib/parse_date.re" +#line 1861 "ext/date/lib/parse_date.re" { int tz_not_found; DEBUG_OUTPUT("dateshortwithtimeshort | dateshortwithtimelong | dateshortwithtimelongtz"); @@ -5122,7 +5123,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_SHORTDATE_WITH_TIME; } -#line 5126 "" +#line 5127 "" yy277: YYDEBUG(277, *YYCURSOR); yyaccept = 7; @@ -5420,7 +5421,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) YYDEBUG(300, *YYCURSOR); ++YYCURSOR; YYDEBUG(301, *YYCURSOR); -#line 1836 "ext/date/lib/parse_date.re" +#line 1837 "ext/date/lib/parse_date.re" { DEBUG_OUTPUT("dateshortwithtimeshort12 | dateshortwithtimelong12"); TIMELIB_INIT; @@ -5443,7 +5444,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_SHORTDATE_WITH_TIME; } -#line 5447 "" +#line 5448 "" yy302: YYDEBUG(302, *YYCURSOR); yych = *++YYCURSOR; @@ -6121,7 +6122,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) YYDEBUG(362, *YYCURSOR); ++YYCURSOR; YYDEBUG(363, *YYCURSOR); -#line 1530 "ext/date/lib/parse_date.re" +#line 1531 "ext/date/lib/parse_date.re" { int length = 0; DEBUG_OUTPUT("datenoday"); @@ -6134,7 +6135,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_DATE_NO_DAY; } -#line 6138 "" +#line 6139 "" yy364: YYDEBUG(364, *YYCURSOR); yych = *++YYCURSOR; @@ -6365,7 +6366,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '9') goto yy372; yy371: YYDEBUG(371, *YYCURSOR); -#line 1674 "ext/date/lib/parse_date.re" +#line 1675 "ext/date/lib/parse_date.re" { int length = 0; DEBUG_OUTPUT("pgtextshort"); @@ -6378,7 +6379,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_PG_TEXT; } -#line 6382 "" +#line 6383 "" yy372: YYDEBUG(372, *YYCURSOR); yych = *++YYCURSOR; @@ -6960,7 +6961,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } yy398: YYDEBUG(398, *YYCURSOR); -#line 1732 "ext/date/lib/parse_date.re" +#line 1733 "ext/date/lib/parse_date.re" { DEBUG_OUTPUT("ago"); TIMELIB_INIT; @@ -6980,7 +6981,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_AGO; } -#line 6984 "" +#line 6985 "" yy399: YYDEBUG(399, *YYCURSOR); yyaccept = 5; @@ -8769,7 +8770,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) ++YYCURSOR; yy461: YYDEBUG(461, *YYCURSOR); -#line 1423 "ext/date/lib/parse_date.re" +#line 1424 "ext/date/lib/parse_date.re" { DEBUG_OUTPUT("iso8601date4 | iso8601date2 | iso8601dateslash | dateslash"); TIMELIB_INIT; @@ -8780,7 +8781,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_ISO_DATE; } -#line 8784 "" +#line 8785 "" yy462: YYDEBUG(462, *YYCURSOR); yych = *++YYCURSOR; @@ -8902,7 +8903,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) YYDEBUG(484, *YYCURSOR); ++YYCURSOR; YYDEBUG(485, *YYCURSOR); -#line 1449 "ext/date/lib/parse_date.re" +#line 1450 "ext/date/lib/parse_date.re" { DEBUG_OUTPUT("iso8601datex"); TIMELIB_INIT; @@ -8913,7 +8914,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_ISO_DATE; } -#line 8917 "" +#line 8918 "" yy486: YYDEBUG(486, *YYCURSOR); yyaccept = 1; @@ -9667,7 +9668,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } yy509: YYDEBUG(509, *YYCURSOR); -#line 1572 "ext/date/lib/parse_date.re" +#line 1573 "ext/date/lib/parse_date.re" { DEBUG_OUTPUT("datenoyearrev"); TIMELIB_INIT; @@ -9678,7 +9679,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_DATE_TEXT; } -#line 9682 "" +#line 9683 "" yy510: YYDEBUG(510, *YYCURSOR); yyaccept = 9; @@ -9819,7 +9820,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) YYDEBUG(521, *YYCURSOR); ++YYCURSOR; YYDEBUG(522, *YYCURSOR); -#line 1276 "ext/date/lib/parse_date.re" +#line 1277 "ext/date/lib/parse_date.re" { DEBUG_OUTPUT("timetiny12 | timeshort12 | timelong12"); TIMELIB_INIT; @@ -9835,7 +9836,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_TIME12; } -#line 9839 "" +#line 9840 "" yy523: YYDEBUG(523, *YYCURSOR); yyaccept = 10; @@ -9848,7 +9849,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } yy524: YYDEBUG(524, *YYCURSOR); -#line 1313 "ext/date/lib/parse_date.re" +#line 1314 "ext/date/lib/parse_date.re" { int tz_not_found; DEBUG_OUTPUT("timetiny24 | timeshort24 | timelong24 | iso8601long"); @@ -9875,7 +9876,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_TIME24_WITH_ZONE; } -#line 9879 "" +#line 9880 "" yy525: YYDEBUG(525, *YYCURSOR); yyaccept = 10; @@ -10188,7 +10189,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) YYDEBUG(556, *YYCURSOR); ++YYCURSOR; YYDEBUG(557, *YYCURSOR); -#line 1293 "ext/date/lib/parse_date.re" +#line 1294 "ext/date/lib/parse_date.re" { DEBUG_OUTPUT("mssqltime"); TIMELIB_INIT; @@ -10207,7 +10208,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_TIME24_WITH_ZONE; } -#line 10211 "" +#line 10212 "" yy558: YYDEBUG(558, *YYCURSOR); yyaccept = 10; @@ -10313,7 +10314,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '9') goto yy574; yy568: YYDEBUG(568, *YYCURSOR); -#line 1489 "ext/date/lib/parse_date.re" +#line 1490 "ext/date/lib/parse_date.re" { int length = 0; DEBUG_OUTPUT("datefull"); @@ -10327,7 +10328,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_DATE_FULL; } -#line 10331 "" +#line 10332 "" yy569: YYDEBUG(569, *YYCURSOR); yych = *++YYCURSOR; @@ -11063,7 +11064,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) YYDEBUG(639, *YYCURSOR); ++YYCURSOR; YYDEBUG(640, *YYCURSOR); -#line 1504 "ext/date/lib/parse_date.re" +#line 1505 "ext/date/lib/parse_date.re" { DEBUG_OUTPUT("pointed date YYYY"); TIMELIB_INIT; @@ -11074,7 +11075,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_DATE_FULL_POINTED; } -#line 11078 "" +#line 11079 "" yy641: YYDEBUG(641, *YYCURSOR); yyaccept = 10; @@ -11110,7 +11111,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '9') goto yy638; yy645: YYDEBUG(645, *YYCURSOR); -#line 1516 "ext/date/lib/parse_date.re" +#line 1517 "ext/date/lib/parse_date.re" { int length = 0; DEBUG_OUTPUT("pointed date YY"); @@ -11123,7 +11124,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_DATE_FULL_POINTED; } -#line 11127 "" +#line 11128 "" yy646: YYDEBUG(646, *YYCURSOR); yyaccept = 10; @@ -11764,7 +11765,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } yy690: YYDEBUG(690, *YYCURSOR); -#line 1475 "ext/date/lib/parse_date.re" +#line 1476 "ext/date/lib/parse_date.re" { int length = 0; DEBUG_OUTPUT("gnudateshort"); @@ -11777,7 +11778,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_ISO_DATE; } -#line 11781 "" +#line 11782 "" yy691: YYDEBUG(691, *YYCURSOR); yyaccept = 12; @@ -11883,7 +11884,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } yy700: YYDEBUG(700, *YYCURSOR); -#line 1407 "ext/date/lib/parse_date.re" +#line 1408 "ext/date/lib/parse_date.re" { int length = 0; DEBUG_OUTPUT("americanshort | american"); @@ -11898,7 +11899,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_AMERICAN; } -#line 11902 "" +#line 11903 "" yy701: YYDEBUG(701, *YYCURSOR); yyaccept = 13; @@ -12132,7 +12133,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= ':') goto yy737; yy734: YYDEBUG(734, *YYCURSOR); -#line 1702 "ext/date/lib/parse_date.re" +#line 1703 "ext/date/lib/parse_date.re" { int tz_not_found; DEBUG_OUTPUT("clf"); @@ -12152,7 +12153,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_CLF; } -#line 12156 "" +#line 12157 "" yy735: YYDEBUG(735, *YYCURSOR); yyaccept = 14; @@ -12772,7 +12773,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } yy808: YYDEBUG(808, *YYCURSOR); -#line 1435 "ext/date/lib/parse_date.re" +#line 1436 "ext/date/lib/parse_date.re" { int length = 0; DEBUG_OUTPUT("iso8601date2"); @@ -12785,7 +12786,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_ISO_DATE; } -#line 12789 "" +#line 12790 "" yy809: YYDEBUG(809, *YYCURSOR); yych = *++YYCURSOR; @@ -12824,7 +12825,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) YYDEBUG(815, *YYCURSOR); ++YYCURSOR; YYDEBUG(816, *YYCURSOR); -#line 1688 "ext/date/lib/parse_date.re" +#line 1689 "ext/date/lib/parse_date.re" { int length = 0; DEBUG_OUTPUT("pgtextreverse"); @@ -12837,7 +12838,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_PG_TEXT; } -#line 12841 "" +#line 12842 "" yy817: YYDEBUG(817, *YYCURSOR); yych = *++YYCURSOR; @@ -13002,7 +13003,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } yy828: YYDEBUG(828, *YYCURSOR); -#line 1723 "ext/date/lib/parse_date.re" +#line 1724 "ext/date/lib/parse_date.re" { DEBUG_OUTPUT("year4"); TIMELIB_INIT; @@ -13010,7 +13011,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_CLF; } -#line 13014 "" +#line 13015 "" yy829: YYDEBUG(829, *YYCURSOR); yych = *++YYCURSOR; @@ -13215,7 +13216,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } yy838: YYDEBUG(838, *YYCURSOR); -#line 1544 "ext/date/lib/parse_date.re" +#line 1545 "ext/date/lib/parse_date.re" { int length = 0; DEBUG_OUTPUT("datenodayrev"); @@ -13228,7 +13229,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_DATE_NO_DAY; } -#line 13232 "" +#line 13233 "" yy839: YYDEBUG(839, *YYCURSOR); yych = *++YYCURSOR; @@ -13449,7 +13450,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '7') goto yy861; yy859: YYDEBUG(859, *YYCURSOR); -#line 1655 "ext/date/lib/parse_date.re" +#line 1656 "ext/date/lib/parse_date.re" { timelib_sll w, d; DEBUG_OUTPUT("isoweek"); @@ -13467,7 +13468,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_ISO_WEEK; } -#line 13471 "" +#line 13472 "" yy860: YYDEBUG(860, *YYCURSOR); yych = *++YYCURSOR; @@ -13477,7 +13478,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) YYDEBUG(861, *YYCURSOR); ++YYCURSOR; YYDEBUG(862, *YYCURSOR); -#line 1636 "ext/date/lib/parse_date.re" +#line 1637 "ext/date/lib/parse_date.re" { timelib_sll w, d; DEBUG_OUTPUT("isoweekday"); @@ -13495,7 +13496,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_ISO_WEEK; } -#line 13499 "" +#line 13500 "" yy863: YYDEBUG(863, *YYCURSOR); yych = *++YYCURSOR; @@ -13567,7 +13568,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } yy866: YYDEBUG(866, *YYCURSOR); -#line 1622 "ext/date/lib/parse_date.re" +#line 1623 "ext/date/lib/parse_date.re" { int length = 0; DEBUG_OUTPUT("pgydotd"); @@ -13580,7 +13581,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_PG_YEARDAY; } -#line 13584 "" +#line 13585 "" yy867: YYDEBUG(867, *YYCURSOR); yych = *++YYCURSOR; @@ -13683,7 +13684,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) ++YYCURSOR; yy887: YYDEBUG(887, *YYCURSOR); -#line 1596 "ext/date/lib/parse_date.re" +#line 1597 "ext/date/lib/parse_date.re" { int tz_not_found; DEBUG_OUTPUT("xmlrpc | xmlrpcnocolon | soap | wddx | exif"); @@ -13708,7 +13709,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_XMLRPC_SOAP; } -#line 13712 "" +#line 13713 "" yy888: YYDEBUG(888, *YYCURSOR); yych = *++YYCURSOR; @@ -14004,7 +14005,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } yy893: YYDEBUG(893, *YYCURSOR); -#line 1584 "ext/date/lib/parse_date.re" +#line 1585 "ext/date/lib/parse_date.re" { DEBUG_OUTPUT("datenocolon"); TIMELIB_INIT; @@ -14015,7 +14016,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_DATE_NOCOLON; } -#line 14019 "" +#line 14020 "" yy894: YYDEBUG(894, *YYCURSOR); yych = *++YYCURSOR; @@ -14937,7 +14938,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } yy1018: YYDEBUG(1018, *YYCURSOR); -#line 1461 "ext/date/lib/parse_date.re" +#line 1462 "ext/date/lib/parse_date.re" { int length = 0; DEBUG_OUTPUT("gnudateshorter"); @@ -14950,7 +14951,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_ISO_DATE; } -#line 14954 "" +#line 14955 "" yy1019: YYDEBUG(1019, *YYCURSOR); yyaccept = 22; @@ -16158,7 +16159,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } yy1127: YYDEBUG(1127, *YYCURSOR); -#line 1341 "ext/date/lib/parse_date.re" +#line 1342 "ext/date/lib/parse_date.re" { DEBUG_OUTPUT("gnunocolon"); TIMELIB_INIT; @@ -16180,7 +16181,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_GNU_NOCOLON; } -#line 16184 "" +#line 16185 "" yy1128: YYDEBUG(1128, *YYCURSOR); yych = *++YYCURSOR; @@ -16280,7 +16281,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } yy1135: YYDEBUG(1135, *YYCURSOR); -#line 1387 "ext/date/lib/parse_date.re" +#line 1388 "ext/date/lib/parse_date.re" { int tz_not_found; DEBUG_OUTPUT("iso8601nocolon"); @@ -16299,7 +16300,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_ISO_NOCOLON; } -#line 16303 "" +#line 16304 "" yy1136: YYDEBUG(1136, *YYCURSOR); yyaccept = 25; @@ -17275,7 +17276,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } yy1179: YYDEBUG(1179, *YYCURSOR); -#line 1795 "ext/date/lib/parse_date.re" +#line 1796 "ext/date/lib/parse_date.re" { timelib_sll i; int behavior = 0; @@ -17291,7 +17292,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_RELATIVE; } -#line 17295 "" +#line 17296 "" yy1180: YYDEBUG(1180, *YYCURSOR); ++YYCURSOR; @@ -17357,7 +17358,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) YYDEBUG(1188, *YYCURSOR); ++YYCURSOR; YYDEBUG(1189, *YYCURSOR); -#line 1254 "ext/date/lib/parse_date.re" +#line 1255 "ext/date/lib/parse_date.re" { timelib_sll i; int behavior = 0; @@ -17378,7 +17379,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_WEEK_DAY_OF_MONTH; } -#line 17382 "" +#line 17383 "" yy1190: YYDEBUG(1190, *YYCURSOR); yyaccept = 26; @@ -17518,7 +17519,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } yy1206: YYDEBUG(1206, *YYCURSOR); -#line 1771 "ext/date/lib/parse_date.re" +#line 1772 "ext/date/lib/parse_date.re" { timelib_sll i; int behavior = 0; @@ -17541,7 +17542,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_RELATIVE; } -#line 17545 "" +#line 17546 "" yy1207: YYDEBUG(1207, *YYCURSOR); yych = *++YYCURSOR; @@ -20490,7 +20491,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } yy1388: YYDEBUG(1388, *YYCURSOR); -#line 1231 "ext/date/lib/parse_date.re" +#line 1232 "ext/date/lib/parse_date.re" { DEBUG_OUTPUT("backof | frontof"); TIMELIB_INIT; @@ -20512,7 +20513,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_LF_DAY_OF_MONTH; } -#line 20516 "" +#line 20517 "" yy1389: YYDEBUG(1389, *YYCURSOR); yyaccept = 28; @@ -20811,7 +20812,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) YYDEBUG(1410, *YYCURSOR); ++YYCURSOR; YYDEBUG(1411, *YYCURSOR); -#line 1214 "ext/date/lib/parse_date.re" +#line 1215 "ext/date/lib/parse_date.re" { DEBUG_OUTPUT("firstdayof | lastdayof"); TIMELIB_INIT; @@ -20827,7 +20828,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_LF_DAY_OF_MONTH; } -#line 20831 "" +#line 20832 "" yy1412: YYDEBUG(1412, *YYCURSOR); yyaccept = 1; @@ -22349,7 +22350,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '9') goto yy1483; yy1485: YYDEBUG(1485, *YYCURSOR); -#line 1148 "ext/date/lib/parse_date.re" +#line 1149 "ext/date/lib/parse_date.re" { timelib_ull i; @@ -22374,7 +22375,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_RELATIVE; } -#line 22378 "" +#line 22379 "" yy1486: YYDEBUG(1486, *YYCURSOR); ++YYCURSOR; @@ -22382,7 +22383,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) if (yych <= '9') goto yy1488; yy1487: YYDEBUG(1487, *YYCURSOR); -#line 1174 "ext/date/lib/parse_date.re" +#line 1175 "ext/date/lib/parse_date.re" { timelib_sll i; timelib_ull us; @@ -22421,7 +22422,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_RELATIVE; } -#line 22425 "" +#line 22426 "" yy1488: YYDEBUG(1488, *YYCURSOR); yych = *++YYCURSOR; @@ -22890,7 +22891,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) ++YYCURSOR; yy1524: YYDEBUG(1524, *YYCURSOR); -#line 1136 "ext/date/lib/parse_date.re" +#line 1137 "ext/date/lib/parse_date.re" { DEBUG_OUTPUT("tomorrow"); TIMELIB_INIT; @@ -22901,7 +22902,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_RELATIVE; } -#line 22905 "" +#line 22906 "" yy1525: YYDEBUG(1525, *YYCURSOR); yych = *++YYCURSOR; @@ -22936,7 +22937,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } yy1527: YYDEBUG(1527, *YYCURSOR); -#line 1126 "ext/date/lib/parse_date.re" +#line 1127 "ext/date/lib/parse_date.re" { DEBUG_OUTPUT("midnight | today"); TIMELIB_INIT; @@ -22945,7 +22946,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_RELATIVE; } -#line 22949 "" +#line 22950 "" yy1528: YYDEBUG(1528, *YYCURSOR); yych = *++YYCURSOR; @@ -25040,7 +25041,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } yy1612: YYDEBUG(1612, *YYCURSOR); -#line 1105 "ext/date/lib/parse_date.re" +#line 1106 "ext/date/lib/parse_date.re" { DEBUG_OUTPUT("now"); TIMELIB_INIT; @@ -25048,7 +25049,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_RELATIVE; } -#line 25052 "" +#line 25053 "" yy1613: YYDEBUG(1613, *YYCURSOR); yych = *++YYCURSOR; @@ -25187,7 +25188,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) } yy1620: YYDEBUG(1620, *YYCURSOR); -#line 1114 "ext/date/lib/parse_date.re" +#line 1115 "ext/date/lib/parse_date.re" { DEBUG_OUTPUT("noon"); TIMELIB_INIT; @@ -25198,7 +25199,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_RELATIVE; } -#line 25202 "" +#line 25203 "" yy1621: YYDEBUG(1621, *YYCURSOR); yyaccept = 1; @@ -25731,7 +25732,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) ++YYCURSOR; yy1643: YYDEBUG(1643, *YYCURSOR); -#line 1093 "ext/date/lib/parse_date.re" +#line 1094 "ext/date/lib/parse_date.re" { DEBUG_OUTPUT("yesterday"); TIMELIB_INIT; @@ -25742,7 +25743,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) TIMELIB_DEINIT; return TIMELIB_RELATIVE; } -#line 25746 "" +#line 25747 "" yy1644: YYDEBUG(1644, *YYCURSOR); yyaccept = 1; @@ -25915,7 +25916,7 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) goto yy1643; } } -#line 1921 "ext/date/lib/parse_date.re" +#line 1922 "ext/date/lib/parse_date.re" } diff --git a/ext/date/lib/parse_date.re b/ext/date/lib/parse_date.re index b7667ad75b095..923091ea89f45 100644 --- a/ext/date/lib/parse_date.re +++ b/ext/date/lib/parse_date.re @@ -754,10 +754,11 @@ static timelib_long timelib_lookup_abbr(const char **ptr, int *dst, char **tz_ab timelib_long value = 0; const timelib_tz_lookup_table *tp; - /* Only include A-Z, a-z, /, _, and - in abbreviations/TZ IDs */ + /* Only include A-Z, a-z, 0-9, /, _, and - in abbreviations/TZ IDs */ while ( (**ptr >= 'A' && **ptr <= 'Z') || (**ptr >= 'a' && **ptr <= 'z') || + (**ptr >= '0' && **ptr <= '9') || **ptr == '/' || **ptr == '_' || **ptr == '-' ) { ++*ptr; From d4c804b98e330fa6807042a5389d9fc71d9b503d Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Thu, 1 Dec 2022 14:59:28 +0100 Subject: [PATCH 09/50] [ci skip] Add missing entries to php.ini quick reference Closes GH-9889. --- php.ini-development | 10 ++++++++++ php.ini-production | 10 ++++++++++ 2 files changed, 20 insertions(+) diff --git a/php.ini-development b/php.ini-development index 70c6b00555844..6ebbb495a3d84 100644 --- a/php.ini-development +++ b/php.ini-development @@ -144,6 +144,11 @@ ; Development Value: 5 ; Production Value: 5 +; session.sid_length +; Default Value: 32 +; Development Value: 26 +; Production Value: 26 + ; short_open_tag ; Default Value: On ; Development Value: Off @@ -154,6 +159,11 @@ ; Development Value: "GPCS" ; Production Value: "GPCS" +; zend.assertions +; Default Value: 1 +; Development Value: 1 +; Production Value: -1 + ; zend.exception_ignore_args ; Default Value: Off ; Development Value: Off diff --git a/php.ini-production b/php.ini-production index 21627c9142487..65435e367a2a9 100644 --- a/php.ini-production +++ b/php.ini-production @@ -144,6 +144,11 @@ ; Development Value: 5 ; Production Value: 5 +; session.sid_length +; Default Value: 32 +; Development Value: 26 +; Production Value: 26 + ; short_open_tag ; Default Value: On ; Development Value: Off @@ -154,6 +159,11 @@ ; Development Value: "GPCS" ; Production Value: "GPCS" +; zend.assertions +; Default Value: 1 +; Development Value: 1 +; Production Value: -1 + ; zend.exception_ignore_args ; Default Value: Off ; Development Value: Off From 683d81e4bd49148a87ff10bb0b7a89825d27cb21 Mon Sep 17 00:00:00 2001 From: Ilija Tovilo Date: Thu, 1 Dec 2022 19:30:44 +0100 Subject: [PATCH 10/50] Fix incorrect short-circuiting in constant expressions (#10030) Fixes GH-10014 --- Zend/tests/gh10014.phpt | 14 ++++++++ Zend/zend_ast.c | 75 +++++++++++++++++++++++------------------ Zend/zend_ast.h | 3 +- Zend/zend_execute_API.c | 3 +- 4 files changed, 59 insertions(+), 36 deletions(-) create mode 100644 Zend/tests/gh10014.phpt diff --git a/Zend/tests/gh10014.phpt b/Zend/tests/gh10014.phpt new file mode 100644 index 0000000000000..0870c5631336a --- /dev/null +++ b/Zend/tests/gh10014.phpt @@ -0,0 +1,14 @@ +--TEST-- +GH-10014: Incorrect short-circuiting in constant expressions +--FILE-- +y]->y)] +class y { +} + +?> +--EXPECTF-- +Warning: Undefined array key 2 in %s on line %d + +Warning: Attempt to read property "y" on array in %s on line %d diff --git a/Zend/zend_ast.c b/Zend/zend_ast.c index b007c08c0e56e..eea44eaa81c06 100644 --- a/Zend/zend_ast.c +++ b/Zend/zend_ast.c @@ -498,17 +498,23 @@ zend_class_entry *zend_ast_fetch_class(zend_ast *ast, zend_class_entry *scope) return zend_fetch_class_with_scope(zend_ast_get_str(ast), (ast->attr >> ZEND_CONST_EXPR_NEW_FETCH_TYPE_SHIFT) | ZEND_FETCH_CLASS_EXCEPTION, scope); } -ZEND_API zend_result ZEND_FASTCALL zend_ast_evaluate_ex(zval *result, zend_ast *ast, zend_class_entry *scope, zend_ast_evaluate_ctx *ctx) -{ +ZEND_API zend_result ZEND_FASTCALL zend_ast_evaluate_ex( + zval *result, + zend_ast *ast, + zend_class_entry *scope, + bool *short_circuited_ptr, + zend_ast_evaluate_ctx *ctx +) { zval op1, op2; zend_result ret = SUCCESS; - ctx->short_circuited = false; + bool short_circuited; + *short_circuited_ptr = false; switch (ast->kind) { case ZEND_AST_BINARY_OP: - if (UNEXPECTED(zend_ast_evaluate_ex(&op1, ast->child[0], scope, ctx) != SUCCESS)) { + if (UNEXPECTED(zend_ast_evaluate_ex(&op1, ast->child[0], scope, &short_circuited, ctx) != SUCCESS)) { ret = FAILURE; - } else if (UNEXPECTED(zend_ast_evaluate_ex(&op2, ast->child[1], scope, ctx) != SUCCESS)) { + } else if (UNEXPECTED(zend_ast_evaluate_ex(&op2, ast->child[1], scope, &short_circuited, ctx) != SUCCESS)) { zval_ptr_dtor_nogc(&op1); ret = FAILURE; } else { @@ -520,9 +526,9 @@ ZEND_API zend_result ZEND_FASTCALL zend_ast_evaluate_ex(zval *result, zend_ast * break; case ZEND_AST_GREATER: case ZEND_AST_GREATER_EQUAL: - if (UNEXPECTED(zend_ast_evaluate_ex(&op1, ast->child[0], scope, ctx) != SUCCESS)) { + if (UNEXPECTED(zend_ast_evaluate_ex(&op1, ast->child[0], scope, &short_circuited, ctx) != SUCCESS)) { ret = FAILURE; - } else if (UNEXPECTED(zend_ast_evaluate_ex(&op2, ast->child[1], scope, ctx) != SUCCESS)) { + } else if (UNEXPECTED(zend_ast_evaluate_ex(&op2, ast->child[1], scope, &short_circuited, ctx) != SUCCESS)) { zval_ptr_dtor_nogc(&op1); ret = FAILURE; } else { @@ -535,7 +541,7 @@ ZEND_API zend_result ZEND_FASTCALL zend_ast_evaluate_ex(zval *result, zend_ast * } break; case ZEND_AST_UNARY_OP: - if (UNEXPECTED(zend_ast_evaluate_ex(&op1, ast->child[0], scope, ctx) != SUCCESS)) { + if (UNEXPECTED(zend_ast_evaluate_ex(&op1, ast->child[0], scope, &short_circuited, ctx) != SUCCESS)) { ret = FAILURE; } else { unary_op_type op = get_unary_op(ast->attr); @@ -588,12 +594,12 @@ ZEND_API zend_result ZEND_FASTCALL zend_ast_evaluate_ex(zval *result, zend_ast * } break; case ZEND_AST_AND: - if (UNEXPECTED(zend_ast_evaluate_ex(&op1, ast->child[0], scope, ctx) != SUCCESS)) { + if (UNEXPECTED(zend_ast_evaluate_ex(&op1, ast->child[0], scope, &short_circuited, ctx) != SUCCESS)) { ret = FAILURE; break; } if (zend_is_true(&op1)) { - if (UNEXPECTED(zend_ast_evaluate_ex(&op2, ast->child[1], scope, ctx) != SUCCESS)) { + if (UNEXPECTED(zend_ast_evaluate_ex(&op2, ast->child[1], scope, &short_circuited, ctx) != SUCCESS)) { zval_ptr_dtor_nogc(&op1); ret = FAILURE; break; @@ -606,14 +612,14 @@ ZEND_API zend_result ZEND_FASTCALL zend_ast_evaluate_ex(zval *result, zend_ast * zval_ptr_dtor_nogc(&op1); break; case ZEND_AST_OR: - if (UNEXPECTED(zend_ast_evaluate_ex(&op1, ast->child[0], scope, ctx) != SUCCESS)) { + if (UNEXPECTED(zend_ast_evaluate_ex(&op1, ast->child[0], scope, &short_circuited, ctx) != SUCCESS)) { ret = FAILURE; break; } if (zend_is_true(&op1)) { ZVAL_TRUE(result); } else { - if (UNEXPECTED(zend_ast_evaluate_ex(&op2, ast->child[1], scope, ctx) != SUCCESS)) { + if (UNEXPECTED(zend_ast_evaluate_ex(&op2, ast->child[1], scope, &short_circuited, ctx) != SUCCESS)) { zval_ptr_dtor_nogc(&op1); ret = FAILURE; break; @@ -624,7 +630,7 @@ ZEND_API zend_result ZEND_FASTCALL zend_ast_evaluate_ex(zval *result, zend_ast * zval_ptr_dtor_nogc(&op1); break; case ZEND_AST_CONDITIONAL: - if (UNEXPECTED(zend_ast_evaluate_ex(&op1, ast->child[0], scope, ctx) != SUCCESS)) { + if (UNEXPECTED(zend_ast_evaluate_ex(&op1, ast->child[0], scope, &short_circuited, ctx) != SUCCESS)) { ret = FAILURE; break; } @@ -632,7 +638,7 @@ ZEND_API zend_result ZEND_FASTCALL zend_ast_evaluate_ex(zval *result, zend_ast * if (!ast->child[1]) { *result = op1; } else { - if (UNEXPECTED(zend_ast_evaluate_ex(result, ast->child[1], scope, ctx) != SUCCESS)) { + if (UNEXPECTED(zend_ast_evaluate_ex(result, ast->child[1], scope, &short_circuited, ctx) != SUCCESS)) { zval_ptr_dtor_nogc(&op1); ret = FAILURE; break; @@ -640,7 +646,7 @@ ZEND_API zend_result ZEND_FASTCALL zend_ast_evaluate_ex(zval *result, zend_ast * zval_ptr_dtor_nogc(&op1); } } else { - if (UNEXPECTED(zend_ast_evaluate_ex(result, ast->child[2], scope, ctx) != SUCCESS)) { + if (UNEXPECTED(zend_ast_evaluate_ex(result, ast->child[2], scope, &short_circuited, ctx) != SUCCESS)) { zval_ptr_dtor_nogc(&op1); ret = FAILURE; break; @@ -649,14 +655,14 @@ ZEND_API zend_result ZEND_FASTCALL zend_ast_evaluate_ex(zval *result, zend_ast * } break; case ZEND_AST_COALESCE: - if (UNEXPECTED(zend_ast_evaluate_ex(&op1, ast->child[0], scope, ctx) != SUCCESS)) { + if (UNEXPECTED(zend_ast_evaluate_ex(&op1, ast->child[0], scope, &short_circuited, ctx) != SUCCESS)) { ret = FAILURE; break; } if (Z_TYPE(op1) > IS_NULL) { *result = op1; } else { - if (UNEXPECTED(zend_ast_evaluate_ex(result, ast->child[1], scope, ctx) != SUCCESS)) { + if (UNEXPECTED(zend_ast_evaluate_ex(result, ast->child[1], scope, &short_circuited, ctx) != SUCCESS)) { zval_ptr_dtor_nogc(&op1); ret = FAILURE; break; @@ -665,7 +671,7 @@ ZEND_API zend_result ZEND_FASTCALL zend_ast_evaluate_ex(zval *result, zend_ast * } break; case ZEND_AST_UNARY_PLUS: - if (UNEXPECTED(zend_ast_evaluate_ex(&op2, ast->child[0], scope, ctx) != SUCCESS)) { + if (UNEXPECTED(zend_ast_evaluate_ex(&op2, ast->child[0], scope, &short_circuited, ctx) != SUCCESS)) { ret = FAILURE; } else { ZVAL_LONG(&op1, 0); @@ -674,7 +680,7 @@ ZEND_API zend_result ZEND_FASTCALL zend_ast_evaluate_ex(zval *result, zend_ast * } break; case ZEND_AST_UNARY_MINUS: - if (UNEXPECTED(zend_ast_evaluate_ex(&op2, ast->child[0], scope, ctx) != SUCCESS)) { + if (UNEXPECTED(zend_ast_evaluate_ex(&op2, ast->child[0], scope, &short_circuited, ctx) != SUCCESS)) { ret = FAILURE; } else { ZVAL_LONG(&op1, 0); @@ -695,7 +701,7 @@ ZEND_API zend_result ZEND_FASTCALL zend_ast_evaluate_ex(zval *result, zend_ast * for (i = 0; i < list->children; i++) { zend_ast *elem = list->child[i]; if (elem->kind == ZEND_AST_UNPACK) { - if (UNEXPECTED(zend_ast_evaluate_ex(&op1, elem->child[0], scope, ctx) != SUCCESS)) { + if (UNEXPECTED(zend_ast_evaluate_ex(&op1, elem->child[0], scope, &short_circuited, ctx) != SUCCESS)) { zval_ptr_dtor_nogc(result); return FAILURE; } @@ -708,14 +714,14 @@ ZEND_API zend_result ZEND_FASTCALL zend_ast_evaluate_ex(zval *result, zend_ast * continue; } if (elem->child[1]) { - if (UNEXPECTED(zend_ast_evaluate_ex(&op1, elem->child[1], scope, ctx) != SUCCESS)) { + if (UNEXPECTED(zend_ast_evaluate_ex(&op1, elem->child[1], scope, &short_circuited, ctx) != SUCCESS)) { zval_ptr_dtor_nogc(result); return FAILURE; } } else { ZVAL_UNDEF(&op1); } - if (UNEXPECTED(zend_ast_evaluate_ex(&op2, elem->child[0], scope, ctx) != SUCCESS)) { + if (UNEXPECTED(zend_ast_evaluate_ex(&op2, elem->child[0], scope, &short_circuited, ctx) != SUCCESS)) { zval_ptr_dtor_nogc(&op1); zval_ptr_dtor_nogc(result); return FAILURE; @@ -734,11 +740,12 @@ ZEND_API zend_result ZEND_FASTCALL zend_ast_evaluate_ex(zval *result, zend_ast * zend_error_noreturn(E_COMPILE_ERROR, "Cannot use [] for reading"); } - if (UNEXPECTED(zend_ast_evaluate_ex(&op1, ast->child[0], scope, ctx) != SUCCESS)) { + if (UNEXPECTED(zend_ast_evaluate_ex(&op1, ast->child[0], scope, &short_circuited, ctx) != SUCCESS)) { ret = FAILURE; break; } - if (ctx->short_circuited) { + if (short_circuited) { + *short_circuited_ptr = true; ZVAL_NULL(result); return SUCCESS; } @@ -751,7 +758,7 @@ ZEND_API zend_result ZEND_FASTCALL zend_ast_evaluate_ex(zval *result, zend_ast * break; } - if (UNEXPECTED(zend_ast_evaluate_ex(&op2, ast->child[1], scope, ctx) != SUCCESS)) { + if (UNEXPECTED(zend_ast_evaluate_ex(&op2, ast->child[1], scope, &short_circuited, ctx) != SUCCESS)) { zval_ptr_dtor_nogc(&op1); ret = FAILURE; break; @@ -785,7 +792,7 @@ ZEND_API zend_result ZEND_FASTCALL zend_ast_evaluate_ex(zval *result, zend_ast * zval case_value_zv; ZVAL_UNDEF(&case_value_zv); if (case_value_ast != NULL) { - if (UNEXPECTED(zend_ast_evaluate_ex(&case_value_zv, case_value_ast, scope, ctx) != SUCCESS)) { + if (UNEXPECTED(zend_ast_evaluate_ex(&case_value_zv, case_value_ast, scope, &short_circuited, ctx) != SUCCESS)) { return FAILURE; } } @@ -847,7 +854,7 @@ ZEND_API zend_result ZEND_FASTCALL zend_ast_evaluate_ex(zval *result, zend_ast * name = zend_ast_get_str(arg_ast->child[0]); arg_ast = arg_ast->child[1]; } - if (zend_ast_evaluate_ex(&arg, arg_ast, scope, ctx) == FAILURE) { + if (zend_ast_evaluate_ex(&arg, arg_ast, scope, &short_circuited, ctx) == FAILURE) { zend_array_destroy(args); zval_ptr_dtor(result); return FAILURE; @@ -877,7 +884,7 @@ ZEND_API zend_result ZEND_FASTCALL zend_ast_evaluate_ex(zval *result, zend_ast * ALLOCA_FLAG(use_heap) zval *args = do_alloca(sizeof(zval) * args_ast->children, use_heap); for (uint32_t i = 0; i < args_ast->children; i++) { - if (zend_ast_evaluate_ex(&args[i], args_ast->child[i], scope, ctx) == FAILURE) { + if (zend_ast_evaluate_ex(&args[i], args_ast->child[i], scope, &short_circuited, ctx) == FAILURE) { for (uint32_t j = 0; j < i; j++) { zval_ptr_dtor(&args[j]); } @@ -909,20 +916,21 @@ ZEND_API zend_result ZEND_FASTCALL zend_ast_evaluate_ex(zval *result, zend_ast * case ZEND_AST_PROP: case ZEND_AST_NULLSAFE_PROP: { - if (UNEXPECTED(zend_ast_evaluate_ex(&op1, ast->child[0], scope, ctx) != SUCCESS)) { + if (UNEXPECTED(zend_ast_evaluate_ex(&op1, ast->child[0], scope, &short_circuited, ctx) != SUCCESS)) { return FAILURE; } - if (ctx->short_circuited) { + if (short_circuited) { + *short_circuited_ptr = true; ZVAL_NULL(result); return SUCCESS; } if (ast->kind == ZEND_AST_NULLSAFE_PROP && Z_TYPE(op1) == IS_NULL) { - ctx->short_circuited = true; + *short_circuited_ptr = true; ZVAL_NULL(result); return SUCCESS; } - if (UNEXPECTED(zend_ast_evaluate_ex(&op2, ast->child[1], scope, ctx) != SUCCESS)) { + if (UNEXPECTED(zend_ast_evaluate_ex(&op2, ast->child[1], scope, &short_circuited, ctx) != SUCCESS)) { zval_ptr_dtor_nogc(&op1); return FAILURE; } @@ -976,7 +984,8 @@ ZEND_API zend_result ZEND_FASTCALL zend_ast_evaluate_ex(zval *result, zend_ast * ZEND_API zend_result ZEND_FASTCALL zend_ast_evaluate(zval *result, zend_ast *ast, zend_class_entry *scope) { zend_ast_evaluate_ctx ctx = {0}; - return zend_ast_evaluate_ex(result, ast, scope, &ctx); + bool short_circuited; + return zend_ast_evaluate_ex(result, ast, scope, &short_circuited, &ctx); } static size_t ZEND_FASTCALL zend_ast_tree_size(zend_ast *ast) diff --git a/Zend/zend_ast.h b/Zend/zend_ast.h index cf455ef50c974..77c277f960115 100644 --- a/Zend/zend_ast.h +++ b/Zend/zend_ast.h @@ -300,11 +300,10 @@ ZEND_API zend_ast *zend_ast_create_decl( typedef struct { bool had_side_effects; - bool short_circuited; } zend_ast_evaluate_ctx; ZEND_API zend_result ZEND_FASTCALL zend_ast_evaluate(zval *result, zend_ast *ast, zend_class_entry *scope); -ZEND_API zend_result ZEND_FASTCALL zend_ast_evaluate_ex(zval *result, zend_ast *ast, zend_class_entry *scope, zend_ast_evaluate_ctx *ctx); +ZEND_API zend_result ZEND_FASTCALL zend_ast_evaluate_ex(zval *result, zend_ast *ast, zend_class_entry *scope, bool *short_circuited_ptr, zend_ast_evaluate_ctx *ctx); ZEND_API zend_string *zend_ast_export(const char *prefix, zend_ast *ast, const char *suffix); ZEND_API zend_ast_ref * ZEND_FASTCALL zend_ast_copy(zend_ast *ast); diff --git a/Zend/zend_execute_API.c b/Zend/zend_execute_API.c index 8f993190ab178..8dfffb48060d0 100644 --- a/Zend/zend_execute_API.c +++ b/Zend/zend_execute_API.c @@ -686,8 +686,9 @@ ZEND_API zend_result ZEND_FASTCALL zval_update_constant_with_ctx(zval *p, zend_c ZVAL_COPY_OR_DUP(p, zv); } else { zval tmp; + bool short_circuited; - if (UNEXPECTED(zend_ast_evaluate_ex(&tmp, ast, scope, ctx) != SUCCESS)) { + if (UNEXPECTED(zend_ast_evaluate_ex(&tmp, ast, scope, &short_circuited, ctx) != SUCCESS)) { return FAILURE; } zval_ptr_dtor_nogc(p); From 93592ea743d6161fc65f1f28e483f675618068d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=9D=A6=E7=B1=B3?= Date: Thu, 17 Nov 2022 16:32:33 +0100 Subject: [PATCH 11/50] Fix GH-9769: Misleading error message for unpacking of objects Only arrays can be unpacked in constant expressions. Closes GH-9776. --- NEWS | 1 + Zend/tests/array_unpack/gh9769.phpt | 15 +++++++++++++++ Zend/zend_ast.c | 3 +-- 3 files changed, 17 insertions(+), 2 deletions(-) create mode 100644 Zend/tests/array_unpack/gh9769.phpt diff --git a/NEWS b/NEWS index 80f4f7726834c..ab7c416ed3380 100644 --- a/NEWS +++ b/NEWS @@ -9,6 +9,7 @@ PHP NEWS README.REDIST.BINS file). (Akama Hitoshi) . Fixed bug GH-9650 (Can't initialize heap: [0x000001e7]). (Michael Voříšek) . Fixed potentially undefined behavior in Windows ftok(3) emulation. (cmb) + . Fixed GH-9769 (Misleading error message for unpacking of objects). (jhdxr) - Date: . Fixed bug GH-9699 (DateTimeImmutable::diff differences in 8.1.10 onwards - diff --git a/Zend/tests/array_unpack/gh9769.phpt b/Zend/tests/array_unpack/gh9769.phpt new file mode 100644 index 0000000000000..9eb8c6aea7689 --- /dev/null +++ b/Zend/tests/array_unpack/gh9769.phpt @@ -0,0 +1,15 @@ +--TEST-- +Unpacking arrays in constant expression +--FILE-- +1, 'b'=>2, 'c'=>3]]; +const C = [...new ArrayObject()]; + +?> +--EXPECTF-- +Fatal error: Uncaught Error: Only arrays can be unpacked in constant expression in %sgh9769.php:5 +Stack trace: +#0 {main} + thrown in %sgh9769.php on line 5 diff --git a/Zend/zend_ast.c b/Zend/zend_ast.c index 07cb9c5fbb7c0..0e5e5ebac1688 100644 --- a/Zend/zend_ast.c +++ b/Zend/zend_ast.c @@ -475,8 +475,7 @@ static zend_result zend_ast_add_unpacked_element(zval *result, zval *expr) { return SUCCESS; } - /* Objects or references cannot occur in a constant expression. */ - zend_throw_error(NULL, "Only arrays and Traversables can be unpacked"); + zend_throw_error(NULL, "Only arrays can be unpacked in constant expression"); return FAILURE; } From c4a0fc62a28e795508d764410de128f3feed763d Mon Sep 17 00:00:00 2001 From: George Peter Banyard Date: Fri, 2 Dec 2022 12:34:11 +0000 Subject: [PATCH 12/50] Fix zend_fcc_equals() with trampolines (#10012) We cannot compare the function handler pointer directly for trampolines, as they may be reallocated --- Zend/zend_API.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Zend/zend_API.h b/Zend/zend_API.h index 4c741931dcb71..635fbdeb60584 100644 --- a/Zend/zend_API.h +++ b/Zend/zend_API.h @@ -733,6 +733,14 @@ ZEND_API zend_result zend_fcall_info_call(zend_fcall_info *fci, zend_fcall_info_ /* Zend FCC API to store and handle PHP userland functions */ static zend_always_inline bool zend_fcc_equals(const zend_fcall_info_cache* a, const zend_fcall_info_cache* b) { + if (UNEXPECTED((a->function_handler->common.fn_flags & ZEND_ACC_CALL_VIA_TRAMPOLINE) && + (b->function_handler->common.fn_flags & ZEND_ACC_CALL_VIA_TRAMPOLINE))) { + return a->object == b->object + && a->calling_scope == b->calling_scope + && a->closure == b->closure + && zend_string_equals(a->function_handler->common.function_name, b->function_handler->common.function_name) + ; + } return a->function_handler == b->function_handler && a->object == b->object && a->calling_scope == b->calling_scope From 608ddb032129306c5c4c474a458b21a655eed3e9 Mon Sep 17 00:00:00 2001 From: George Peter Banyard Date: Fri, 2 Dec 2022 01:23:48 +0000 Subject: [PATCH 13/50] Fix GH-10011 (Trampoline autoloader will get reregistered and cannot be unregistered) There are two issues to resolve: 1. The FCC is not refetch when trying to unregister a trampoline 2. Comparing the function pointer of trampolines is meaningless as they are reallocated, thus we need to compare the name of the function Found while working on GH-8294 Closes GH-10033 --- NEWS | 3 +- ext/spl/php_spl.c | 17 +++++++++++ ext/spl/tests/gh10011.phpt | 59 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 78 insertions(+), 1 deletion(-) create mode 100644 ext/spl/tests/gh10011.phpt diff --git a/NEWS b/NEWS index ab7c416ed3380..3d32505eabe30 100644 --- a/NEWS +++ b/NEWS @@ -9,7 +9,6 @@ PHP NEWS README.REDIST.BINS file). (Akama Hitoshi) . Fixed bug GH-9650 (Can't initialize heap: [0x000001e7]). (Michael Voříšek) . Fixed potentially undefined behavior in Windows ftok(3) emulation. (cmb) - . Fixed GH-9769 (Misleading error message for unpacking of objects). (jhdxr) - Date: . Fixed bug GH-9699 (DateTimeImmutable::diff differences in 8.1.10 onwards - @@ -55,6 +54,8 @@ PHP NEWS - SPL: . Fixed GH-9883 (SplFileObject::__toString() reads next line). (Girgias) + . Fixed GH-10011 (Trampoline autoloader will get reregistered and cannot be + unregistered). (Girgias) 24 Nov 2022, PHP 8.1.13 diff --git a/ext/spl/php_spl.c b/ext/spl/php_spl.c index 46dd62db7cb60..86eb9d8d21554 100644 --- a/ext/spl/php_spl.c +++ b/ext/spl/php_spl.c @@ -402,6 +402,16 @@ static autoload_func_info *autoload_func_info_from_fci( static bool autoload_func_info_equals( const autoload_func_info *alfi1, const autoload_func_info *alfi2) { + if (UNEXPECTED( + (alfi1->func_ptr->common.fn_flags & ZEND_ACC_CALL_VIA_TRAMPOLINE) && + (alfi2->func_ptr->common.fn_flags & ZEND_ACC_CALL_VIA_TRAMPOLINE) + )) { + return alfi1->obj == alfi2->obj + && alfi1->ce == alfi2->ce + && alfi1->closure == alfi2->closure + && zend_string_equals(alfi1->func_ptr->common.function_name, alfi2->func_ptr->common.function_name) + ; + } return alfi1->func_ptr == alfi2->func_ptr && alfi1->obj == alfi2->obj && alfi1->ce == alfi2->ce @@ -580,6 +590,13 @@ PHP_FUNCTION(spl_autoload_unregister) RETURN_TRUE; } + if (!fcc.function_handler) { + /* Call trampoline has been cleared by zpp. Refetch it, because we want to deal + * with it outselves. It is important that it is not refetched on every call, + * because calls may occur from different scopes. */ + zend_is_callable_ex(&fci.function_name, NULL, 0, NULL, &fcc, NULL); + } + autoload_func_info *alfi = autoload_func_info_from_fci(&fci, &fcc); Bucket *p = spl_find_registered_function(alfi); autoload_func_info_destroy(alfi); diff --git a/ext/spl/tests/gh10011.phpt b/ext/spl/tests/gh10011.phpt new file mode 100644 index 0000000000000..3603011f70bc6 --- /dev/null +++ b/ext/spl/tests/gh10011.phpt @@ -0,0 +1,59 @@ +--TEST-- +Bug GH-10011 (Trampoline autoloader will get reregistered and cannot be unregistered) +--FILE-- + +--EXPECT-- +array(2) { + [0]=> + array(2) { + [0]=> + object(TrampolineTest)#1 (0) { + } + [1]=> + string(11) "trampoline1" + } + [1]=> + array(2) { + [0]=> + object(TrampolineTest)#1 (0) { + } + [1]=> + string(11) "trampoline2" + } +} +Trampoline for trampoline1 +Trampoline for trampoline2 +bool(false) +Unregister trampoline: +bool(true) +bool(false) +bool(true) +array(0) { +} +bool(false) From adc23828b488ac0644db3f636154da43a05c1458 Mon Sep 17 00:00:00 2001 From: Arnaud Le Blanc Date: Fri, 2 Dec 2022 17:21:30 +0100 Subject: [PATCH 14/50] Fallback to first line of function when ex->opline is NULL (#10003) ex->opline can be null due to missing SAVE_OPLINE() in the VM Fixes GH-9933 --- Zend/zend_execute_API.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Zend/zend_execute_API.c b/Zend/zend_execute_API.c index 7ccfaa6034ae0..3ef2dec1036c2 100644 --- a/Zend/zend_execute_API.c +++ b/Zend/zend_execute_API.c @@ -627,6 +627,10 @@ ZEND_API uint32_t zend_get_executed_lineno(void) /* {{{ */ ex = ex->prev_execute_data; } if (ex) { + if (!ex->opline) { + /* Missing SAVE_OPLINE()? Falling back to first line of function */ + return ex->func->op_array.opcodes[0].lineno; + } if (EG(exception) && ex->opline->opcode == ZEND_HANDLE_EXCEPTION && ex->opline->lineno == 0 && EG(opline_before_exception)) { return EG(opline_before_exception)->lineno; From b6b4a628a5009024f9abca664f6a25d64b6f64d6 Mon Sep 17 00:00:00 2001 From: Daniel Black Date: Fri, 2 Dec 2022 12:57:47 +1100 Subject: [PATCH 15/50] ext/mysqli tests "using password" optional in error messages Closes GH-10035. --- ext/mysqli/tests/mysqli_connect_oo.phpt | 4 ++-- ext/mysqli/tests/mysqli_real_connect.phpt | 2 +- ext/mysqli/tests/mysqli_real_connect_pconn.phpt | 2 +- ext/mysqli/tests/mysqli_report.phpt | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/ext/mysqli/tests/mysqli_connect_oo.phpt b/ext/mysqli/tests/mysqli_connect_oo.phpt index 2e47ca35568c9..ec47e29c11bd3 100644 --- a/ext/mysqli/tests/mysqli_connect_oo.phpt +++ b/ext/mysqli/tests/mysqli_connect_oo.phpt @@ -149,9 +149,9 @@ require_once('skipifconnectfailure.inc'); print "done!"; ?> --EXPECTF-- -Warning: mysqli::__construct(): (%s/%d): Access denied for user '%sunknown%s'@'%s' (using password: %s) in %s on line %d +Warning: mysqli::__construct(): (%s/%d): Access denied for user '%sunknown%s'@'%s' %r(\(using password: \w+\) ){0,1}%rin %s on line %d mysqli object is not fully initialized mysqli object is not fully initialized ... and now Exceptions -Access denied for user '%s'@'%s' (using password: %s) +Access denied for user '%s'@'%s'%r( \(using password: \w+\)){0,1}%r done! diff --git a/ext/mysqli/tests/mysqli_real_connect.phpt b/ext/mysqli/tests/mysqli_real_connect.phpt index 2df7356215dad..d5320160c3d8e 100644 --- a/ext/mysqli/tests/mysqli_real_connect.phpt +++ b/ext/mysqli/tests/mysqli_real_connect.phpt @@ -153,7 +153,7 @@ mysqli.allow_local_infile=1 require_once("clean_table.inc"); ?> --EXPECTF-- -Warning: mysqli_real_connect(): (%s/%d): Access denied for user '%s'@'%s' (using password: YES) in %s on line %d +Warning: mysqli_real_connect(): (%s/%d): Access denied for user '%s'@'%s' %r(\(using password: \w+\) ){0,1}%rin %s on line %d object(mysqli)#%d (%d) { ["client_info"]=> string(%d) "%s" diff --git a/ext/mysqli/tests/mysqli_real_connect_pconn.phpt b/ext/mysqli/tests/mysqli_real_connect_pconn.phpt index 7b37f371c65ec..294340a9bd1da 100644 --- a/ext/mysqli/tests/mysqli_real_connect_pconn.phpt +++ b/ext/mysqli/tests/mysqli_real_connect_pconn.phpt @@ -152,5 +152,5 @@ mysqli.max_persistent=10 require_once("clean_table.inc"); ?> --EXPECTF-- -Warning: mysqli_real_connect(): (%s/%d): Access denied for user '%s'@'%s' (using password: YES) in %s on line %d +Warning: mysqli_real_connect(): (%s/%d): Access denied for user '%s'@'%s' %r(\(using password: \w+\) ){0,1}%rin %s on line %d done! diff --git a/ext/mysqli/tests/mysqli_report.phpt b/ext/mysqli/tests/mysqli_report.phpt index cb4010d0a87ec..d9b4107aec864 100644 --- a/ext/mysqli/tests/mysqli_report.phpt +++ b/ext/mysqli/tests/mysqli_report.phpt @@ -339,6 +339,6 @@ Warning: mysqli_stmt_attr_set(): (%s/%d): Not implemented in %s on line %d mysqli_kill(): Argument #2 ($process_id) must be greater than 0 Warning: mysqli_stmt_prepare(): (%d/%d): You have an error in your SQL syntax; check the manual that corresponds to your %s server version for the right syntax to use near 'FOO' at line 1 in %s on line %d -[013] Access denied for user '%s'@'%s' (using password: YES) -[016] Access denied for user '%s'@'%s' (using password: YES) +[013] Access denied for user '%s'@'%s'%r( \(using password: \w+\)){0,1}%r +[016] Access denied for user '%s'@'%s'%r( \(using password: \w+\)){0,1}%r done! From e4ef394c6b7d90f85258a98c1e8f202217989dba Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Mon, 5 Dec 2022 17:29:21 +0100 Subject: [PATCH 16/50] Drop superfluous check for imap_stream `GET_IMAP_STREAM` already checks whether `.imap_stream` is `NULL`, and bails out in that case. Closes GH-10053. --- ext/imap/php_imap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ext/imap/php_imap.c b/ext/imap/php_imap.c index c171969fa6657..8daa6fd37c7b9 100644 --- a/ext/imap/php_imap.c +++ b/ext/imap/php_imap.c @@ -1420,7 +1420,7 @@ PHP_FUNCTION(imap_check) RETURN_FALSE; } - if (imap_conn_struct->imap_stream && imap_conn_struct->imap_stream->mailbox) { + if (imap_conn_struct->imap_stream->mailbox) { rfc822_date(date); object_init(return_value); add_property_string(return_value, "Date", date); From 2f6b9e6c639c37405e45094bd9c8f2f3b3f377d3 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Mon, 5 Dec 2022 16:26:02 +0100 Subject: [PATCH 17/50] Fix #81742: open_basedir bypass in SQLite3 by using file URI A previous fix[1] was not sufficient to catch all potential file URIs, because the patch did not cater to URL encoding. Properly parsing and decoding the URI may yield a different result than the handling of SQLite3, so we play it safe, and reject any file URIs if open_basedir is configured. [1] Closes GH-10018. --- NEWS | 3 +++ ext/sqlite3/sqlite3.c | 10 ++-------- ext/sqlite3/tests/bug81742.phpt | 13 +++++++++++++ 3 files changed, 18 insertions(+), 8 deletions(-) create mode 100644 ext/sqlite3/tests/bug81742.phpt diff --git a/NEWS b/NEWS index 3d32505eabe30..d1364a1c74d75 100644 --- a/NEWS +++ b/NEWS @@ -57,6 +57,9 @@ PHP NEWS . Fixed GH-10011 (Trampoline autoloader will get reregistered and cannot be unregistered). (Girgias) +- SQLite3: + . Fixed bug #81742 (open_basedir bypass in SQLite3 by using file URI). (cmb) + 24 Nov 2022, PHP 8.1.13 - CLI: diff --git a/ext/sqlite3/sqlite3.c b/ext/sqlite3/sqlite3.c index b0924d5857e16..d1a85e96009d6 100644 --- a/ext/sqlite3/sqlite3.c +++ b/ext/sqlite3/sqlite3.c @@ -2040,14 +2040,8 @@ static int php_sqlite3_authorizer(void *autharg, int action, const char *arg1, c if (memcmp(arg1, ":memory:", sizeof(":memory:")) && *arg1) { if (strncmp(arg1, "file:", 5) == 0) { /* starts with "file:" */ - if (!arg1[5]) { - return SQLITE_DENY; - } - if (php_check_open_basedir(arg1 + 5)) { - return SQLITE_DENY; - } - } - if (php_check_open_basedir(arg1)) { + return SQLITE_DENY; + } else if (php_check_open_basedir(arg1)) { return SQLITE_DENY; } } diff --git a/ext/sqlite3/tests/bug81742.phpt b/ext/sqlite3/tests/bug81742.phpt new file mode 100644 index 0000000000000..3aa90a6d1133c --- /dev/null +++ b/ext/sqlite3/tests/bug81742.phpt @@ -0,0 +1,13 @@ +--TEST-- +Bug #81742 (open_basedir bypass in SQLite3 by using url encoded file) +--EXTENSIONS-- +sqlite3 +--INI-- +open_basedir=. +--FILE-- +query("ATTACH 'file:..%2ffoo.php' as db2;"); +?> +--EXPECTF-- +Warning: SQLite3::query(): not authorized in %s on line %d From 696bb385dfef96c857e2ccbd16fe9129ae32e888 Mon Sep 17 00:00:00 2001 From: Ben Ramsey Date: Wed, 7 Dec 2022 11:29:37 -0600 Subject: [PATCH 18/50] PHP-8.1 is now for PHP 8.1.15-dev --- NEWS | 6 +++++- Zend/zend.h | 2 +- configure.ac | 2 +- main/php_version.h | 6 +++--- 4 files changed, 10 insertions(+), 6 deletions(-) diff --git a/NEWS b/NEWS index d1364a1c74d75..35388b768f7f7 100644 --- a/NEWS +++ b/NEWS @@ -1,6 +1,10 @@ PHP NEWS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| -?? ??? ????, PHP 8.1.14 +?? ??? ????, PHP 8.1.15 + + + +05 Jan 2023, PHP 8.1.14 - Core: . Fixed bug GH-9905 (constant() behaves inconsistent when class is undefined). diff --git a/Zend/zend.h b/Zend/zend.h index c02d687c73ce7..ac3a826a4813b 100644 --- a/Zend/zend.h +++ b/Zend/zend.h @@ -20,7 +20,7 @@ #ifndef ZEND_H #define ZEND_H -#define ZEND_VERSION "4.1.14-dev" +#define ZEND_VERSION "4.1.15-dev" #define ZEND_ENGINE_3 diff --git a/configure.ac b/configure.ac index ea440606a8fac..f7e15261412b1 100644 --- a/configure.ac +++ b/configure.ac @@ -17,7 +17,7 @@ dnl Basic autoconf initialization, generation of config.nice. dnl ---------------------------------------------------------------------------- AC_PREREQ([2.68]) -AC_INIT([PHP],[8.1.14-dev],[https://bugs.php.net],[php],[https://www.php.net]) +AC_INIT([PHP],[8.1.15-dev],[https://bugs.php.net],[php],[https://www.php.net]) AC_CONFIG_SRCDIR([main/php_version.h]) AC_CONFIG_AUX_DIR([build]) AC_PRESERVE_HELP_ORDER diff --git a/main/php_version.h b/main/php_version.h index 4774308e5eea5..165364047e310 100644 --- a/main/php_version.h +++ b/main/php_version.h @@ -2,7 +2,7 @@ /* edit configure.ac to change version number */ #define PHP_MAJOR_VERSION 8 #define PHP_MINOR_VERSION 1 -#define PHP_RELEASE_VERSION 14 +#define PHP_RELEASE_VERSION 15 #define PHP_EXTRA_VERSION "-dev" -#define PHP_VERSION "8.1.14-dev" -#define PHP_VERSION_ID 80114 +#define PHP_VERSION "8.1.15-dev" +#define PHP_VERSION_ID 80115 From 35a4950ffa34686d742c6a6f5cc2e6f6ab123109 Mon Sep 17 00:00:00 2001 From: Ben Ramsey Date: Wed, 7 Dec 2022 11:53:15 -0600 Subject: [PATCH 19/50] Replace Azure DevOps link with GitHub Actions --- docs/release-process.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/release-process.md b/docs/release-process.md index c17b83707cc4c..4e7a5c228808b 100644 --- a/docs/release-process.md +++ b/docs/release-process.md @@ -57,8 +57,8 @@ releases. - https://travis-ci.com/github/php/php-src - https://ci.appveyor.com/project/php/php-src - - https://dev.azure.com/phpazuredevops/PHP/ - https://cirrus-ci.com/github/php/php-src + - https://github.com/php/php-src/actions > 💡 **Tip** \ > We recommend checking the build status a couple of days before packaging day From 11b612af6dbe9fdd60edb58d37e441c97bff79e0 Mon Sep 17 00:00:00 2001 From: Niels <7771979+nielsdos@users.noreply.github.com> Date: Wed, 7 Dec 2022 19:57:50 +0100 Subject: [PATCH 20/50] Rename PHP_STREAM_TO_ZVAL to PHP_STREAM_FROM_ZVAL (#10065) --- ext/standard/file.c | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/ext/standard/file.c b/ext/standard/file.c index 1f3b6b2cf5824..345536624d8fc 100644 --- a/ext/standard/file.c +++ b/ext/standard/file.c @@ -114,7 +114,7 @@ php_file_globals file_globals; /* }}} */ -#define PHP_STREAM_TO_ZVAL(stream, arg) \ +#define PHP_STREAM_FROM_ZVAL(stream, arg) \ ZEND_ASSERT(Z_TYPE_P(arg) == IS_RESOURCE); \ php_stream_from_res(stream, Z_RES_P(arg)); @@ -238,7 +238,7 @@ PHP_FUNCTION(flock) Z_PARAM_ZVAL(wouldblock) ZEND_PARSE_PARAMETERS_END(); - PHP_STREAM_TO_ZVAL(stream, res); + PHP_STREAM_FROM_ZVAL(stream, res); php_flock_common(stream, operation, 2, wouldblock, return_value); } @@ -775,7 +775,7 @@ PHPAPI PHP_FUNCTION(fclose) Z_PARAM_RESOURCE(res) ZEND_PARSE_PARAMETERS_END(); - PHP_STREAM_TO_ZVAL(stream, res); + PHP_STREAM_FROM_ZVAL(stream, res); if ((stream->flags & PHP_STREAM_FLAG_NO_FCLOSE) != 0) { php_error_docref(NULL, E_WARNING, ZEND_LONG_FMT " is not a valid stream resource", stream->res->handle); @@ -855,7 +855,7 @@ PHP_FUNCTION(pclose) Z_PARAM_RESOURCE(res) ZEND_PARSE_PARAMETERS_END(); - PHP_STREAM_TO_ZVAL(stream, res); + PHP_STREAM_FROM_ZVAL(stream, res); FG(pclose_wait) = 1; zend_list_close(stream->res); @@ -874,7 +874,7 @@ PHPAPI PHP_FUNCTION(feof) Z_PARAM_RESOURCE(res) ZEND_PARSE_PARAMETERS_END(); - PHP_STREAM_TO_ZVAL(stream, res); + PHP_STREAM_FROM_ZVAL(stream, res); if (php_stream_eof(stream)) { RETURN_TRUE; @@ -901,7 +901,7 @@ PHPAPI PHP_FUNCTION(fgets) Z_PARAM_LONG_OR_NULL(len, len_is_null) ZEND_PARSE_PARAMETERS_END(); - PHP_STREAM_TO_ZVAL(stream, res); + PHP_STREAM_FROM_ZVAL(stream, res); if (len_is_null) { /* ask streams to give us a buffer of an appropriate size */ @@ -945,7 +945,7 @@ PHPAPI PHP_FUNCTION(fgetc) Z_PARAM_RESOURCE(res) ZEND_PARSE_PARAMETERS_END(); - PHP_STREAM_TO_ZVAL(stream, res); + PHP_STREAM_FROM_ZVAL(stream, res); int result = php_stream_getc(stream); @@ -1029,7 +1029,7 @@ PHPAPI PHP_FUNCTION(fwrite) RETURN_LONG(0); } - PHP_STREAM_TO_ZVAL(stream, res); + PHP_STREAM_FROM_ZVAL(stream, res); ret = php_stream_write(stream, input, num_bytes); if (ret < 0) { @@ -1051,7 +1051,7 @@ PHPAPI PHP_FUNCTION(fflush) Z_PARAM_RESOURCE(res) ZEND_PARSE_PARAMETERS_END(); - PHP_STREAM_TO_ZVAL(stream, res); + PHP_STREAM_FROM_ZVAL(stream, res); ret = php_stream_flush(stream); if (ret) { @@ -1071,7 +1071,7 @@ PHPAPI PHP_FUNCTION(rewind) Z_PARAM_RESOURCE(res) ZEND_PARSE_PARAMETERS_END(); - PHP_STREAM_TO_ZVAL(stream, res); + PHP_STREAM_FROM_ZVAL(stream, res); if (-1 == php_stream_rewind(stream)) { RETURN_FALSE; @@ -1091,7 +1091,7 @@ PHPAPI PHP_FUNCTION(ftell) Z_PARAM_RESOURCE(res) ZEND_PARSE_PARAMETERS_END(); - PHP_STREAM_TO_ZVAL(stream, res); + PHP_STREAM_FROM_ZVAL(stream, res); ret = php_stream_tell(stream); if (ret == -1) { @@ -1115,7 +1115,7 @@ PHPAPI PHP_FUNCTION(fseek) Z_PARAM_LONG(whence) ZEND_PARSE_PARAMETERS_END(); - PHP_STREAM_TO_ZVAL(stream, res); + PHP_STREAM_FROM_ZVAL(stream, res); RETURN_LONG(php_stream_seek(stream, offset, (int) whence)); } @@ -1259,7 +1259,7 @@ PHPAPI PHP_FUNCTION(fpassthru) Z_PARAM_RESOURCE(res) ZEND_PARSE_PARAMETERS_END(); - PHP_STREAM_TO_ZVAL(stream, res); + PHP_STREAM_FROM_ZVAL(stream, res); size = php_stream_passthru(stream); RETURN_LONG(size); @@ -1346,7 +1346,7 @@ PHP_FUNCTION(fsync) Z_PARAM_RESOURCE(res) ZEND_PARSE_PARAMETERS_END(); - PHP_STREAM_TO_ZVAL(stream, res); + PHP_STREAM_FROM_ZVAL(stream, res); if (!php_stream_sync_supported(stream)) { php_error_docref(NULL, E_WARNING, "Can't fsync this stream!"); @@ -1365,7 +1365,7 @@ PHP_FUNCTION(fdatasync) Z_PARAM_RESOURCE(res) ZEND_PARSE_PARAMETERS_END(); - PHP_STREAM_TO_ZVAL(stream, res); + PHP_STREAM_FROM_ZVAL(stream, res); if (!php_stream_sync_supported(stream)) { php_error_docref(NULL, E_WARNING, "Can't fsync this stream!"); @@ -1392,7 +1392,7 @@ PHP_FUNCTION(ftruncate) RETURN_THROWS(); } - PHP_STREAM_TO_ZVAL(stream, fp); + PHP_STREAM_FROM_ZVAL(stream, fp); if (!php_stream_truncate_supported(stream)) { php_error_docref(NULL, E_WARNING, "Can't truncate this stream!"); @@ -1484,7 +1484,7 @@ PHP_FUNCTION(fstat) Z_PARAM_RESOURCE(fp) ZEND_PARSE_PARAMETERS_END(); - PHP_STREAM_TO_ZVAL(stream, fp); + PHP_STREAM_FROM_ZVAL(stream, fp); php_fstat(stream, return_value); } @@ -1639,7 +1639,7 @@ PHPAPI PHP_FUNCTION(fread) Z_PARAM_LONG(len) ZEND_PARSE_PARAMETERS_END(); - PHP_STREAM_TO_ZVAL(stream, res); + PHP_STREAM_FROM_ZVAL(stream, res); if (len <= 0) { zend_argument_value_error(2, "must be greater than 0"); @@ -1752,7 +1752,7 @@ PHP_FUNCTION(fputcsv) } } - PHP_STREAM_TO_ZVAL(stream, fp); + PHP_STREAM_FROM_ZVAL(stream, fp); ret = php_fputcsv(stream, fields, delimiter, enclosure, escape_char, eol_str); if (ret < 0) { @@ -1899,7 +1899,7 @@ PHP_FUNCTION(fgetcsv) RETURN_THROWS(); } - PHP_STREAM_TO_ZVAL(stream, fd); + PHP_STREAM_FROM_ZVAL(stream, fd); } if (len < 0) { From 3f3c1df8b61f2987f126f2c352284ef66128e260 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Thu, 8 Dec 2022 13:38:28 +0100 Subject: [PATCH 21/50] [ci skip] Fix GH-10056: [grammar] "less security-conscience applications" --- php.ini-development | 2 +- php.ini-production | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/php.ini-development b/php.ini-development index 6ebbb495a3d84..8a0db63e36bf5 100644 --- a/php.ini-development +++ b/php.ini-development @@ -75,7 +75,7 @@ ; php.ini-production contains settings which hold security, performance and ; best practices at its core. But please be aware, these settings may break -; compatibility with older or less security conscience applications. We +; compatibility with older or less security-conscious applications. We ; recommending using the production ini in production and testing environments. ; php.ini-development is very similar to its production variant, except it is diff --git a/php.ini-production b/php.ini-production index 65435e367a2a9..f447242cc5cca 100644 --- a/php.ini-production +++ b/php.ini-production @@ -75,7 +75,7 @@ ; php.ini-production contains settings which hold security, performance and ; best practices at its core. But please be aware, these settings may break -; compatibility with older or less security conscience applications. We +; compatibility with older or less security-conscious applications. We ; recommending using the production ini in production and testing environments. ; php.ini-development is very similar to its production variant, except it is From c21a5920acfc0bac8ee2dc9c93852da7a31a2fea Mon Sep 17 00:00:00 2001 From: Daniel Black Date: Wed, 7 Dec 2022 14:29:03 +1100 Subject: [PATCH 22/50] ext/mysqli tests "using password" optional in error messages (part 2) Like GH-10035 for ext/mysqli/tests/mysqli_connect.phpt test. Closes GH-10064. --- ext/mysqli/tests/mysqli_connect.phpt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ext/mysqli/tests/mysqli_connect.phpt b/ext/mysqli/tests/mysqli_connect.phpt index 8f648934308e0..08a6fd111cd15 100644 --- a/ext/mysqli/tests/mysqli_connect.phpt +++ b/ext/mysqli/tests/mysqli_connect.phpt @@ -145,7 +145,7 @@ require_once('skipifconnectfailure.inc'); print "done!"; ?> --EXPECTF-- -Warning: mysqli_connect(): (%s/%d): Access denied for user '%s'@'%s' (using password: YES) in %s on line %d +Warning: mysqli_connect(): (%s/%d): Access denied for user '%s'@'%s'%r( \(using password: \w+\)){0,1}%r in %s on line %d array(1) { ["testing"]=> string(21) "mysqli.default_socket" From faef55d638338ca54598e7437fa4a621ee83d5de Mon Sep 17 00:00:00 2001 From: David CARLIER Date: Fri, 9 Dec 2022 08:38:52 +0000 Subject: [PATCH 23/50] standard/basic_functions.c remove x bit on this file (#10069) --- ext/standard/basic_functions.c | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100755 => 100644 ext/standard/basic_functions.c diff --git a/ext/standard/basic_functions.c b/ext/standard/basic_functions.c old mode 100755 new mode 100644 From a1a69c37342ebc13077735f1e048a38c09d30d49 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Tue, 6 Dec 2022 17:33:53 +0200 Subject: [PATCH 24/50] Support Microsoft's "Best Fit" mappings for Windows-1252 text encoding In b5ff87ca71, I made a number of adjustments to our conversion code for CP1252. One of the adjustments was to make the mappings match those published by the Unicode Consortium in the file CP1252.TXT. These do not include mappings for the CP1252 bytes 0x81, 0x8D, 0x8F, 0x90, and 0x9D. Rostyslav Gulka reported that this caused a problem. His application stores binary JPEG data in an MS-SQL database. When they SELECT the binary data out of the database, it is treated as CP1252 text and automatically converted to UTF-8. To recover the original binary data, they then do a conversion from UTF-8 to CP1252. Obviously, that does not work if certain CP1252 bytes do not map to any Unicode codepoint at all. While this is a very unusual application of text encoding conversion, and we might choose not to support it if there was no other basis for including those mappings, it seems that Microsoft does actually include them in the Win32 API as "best fit" mappings. These are extra mappings from Unicode to other text encodings, which the Win32 API function WideCharToMultiByte uses by default unless the WC_NO_BEST_FIT_CHARS flag was passed. A list of these "best fit" mappings for CP1252 can be found here: https://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WindowsBestFit/bestfit1252.txt --- ext/mbstring/libmbfl/filters/mbfilter_singlebyte.c | 10 +++++----- ext/mbstring/tests/cp1252_encoding.phpt | 5 ----- ext/mbstring/tests/data/CP1252.txt | 10 +++++----- 3 files changed, 10 insertions(+), 15 deletions(-) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_singlebyte.c b/ext/mbstring/libmbfl/filters/mbfilter_singlebyte.c index 43ab8a2e48718..e9b2b04086562 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_singlebyte.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_singlebyte.c @@ -379,10 +379,10 @@ DEF_SB_TBL(cp1251, "Windows-1251", "Windows-1251", cp1251_aliases, 0x80, cp1251_ static const char *cp1252_aliases[] = {"cp1252", NULL}; static const unsigned short cp1252_ucs_table[] = { - 0X20AC,0X0000,0X201A,0X0192,0X201E,0X2026,0X2020,0X2021, - 0X02C6,0X2030,0X0160,0X2039,0X0152,0X0000,0X017D,0X0000, - 0X0000,0X2018,0X2019,0X201C,0X201D,0X2022,0X2013,0X2014, - 0X02DC,0X2122,0X0161,0X203A,0X0153,0X0000,0X017E,0X0178 + 0X20AC,0X0081,0X201A,0X0192,0X201E,0X2026,0X2020,0X2021, + 0X02C6,0X2030,0X0160,0X2039,0X0152,0X008D,0X017D,0X008F, + 0X0090,0X2018,0X2019,0X201C,0X201D,0X2022,0X2013,0X2014, + 0X02DC,0X2122,0X0161,0X203A,0X0153,0X009D,0X017E,0X0178 }; DEF_SB(cp1252, "Windows-1252", "Windows-1252", cp1252_aliases); @@ -396,7 +396,7 @@ static int mbfl_filt_conv_wchar_cp1252(int c, mbfl_convert_filter *filter) } } CK(mbfl_filt_conv_illegal_output(c, filter)); - } else if ((c <= 0x7F || c >= 0xA0) && c != MBFL_BAD_INPUT) { + } else if ((c <= 0x7F || c >= 0xA0 || c == 0x81 || c == 0x8D || c == 0x8F || c == 0x90 || c == 0x9D) && c != MBFL_BAD_INPUT) { CK((*filter->output_function)(c, filter->data)); } else { CK(mbfl_filt_conv_illegal_output(c, filter)); diff --git a/ext/mbstring/tests/cp1252_encoding.phpt b/ext/mbstring/tests/cp1252_encoding.phpt index 706e02ceee606..8705ac2c951ed 100644 --- a/ext/mbstring/tests/cp1252_encoding.phpt +++ b/ext/mbstring/tests/cp1252_encoding.phpt @@ -11,11 +11,6 @@ if (getenv("SKIP_SLOW_TESTS")) die("skip slow test"); include('encoding_tests.inc'); testEncodingFromUTF16ConversionTable(__DIR__ . '/data/CP1252.txt', 'CP1252'); -// Test "long" illegal character markers -mb_substitute_character("long"); -convertInvalidString("\x81", "%", "CP1252", "UTF-8"); -convertInvalidString("\x9D", "%", "CP1252", "UTF-8"); - echo "Done!\n"; ?> --EXPECT-- diff --git a/ext/mbstring/tests/data/CP1252.txt b/ext/mbstring/tests/data/CP1252.txt index 8ff4b204b755e..0ccd4ff189861 100644 --- a/ext/mbstring/tests/data/CP1252.txt +++ b/ext/mbstring/tests/data/CP1252.txt @@ -145,7 +145,7 @@ 0x7E 0x007E #TILDE 0x7F 0x007F #DELETE 0x80 0x20AC #EURO SIGN -0x81 #UNDEFINED +0x81 0x0081 #*** MODIFIED TO FOLLOW WINDOWS "BEST FIT" MAPPINGS 0x82 0x201A #SINGLE LOW-9 QUOTATION MARK 0x83 0x0192 #LATIN SMALL LETTER F WITH HOOK 0x84 0x201E #DOUBLE LOW-9 QUOTATION MARK @@ -157,10 +157,10 @@ 0x8A 0x0160 #LATIN CAPITAL LETTER S WITH CARON 0x8B 0x2039 #SINGLE LEFT-POINTING ANGLE QUOTATION MARK 0x8C 0x0152 #LATIN CAPITAL LIGATURE OE -0x8D #UNDEFINED +0x8D 0x008D #*** MODIFIED TO FOLLOW WINDOWS "BEST FIT" MAPPINGS 0x8E 0x017D #LATIN CAPITAL LETTER Z WITH CARON -0x8F #UNDEFINED -0x90 #UNDEFINED +0x8F 0x008F #*** MODIFIED TO FOLLOW WINDOWS "BEST FIT" MAPPINGS +0x90 0x0090 #*** MODIFIED TO FOLLOW WINDOWS "BEST FIT" MAPPINGS 0x91 0x2018 #LEFT SINGLE QUOTATION MARK 0x92 0x2019 #RIGHT SINGLE QUOTATION MARK 0x93 0x201C #LEFT DOUBLE QUOTATION MARK @@ -173,7 +173,7 @@ 0x9A 0x0161 #LATIN SMALL LETTER S WITH CARON 0x9B 0x203A #SINGLE RIGHT-POINTING ANGLE QUOTATION MARK 0x9C 0x0153 #LATIN SMALL LIGATURE OE -0x9D #UNDEFINED +0x9D 0x009D #*** MODIFIED TO FOLLOW WINDOWS "BEST FIT" MAPPINGS 0x9E 0x017E #LATIN SMALL LETTER Z WITH CARON 0x9F 0x0178 #LATIN CAPITAL LETTER Y WITH DIAERESIS 0xA0 0x00A0 #NO-BREAK SPACE From b77edf82ac4f6595876887136df44bc644210387 Mon Sep 17 00:00:00 2001 From: Daniel Black Date: Thu, 1 Dec 2022 15:47:55 +1100 Subject: [PATCH 25/50] Fix mysqli test wrt. MariaDB The test results under MariaDB, except they report "MariaDB" instead of MySQL. Closes GH-10029. --- ext/mysqli/tests/mysqli_execute_query.phpt | 2 +- ext/mysqli/tests/mysqli_reap_async_query_error.phpt | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ext/mysqli/tests/mysqli_execute_query.phpt b/ext/mysqli/tests/mysqli_execute_query.phpt index 64b7fbcf3e770..0cb5c29f72766 100644 --- a/ext/mysqli/tests/mysqli_execute_query.phpt +++ b/ext/mysqli/tests/mysqli_execute_query.phpt @@ -89,7 +89,7 @@ print "done!"; require_once "clean_table.inc"; ?> --EXPECTF-- -[005] [1064] You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'some random gibberish' at line 1 +[005] [1064] You have an error in your SQL syntax; check the manual that corresponds to your %s server version for the right syntax to use near 'some random gibberish' at line 1 [006] [1062] Duplicate entry '1' for key '%s' [009] mysqli::execute_query(): Argument #2 ($params) must consist of exactly 3 elements, 2 present [010] mysqli::execute_query(): Argument #2 ($params) must be a list array diff --git a/ext/mysqli/tests/mysqli_reap_async_query_error.phpt b/ext/mysqli/tests/mysqli_reap_async_query_error.phpt index d5672ba177649..e7a48eaf1a38f 100644 --- a/ext/mysqli/tests/mysqli_reap_async_query_error.phpt +++ b/ext/mysqli/tests/mysqli_reap_async_query_error.phpt @@ -26,6 +26,6 @@ try { print "done!"; ?> ---EXPECT-- -You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 1 +--EXPECTF-- +You have an error in your SQL syntax; check the manual that corresponds to your %s server version for the right syntax to use near ')' at line 1 done! From ac3ecd03af009d433d4b75d570b3b0f0a3fc0ff7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joshua=20R=C3=BCsweg?= Date: Fri, 9 Dec 2022 17:39:13 +0100 Subject: [PATCH 26/50] Add `Randomizer::getBytesFromString()` method (#9664) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Add `Randomizer::getBytesFromAlphabet()` method * Rename `getBytesFromAlphabet` to `getBytesFromString` * [ci skip] Add NEWS/UPGRADING for Randomizer::getBytesFromString() Co-authored-by: Tim Düsterhus --- NEWS | 3 + UPGRADING | 4 + ext/random/php_random.h | 2 + ext/random/random.c | 10 +- ext/random/random.stub.php | 2 + ext/random/random_arginfo.h | 9 +- ext/random/randomizer.c | 96 +++++++++++++++++++ .../03_randomizer/engine_unsafe_biased.phpt | 14 +++ .../engine_unsafe_empty_string.phpt | 14 +++ .../methods/getBytesFromString.phpt | 63 ++++++++++++ .../methods/getBytesFromString_error.phpt | 28 ++++++ 11 files changed, 238 insertions(+), 7 deletions(-) create mode 100644 ext/random/tests/03_randomizer/methods/getBytesFromString.phpt create mode 100644 ext/random/tests/03_randomizer/methods/getBytesFromString_error.phpt diff --git a/NEWS b/NEWS index 070a225fcffd2..196ad576f5b31 100644 --- a/NEWS +++ b/NEWS @@ -55,6 +55,9 @@ PHP NEWS - Posix: . Added posix_sysconf. (David Carlier) +- Random: + . Added Randomizer::getBytesFromString(). (Joshua Rüsweg) + - Reflection: . Fix GH-9470 (ReflectionMethod constructor should not find private parent method). (ilutov) diff --git a/UPGRADING b/UPGRADING index 16f2de9eff26b..0956b914b93c7 100644 --- a/UPGRADING +++ b/UPGRADING @@ -62,6 +62,10 @@ PHP 8.3 UPGRADE NOTES - Posix: . Added posix_sysconf call to get runtime informations. +- Random: + . Added Randomizer::getBytesFromString(). + RFC: https://wiki.php.net/rfc/randomizer_additions + - Sockets: . Added socket_atmark to checks if the socket is OOB marked. diff --git a/ext/random/php_random.h b/ext/random/php_random.h index 6a8b0eb84a704..a4665b5d10aca 100644 --- a/ext/random/php_random.h +++ b/ext/random/php_random.h @@ -74,6 +74,8 @@ PHPAPI double php_combined_lcg(void); # define MT_N (624) +#define PHP_RANDOM_RANGE_ATTEMPTS (50) + PHPAPI void php_mt_srand(uint32_t seed); PHPAPI uint32_t php_mt_rand(void); PHPAPI zend_long php_mt_rand_range(zend_long min, zend_long max); diff --git a/ext/random/random.c b/ext/random/random.c index a1a1702e16789..5f6ae0c720681 100644 --- a/ext/random/random.c +++ b/ext/random/random.c @@ -86,8 +86,6 @@ static zend_object_handlers random_engine_xoshiro256starstar_object_handlers; static zend_object_handlers random_engine_secure_object_handlers; static zend_object_handlers random_randomizer_object_handlers; -#define RANDOM_RANGE_ATTEMPTS (50) - static inline uint32_t rand_range32(const php_random_algo *algo, php_random_status *status, uint32_t umax) { uint32_t result, limit; @@ -124,8 +122,8 @@ static inline uint32_t rand_range32(const php_random_algo *algo, php_random_stat /* Discard numbers over the limit to avoid modulo bias */ while (UNEXPECTED(result > limit)) { /* If the requirements cannot be met in a cycles, return fail */ - if (++count > RANDOM_RANGE_ATTEMPTS) { - zend_throw_error(random_ce_Random_BrokenRandomEngineError, "Failed to generate an acceptable random number in %d attempts", RANDOM_RANGE_ATTEMPTS); + if (++count > PHP_RANDOM_RANGE_ATTEMPTS) { + zend_throw_error(random_ce_Random_BrokenRandomEngineError, "Failed to generate an acceptable random number in %d attempts", PHP_RANDOM_RANGE_ATTEMPTS); return 0; } @@ -180,8 +178,8 @@ static inline uint64_t rand_range64(const php_random_algo *algo, php_random_stat /* Discard numbers over the limit to avoid modulo bias */ while (UNEXPECTED(result > limit)) { /* If the requirements cannot be met in a cycles, return fail */ - if (++count > RANDOM_RANGE_ATTEMPTS) { - zend_throw_error(random_ce_Random_BrokenRandomEngineError, "Failed to generate an acceptable random number in %d attempts", RANDOM_RANGE_ATTEMPTS); + if (++count > PHP_RANDOM_RANGE_ATTEMPTS) { + zend_throw_error(random_ce_Random_BrokenRandomEngineError, "Failed to generate an acceptable random number in %d attempts", PHP_RANDOM_RANGE_ATTEMPTS); return 0; } diff --git a/ext/random/random.stub.php b/ext/random/random.stub.php index 0a178f2657dc2..69049a837b2c2 100644 --- a/ext/random/random.stub.php +++ b/ext/random/random.stub.php @@ -137,6 +137,8 @@ public function getInt(int $min, int $max): int {} public function getBytes(int $length): string {} + public function getBytesFromString(string $string, int $length): string {} + public function shuffleArray(array $array): array {} public function shuffleBytes(string $bytes): string {} diff --git a/ext/random/random_arginfo.h b/ext/random/random_arginfo.h index fc272607360d0..1da1b8576b196 100644 --- a/ext/random/random_arginfo.h +++ b/ext/random/random_arginfo.h @@ -1,5 +1,5 @@ /* This is a generated file, edit the .stub.php file instead. - * Stub hash: 6cc9022516ce23c2e95af30606db43e9fc28e38a */ + * Stub hash: a4226bc7838eba98c5a935b279f681a7d083c0b2 */ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_lcg_value, 0, 0, IS_DOUBLE, 0) ZEND_END_ARG_INFO() @@ -94,6 +94,11 @@ ZEND_END_ARG_INFO() #define arginfo_class_Random_Randomizer_getBytes arginfo_random_bytes +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_Random_Randomizer_getBytesFromString, 0, 2, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, string, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, length, IS_LONG, 0) +ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_Random_Randomizer_shuffleArray, 0, 1, IS_ARRAY, 0) ZEND_ARG_TYPE_INFO(0, array, IS_ARRAY, 0) ZEND_END_ARG_INFO() @@ -133,6 +138,7 @@ ZEND_METHOD(Random_Randomizer, __construct); ZEND_METHOD(Random_Randomizer, nextInt); ZEND_METHOD(Random_Randomizer, getInt); ZEND_METHOD(Random_Randomizer, getBytes); +ZEND_METHOD(Random_Randomizer, getBytesFromString); ZEND_METHOD(Random_Randomizer, shuffleArray); ZEND_METHOD(Random_Randomizer, shuffleBytes); ZEND_METHOD(Random_Randomizer, pickArrayKeys); @@ -209,6 +215,7 @@ static const zend_function_entry class_Random_Randomizer_methods[] = { ZEND_ME(Random_Randomizer, nextInt, arginfo_class_Random_Randomizer_nextInt, ZEND_ACC_PUBLIC) ZEND_ME(Random_Randomizer, getInt, arginfo_class_Random_Randomizer_getInt, ZEND_ACC_PUBLIC) ZEND_ME(Random_Randomizer, getBytes, arginfo_class_Random_Randomizer_getBytes, ZEND_ACC_PUBLIC) + ZEND_ME(Random_Randomizer, getBytesFromString, arginfo_class_Random_Randomizer_getBytesFromString, ZEND_ACC_PUBLIC) ZEND_ME(Random_Randomizer, shuffleArray, arginfo_class_Random_Randomizer_shuffleArray, ZEND_ACC_PUBLIC) ZEND_ME(Random_Randomizer, shuffleBytes, arginfo_class_Random_Randomizer_shuffleBytes, ZEND_ACC_PUBLIC) ZEND_ME(Random_Randomizer, pickArrayKeys, arginfo_class_Random_Randomizer_pickArrayKeys, ZEND_ACC_PUBLIC) diff --git a/ext/random/randomizer.c b/ext/random/randomizer.c index 05461ea3b86f9..a95e6b0fdd8a8 100644 --- a/ext/random/randomizer.c +++ b/ext/random/randomizer.c @@ -258,6 +258,102 @@ PHP_METHOD(Random_Randomizer, pickArrayKeys) } /* }}} */ +/* {{{ Get Random Bytes for String */ +PHP_METHOD(Random_Randomizer, getBytesFromString) +{ + php_random_randomizer *randomizer = Z_RANDOM_RANDOMIZER_P(ZEND_THIS); + zend_long length; + zend_string *source, *retval; + size_t total_size = 0; + + ZEND_PARSE_PARAMETERS_START(2, 2); + Z_PARAM_STR(source) + Z_PARAM_LONG(length) + ZEND_PARSE_PARAMETERS_END(); + + const size_t source_length = ZSTR_LEN(source); + + if (source_length < 1) { + zend_argument_value_error(1, "cannot be empty"); + RETURN_THROWS(); + } + + if (length < 1) { + zend_argument_value_error(2, "must be greater than 0"); + RETURN_THROWS(); + } + + retval = zend_string_alloc(length, 0); + + if (source_length > 0xFF) { + while (total_size < length) { + uint64_t offset = randomizer->algo->range(randomizer->status, 0, source_length - 1); + + if (EG(exception)) { + zend_string_free(retval); + RETURN_THROWS(); + } + + ZSTR_VAL(retval)[total_size++] = ZSTR_VAL(source)[offset]; + } + } else { + uint64_t mask; + if (source_length <= 0x1) { + mask = 0x0; + } else if (source_length <= 0x2) { + mask = 0x1; + } else if (source_length <= 0x4) { + mask = 0x3; + } else if (source_length <= 0x8) { + mask = 0x7; + } else if (source_length <= 0x10) { + mask = 0xF; + } else if (source_length <= 0x20) { + mask = 0x1F; + } else if (source_length <= 0x40) { + mask = 0x3F; + } else if (source_length <= 0x80) { + mask = 0x7F; + } else { + mask = 0xFF; + } + + int failures = 0; + while (total_size < length) { + uint64_t result = randomizer->algo->generate(randomizer->status); + if (EG(exception)) { + zend_string_free(retval); + RETURN_THROWS(); + } + + for (size_t i = 0; i < randomizer->status->last_generated_size; i++) { + uint64_t offset = (result >> (i * 8)) & mask; + + if (offset >= source_length) { + if (++failures > PHP_RANDOM_RANGE_ATTEMPTS) { + zend_string_free(retval); + zend_throw_error(random_ce_Random_BrokenRandomEngineError, "Failed to generate an acceptable random number in %d attempts", PHP_RANDOM_RANGE_ATTEMPTS); + RETURN_THROWS(); + } + + continue; + } + + failures = 0; + + ZSTR_VAL(retval)[total_size++] = ZSTR_VAL(source)[offset]; + if (total_size >= length) { + break; + } + } + } + } + + ZSTR_VAL(retval)[length] = '\0'; + RETURN_STR(retval); +} +/* }}} */ + /* {{{ Random\Randomizer::__serialize() */ PHP_METHOD(Random_Randomizer, __serialize) { diff --git a/ext/random/tests/03_randomizer/engine_unsafe_biased.phpt b/ext/random/tests/03_randomizer/engine_unsafe_biased.phpt index 09fbd85b54eb0..e6fd2d7672343 100644 --- a/ext/random/tests/03_randomizer/engine_unsafe_biased.phpt +++ b/ext/random/tests/03_randomizer/engine_unsafe_biased.phpt @@ -49,6 +49,18 @@ try { echo $e->getMessage(), PHP_EOL; } +try { + var_dump(randomizer()->getBytesFromString('123', 10)); +} catch (Random\BrokenRandomEngineError $e) { + echo $e->getMessage(), PHP_EOL; +} + +try { + var_dump(randomizer()->getBytesFromString(str_repeat('a', 500), 10)); +} catch (Random\BrokenRandomEngineError $e) { + echo $e->getMessage(), PHP_EOL; +} + ?> --EXPECTF-- Failed to generate an acceptable random number in 50 attempts @@ -56,3 +68,5 @@ int(%d) string(2) "ff" Failed to generate an acceptable random number in 50 attempts Failed to generate an acceptable random number in 50 attempts +Failed to generate an acceptable random number in 50 attempts +Failed to generate an acceptable random number in 50 attempts diff --git a/ext/random/tests/03_randomizer/engine_unsafe_empty_string.phpt b/ext/random/tests/03_randomizer/engine_unsafe_empty_string.phpt index 01bd293bc0508..13ad0637fc33d 100644 --- a/ext/random/tests/03_randomizer/engine_unsafe_empty_string.phpt +++ b/ext/random/tests/03_randomizer/engine_unsafe_empty_string.phpt @@ -49,6 +49,18 @@ try { echo $e->getMessage(), PHP_EOL; } +try { + var_dump(randomizer()->getBytesFromString('123', 10)); +} catch (Random\BrokenRandomEngineError $e) { + echo $e->getMessage(), PHP_EOL; +} + +try { + var_dump(randomizer()->getBytesFromString(str_repeat('a', 500), 10)); +} catch (Random\BrokenRandomEngineError $e) { + echo $e->getMessage(), PHP_EOL; +} + ?> --EXPECT-- A random engine must return a non-empty string @@ -56,3 +68,5 @@ A random engine must return a non-empty string A random engine must return a non-empty string A random engine must return a non-empty string A random engine must return a non-empty string +A random engine must return a non-empty string +A random engine must return a non-empty string diff --git a/ext/random/tests/03_randomizer/methods/getBytesFromString.phpt b/ext/random/tests/03_randomizer/methods/getBytesFromString.phpt new file mode 100644 index 0000000000000..7ee7d990adff7 --- /dev/null +++ b/ext/random/tests/03_randomizer/methods/getBytesFromString.phpt @@ -0,0 +1,63 @@ +--TEST-- +Random: Randomizer: getBytesFromString(): Basic functionality +--FILE-- +getBytesFromString('a', 10)); + var_dump($randomizer->getBytesFromString(str_repeat('a', 256), 5)); + + for ($i = 1; $i < 250; $i++) { + $output = $randomizer->getBytesFromString(str_repeat('ab', $i), 500); + + // This check can theoretically fail with a chance of 0.5**500. + if (!str_contains($output, 'a') || !str_contains($output, 'b')) { + die("failure: didn't see both a and b at {$i}"); + } + } +} + +die('success'); + +?> +--EXPECT-- +Random\Engine\Mt19937 +string(10) "aaaaaaaaaa" +string(5) "aaaaa" +Random\Engine\Mt19937 +string(10) "aaaaaaaaaa" +string(5) "aaaaa" +Random\Engine\PcgOneseq128XslRr64 +string(10) "aaaaaaaaaa" +string(5) "aaaaa" +Random\Engine\Xoshiro256StarStar +string(10) "aaaaaaaaaa" +string(5) "aaaaa" +Random\Engine\Secure +string(10) "aaaaaaaaaa" +string(5) "aaaaa" +Random\Engine\Test\TestShaEngine +string(10) "aaaaaaaaaa" +string(5) "aaaaa" +success diff --git a/ext/random/tests/03_randomizer/methods/getBytesFromString_error.phpt b/ext/random/tests/03_randomizer/methods/getBytesFromString_error.phpt new file mode 100644 index 0000000000000..7280949d647e8 --- /dev/null +++ b/ext/random/tests/03_randomizer/methods/getBytesFromString_error.phpt @@ -0,0 +1,28 @@ +--TEST-- +Random: Randomizer: getBytesFromString(): Parameters are correctly validated +--FILE-- +getBytesFromString("", 2)); +} catch (ValueError $e) { + echo $e->getMessage(), PHP_EOL; +} + +try { + var_dump(randomizer()->getBytesFromString("abc", 0)); +} catch (ValueError $e) { + echo $e->getMessage(), PHP_EOL; +} + +?> +--EXPECTF-- +Random\Randomizer::getBytesFromString(): Argument #1 ($string) cannot be empty +Random\Randomizer::getBytesFromString(): Argument #2 ($length) must be greater than 0 From 16ce751f391af7839ee73ad0b5556f7ff76be645 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tim=20D=C3=BCsterhus?= Date: Fri, 9 Dec 2022 17:55:32 +0100 Subject: [PATCH 27/50] [ci skip] Add json_validate() RFC link to UPGRADING --- UPGRADING | 1 + 1 file changed, 1 insertion(+) diff --git a/UPGRADING b/UPGRADING index 0956b914b93c7..fb40184c7d54d 100644 --- a/UPGRADING +++ b/UPGRADING @@ -58,6 +58,7 @@ PHP 8.3 UPGRADE NOTES - JSON: . Added json_validate(), which returns whether the json is valid for the given $depth and $options. + RFC: https://wiki.php.net/rfc/json_validate - Posix: . Added posix_sysconf call to get runtime informations. From b34cdc582fdc9b82bc0d0d3ec3cbf4eb8a0f5540 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tim=20D=C3=BCsterhus?= Date: Fri, 9 Dec 2022 17:56:28 +0100 Subject: [PATCH 28/50] [ci skip] Fix json_validate() formatting in NEWS It is expected that each entry ends with a `.`. I've removed the RFC link here, as NEWS entries do not contain links, when looking at the past branches. The RFC link is available in UPGRADING since the previous commit. --- NEWS | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/NEWS b/NEWS index 196ad576f5b31..6b45dc03c3117 100644 --- a/NEWS +++ b/NEWS @@ -35,8 +35,7 @@ PHP NEWS (CVE-2022-37454) (nicky at mouha dot be) - JSON: - . Implemented RFC: json_validate() - https://wiki.php.net/rfc/json_validate (Juan Morales) + . Added json_validate(). (Juan Morales) - Opcache: . Added start, restart and force restart time to opcache's From 6422cf6f1a427977812187a2fb2dee26359b5884 Mon Sep 17 00:00:00 2001 From: David Carlier Date: Sun, 27 Nov 2022 10:24:25 +0000 Subject: [PATCH 29/50] intl extension: msgfmt_set_pattern add pattern format error informations. --- NEWS | 3 +++ ext/intl/msgformat/msgformat_attr.c | 12 +++++++++--- ext/intl/tests/msgfmt_get_set_pattern.phpt | 4 ++++ 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/NEWS b/NEWS index 6b45dc03c3117..8abf149e47318 100644 --- a/NEWS +++ b/NEWS @@ -34,6 +34,9 @@ PHP NEWS . Fixed bug #81738: buffer overflow in hash_update() on long parameter. (CVE-2022-37454) (nicky at mouha dot be) +- Intl: + . Added pattern format error infos for msgfmt_set_pattern. (David Carlier) + - JSON: . Added json_validate(). (Juan Morales) diff --git a/ext/intl/msgformat/msgformat_attr.c b/ext/intl/msgformat/msgformat_attr.c index f7e712f971df9..12df37417428d 100644 --- a/ext/intl/msgformat/msgformat_attr.c +++ b/ext/intl/msgformat/msgformat_attr.c @@ -52,6 +52,7 @@ PHP_FUNCTION( msgfmt_set_pattern ) size_t value_len = 0; int32_t spattern_len = 0; UChar* spattern = NULL; + UParseError spattern_error = {0}; MSG_FORMAT_METHOD_INIT_VARS; /* Parse parameters. */ @@ -75,12 +76,17 @@ PHP_FUNCTION( msgfmt_set_pattern ) } #endif - /* TODO: add parse error information */ - umsg_applyPattern(MSG_FORMAT_OBJECT(mfo), spattern, spattern_len, NULL, &INTL_DATA_ERROR_CODE(mfo)); + umsg_applyPattern(MSG_FORMAT_OBJECT(mfo), spattern, spattern_len, &spattern_error, &INTL_DATA_ERROR_CODE(mfo)); if (spattern) { efree(spattern); } - INTL_METHOD_CHECK_STATUS(mfo, "Error setting symbol value"); + if (U_FAILURE(INTL_DATA_ERROR_CODE(mfo))) { + char *msg; + spprintf(&msg, 0, "Error setting symbol value at line %d, offset %d", spattern_error.line, spattern_error.offset); + intl_errors_set_custom_msg(INTL_DATA_ERROR_P(mfo), msg, 1); + efree(msg); + RETURN_FALSE; + } if(mfo->mf_data.orig_format) { efree(mfo->mf_data.orig_format); diff --git a/ext/intl/tests/msgfmt_get_set_pattern.phpt b/ext/intl/tests/msgfmt_get_set_pattern.phpt index d8a9ccc9ca602..4a667b0b0073d 100644 --- a/ext/intl/tests/msgfmt_get_set_pattern.phpt +++ b/ext/intl/tests/msgfmt_get_set_pattern.phpt @@ -35,6 +35,9 @@ function ut_main() ut_msgfmt_set_pattern($fmt, str_repeat($pattern, 10)); $res_str .= "New pattern: '" . ut_msgfmt_get_pattern( $fmt ) . "'\n"; $res_str .= "Formatted message: " . ut_msgfmt_format( $fmt, array(123, 456) ) . "\n"; + $res = ut_msgfmt_set_pattern($fmt, "{0,number} trees hosting {1,number monkeys"); + if ($res !== false) die("ut_msgfmt_set_pattern should fail"); + $res_str .= ut_msgfmt_get_error_message( $fmt ) . " (" . ut_msgfmt_get_error_code( $fmt ) . ")\n"; return $res_str; @@ -51,3 +54,4 @@ New pattern: '{0,number} trees hosting {1,number} monkeys' Formatted message: 123 trees hosting 456 monkeys New pattern: '{0,number} trees hosting {1,number} monkeys{0,number} trees hosting {1,number} monkeys{0,number} trees hosting {1,number} monkeys{0,number} trees hosting {1,number} monkeys{0,number} trees hosting {1,number} monkeys{0,number} trees hosting {1,number} monkeys{0,number} trees hosting {1,number} monkeys{0,number} trees hosting {1,number} monkeys{0,number} trees hosting {1,number} monkeys{0,number} trees hosting {1,number} monkeys' Formatted message: 123 trees hosting 456 monkeys123 trees hosting 456 monkeys123 trees hosting 456 monkeys123 trees hosting 456 monkeys123 trees hosting 456 monkeys123 trees hosting 456 monkeys123 trees hosting 456 monkeys123 trees hosting 456 monkeys123 trees hosting 456 monkeys123 trees hosting 456 monkeys +Error setting symbol value at line 0, offset 26: U_PATTERN_SYNTAX_ERROR (65799) From e114f32596bdac39d6aa754b9f7ab137cd2cb7e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Elan=20Ruusam=C3=A4e?= Date: Sat, 10 Dec 2022 13:51:13 +0200 Subject: [PATCH 30/50] Avoid code duplication in php_ini.c (#4512) --- main/php_ini.c | 50 ++++++++++++++++++++------------------------------ 1 file changed, 20 insertions(+), 30 deletions(-) diff --git a/main/php_ini.c b/main/php_ini.c index 2ff259f6e1145..82420fd0bc600 100644 --- a/main/php_ini.c +++ b/main/php_ini.c @@ -172,7 +172,7 @@ PHPAPI void config_zval_dtor(zval *zvalue) zend_string_release_ex(Z_STR_P(zvalue), 1); } } -/* Reset / free active_ini_sectin global */ +/* Reset / free active_ini_section global */ #define RESET_ACTIVE_INI_HASH() do { \ active_ini_hash = NULL; \ is_special_section = 0; \ @@ -395,6 +395,17 @@ static void php_load_zend_extension_cb(void *arg) { } #endif /* }}} */ +static void append_ini_path(char *php_ini_search_path, int search_path_size, const char *path) +{ + static const char paths_separator[] = { ZEND_PATHS_SEPARATOR, 0 }; + + if (*php_ini_search_path) { + strlcat(php_ini_search_path, paths_separator, search_path_size); + } + + strlcat(php_ini_search_path, path, search_path_size); +} + /* {{{ php_init_config */ int php_init_config(void) { @@ -424,7 +435,6 @@ int php_init_config(void) int search_path_size; char *default_location; char *env_location; - static const char paths_separator[] = { ZEND_PATHS_SEPARATOR, 0 }; #ifdef PHP_WIN32 char *reg_location; char phprc_path[MAXPATHLEN]; @@ -475,10 +485,7 @@ int php_init_config(void) /* Add environment location */ if (env_location[0]) { - if (*php_ini_search_path) { - strlcat(php_ini_search_path, paths_separator, search_path_size); - } - strlcat(php_ini_search_path, env_location, search_path_size); + append_ini_path(php_ini_search_path, search_path_size, env_location); php_ini_file_name = env_location; } @@ -486,20 +493,14 @@ int php_init_config(void) /* Add registry location */ reg_location = GetIniPathFromRegistry(); if (reg_location != NULL) { - if (*php_ini_search_path) { - strlcat(php_ini_search_path, paths_separator, search_path_size); - } - strlcat(php_ini_search_path, reg_location, search_path_size); + append_ini_path(php_ini_search_path, search_path_size, reg_location); efree(reg_location); } #endif /* Add cwd (not with CLI) */ if (!sapi_module.php_ini_ignore_cwd) { - if (*php_ini_search_path) { - strlcat(php_ini_search_path, paths_separator, search_path_size); - } - strlcat(php_ini_search_path, ".", search_path_size); + append_ini_path(php_ini_search_path, search_path_size, "."); } if (PG(php_binary)) { @@ -511,10 +512,8 @@ int php_init_config(void) if (separator_location && separator_location != binary_location) { *(separator_location) = 0; } - if (*php_ini_search_path) { - strlcat(php_ini_search_path, paths_separator, search_path_size); - } - strlcat(php_ini_search_path, binary_location, search_path_size); + append_ini_path(php_ini_search_path, search_path_size, binary_location); + efree(binary_location); } @@ -523,29 +522,20 @@ int php_init_config(void) default_location = (char *) emalloc(MAXPATHLEN + 1); if (0 < GetWindowsDirectory(default_location, MAXPATHLEN)) { - if (*php_ini_search_path) { - strlcat(php_ini_search_path, paths_separator, search_path_size); - } - strlcat(php_ini_search_path, default_location, search_path_size); + append_ini_path(php_ini_search_path, search_path_size, default_location); } /* For people running under terminal services, GetWindowsDirectory will * return their personal Windows directory, so lets add the system * windows directory too */ if (0 < GetSystemWindowsDirectory(default_location, MAXPATHLEN)) { - if (*php_ini_search_path) { - strlcat(php_ini_search_path, paths_separator, search_path_size); - } - strlcat(php_ini_search_path, default_location, search_path_size); + append_ini_path(php_ini_search_path, search_path_size, default_location); } efree(default_location); #else default_location = PHP_CONFIG_FILE_PATH; - if (*php_ini_search_path) { - strlcat(php_ini_search_path, paths_separator, search_path_size); - } - strlcat(php_ini_search_path, default_location, search_path_size); + append_ini_path(php_ini_search_path, search_path_size, default_location); #endif } From 8a221e2763eaec6be5130b406b8aa11a3d723826 Mon Sep 17 00:00:00 2001 From: David Carlier Date: Sat, 10 Dec 2022 14:04:44 +0000 Subject: [PATCH 31/50] fix litespeed SAPI build warnings. - helpers only called on linux anyway. - proper C calls prototypes. Closes GH-10068. --- sapi/litespeed/lsapi_main.c | 44 +++++++++++++++++-------------------- sapi/litespeed/lsapilib.c | 38 ++++---------------------------- sapi/litespeed/lscriu.c | 8 +++---- 3 files changed, 28 insertions(+), 62 deletions(-) diff --git a/sapi/litespeed/lsapi_main.c b/sapi/litespeed/lsapi_main.c index b069f6d355b81..79fae63507c16 100644 --- a/sapi/litespeed/lsapi_main.c +++ b/sapi/litespeed/lsapi_main.c @@ -537,9 +537,9 @@ static void log_message (const char *fmt, ...) #define DEBUG_MESSAGE(fmt, ...) #endif -static int lsapi_activate_user_ini(); +static int lsapi_activate_user_ini(void); -static int sapi_lsapi_activate() +static int sapi_lsapi_activate(void) { char *path, *server_name; size_t path_len, server_name_len; @@ -677,10 +677,9 @@ static int do_clean_shutdown = 1; static int clean_onexit = 1; -static void lsapi_clean_shutdown() +static void lsapi_clean_shutdown(void) { struct sigaction act; - int sa_rc; struct itimerval tmv; #if PHP_MAJOR_VERSION >= 7 zend_string * key; @@ -689,15 +688,14 @@ static void lsapi_clean_shutdown() sigemptyset(&act.sa_mask); act.sa_flags = 0; act.sa_handler = lsapi_sigsegv; - sa_rc = sigaction(SIGINT, &act, NULL); - sa_rc = sigaction(SIGQUIT, &act, NULL); - sa_rc = sigaction(SIGILL, &act, NULL); - sa_rc = sigaction(SIGABRT, &act, NULL); - sa_rc = sigaction(SIGBUS, &act, NULL); - sa_rc = sigaction(SIGSEGV, &act, NULL); - sa_rc = sigaction(SIGTERM, &act, NULL); - - sa_rc = sigaction(SIGPROF, &act, NULL); + (void)sigaction(SIGINT, &act, NULL); + (void)sigaction(SIGQUIT, &act, NULL); + (void)sigaction(SIGILL, &act, NULL); + (void)sigaction(SIGABRT, &act, NULL); + (void)sigaction(SIGBUS, &act, NULL); + (void)sigaction(SIGSEGV, &act, NULL); + (void)sigaction(SIGTERM, &act, NULL); + (void)sigaction(SIGPROF, &act, NULL); memset(&tmv, 0, sizeof(struct itimerval)); tmv.it_value.tv_sec = 0; tmv.it_value.tv_usec = 100000; @@ -738,11 +736,9 @@ static void lsapi_atexit(void) } } - static int lsapi_module_main(int show_source) { struct sigaction act; - int sa_rc; if (php_request_startup() == FAILURE ) { return -1; } @@ -751,13 +747,13 @@ static int lsapi_module_main(int show_source) sigemptyset(&act.sa_mask); act.sa_flags = SA_NODEFER; act.sa_handler = lsapi_sigterm; - sa_rc = sigaction( SIGINT, &act, NULL); - sa_rc = sigaction( SIGQUIT, &act, NULL); - sa_rc = sigaction( SIGILL, &act, NULL); - sa_rc = sigaction( SIGABRT, &act, NULL); - sa_rc = sigaction( SIGBUS, &act, NULL); - sa_rc = sigaction( SIGSEGV, &act, NULL); - sa_rc = sigaction( SIGTERM, &act, NULL); + (void)sigaction( SIGINT, &act, NULL); + (void)sigaction( SIGQUIT, &act, NULL); + (void)sigaction( SIGILL, &act, NULL); + (void)sigaction( SIGABRT, &act, NULL); + (void)sigaction( SIGBUS, &act, NULL); + (void)sigaction( SIGSEGV, &act, NULL); + (void)sigaction( SIGTERM, &act, NULL); clean_onexit = 0; } @@ -834,7 +830,7 @@ static void user_config_cache_entry_dtor(zval *el) free(entry); } -static void user_config_cache_init() +static void user_config_cache_init(void) { zend_hash_init(&user_config_cache, 0, NULL, user_config_cache_entry_dtor, 1); } @@ -1101,7 +1097,7 @@ static int lsapi_activate_user_ini( void ) } -static void override_ini() +static void override_ini(void) { LSAPI_ForeachSpecialEnv( alter_ini, NULL ); diff --git a/sapi/litespeed/lsapilib.c b/sapi/litespeed/lsapilib.c index 09cd2e6bf9a76..055677c7b857a 100644 --- a/sapi/litespeed/lsapilib.c +++ b/sapi/litespeed/lsapilib.c @@ -921,6 +921,7 @@ static int LSAPI_perror_r( LSAPI_Request * pReq, const char * pErr1, const char } +#if defined(linux) || defined(__linux) || defined(__linux__) || defined(__gnu_linux__) static int lsapi_lve_error( LSAPI_Request * pReq ) { static const char * headers[] = @@ -944,10 +945,8 @@ static int lsapi_lve_error( LSAPI_Request * pReq ) return 0; } - static int lsapi_enterLVE( LSAPI_Request * pReq, uid_t uid ) { -#if defined(linux) || defined(__linux) || defined(__linux__) || defined(__gnu_linux__) if ( s_lve && uid ) //root user should not do that { uint32_t cookie; @@ -961,16 +960,13 @@ static int lsapi_enterLVE( LSAPI_Request * pReq, uid_t uid ) return -1; } } -#endif return 0; } - static int lsapi_jailLVE( LSAPI_Request * pReq, uid_t uid, struct passwd * pw ) { int ret = 0; -#if defined(linux) || defined(__linux) || defined(__linux__) || defined(__gnu_linux__) char error_msg[1024] = ""; ret = (*fp_lve_jail)( pw, error_msg ); if ( ret < 0 ) @@ -980,12 +976,10 @@ static int lsapi_jailLVE( LSAPI_Request * pReq, uid_t uid, struct passwd * pw ) LSAPI_perror_r( pReq, "LSAPI: jail() failure.", NULL ); return -1; } -#endif return ret; } -#if defined(linux) || defined(__linux) || defined(__linux__) || defined(__gnu_linux__) static int lsapi_initLVE(void) { const char * pEnv; @@ -1365,30 +1359,6 @@ static inline int lsapi_notify_pid( int fd ) return 0; } - -static char s_conn_key_packet[16]; -static inline int init_conn_key( int fd ) -{ - struct lsapi_packet_header * pHeader = (struct lsapi_packet_header *)s_conn_key_packet; - struct timeval tv; - int i; - gettimeofday( &tv, NULL ); - srand( (tv.tv_sec % 0x1000 + tv.tv_usec) ^ rand() ); - for( i = 8; i < 16; ++i ) - { - s_conn_key_packet[i]=(int) (256.0*rand()/(RAND_MAX+1.0)); - } - lsapi_buildPacketHeader( pHeader, LSAPI_REQ_RECEIVED, - 8 + LSAPI_PACKET_HEADER_LEN ); - if ( write( fd, s_conn_key_packet, LSAPI_PACKET_HEADER_LEN+8 ) - < LSAPI_PACKET_HEADER_LEN+8 ) - return -1; - return 0; - - -} - - static int readReq( LSAPI_Request * pReq ) { int len; @@ -3159,11 +3129,11 @@ static void lsapi_check_child_status( long tmCur ) //} -void set_skip_write() +void set_skip_write(void) { s_skip_write = 1; } -int is_enough_free_mem() +int is_enough_free_mem(void) { #if defined(linux) || defined(__linux) || defined(__linux__) || defined(__gnu_linux__) //minimum 1GB or 10% available free memory @@ -3831,7 +3801,7 @@ void LSAPI_No_Check_ppid(void) } -int LSAPI_Get_ppid() +int LSAPI_Get_ppid(void) { return(s_ppid); } diff --git a/sapi/litespeed/lscriu.c b/sapi/litespeed/lscriu.c index 94d13e7e26f47..2854fefe596e5 100644 --- a/sapi/litespeed/lscriu.c +++ b/sapi/litespeed/lscriu.c @@ -95,8 +95,8 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. static int s_initial_start_reqs = 0; static int s_requests_count = 0; static int s_restored = 0; -static int (*s_lscapi_dump_me)() = NULL; -static int (*s_lscapi_prepare_me)() = NULL; +static int (*s_lscapi_dump_me)(void) = NULL; +static int (*s_lscapi_prepare_me)(void) = NULL; static int s_native = 0; static int s_tried_checkpoint = 0; static int s_criu_debug = 0; @@ -118,7 +118,7 @@ typedef void (*sighandler_t)(int); void lsapi_perror( const char * pMessage, int err_no ); void LSAPI_reset_server_state( void ); -int LSAPI_Get_ppid(); +int LSAPI_Get_ppid(void); #ifdef LSAPILIB_DEBUG_CRIU #define lscriu_dbg(...) \ @@ -541,7 +541,7 @@ static void LSCRIU_try_checkpoint(int *forked_pid) } -static int init_native_env() +static int init_native_env(void) { char *pchFd; pchFd = getenv("LSAPI_CRIU_SYNC_FD"); From a83923044c48982c80804ae1b45e761c271966d3 Mon Sep 17 00:00:00 2001 From: Mattias Ellert Date: Tue, 30 Nov 2021 23:19:38 +0100 Subject: [PATCH 32/50] Fix compilation on RHEL 7 ppc64le (gcc 4.8) Fixes GH-10077 Closes GH-10078 --- NEWS | 1 + ext/hash/xxhash/xxhash.h | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/NEWS b/NEWS index c3e81d8f501e0..c3586639669f5 100644 --- a/NEWS +++ b/NEWS @@ -211,6 +211,7 @@ PHP NEWS - Hash: . Fixed bug #81738: buffer overflow in hash_update() on long parameter. (CVE-2022-37454) (nicky at mouha dot be) + . Fixed bug GH-10077: Fix compilation on RHEL 7 ppc64le. (Mattias Ellert) - Intl: . Update all grandfathered language tags with preferred values diff --git a/ext/hash/xxhash/xxhash.h b/ext/hash/xxhash/xxhash.h index 08ab79457233e..7850622aae44a 100644 --- a/ext/hash/xxhash/xxhash.h +++ b/ext/hash/xxhash/xxhash.h @@ -4129,7 +4129,7 @@ XXH3_accumulate_512_vsx( void* XXH_RESTRICT acc, const void* XXH_RESTRICT secret) { /* presumed aligned */ - unsigned long long* const xacc = (unsigned long long*) acc; + unsigned int* const xacc = (unsigned int*) acc; xxh_u64x2 const* const xinput = (xxh_u64x2 const*) input; /* no alignment restriction */ xxh_u64x2 const* const xsecret = (xxh_u64x2 const*) secret; /* no alignment restriction */ xxh_u64x2 const v32 = { 32, 32 }; @@ -4145,7 +4145,7 @@ XXH3_accumulate_512_vsx( void* XXH_RESTRICT acc, /* product = ((xxh_u64x2)data_key & 0xFFFFFFFF) * ((xxh_u64x2)shuffled & 0xFFFFFFFF); */ xxh_u64x2 const product = XXH_vec_mulo((xxh_u32x4)data_key, shuffled); /* acc_vec = xacc[i]; */ - xxh_u64x2 acc_vec = vec_xl(0, xacc + 2 * i); + xxh_u64x2 acc_vec = (xxh_u64x2)vec_xl(0, xacc + 4 * i); acc_vec += product; /* swap high and low halves */ @@ -4155,7 +4155,7 @@ XXH3_accumulate_512_vsx( void* XXH_RESTRICT acc, acc_vec += vec_xxpermdi(data_vec, data_vec, 2); #endif /* xacc[i] = acc_vec; */ - vec_xst(acc_vec, 0, xacc + 2 * i); + vec_xst((xxh_u32x4)acc_vec, 0, xacc + 4 * i); } } From 0c0774f5b4a7589af4cdbf45fafaa239f4597dd4 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Tue, 4 Oct 2022 17:34:33 +0900 Subject: [PATCH 33/50] Use fast text conversion filters for mb_strpos, mb_stripos, mb_substr, etc This boosts the performance of mb_strpos, mb_stripos, mb_strrpos, mb_strripos, mb_strstr, mb_stristr, mb_strrchr, and mb_strrichr when used on non-UTF-8 strings. mb_substr is also faster. With UTF-8 input, there is no appreciable difference in performance for mb_strpos, mb_stripos, mb_strrpos, etc. This is expected, since the only real difference here (aside from shorter and simpler code) is that the new text conversion code is used when converting non-UTF-8 input strings to UTF-8. (This is done because internally, mb_strpos, etc. work only on UTF-8 text.) For ASCII, speed is boosted by 30-65%. For other legacy text encodings, the degree of performance improvement will depend on how slow the legacy conversion code was. One other minor, but notable difference is that strings encoded using UTF-8 variants from Japanese mobile vendors (SoftBank, KDDI, Docomo) will not undergo encoding conversion but will be processed "as is". It is expected that this will result in a large performance boost for such input strings; but realistically, the number of users who work with such strings is probably minute. I was not originally planning to include mb_substr in this commit, but fuzzing of the reimplemented mb_strstr revealed that mb_substr needed to be reimplemented, too; using the old mbfl_substr, which was based on the old text conversion filters, in combination with functions which use the new text conversion filters caused bugs. The performance boost for mb_substr varies from 10%-500%, depending on the encoding and input string used. --- ext/mbstring/libmbfl/mbfl/mbfilter.c | 336 ----------------- ext/mbstring/libmbfl/mbfl/mbfilter.h | 19 - ext/mbstring/libmbfl/mbfl/mbfl_consts.h | 4 +- ext/mbstring/mbstring.c | 435 +++++++++++++---------- ext/mbstring/mbstring.h | 2 +- ext/mbstring/tests/mb_strrchr_basic.phpt | 9 +- ext/mbstring/tests/mb_strstr.phpt | 7 + ext/mbstring/tests/mb_substr.phpt | 8 + 8 files changed, 265 insertions(+), 555 deletions(-) diff --git a/ext/mbstring/libmbfl/mbfl/mbfilter.c b/ext/mbstring/libmbfl/mbfl/mbfilter.c index dbcd845a8a57d..22a64d3210415 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfilter.c +++ b/ext/mbstring/libmbfl/mbfl/mbfilter.c @@ -429,42 +429,6 @@ const mbfl_encoding *mbfl_identify_encoding(mbfl_string *string, const mbfl_enco return enc; } -/* - * strlen - */ -size_t mbfl_strlen(const mbfl_string *string) -{ - size_t len = 0; - const mbfl_encoding *encoding = string->encoding; - - if (encoding->flag & MBFL_ENCTYPE_SBCS) { - len = string->len; - } else if (encoding->flag & MBFL_ENCTYPE_WCS2) { - len = string->len/2; - } else if (encoding->flag & MBFL_ENCTYPE_WCS4) { - len = string->len/4; - } else if (encoding->mblen_table) { - const unsigned char *mbtab = encoding->mblen_table; - unsigned char *p = string->val, *e = p + string->len; - while (p < e) { - p += mbtab[*p]; - len++; - } - } else { - uint32_t wchar_buf[128]; - unsigned char *in = string->val; - size_t in_len = string->len; - unsigned int state = 0; - - while (in_len) { - len += encoding->to_wchar(&in, &in_len, wchar_buf, 128, &state); - } - } - - return len; -} - - /* * strpos */ @@ -528,136 +492,6 @@ collector_strpos(int c, void* data) return 0; } -static const unsigned char *mbfl_find_offset_utf8( - const unsigned char *str, const unsigned char *end, ssize_t offset) { - if (offset < 0) { - const unsigned char *pos = end; - while (offset < 0) { - if (pos <= str) { - return NULL; - } - - unsigned char c = *(--pos); - if (c < 0x80) { - ++offset; - } else if ((c & 0xc0) != 0x80) { - ++offset; - } - } - return pos; - } else { - const unsigned char *u8_tbl = mbfl_encoding_utf8.mblen_table; - const unsigned char *pos = str; - while (offset-- > 0) { - if (pos >= end) { - return NULL; - } - pos += u8_tbl[*pos]; - } - return pos; - } -} - -static size_t mbfl_pointer_to_offset_utf8(const unsigned char *start, const unsigned char *pos) { - size_t result = 0; - while (pos > start) { - unsigned char c = *--pos; - if (c < 0x80) { - ++result; - } else if ((c & 0xc0) != 0x80) { - ++result; - } - } - return result; -} - -size_t -mbfl_strpos( - mbfl_string *haystack, - mbfl_string *needle, - ssize_t offset, - int reverse) -{ - size_t result; - mbfl_string _haystack_u8, _needle_u8; - const mbfl_string *haystack_u8, *needle_u8 = NULL; - const unsigned char *offset_pointer; - - if (haystack->encoding->no_encoding != mbfl_no_encoding_utf8) { - mbfl_string_init(&_haystack_u8); - haystack_u8 = mbfl_convert_encoding(haystack, &_haystack_u8, &mbfl_encoding_utf8); - if (haystack_u8 == NULL) { - result = MBFL_ERROR_ENCODING; - goto out; - } - } else { - haystack_u8 = haystack; - } - - if (needle->encoding->no_encoding != mbfl_no_encoding_utf8) { - mbfl_string_init(&_needle_u8); - needle_u8 = mbfl_convert_encoding(needle, &_needle_u8, &mbfl_encoding_utf8); - if (needle_u8 == NULL) { - result = MBFL_ERROR_ENCODING; - goto out; - } - } else { - needle_u8 = needle; - } - - offset_pointer = mbfl_find_offset_utf8( - haystack_u8->val, haystack_u8->val + haystack_u8->len, offset); - if (!offset_pointer) { - result = MBFL_ERROR_OFFSET; - goto out; - } - - result = MBFL_ERROR_NOT_FOUND; - if (haystack_u8->len < needle_u8->len) { - goto out; - } - - const char *found_pos; - if (!reverse) { - found_pos = zend_memnstr( - (const char *) offset_pointer, - (const char *) needle_u8->val, needle_u8->len, - (const char *) haystack_u8->val + haystack_u8->len); - } else { - if (offset >= 0) { - found_pos = zend_memnrstr( - (const char *) offset_pointer, - (const char *) needle_u8->val, needle_u8->len, - (const char *) haystack_u8->val + haystack_u8->len); - } else { - size_t needle_len = mbfl_strlen(needle_u8); - offset_pointer = mbfl_find_offset_utf8( - offset_pointer, haystack_u8->val + haystack_u8->len, needle_len); - if (!offset_pointer) { - offset_pointer = haystack_u8->val + haystack_u8->len; - } - - found_pos = zend_memnrstr( - (const char *) haystack_u8->val, - (const char *) needle_u8->val, needle_u8->len, - (const char *) offset_pointer); - } - } - - if (found_pos) { - result = mbfl_pointer_to_offset_utf8(haystack_u8->val, (const unsigned char *) found_pos); - } - -out: - if (haystack_u8 == &_haystack_u8) { - mbfl_string_clear(&_haystack_u8); - } - if (needle_u8 == &_needle_u8) { - mbfl_string_clear(&_needle_u8); - } - return result; -} - /* * substr_count */ @@ -727,176 +561,6 @@ mbfl_substr_count( return result; } -/* - * substr - */ -struct collector_substr_data { - mbfl_convert_filter *next_filter; - size_t start; - size_t stop; - size_t output; -}; - -static int -collector_substr(int c, void* data) -{ - struct collector_substr_data *pc = (struct collector_substr_data*)data; - - if (pc->output >= pc->stop) { - return -1; - } - - if (pc->output >= pc->start) { - (*pc->next_filter->filter_function)(c, pc->next_filter); - } - - pc->output++; - - return 0; -} - -mbfl_string * -mbfl_substr( - mbfl_string *string, - mbfl_string *result, - size_t from, - size_t length) -{ - const mbfl_encoding *encoding = string->encoding; - size_t n, k, len, start, end; - unsigned m; - unsigned char *p, *w; - - mbfl_string_init(result); - result->encoding = string->encoding; - - if ((encoding->flag & (MBFL_ENCTYPE_SBCS | MBFL_ENCTYPE_WCS2 | MBFL_ENCTYPE_WCS4)) || - encoding->mblen_table != NULL) { - len = string->len; - if (encoding->flag & MBFL_ENCTYPE_SBCS) { - start = from; - } else if (encoding->flag & MBFL_ENCTYPE_WCS2) { - start = from*2; - } else if (encoding->flag & MBFL_ENCTYPE_WCS4) { - start = from*4; - } else { - const unsigned char *mbtab = encoding->mblen_table; - start = 0; - n = 0; - k = 0; - p = string->val; - /* search start position */ - while (k <= from) { - start = n; - if (n >= len) { - break; - } - m = mbtab[*p]; - n += m; - p += m; - k++; - } - } - - if (length == MBFL_SUBSTR_UNTIL_END) { - end = len; - } else if (encoding->flag & MBFL_ENCTYPE_SBCS) { - end = start + length; - } else if (encoding->flag & MBFL_ENCTYPE_WCS2) { - end = start + length*2; - } else if (encoding->flag & MBFL_ENCTYPE_WCS4) { - end = start + length*4; - } else { - const unsigned char *mbtab = encoding->mblen_table; - end = start; - n = start; - k = 0; - p = string->val + start; - /* detect end position */ - while (k <= length) { - end = n; - if (n >= len) { - break; - } - m = mbtab[*p]; - n += m; - p += m; - k++; - } - } - - if (start > len) { - start = len; - } - if (end > len) { - end = len; - } - if (start > end) { - start = end; - } - - /* allocate memory and copy */ - n = end - start; - result->len = 0; - result->val = w = (unsigned char*)emalloc(n + 1); - result->len = n; - memcpy(w, string->val + start, n); - w[n] = '\0'; - } else { - mbfl_memory_device device; - struct collector_substr_data pc; - mbfl_convert_filter *decoder; - mbfl_convert_filter *encoder; - - if (length == MBFL_SUBSTR_UNTIL_END) { - length = mbfl_strlen(string) - from; - } - - mbfl_memory_device_init(&device, length + 1, 0); - mbfl_string_init(result); - result->encoding = string->encoding; - /* output code filter */ - decoder = mbfl_convert_filter_new( - &mbfl_encoding_wchar, - string->encoding, - mbfl_memory_device_output, 0, &device); - /* wchar filter */ - encoder = mbfl_convert_filter_new( - string->encoding, - &mbfl_encoding_wchar, - collector_substr, 0, &pc); - if (decoder == NULL || encoder == NULL) { - mbfl_convert_filter_delete(encoder); - mbfl_convert_filter_delete(decoder); - return NULL; - } - pc.next_filter = decoder; - pc.start = from; - pc.stop = from + length; - pc.output = 0; - - /* feed data */ - p = string->val; - n = string->len; - if (p != NULL) { - while (n > 0) { - if ((*encoder->filter_function)(*p++, encoder) < 0) { - break; - } - n--; - } - } - - mbfl_convert_filter_flush(encoder); - mbfl_convert_filter_flush(decoder); - result = mbfl_memory_device_result(&device, result); - mbfl_convert_filter_delete(encoder); - mbfl_convert_filter_delete(decoder); - } - - return result; -} - /* * strcut */ diff --git a/ext/mbstring/libmbfl/mbfl/mbfilter.h b/ext/mbstring/libmbfl/mbfl/mbfilter.h index 7df1eeb6da7a0..b986aaaee6bb7 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfilter.h +++ b/ext/mbstring/libmbfl/mbfl/mbfilter.h @@ -190,24 +190,11 @@ static inline int mbfl_is_error(size_t len) { return len >= (size_t) -16; } -/* - * strlen - */ -MBFLAPI extern size_t -mbfl_strlen(const mbfl_string *string); - #define MBFL_ERROR_NOT_FOUND ((size_t) -1) #define MBFL_ERROR_ENCODING ((size_t) -4) #define MBFL_ERROR_EMPTY ((size_t) -8) #define MBFL_ERROR_OFFSET ((size_t) -16) -/* - * strpos. - * Errors: MBFL_ERROR_NOT_FOUND, MBFL_ERROR_ENCODING, MBFL_ERROR_OFFSET - */ -MBFLAPI extern size_t -mbfl_strpos(mbfl_string *haystack, mbfl_string *needle, ssize_t offset, int reverse); - /* * substr_count */ @@ -219,12 +206,6 @@ mbfl_substr_count(mbfl_string *haystack, mbfl_string *needle); */ #define MBFL_SUBSTR_UNTIL_END ((size_t) -1) -/* - * substr - */ -MBFLAPI extern mbfl_string * -mbfl_substr(mbfl_string *string, mbfl_string *result, size_t from, size_t length); - /* * strcut */ diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_consts.h b/ext/mbstring/libmbfl/mbfl/mbfl_consts.h index 5e519af5656f0..36588ad259311 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_consts.h +++ b/ext/mbstring/libmbfl/mbfl/mbfl_consts.h @@ -32,8 +32,8 @@ #define MBFL_CONSTS_H #define MBFL_ENCTYPE_SBCS 0x00000001 /* single-byte encoding */ -#define MBFL_ENCTYPE_WCS2 0x00000010 /* 2 bytes/char */ -#define MBFL_ENCTYPE_WCS4 0x00000100 /* 4 bytes/char */ +#define MBFL_ENCTYPE_WCS2 0x00000002 /* 2 bytes/char */ +#define MBFL_ENCTYPE_WCS4 0x00000004 /* 4 bytes/char */ #define MBFL_ENCTYPE_GL_UNSAFE 0x00004000 #define MBFL_WCSPLANE_UCS2MAX 0x00010000 diff --git a/ext/mbstring/mbstring.c b/ext/mbstring/mbstring.c index 4afc6fb0e29c5..a73247cb64eaa 100644 --- a/ext/mbstring/mbstring.c +++ b/ext/mbstring/mbstring.c @@ -1872,6 +1872,104 @@ PHP_FUNCTION(mb_strlen) } /* }}} */ +/* See mbfl_no_encoding definition for list of UTF-8 encodings */ +static inline bool php_mb_is_no_encoding_utf8(enum mbfl_no_encoding no_enc) +{ + return (no_enc >= mbfl_no_encoding_utf8 && no_enc <= mbfl_no_encoding_utf8_sb); +} + +static unsigned char* offset_to_pointer_utf8(unsigned char *str, unsigned char *end, ssize_t offset) { + if (offset < 0) { + unsigned char *pos = end; + while (offset < 0) { + if (pos <= str) { + return NULL; + } + + unsigned char c = *--pos; + if (c < 0x80 || (c & 0xC0) != 0x80) { + offset++; + } + } + return pos; + } else { + const unsigned char *u8_tbl = mbfl_encoding_utf8.mblen_table; + unsigned char *pos = str; + while (offset-- > 0) { + if (pos >= end) { + return NULL; + } + pos += u8_tbl[*pos]; + } + return pos; + } +} + +static size_t pointer_to_offset_utf8(unsigned char *start, unsigned char *pos) { + size_t result = 0; + while (pos > start) { + unsigned char c = *--pos; + if (c < 0x80 || (c & 0xC0) != 0x80) { + result++; + } + } + return result; +} + +static size_t mb_find_strpos(zend_string *haystack, zend_string *needle, const mbfl_encoding *enc, ssize_t offset, bool reverse) +{ + size_t result; + zend_string *haystack_u8 = NULL, *needle_u8 = NULL; + unsigned char *offset_pointer; + + if (!php_mb_is_no_encoding_utf8(enc->no_encoding)) { + haystack_u8 = php_mb_convert_encoding_ex(ZSTR_VAL(haystack), ZSTR_LEN(haystack), &mbfl_encoding_utf8, enc); + needle_u8 = php_mb_convert_encoding_ex(ZSTR_VAL(needle), ZSTR_LEN(needle), &mbfl_encoding_utf8, enc); + } else { + haystack_u8 = haystack; + needle_u8 = needle; + } + + offset_pointer = offset_to_pointer_utf8((unsigned char*)ZSTR_VAL(haystack_u8), (unsigned char*)ZSTR_VAL(haystack_u8) + ZSTR_LEN(haystack_u8), offset); + if (!offset_pointer) { + result = MBFL_ERROR_OFFSET; + goto out; + } + + result = MBFL_ERROR_NOT_FOUND; + if (ZSTR_LEN(haystack_u8) < ZSTR_LEN(needle_u8)) { + goto out; + } + + const char *found_pos; + if (!reverse) { + found_pos = zend_memnstr((const char*)offset_pointer, ZSTR_VAL(needle_u8), ZSTR_LEN(needle_u8), ZSTR_VAL(haystack_u8) + ZSTR_LEN(haystack_u8)); + } else if (offset >= 0) { + found_pos = zend_memnrstr((const char*)offset_pointer, ZSTR_VAL(needle_u8), ZSTR_LEN(needle_u8), ZSTR_VAL(haystack_u8) + ZSTR_LEN(haystack_u8)); + } else { + size_t needle_len = pointer_to_offset_utf8((unsigned char*)ZSTR_VAL(needle), (unsigned char*)ZSTR_VAL(needle) + ZSTR_LEN(needle)); + offset_pointer = offset_to_pointer_utf8(offset_pointer, (unsigned char*)ZSTR_VAL(haystack_u8) + ZSTR_LEN(haystack_u8), needle_len); + if (!offset_pointer) { + offset_pointer = (unsigned char*)ZSTR_VAL(haystack_u8) + ZSTR_LEN(haystack_u8); + } + + found_pos = zend_memnrstr(ZSTR_VAL(haystack_u8), ZSTR_VAL(needle_u8), ZSTR_LEN(needle_u8), (const char*)offset_pointer); + } + + if (found_pos) { + result = pointer_to_offset_utf8((unsigned char*)ZSTR_VAL(haystack_u8), (unsigned char*)found_pos); + } + +out: + if (haystack_u8 != NULL && haystack_u8 != haystack) { + zend_string_free(haystack_u8); + } + if (needle_u8 != NULL && needle_u8 != needle) { + zend_string_free(needle_u8); + } + return result; +} + static void handle_strpos_error(size_t error) { switch (error) { case MBFL_ERROR_NOT_FOUND: @@ -1888,32 +1986,26 @@ static void handle_strpos_error(size_t error) { } } -/* {{{ Find position of first occurrence of a string within another */ PHP_FUNCTION(mb_strpos) { - int reverse = 0; zend_long offset = 0; - char *haystack_val, *needle_val; - mbfl_string haystack, needle; + zend_string *needle, *haystack; zend_string *enc_name = NULL; ZEND_PARSE_PARAMETERS_START(2, 4) - Z_PARAM_STRING(haystack_val, haystack.len) - Z_PARAM_STRING(needle_val, needle.len) + Z_PARAM_STR(haystack) + Z_PARAM_STR(needle) Z_PARAM_OPTIONAL Z_PARAM_LONG(offset) Z_PARAM_STR_OR_NULL(enc_name) ZEND_PARSE_PARAMETERS_END(); - haystack.val = (unsigned char*)haystack_val; - needle.val = (unsigned char*)needle_val; - - haystack.encoding = needle.encoding = php_mb_get_encoding(enc_name, 4); - if (!haystack.encoding) { + const mbfl_encoding *enc = php_mb_get_encoding(enc_name, 4); + if (!enc) { RETURN_THROWS(); } - size_t n = mbfl_strpos(&haystack, &needle, offset, reverse); + size_t n = mb_find_strpos(haystack, needle, enc, offset, false); if (!mbfl_is_error(n)) { RETVAL_LONG(n); } else { @@ -1921,33 +2013,28 @@ PHP_FUNCTION(mb_strpos) RETVAL_FALSE; } } -/* }}} */ /* {{{ Find position of last occurrence of a string within another */ PHP_FUNCTION(mb_strrpos) { - mbfl_string haystack, needle; - char *haystack_val, *needle_val; - zend_string *enc_name = NULL; zend_long offset = 0; + zend_string *needle, *haystack; + zend_string *enc_name = NULL; ZEND_PARSE_PARAMETERS_START(2, 4) - Z_PARAM_STRING(haystack_val, haystack.len) - Z_PARAM_STRING(needle_val, needle.len) + Z_PARAM_STR(haystack) + Z_PARAM_STR(needle) Z_PARAM_OPTIONAL Z_PARAM_LONG(offset) Z_PARAM_STR_OR_NULL(enc_name) ZEND_PARSE_PARAMETERS_END(); - haystack.val = (unsigned char*)haystack_val; - needle.val = (unsigned char*)needle_val; - - haystack.encoding = needle.encoding = php_mb_get_encoding(enc_name, 4); - if (!haystack.encoding) { + const mbfl_encoding *enc = php_mb_get_encoding(enc_name, 4); + if (!enc) { RETURN_THROWS(); } - size_t n = mbfl_strpos(&haystack, &needle, offset, 1); + size_t n = mb_find_strpos(haystack, needle, enc, offset, true); if (!mbfl_is_error(n)) { RETVAL_LONG(n); } else { @@ -1961,27 +2048,23 @@ PHP_FUNCTION(mb_strrpos) PHP_FUNCTION(mb_stripos) { zend_long offset = 0; - mbfl_string haystack, needle; - char *haystack_val, *needle_val; + zend_string *haystack, *needle; zend_string *from_encoding = NULL; ZEND_PARSE_PARAMETERS_START(2, 4) - Z_PARAM_STRING(haystack_val, haystack.len) - Z_PARAM_STRING(needle_val, needle.len) + Z_PARAM_STR(haystack) + Z_PARAM_STR(needle) Z_PARAM_OPTIONAL Z_PARAM_LONG(offset) Z_PARAM_STR_OR_NULL(from_encoding) ZEND_PARSE_PARAMETERS_END(); - haystack.val = (unsigned char*)haystack_val; - needle.val = (unsigned char*)needle_val; - const mbfl_encoding *enc = php_mb_get_encoding(from_encoding, 4); if (!enc) { RETURN_THROWS(); } - size_t n = php_mb_stripos(0, (char *)haystack.val, haystack.len, (char *)needle.val, needle.len, offset, enc); + size_t n = php_mb_stripos(false, haystack, needle, offset, enc); if (!mbfl_is_error(n)) { RETVAL_LONG(n); @@ -1996,27 +2079,23 @@ PHP_FUNCTION(mb_stripos) PHP_FUNCTION(mb_strripos) { zend_long offset = 0; - mbfl_string haystack, needle; - char *haystack_val, *needle_val; + zend_string *haystack, *needle; zend_string *from_encoding = NULL; ZEND_PARSE_PARAMETERS_START(2, 4) - Z_PARAM_STRING(haystack_val, haystack.len) - Z_PARAM_STRING(needle_val, needle.len) + Z_PARAM_STR(haystack) + Z_PARAM_STR(needle) Z_PARAM_OPTIONAL Z_PARAM_LONG(offset) Z_PARAM_STR_OR_NULL(from_encoding) ZEND_PARSE_PARAMETERS_END(); - haystack.val = (unsigned char*)haystack_val; - needle.val = (unsigned char*)needle_val; - const mbfl_encoding *enc = php_mb_get_encoding(from_encoding, 4); if (!enc) { RETURN_THROWS(); } - size_t n = php_mb_stripos(1, (char *)haystack.val, haystack.len, (char *)needle.val, needle.len, offset, enc); + size_t n = php_mb_stripos(true, haystack, needle, offset, enc); if (!mbfl_is_error(n)) { RETVAL_LONG(n); @@ -2027,57 +2106,123 @@ PHP_FUNCTION(mb_strripos) } /* }}} */ +static zend_string* mb_get_substr_slow(unsigned char *in, size_t in_len, size_t from, size_t len, const mbfl_encoding *enc) +{ + uint32_t wchar_buf[128]; + unsigned int state = 0; + + mb_convert_buf buf; + mb_convert_buf_init(&buf, MIN(len, in_len - from), MBSTRG(current_filter_illegal_substchar), MBSTRG(current_filter_illegal_mode)); + + while (in_len && len) { + size_t out_len = enc->to_wchar(&in, &in_len, wchar_buf, 128, &state); + ZEND_ASSERT(out_len <= 128); + + if (from >= out_len) { + from -= out_len; + } else { + enc->from_wchar(wchar_buf + from, MIN(out_len - from, len), &buf, !in_len || out_len >= len); + from = 0; + len -= MIN(out_len, len); + } + } + + return mb_convert_buf_result(&buf); +} + +static zend_string* mb_get_substr(zend_string *input, size_t from, size_t len, const mbfl_encoding *enc) +{ + unsigned char *in = (unsigned char*)ZSTR_VAL(input); + size_t in_len = ZSTR_LEN(input); + + if (from >= in_len) { + /* No supported text encoding decodes to more than one codepoint per byte + * So if the number of codepoints to skip >= number of input bytes, + * then definitely the output should be empty */ + return zend_empty_string; + } + + /* Does each codepoint have a fixed byte width? */ + unsigned int flag = enc->flag & (MBFL_ENCTYPE_SBCS | MBFL_ENCTYPE_WCS2 | MBFL_ENCTYPE_WCS4); + if (flag) { + /* The value of the flag is 2 if each codepoint takes 2 bytes, or 4 if 4 bytes */ + from *= flag; + len *= flag; + if (from >= in_len) { + return zend_empty_string; + } + in += from; + in_len -= from; + if (len > in_len) { + len = in_len; + } + return zend_string_init_fast((const char*)in, len); + } else if (enc->mblen_table != NULL) { + const unsigned char *mbtab = enc->mblen_table; + unsigned char *limit = in + in_len; + while (from && in < limit) { + in += mbtab[*in]; + from--; + } + if (in >= limit) { + return zend_empty_string; + } else if (len == MBFL_SUBSTR_UNTIL_END) { + return zend_string_init_fast((const char*)in, limit - in); + } + unsigned char *end = in; + while (len && end < limit) { + end += mbtab[*end]; + len--; + } + if (end > limit) { + end = limit; + } + return zend_string_init_fast((const char*)in, end - in); + } + + return mb_get_substr_slow(in, in_len, from, len, enc); +} + #define MB_STRSTR 1 #define MB_STRRCHR 2 #define MB_STRISTR 3 #define MB_STRRICHR 4 -/* {{{ php_mb_strstr_variants */ + static void php_mb_strstr_variants(INTERNAL_FUNCTION_PARAMETERS, unsigned int variant) { - int reverse_mode = 0; + bool reverse_mode = false, part = false; size_t n; - char *haystack_val, *needle_val; - mbfl_string haystack, needle, result, *ret = NULL; + zend_string *haystack, *needle; zend_string *encoding_name = NULL; - bool part = 0; ZEND_PARSE_PARAMETERS_START(2, 4) - Z_PARAM_STRING(haystack_val, haystack.len) - Z_PARAM_STRING(needle_val, needle.len) + Z_PARAM_STR(haystack) + Z_PARAM_STR(needle) Z_PARAM_OPTIONAL Z_PARAM_BOOL(part) Z_PARAM_STR_OR_NULL(encoding_name) ZEND_PARSE_PARAMETERS_END(); - haystack.val = (unsigned char*)haystack_val; - needle.val = (unsigned char*)needle_val; - haystack.encoding = needle.encoding = php_mb_get_encoding(encoding_name, 4); - if (!haystack.encoding) { + const mbfl_encoding *enc = php_mb_get_encoding(encoding_name, 4); + if (!enc) { RETURN_THROWS(); } - if (variant == MB_STRRCHR || variant == MB_STRRICHR) { reverse_mode = 1; } + if (variant == MB_STRRCHR || variant == MB_STRRICHR) { + reverse_mode = true; + } if (variant == MB_STRISTR || variant == MB_STRRICHR) { - n = php_mb_stripos(reverse_mode, (char *)haystack.val, haystack.len, (char *)needle.val, - needle.len, 0, needle.encoding); + n = php_mb_stripos(reverse_mode, haystack, needle, 0, enc); } else { - n = mbfl_strpos(&haystack, &needle, 0, reverse_mode); + n = mb_find_strpos(haystack, needle, enc, 0, reverse_mode); } if (!mbfl_is_error(n)) { if (part) { - ret = mbfl_substr(&haystack, &result, 0, n); - ZEND_ASSERT(ret != NULL); - // TODO: avoid reallocation ??? - RETVAL_STRINGL((char *)ret->val, ret->len); - efree(ret->val); + RETVAL_STR(mb_get_substr(haystack, 0, n, enc)); } else { - ret = mbfl_substr(&haystack, &result, n, MBFL_SUBSTR_UNTIL_END); - ZEND_ASSERT(ret != NULL); - // TODO: avoid reallocation ??? - RETVAL_STRINGL((char *)ret->val, ret->len); - efree(ret->val); + RETVAL_STR(mb_get_substr(haystack, n, MBFL_SUBSTR_UNTIL_END, enc)); } } else { // FIXME use handle_strpos_error(n) @@ -2158,39 +2303,31 @@ PHP_FUNCTION(mb_substr_count) /* {{{ Returns part of a string */ PHP_FUNCTION(mb_substr) { - char *str; - zend_string *encoding = NULL; + zend_string *str, *encoding = NULL; zend_long from, len; size_t real_from, real_len; - size_t str_len; - bool len_is_null = 1; - mbfl_string string, result, *ret; + bool len_is_null = true; ZEND_PARSE_PARAMETERS_START(2, 4) - Z_PARAM_STRING(str, str_len) + Z_PARAM_STR(str) Z_PARAM_LONG(from) Z_PARAM_OPTIONAL Z_PARAM_LONG_OR_NULL(len, len_is_null) Z_PARAM_STR_OR_NULL(encoding) ZEND_PARSE_PARAMETERS_END(); - string.encoding = php_mb_get_encoding(encoding, 4); - if (!string.encoding) { + const mbfl_encoding *enc = php_mb_get_encoding(encoding, 4); + if (!enc) { RETURN_THROWS(); } - string.val = (unsigned char *)str; - string.len = str_len; - - /* measures length */ size_t mblen = 0; if (from < 0 || (!len_is_null && len < 0)) { - mblen = mbfl_strlen(&string); + mblen = mb_get_strlen(str, enc); } /* if "from" position is negative, count start position from the end - * of the string - */ + * of the string */ if (from >= 0) { real_from = (size_t) from; } else if (-from < mblen) { @@ -2200,8 +2337,7 @@ PHP_FUNCTION(mb_substr) } /* if "length" position is negative, set it to the length - * needed to stop that many chars from the end of the string - */ + * needed to stop that many chars from the end of the string */ if (len_is_null) { real_len = MBFL_SUBSTR_UNTIL_END; } else if (len >= 0) { @@ -2212,12 +2348,7 @@ PHP_FUNCTION(mb_substr) real_len = 0; } - ret = mbfl_substr(&string, &result, real_from, real_len); - ZEND_ASSERT(ret != NULL); - - // TODO: avoid reallocation ??? - RETVAL_STRINGL((char *)ret->val, ret->len); /* the string is already strdup()'ed */ - efree(ret->val); + RETVAL_STR(mb_get_substr(str, real_from, real_len, enc)); } /* }}} */ @@ -2347,64 +2478,6 @@ PHP_FUNCTION(mb_strwidth) RETVAL_LONG(mb_get_strwidth(string, enc)); } -/* Cut 'n' codepoints from beginning of string - * Remove this once mb_substr is implemented using the new conversion filters */ -static zend_string* mb_drop_chars(zend_string *input, const mbfl_encoding *enc, size_t n) -{ - if (n >= ZSTR_LEN(input)) { - /* No supported text encoding decodes to more than one codepoint per byte - * So if the number of codepoints to drop >= number of input bytes, - * then definitely the output should be empty - * This also guards `ZSTR_LEN(input) - n` (below) from underflow */ - return zend_empty_string; - } - - uint32_t wchar_buf[128]; - unsigned char *in = (unsigned char*)ZSTR_VAL(input); - size_t in_len = ZSTR_LEN(input); - unsigned int state = 0; - - mb_convert_buf buf; - mb_convert_buf_init(&buf, ZSTR_LEN(input) - n, MBSTRG(current_filter_illegal_substchar), MBSTRG(current_filter_illegal_mode)); - - while (in_len) { - size_t out_len = enc->to_wchar(&in, &in_len, wchar_buf, 128, &state); - ZEND_ASSERT(out_len <= 128); - - if (n >= out_len) { - n -= out_len; - } else { - enc->from_wchar(wchar_buf + n, out_len - n, &buf, !in_len); - n = 0; - } - } - - return mb_convert_buf_result(&buf); -} - -/* Pick 'n' codepoints from beginning of string - * Remove this once mb_substr is implemented using the new conversion filters */ -static zend_string* mb_pick_chars(zend_string *input, const mbfl_encoding *enc, size_t n) -{ - uint32_t wchar_buf[128]; - unsigned char *in = (unsigned char*)ZSTR_VAL(input); - size_t in_len = ZSTR_LEN(input); - unsigned int state = 0; - - mb_convert_buf buf; - mb_convert_buf_init(&buf, n, MBSTRG(current_filter_illegal_substchar), MBSTRG(current_filter_illegal_mode)); - - while (in_len && n) { - size_t out_len = enc->to_wchar(&in, &in_len, wchar_buf, 128, &state); - ZEND_ASSERT(out_len <= 128); - - enc->from_wchar(wchar_buf, MIN(out_len, n), &buf, !in_len || out_len >= n); - n -= MIN(out_len, n); - } - - return mb_convert_buf_result(&buf); -} - static zend_string* mb_trim_string(zend_string *input, zend_string *marker, const mbfl_encoding *enc, unsigned int from, int width) { uint32_t wchar_buf[128]; @@ -2454,11 +2527,19 @@ static zend_string* mb_trim_string(zend_string *input, zend_string *marker, cons /* The input string fits in the requested width; we don't need to append the trim marker * However, if the string contains erroneous byte sequences, those should be converted * to error markers */ - if (from == 0 && !input_err) { - /* This just increments the string's refcount; it doesn't really 'copy' it */ - return zend_string_copy(input); + if (!input_err) { + if (from == 0) { + /* This just increments the string's refcount; it doesn't really 'copy' it */ + return zend_string_copy(input); + } else { + return mb_get_substr(input, from, MBFL_SUBSTR_UNTIL_END, enc); + } + } else { + /* We can't use `mb_get_substr`, because it uses the fastest method possible of + * picking out a substring, which may not include converting erroneous byte + * sequences to error markers */ + return mb_get_substr_slow((unsigned char*)ZSTR_VAL(input), ZSTR_LEN(input), from, MBFL_SUBSTR_UNTIL_END, enc); } - return mb_drop_chars(input, enc, from); /* The input string is too wide; we need to build a new string which * includes some portion of the input string, with the trim marker @@ -2534,7 +2615,7 @@ PHP_FUNCTION(mb_strimwidth) width += mb_get_strwidth(str, enc); if (from > 0) { - zend_string *trimmed = mb_pick_chars(str, enc, from); + zend_string *trimmed = mb_get_substr(str, 0, from, enc); width -= mb_get_strwidth(trimmed, enc); zend_string_free(trimmed); } @@ -2558,13 +2639,6 @@ static inline bool php_mb_is_unsupported_no_encoding(enum mbfl_no_encoding no_en || (no_enc >= mbfl_no_encoding_cp50220 && no_enc <= mbfl_no_encoding_cp50222)); } - -/* See mbfl_no_encoding definition for list of UTF-8 encodings */ -static inline bool php_mb_is_no_encoding_utf8(enum mbfl_no_encoding no_enc) -{ - return (no_enc >= mbfl_no_encoding_utf8 && no_enc <= mbfl_no_encoding_utf8_sb); -} - MBSTRING_API zend_string* php_mb_convert_encoding_ex(const char *input, size_t length, const mbfl_encoding *to_encoding, const mbfl_encoding *from_encoding) { unsigned int num_errors = 0; @@ -4733,46 +4807,17 @@ MBSTRING_API char *php_mb_safe_strrchr(const char *s, unsigned int c, size_t nby return last; } -MBSTRING_API size_t php_mb_stripos(int mode, const char *old_haystack, size_t old_haystack_len, const char *old_needle, size_t old_needle_len, zend_long offset, const mbfl_encoding *enc) +MBSTRING_API size_t php_mb_stripos(bool mode, zend_string *haystack, zend_string *needle, zend_long offset, const mbfl_encoding *enc) { - size_t n = (size_t)-1; - mbfl_string haystack, needle; - zend_string *haystack_converted = NULL, *needle_converted = NULL; + /* We're using simple case-folding here, because we'd have to deal with remapping of + * offsets otherwise. */ + zend_string *haystack_conv = mbstring_convert_case(PHP_UNICODE_CASE_FOLD_SIMPLE, ZSTR_VAL(haystack), ZSTR_LEN(haystack), enc); + zend_string *needle_conv = mbstring_convert_case(PHP_UNICODE_CASE_FOLD_SIMPLE, ZSTR_VAL(needle), ZSTR_LEN(needle), enc); - mbfl_string_init_set(&haystack, enc); - mbfl_string_init_set(&needle, enc); + size_t n = mb_find_strpos(haystack_conv, needle_conv, enc, offset, mode); - do { - /* We're using simple case-folding here, because we'd have to deal with remapping of - * offsets otherwise. */ - haystack_converted = mbstring_convert_case(PHP_UNICODE_CASE_FOLD_SIMPLE, (char*)old_haystack, old_haystack_len, enc); - haystack.val = (unsigned char*)ZSTR_VAL(haystack_converted); - haystack.len = ZSTR_LEN(haystack_converted); - - if (!haystack.val) { - break; - } - if (haystack.len == 0) { - break; - } - - needle_converted = mbstring_convert_case(PHP_UNICODE_CASE_FOLD_SIMPLE, (char*)old_needle, old_needle_len, enc); - needle.val = (unsigned char*)ZSTR_VAL(needle_converted); - needle.len = ZSTR_LEN(needle_converted); - - if (!needle.val) { - break; - } - - n = mbfl_strpos(&haystack, &needle, offset, mode); - } while(0); - - if (haystack_converted) { - zend_string_free(haystack_converted); - } - if (needle_converted) { - zend_string_free(needle_converted); - } + zend_string_free(haystack_conv); + zend_string_free(needle_conv); return n; } diff --git a/ext/mbstring/mbstring.h b/ext/mbstring/mbstring.h index 4784af31cba1f..aa5b8024cb74b 100644 --- a/ext/mbstring/mbstring.h +++ b/ext/mbstring/mbstring.h @@ -64,7 +64,7 @@ MBSTRING_API zend_string* php_mb_convert_encoding( MBSTRING_API size_t php_mb_mbchar_bytes(const char *s, const mbfl_encoding *enc); -MBSTRING_API size_t php_mb_stripos(int mode, const char *old_haystack, size_t old_haystack_len, const char *old_needle, size_t old_needle_len, zend_long offset, const mbfl_encoding *encoding); +MBSTRING_API size_t php_mb_stripos(bool mode, zend_string *haystack, zend_string *needle, zend_long offset, const mbfl_encoding *enc); MBSTRING_API bool php_mb_check_encoding(const char *input, size_t length, const mbfl_encoding *encoding); ZEND_BEGIN_MODULE_GLOBALS(mbstring) diff --git a/ext/mbstring/tests/mb_strrchr_basic.phpt b/ext/mbstring/tests/mb_strrchr_basic.phpt index c9a9c724f638c..2df6504f9c8f7 100644 --- a/ext/mbstring/tests/mb_strrchr_basic.phpt +++ b/ext/mbstring/tests/mb_strrchr_basic.phpt @@ -17,7 +17,6 @@ var_dump(bin2hex(mb_strrchr($string_ascii, 'd', false, 'ISO-8859-1'))); var_dump(bin2hex(mb_strrchr($string_ascii, 'd'))); var_dump(bin2hex(mb_strrchr($string_ascii, 'd', true))); - echo "\n-- ASCII string: needle doesn't exist --\n"; var_dump(mb_strrchr($string_ascii, '123')); @@ -27,11 +26,14 @@ var_dump(bin2hex(mb_strrchr($string_mb, $needle1))); var_dump(bin2hex(mb_strrchr($string_mb, $needle1, false, 'utf-8'))); var_dump(bin2hex(mb_strrchr($string_mb, $needle1, true))); - echo "\n-- Multibyte string: needle doesn't exist --\n"; $needle2 = base64_decode('44GT44KT44Gr44Gh44Gv44CB5LiW55WM'); var_dump(mb_strrchr($string_mb, $needle2)); +echo "\n-- Regression tests --\n"; +// Regression test from when mb_strrchr was being reimplemented +var_dump(mb_strrchr("\x00t\x00", "", false, "UTF32")); + ?> --EXPECT-- *** Testing mb_strrchr() : basic functionality *** @@ -51,3 +53,6 @@ string(0) "" -- Multibyte string: needle doesn't exist -- bool(false) + +-- Regression tests -- +string(0) "" diff --git a/ext/mbstring/tests/mb_strstr.phpt b/ext/mbstring/tests/mb_strstr.phpt index 54ee922d5bfb5..08fc966cd48d6 100644 --- a/ext/mbstring/tests/mb_strstr.phpt +++ b/ext/mbstring/tests/mb_strstr.phpt @@ -21,6 +21,11 @@ mb_internal_encoding("EUC-JP"); var_dump(FROM_EUC_JP(mb_strstr(EUC_JP("あいうえおかきくけこ"), EUC_JP("おかき")))); var_dump(FROM_EUC_JP(mb_strstr(EUC_JP("あいうえおかきくけこ"), EUC_JP("おかき"), false))); var_dump(FROM_EUC_JP(mb_strstr(EUC_JP("あいうえおかきくけこ"), EUC_JP("おかき"), true))); + +// Regression test from when mb_strstr was being reimplemented +var_dump(bin2hex(mb_strstr("\xdd\x00", "", false, 'UTF-8'))); +var_dump(bin2hex(mb_strstr("M\xff\xff\xff\x00", "\x00", false, "SJIS"))); + ?> --EXPECT-- string(18) "おかきくけこ" @@ -31,3 +36,5 @@ string(12) "あいうえ" string(18) "おかきくけこ" string(18) "おかきくけこ" string(12) "あいうえ" +string(4) "dd00" +string(0) "" diff --git a/ext/mbstring/tests/mb_substr.phpt b/ext/mbstring/tests/mb_substr.phpt index 6d5e9d42ac0da..1d0fa7e48d33c 100644 --- a/ext/mbstring/tests/mb_substr.phpt +++ b/ext/mbstring/tests/mb_substr.phpt @@ -85,6 +85,12 @@ print "3: " . mb_convert_encoding(mb_substr($utf7, -5, 3, 'UTF-7'), 'UTF-8', 'UT print "4: " . mb_convert_encoding(mb_substr($utf7, 1, null, 'UTF-7'), 'UTF-8', 'UTF-7') . "\n"; print "5:" . mb_convert_encoding(mb_substr($utf7, 10, 0, 'UTF-7'), 'UTF-8', 'UTF-7') . "\n"; +echo "Regression:\n"; +/* During development, one >= comparison in mb_get_substr was wrongly written as > + * This was caught by libFuzzer */ +$str = "\xbd\xbd\xbd\xbd\xbd\xbd\xbd\xbe\xbd\xbd\xbd\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x89\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x00\x00\x00\x00\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8b\x8f\x8f\x8f\x8f\x8f\x8f\x8f\x8f\x8f\x8f\x8f\x8f\x8f\x8f\x8f\x8f\x8f\x8f\x8f\x8f\x8f\x8f\x8f\x8f\x8f\x8f\x8f\x8f\x8f\x8f\x8f\x8f\x8f\x8f\x8f\x8f\x8f\x8f\x8f\x8b\x8b\x8b\xbd\xbd\xbd\xbd\xbd\xbd\xbd\xbe\x01:O\xaa\xd3"; +echo bin2hex(mb_substr($str, 0, 128, "JIS")), "\n"; + ?> --EXPECT-- EUC-JP: @@ -136,3 +142,5 @@ UTF-7: 3: йте 4: reek: Σὲ γνωρίζω ἀπὸ τὴν κόψη Russian: Зарегистрируйтесь 5: +Regression: +1b28493d3d3d3d3d3d3d3e3d3d3d1b28423f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f000000003f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f1b28493d3d3d3d3d3d3d3e1b2842013a4f1b28492a1b2842 From b3d197d688dc6287e5a50432016537a4da57a1b5 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Fri, 2 Dec 2022 23:59:22 +0200 Subject: [PATCH 34/50] Optimize SJIS decoder for speed While benchmarking the new implementation of mb_substr, I found it was slower than the old one only when the selected encoding was SJIS. Investigation showed that the new text conversion filter for SJIS was a touch slower than the old one. With this optimization, the new SJIS decoder is about 20% faster than the old one. --- ext/mbstring/libmbfl/filters/mbfilter_sjis.c | 30 ++++++++++++-------- 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis.c b/ext/mbstring/libmbfl/filters/mbfilter_sjis.c index 1f52e0aa97786..dfea8d8bcb22c 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_sjis.c @@ -250,6 +250,14 @@ int mbfl_filt_conv_wchar_sjis(int c, mbfl_convert_filter *filter) return 0; } +static unsigned short sjis_decode_tbl1[] = { + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 188, 376, 564, 752, 940, 1128, 1316, 1504, 1692, 1880, 2068, 2256, 2444, 2632, 2820, 3008, 3196, 3384, 3572, 3760, 3948, 4136, 4324, 4512, 4700, 4888, 5076, 5264, 5452, 5640, -6204, -6016, -5828, -5640, -5452, -5264, -5076, -4888, -4700, -4512, -4324, -4136, -3948, -3760, -3572, -3384, -3196, -3008, -2820, -2632, -2444, -2256, -2068, -1880, -1692, -1504, -1316, -1128, -940, -752, -564, -376, -188, 0, 188, 376, 564, 752, 940, 1128, 1316, 1504, 1692, 1880, 2068, 2256, 2444, 2632, 2820, 3008, 3196, 3384, 3572, 3760, 3948, 4136, 4324, 4512, 4700, 4888, 5076, 5264, 5452, 5640, 5828, 6016, 6204, 6392, 6580, 6768, 6956, 7144, 7332, 7520, 7708, 7896, 8084, 8272, 8460, 8648 +}; + +static unsigned short sjis_decode_tbl2[] = { + 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 0xFFFF, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 0xFFFF, 0xFFFF, 0xFFFF +}; + static size_t mb_sjis_to_wchar(unsigned char **in, size_t *in_len, uint32_t *buf, size_t bufsize, unsigned int *state) { unsigned char *p = *in, *e = p + *in_len; @@ -264,18 +272,16 @@ static size_t mb_sjis_to_wchar(unsigned char **in, size_t *in_len, uint32_t *buf *out++ = 0xFEC0 + c; } else if (c > 0x80 && c <= 0xEF && c != 0xA0 && p < e) { unsigned char c2 = *p++; - if (c2 >= 0x40 && c2 <= 0xFC && c2 != 0x7F) { - unsigned int s1, s2; - SJIS_DECODE(c, c2, s1, s2); - uint32_t w = (s1 - 0x21)*94 + s2 - 0x21; - if (w < jisx0208_ucs_table_size) { - w = jisx0208_ucs_table[w]; - if (!w) - w = MBFL_BAD_INPUT; - *out++ = w; - } else { - *out++ = MBFL_BAD_INPUT; - } + /* This is only legal if c2 >= 0x40 && c2 <= 0xFC && c2 != 0x7F + * But the values in the above conversion tables have been chosen such that + * illegal values of c2 will always result in w > jisx0208_ucs_table_size, + * so we don't need to do a separate bounds check on c2 */ + uint32_t w = sjis_decode_tbl1[c] + sjis_decode_tbl2[c2]; + if (w < jisx0208_ucs_table_size) { + w = jisx0208_ucs_table[w]; + if (!w) + w = MBFL_BAD_INPUT; + *out++ = w; } else { *out++ = MBFL_BAD_INPUT; } From 4072a76e3f88021aaa4b991917ff930f95646419 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Sat, 3 Dec 2022 12:46:39 +0200 Subject: [PATCH 35/50] Move MacJapanese implementation into mbfilter_sjis.c --- ext/mbstring/config.m4 | 1 - ext/mbstring/config.w32 | 1 - ext/mbstring/libmbfl/filters/mbfilter_sjis.c | 990 +++++++++++++++ .../libmbfl/filters/mbfilter_sjis_mac.c | 1074 ----------------- .../libmbfl/filters/mbfilter_sjis_mac.h | 3 - 5 files changed, 990 insertions(+), 1079 deletions(-) delete mode 100644 ext/mbstring/libmbfl/filters/mbfilter_sjis_mac.c diff --git a/ext/mbstring/config.m4 b/ext/mbstring/config.m4 index 7b16ff75acc43..ef2d28cc53985 100644 --- a/ext/mbstring/config.m4 +++ b/ext/mbstring/config.m4 @@ -116,7 +116,6 @@ AC_DEFUN([PHP_MBSTRING_SETUP_LIBMBFL], [ libmbfl/filters/mbfilter_singlebyte.c libmbfl/filters/mbfilter_sjis.c libmbfl/filters/mbfilter_sjis_mobile.c - libmbfl/filters/mbfilter_sjis_mac.c libmbfl/filters/mbfilter_sjis_2004.c libmbfl/filters/mbfilter_ucs2.c libmbfl/filters/mbfilter_ucs4.c diff --git a/ext/mbstring/config.w32 b/ext/mbstring/config.w32 index 78350bb1e1327..32d03084af0a9 100644 --- a/ext/mbstring/config.w32 +++ b/ext/mbstring/config.w32 @@ -27,7 +27,6 @@ if (PHP_MBSTRING != "no") { mbfilter_utf7.c mbfilter_utf7imap.c mbfilter_utf8.c \ mbfilter_utf8_mobile.c mbfilter_uuencode.c \ mbfilter_cp5022x.c mbfilter_sjis_mobile.c \ - mbfilter_sjis_mac.c \ mbfilter_iso2022jp_mobile.c mbfilter_singlebyte.c", "mbstring"); ADD_SOURCES("ext/mbstring/libmbfl/mbfl", "mbfilter.c mbfilter_8bit.c \ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis.c b/ext/mbstring/libmbfl/filters/mbfilter_sjis.c index dfea8d8bcb22c..694c08efca3ac 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_sjis.c @@ -29,17 +29,26 @@ #include "mbfilter.h" #include "mbfilter_sjis.h" +#include "mbfilter_sjis_mac.h" #define UNICODE_TABLE_CP932_DEF #define UNICODE_TABLE_JIS_DEF #include "unicode_table_cp932_ext.h" #include "unicode_table_jis.h" +#include "sjis_mac2uni.h" static int mbfl_filt_conv_sjis_wchar_flush(mbfl_convert_filter *filter); static size_t mb_sjis_to_wchar(unsigned char **in, size_t *in_len, uint32_t *buf, size_t bufsize, unsigned int *state); static void mb_wchar_to_sjis(uint32_t *in, size_t len, mb_convert_buf *buf, bool end); +static int mbfl_filt_conv_sjis_mac_wchar(int c, mbfl_convert_filter *filter); +static int mbfl_filt_conv_wchar_sjis_mac(int c, mbfl_convert_filter *filter); +static int mbfl_filt_conv_wchar_sjis_mac_flush(mbfl_convert_filter *filter); +static int mbfl_filt_conv_sjis_mac_wchar_flush(mbfl_convert_filter *filter); +static size_t mb_sjismac_to_wchar(unsigned char **in, size_t *in_len, uint32_t *buf, size_t bufsize, unsigned int *state); +static void mb_wchar_to_sjismac(uint32_t *in, size_t len, mb_convert_buf *buf, bool end); + const unsigned char mblen_table_sjis[] = { /* 0x80-0x9f,0xE0-0xFF */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -94,6 +103,41 @@ const struct mbfl_convert_vtbl vtbl_wchar_sjis = { NULL }; +static const char *mbfl_encoding_sjis_mac_aliases[] = {"MacJapanese", "x-Mac-Japanese", NULL}; + +const mbfl_encoding mbfl_encoding_sjis_mac = { + mbfl_no_encoding_sjis_mac, + "SJIS-mac", + "Shift_JIS", + mbfl_encoding_sjis_mac_aliases, + mblen_table_sjis, + MBFL_ENCTYPE_GL_UNSAFE, + &vtbl_sjis_mac_wchar, + &vtbl_wchar_sjis_mac, + mb_sjismac_to_wchar, + mb_wchar_to_sjismac +}; + +const struct mbfl_convert_vtbl vtbl_sjis_mac_wchar = { + mbfl_no_encoding_sjis_mac, + mbfl_no_encoding_wchar, + mbfl_filt_conv_common_ctor, + NULL, + mbfl_filt_conv_sjis_mac_wchar, + mbfl_filt_conv_sjis_mac_wchar_flush, + NULL, +}; + +const struct mbfl_convert_vtbl vtbl_wchar_sjis_mac = { + mbfl_no_encoding_wchar, + mbfl_no_encoding_sjis_mac, + mbfl_filt_conv_common_ctor, + NULL, + mbfl_filt_conv_wchar_sjis_mac, + mbfl_filt_conv_wchar_sjis_mac_flush, + NULL, +}; + #define CK(statement) do { if ((statement) < 0) return (-1); } while (0) #define SJIS_ENCODE(c1,c2,s1,s2) \ @@ -356,3 +400,949 @@ static void mb_wchar_to_sjis(uint32_t *in, size_t len, mb_convert_buf *buf, bool MB_CONVERT_BUF_STORE(buf, out, limit); } + +static int mbfl_filt_conv_sjis_mac_wchar(int c, mbfl_convert_filter *filter) +{ + int i, j, n; + int c1, s, s1, s2, w; + + switch (filter->status) { + case 0: + if (c >= 0 && c < 0x80 && c != 0x5c) { /* latin */ + CK((*filter->output_function)(c, filter->data)); + } else if (c > 0xa0 && c < 0xe0) { /* kana */ + CK((*filter->output_function)(0xfec0 + c, filter->data)); + } else if (c > 0x80 && c <= 0xed && c != 0xa0) { /* kanji first char */ + filter->status = 1; + filter->cache = c; + } else if (c == 0x5c) { + CK((*filter->output_function)(0x00a5, filter->data)); + } else if (c == 0x80) { + CK((*filter->output_function)(0x005c, filter->data)); + } else if (c == 0xa0) { + CK((*filter->output_function)(0x00a0, filter->data)); + } else if (c == 0xfd) { + CK((*filter->output_function)(0x00a9, filter->data)); + } else if (c == 0xfe) { + CK((*filter->output_function)(0x2122, filter->data)); + } else if (c == 0xff) { + CK((*filter->output_function)(0x2026, filter->data)); + CK((*filter->output_function)(0xf87f, filter->data)); + } else { + CK((*filter->output_function)(MBFL_BAD_INPUT, filter->data)); + } + break; + + case 1: /* kanji second char */ + filter->status = 0; + c1 = filter->cache; + if (c >= 0x40 && c <= 0xfc && c != 0x7f) { + w = 0; + SJIS_DECODE(c1, c, s1, s2); + s = (s1 - 0x21)*94 + s2 - 0x21; + if (s <= 0x89) { + if (s == 0x1c) { + w = 0x2014; /* EM DASH */ + } else if (s == 0x1f) { + w = 0xff3c; /* FULLWIDTH REVERSE SOLIDUS */ + } else if (s == 0x20) { + w = 0x301c; /* FULLWIDTH TILDE */ + } else if (s == 0x21) { + w = 0x2016; /* PARALLEL TO */ + } else if (s == 0x3c) { + w = 0x2212; /* FULLWIDTH HYPHEN-MINUS */ + } else if (s == 0x50) { + w = 0x00a2; /* FULLWIDTH CENT SIGN */ + } else if (s == 0x51) { + w = 0x00a3; /* FULLWIDTH POUND SIGN */ + } else if (s == 0x89) { + w = 0x00ac; /* FULLWIDTH NOT SIGN */ + } + } + + /* apple gaiji area 0x8540 - 0x886d */ + if (w == 0) { + for (i=0; i<7; i++) { + if (s >= code_tbl[i][0] && s <= code_tbl[i][1]) { + w = s - code_tbl[i][0] + code_tbl[i][2]; + break; + } + } + } + + if (w == 0) { + + for (i=0; ioutput_function)(code_tbl_m[i][j], filter->data)); + } + w = code_tbl_m[i][n-1]; + break; + } + } + } + + if (w == 0) { + for (i=0; i<8; i++) { + if (s >= code_ofst_tbl[i][0] && s <= code_ofst_tbl[i][1]) { + w = code_map[i][s - code_ofst_tbl[i][0]]; + if (w == 0) { + CK((*filter->output_function)(MBFL_BAD_INPUT, filter->data)); + return 0; + } + s2 = 0; + if (s >= 0x043e && s <= 0x0441) { + s2 = 0xf87a; + } else if (s == 0x03b1 || s == 0x03b7) { + s2 = 0xf87f; + } else if (s == 0x04b8 || s == 0x04b9 || s == 0x04c4) { + s2 = 0x20dd; + } else if (s == 0x1ed9 || s == 0x1eda || s == 0x1ee8 || s == 0x1ef3 || + (s >= 0x1ef5 && s <= 0x1efb) || s == 0x1f05 || s == 0x1f06 || + s == 0x1f18 || (s >= 0x1ff2 && s <= 0x20a5)) { + s2 = 0xf87e; + } + if (s2 > 0) { + CK((*filter->output_function)(w, filter->data)); + w = s2; + } + break; + } + } + } + + if (w == 0 && s >= 0 && s < jisx0208_ucs_table_size) { /* X 0208 */ + w = jisx0208_ucs_table[s]; + } + + if (w <= 0) { + w = MBFL_BAD_INPUT; + } + CK((*filter->output_function)(w, filter->data)); + } else { + CK((*filter->output_function)(MBFL_BAD_INPUT, filter->data)); + } + break; + + EMPTY_SWITCH_DEFAULT_CASE(); + } + + return 0; +} + +static int mbfl_filt_conv_sjis_mac_wchar_flush(mbfl_convert_filter *filter) +{ + if (filter->status == 1) { + filter->status = 0; + CK((*filter->output_function)(MBFL_BAD_INPUT, filter->data)); + } + + if (filter->flush_function) { + (*filter->flush_function)(filter->data); + } + + return 0; +} + +static int mbfl_filt_conv_wchar_sjis_mac(int c, mbfl_convert_filter *filter) +{ + int i, c1, c2, s1 = 0, s2 = 0, mode; + + // a1: U+0000 -> U+046F + // a2: U+2000 -> U+30FF + // i: U+4E00 -> U+9FFF + // r: U+FF00 -> U+FFFF + + switch (filter->status) { + case 1: + c1 = filter->cache; + filter->cache = filter->status = 0; + + if (c == 0xf87a) { + for (i = 0; i < 4; i++) { + if (c1 == s_form_tbl[i+34+3+3]) { + s1 = s_form_sjis_tbl[i+34+3+3]; + break; + } + } + if (s1 <= 0) { + s2 = c1; + } + } else if (c == 0x20dd) { + for (i = 0; i < 3; i++) { + if (c1 == s_form_tbl[i+34+3]) { + s1 = s_form_sjis_tbl[i+34+3]; + break; + } + } + if (s1 <= 0) { + s2 = c1; + } + } else if (c == 0xf87f) { + for (i = 0; i < 3; i++) { + if (c1 == s_form_tbl[i+34]) { + s1 = s_form_sjis_tbl[i+34]; + break; + } + } + if (s1 <= 0) { + s2 = c1; + s1 = -1; + } + } else if (c == 0xf87e) { + for (i = 0; i < 34; i++) { + if (c1 == s_form_tbl[i]) { + s1 = s_form_sjis_tbl[i]; + break; + } + } + if (s1 <= 0) { + s2 = c1; + s1 = -1; + } + } else { + s2 = c1; + s1 = c; + } + + if (s2 > 0) { + for (i = 0; i < s_form_tbl_len; i++) { + if (c1 == s_form_tbl[i]) { + s1 = s_form_sjis_fallback_tbl[i]; + break; + } + } + } + + if (s1 >= 0) { + if (s1 < 0x100) { + CK((*filter->output_function)(s1, filter->data)); + } else { + CK((*filter->output_function)((s1 >> 8) & 0xff, filter->data)); + CK((*filter->output_function)(s1 & 0xff, filter->data)); + } + } else { + CK(mbfl_filt_conv_illegal_output(c, filter)); + } + + if (s2 <= 0 || s1 == -1) { + break; + } + s1 = s2 = 0; + ZEND_FALLTHROUGH; + + case 0: + if (c >= ucs_a1_jis_table_min && c < ucs_a1_jis_table_max) { + s1 = ucs_a1_jis_table[c - ucs_a1_jis_table_min]; + if (c == 0x5c) { + s1 = 0x80; + } else if (c == 0xa9) { + s1 = 0xfd; + } + } else if (c >= ucs_a2_jis_table_min && c < ucs_a2_jis_table_max) { + s1 = ucs_a2_jis_table[c - ucs_a2_jis_table_min]; + if (c == 0x2122) { + s1 = 0xfe; + } else if (c == 0x2014) { + s1 = 0x213d; + } else if (c == 0x2116) { + s1 = 0x2c1d; + } + } else if (c >= ucs_i_jis_table_min && c < ucs_i_jis_table_max) { + s1 = ucs_i_jis_table[c - ucs_i_jis_table_min]; + } else if (c >= ucs_r_jis_table_min && c < ucs_r_jis_table_max) { + s1 = ucs_r_jis_table[c - ucs_r_jis_table_min]; + } + + if (c >= 0x2000) { + for (i = 0; i < s_form_tbl_len; i++) { + if (c == s_form_tbl[i]) { + filter->status = 1; + filter->cache = c; + return 0; + } + } + + if (c == 0xf860 || c == 0xf861 || c == 0xf862) { + /* Apple 'transcoding hint' codepoints (from private use area) */ + filter->status = 2; + filter->cache = c; + return 0; + } + } + + if (s1 <= 0) { + if (c == 0xa0) { + s1 = 0x00a0; + } else if (c == 0xa5) { /* YEN SIGN */ + /* Unicode has codepoint 0xFFE5 for a fullwidth Yen sign; + * convert codepoint 0xA5 to halfwidth Yen sign */ + s1 = 0x5c; /* HALFWIDTH YEN SIGN */ + } else if (c == 0xff3c) { /* FULLWIDTH REVERSE SOLIDUS */ + s1 = 0x2140; + } + } + + if (s1 <= 0) { + for (i=0; i= wchar2sjis_mac_r_tbl[i][0] && c <= wchar2sjis_mac_r_tbl[i][1]) { + s1 = c - wchar2sjis_mac_r_tbl[i][0] + wchar2sjis_mac_r_tbl[i][2]; + break; + } + } + + if (s1 <= 0) { + for (i=0; i= wchar2sjis_mac_r_map[i][0] && c <= wchar2sjis_mac_r_map[i][1]) { + s1 = wchar2sjis_mac_code_map[i][c-wchar2sjis_mac_r_map[i][0]]; + break; + } + } + } + + if (s1 <= 0) { + for (i=0; i 0) { + c1 = s1/94+0x21; + c2 = s1-94*(c1-0x21)+0x21; + s1 = (c1 << 8) | c2; + s2 = 1; + } + } + + if ((s1 <= 0) || (s1 >= 0x8080 && s2 == 0)) { /* not found or X 0212 */ + s1 = -1; + c1 = 0; + + if (c == 0) { + s1 = 0; + } else if (s1 <= 0) { + s1 = -1; + } + } + + if (s1 >= 0) { + if (s1 < 0x100) { /* latin or kana */ + CK((*filter->output_function)(s1, filter->data)); + } else { /* kanji */ + c1 = (s1 >> 8) & 0xff; + c2 = s1 & 0xff; + SJIS_ENCODE(c1, c2, s1, s2); + CK((*filter->output_function)(s1, filter->data)); + CK((*filter->output_function)(s2, filter->data)); + } + } else { + CK(mbfl_filt_conv_illegal_output(c, filter)); + } + break; + + case 2: + c1 = filter->cache; + filter->cache = 0; + filter->status = 0; + if (c1 == 0xf860) { + for (i = 0; i < 5; i++) { + if (c == code_tbl_m[i][2]) { + filter->cache = c | 0x10000; + filter->status = 3; + break; + } + } + } else if (c1 == 0xf861) { + for (i = 0; i < 3; i++) { + if (c == code_tbl_m[i+5][2]) { + filter->cache = c | 0x20000; + filter->status = 3; + break; + } + } + } else if (c1 == 0xf862) { + for (i = 0; i < 4; i++) { + if (c == code_tbl_m[i+5+3][2]) { + filter->cache = c | 0x40000; + filter->status = 3; + break; + } + } + } + + if (filter->status == 0) { + /* Didn't find any of expected codepoints after Apple transcoding hint */ + CK(mbfl_filt_conv_illegal_output(c1, filter)); + return mbfl_filt_conv_wchar_sjis_mac(c, filter); + } + break; + + case 3: + s1 = 0; + c1 = filter->cache & 0xffff; + mode = (filter->cache & 0xf0000) >> 16; + + filter->cache = filter->status = 0; + + if (mode == 0x1) { + for (i = 0; i < 5; i++) { + if (c1 == code_tbl_m[i][2] && c == code_tbl_m[i][3]) { + s1 = code_tbl_m[i][0]; + break; + } + } + + if (s1 > 0) { + c1 = s1/94+0x21; + c2 = s1-94*(c1-0x21)+0x21; + SJIS_ENCODE(c1, c2, s1, s2); + CK((*filter->output_function)(s1, filter->data)); + CK((*filter->output_function)(s2, filter->data)); + } else { + CK(mbfl_filt_conv_illegal_output(0xf860, filter)); + CK(mbfl_filt_conv_illegal_output(c1, filter)); + CK(mbfl_filt_conv_illegal_output(c, filter)); + } + } else if (mode == 0x2) { + for (i = 0; i < 3; i++) { + if (c1 == code_tbl_m[i+5][2] && c == code_tbl_m[i+5][3]) { + filter->cache = c | 0x20000; + filter->status = 4; + break; + } + } + } else if (mode == 0x4) { + for (i = 0; i < 4; i++) { + if (c1 == code_tbl_m[i+8][2] && c == code_tbl_m[i+8][3]) { + filter->cache = c | 0x40000; + filter->status = 4; + break; + } + } + } + break; + + case 4: + s1 = 0; + c1 = filter->cache & 0xffff; + mode = (filter->cache & 0xf0000) >> 16; + + filter->cache = 0; + filter->status = 0; + + if (mode == 0x2) { + for (i = 0; i < 3; i++) { + if (c1 == code_tbl_m[i+5][3] && c == code_tbl_m[i+5][4]) { + s1 = code_tbl_m[i+5][0]; + break; + } + } + + if (s1 > 0) { + c1 = s1/94+0x21; + c2 = s1-94*(c1-0x21)+0x21; + SJIS_ENCODE(c1, c2, s1, s2); + CK((*filter->output_function)(s1, filter->data)); + CK((*filter->output_function)(s2, filter->data)); + } else { + CK(mbfl_filt_conv_illegal_output(0xf861, filter)); + for (i = 0; i < 3; i++) { + if (c1 == code_tbl_m[i+5][3]) { + CK(mbfl_filt_conv_illegal_output(code_tbl_m[i+5][2], filter)); + break; + } + } + CK(mbfl_filt_conv_illegal_output(c1, filter)); + CK(mbfl_filt_conv_illegal_output(c, filter)); + } + } else if (mode == 0x4) { + for (i = 0; i < 4; i++) { + if (c1 == code_tbl_m[i+8][3] && c == code_tbl_m[i+8][4]) { + filter->cache = c | 0x40000; + filter->status = 5; + break; + } + } + } + break; + + case 5: + s1 = 0; + c1 = filter->cache & 0xffff; + mode = (filter->cache & 0xf0000) >> 16; + + filter->cache = filter->status = 0; + + if (mode == 0x4) { + for (i = 0; i < 4; i++) { + if (c1 == code_tbl_m[i+8][4] && c == code_tbl_m[i+8][5]) { + s1 = code_tbl_m[i+8][0]; + break; + } + } + + if (s1 > 0) { + c1 = s1/94+0x21; + c2 = s1-94*(c1-0x21)+0x21; + SJIS_ENCODE(c1, c2, s1, s2); + CK((*filter->output_function)(s1, filter->data)); + CK((*filter->output_function)(s2, filter->data)); + } else { + CK(mbfl_filt_conv_illegal_output(0xf862, filter)); + for (i = 0; i < 4; i++) { + if (c1 == code_tbl_m[i+8][4]) { + CK(mbfl_filt_conv_illegal_output( code_tbl_m[i+8][2], filter)); + CK(mbfl_filt_conv_illegal_output( code_tbl_m[i+8][3], filter)); + break; + } + } + CK(mbfl_filt_conv_illegal_output(c1, filter)); + CK(mbfl_filt_conv_illegal_output(c, filter)); + } + } + break; + + EMPTY_SWITCH_DEFAULT_CASE(); + } + + return 0; +} + +static int mbfl_filt_conv_wchar_sjis_mac_flush(mbfl_convert_filter *filter) +{ + int i, c1, s1 = 0; + if (filter->status == 1 && filter->cache > 0) { + c1 = filter->cache; + for (i=0;i 0) { + CK((*filter->output_function)((s1 >> 8) & 0xff, filter->data)); + CK((*filter->output_function)(s1 & 0xff, filter->data)); + } + } + filter->cache = 0; + filter->status = 0; + + if (filter->flush_function != NULL) { + return (*filter->flush_function)(filter->data); + } + + return 0; +} + +static size_t mb_sjismac_to_wchar(unsigned char **in, size_t *in_len, uint32_t *buf, size_t bufsize, unsigned int *state) +{ + /* A single SJIS-Mac kuten code can convert to up to 5 Unicode codepoints, oh my! */ + ZEND_ASSERT(bufsize >= 5); + + unsigned char *p = *in, *e = p + *in_len; + uint32_t *out = buf, *limit = buf + bufsize; + + while (p < e && out < limit) { + unsigned char c = *p++; + + if (c < 0x80 && c != 0x5C) { + *out++ = c; + } else if (c >= 0xA1 && c <= 0xDF) { + *out++ = 0xFEC0 + c; + } else if (c > 0x80 && c <= 0xED && c != 0xA0) { + if (p == e) { + *out++ = MBFL_BAD_INPUT; + break; + } + unsigned char c2 = *p++; + + if (c2 >= 0x40 && c2 <= 0xFC && c2 != 0x7F) { + unsigned int w = 0, s1 = 0, s2 = 0; + SJIS_DECODE(c, c2, s1, s2); + unsigned int s = (s1 - 0x21)*94 + s2 - 0x21; + + if (s <= 0x89) { + if (s == 0x1C) { + w = 0x2014; /* EM DASH */ + } else if (s == 0x1F) { + w = 0xFF3C; /* FULLWIDTH REVERSE SOLIDUS */ + } else if (s == 0x20) { + w = 0x301C; /* FULLWIDTH TILDE */ + } else if (s == 0x21) { + w = 0x2016; /* PARALLEL TO */ + } else if (s == 0x3C) { + w = 0x2212; /* FULLWIDTH HYPHEN-MINUS */ + } else if (s == 0x50) { + w = 0xA2; /* FULLWIDTH CENT SIGN */ + } else if (s == 0x51) { + w = 0xA3; /* FULLWIDTH POUND SIGN */ + } else if (s == 0x89) { + w = 0xAC; /* FULLWIDTH NOT SIGN */ + } + if (w) { + *out++ = w; + continue; + } + } + + for (int i = 0; i < 7; i++) { + if (s >= code_tbl[i][0] && s <= code_tbl[i][1]) { + *out++ = s - code_tbl[i][0] + code_tbl[i][2]; + goto next_iteration; + } + } + + for (int i = 0; i < code_tbl_m_len; i++) { + if (s == code_tbl_m[i][0]) { + int n = 5; + if (code_tbl_m[i][1] == 0xF860) { + n = 3; + } else if (code_tbl_m[i][1] == 0xF861) { + n = 4; + } + if ((limit - out) < n) { + p -= 2; + goto finished; + } + for (int j = 1; j <= n; j++) { + *out++ = code_tbl_m[i][j]; + } + goto next_iteration; + } + } + + for (int i = 0; i < 8; i++) { + if (s >= code_ofst_tbl[i][0] && s <= code_ofst_tbl[i][1]) { + w = code_map[i][s - code_ofst_tbl[i][0]]; + if (!w) { + *out++ = MBFL_BAD_INPUT; + goto next_iteration; + } + if ((limit - out) < 2) { + p -= 2; + goto finished; + } + *out++ = w; + if (s >= 0x43E && s <= 0x441) { + *out++ = 0xF87A; + } else if (s == 0x3B1 || s == 0x3B7) { + *out++ = 0xF87F; + } else if (s == 0x4B8 || s == 0x4B9 || s == 0x4C4) { + *out++ = 0x20DD; + } else if (s == 0x1ED9 || s == 0x1EDA || s == 0x1EE8 || s == 0x1EF3 || (s >= 0x1EF5 && s <= 0x1EFB) || s == 0x1F05 || s == 0x1F06 || s == 0x1F18 || (s >= 0x1FF2 && s <= 0x20A5)) { + *out++ = 0xF87E; + } + goto next_iteration; + } + } + + if (s < jisx0208_ucs_table_size) { + w = jisx0208_ucs_table[s]; + } + + if (!w) + w = MBFL_BAD_INPUT; + *out++ = w; + } else { + *out++ = MBFL_BAD_INPUT; + } + } else if (c == 0x5C) { + *out++ = 0xA5; + } else if (c == 0x80) { + *out++ = 0x5C; + } else if (c == 0xA0) { + *out++ = 0xA0; + } else if (c == 0xFD) { + *out++ = 0xA9; + } else if (c == 0xFE) { + *out++ = 0x2122; + } else if (c == 0xFF) { + if ((limit - out) < 2) { + p--; + break; + } + *out++ = 0x2026; + *out++ = 0xF87F; + } else { + *out++ = MBFL_BAD_INPUT; + } +next_iteration: ; + } + +finished: + *in_len = e - p; + *in = p; + return out - buf; +} + +static bool process_s_form(uint32_t w, uint32_t w2, unsigned int *s) +{ + if (w2 == 0xF87A) { + for (int i = 0; i < 4; i++) { + if (w == s_form_tbl[i+34+3+3]) { + *s = s_form_sjis_tbl[i+34+3+3]; + return true; + } + } + } else if (w2 == 0x20DD) { + for (int i = 0; i < 3; i++) { + if (w == s_form_tbl[i+34+3]) { + *s = s_form_sjis_tbl[i+34+3]; + return true; + } + } + } else if (w2 == 0xF87F) { + for (int i = 0; i < 3; i++) { + if (w == s_form_tbl[i+34]) { + *s = s_form_sjis_tbl[i+34]; + return true; + } + } + } else if (w2 == 0xF87E) { + for (int i = 0; i < 34; i++) { + if (w == s_form_tbl[i]) { + *s = s_form_sjis_tbl[i]; + return true; + } + } + } + + return false; +} + +/* For codepoints F860-F862, which are treated specially in MacJapanese */ +static int transcoding_hint_cp_width[3] = { 3, 4, 5 }; + +static void mb_wchar_to_sjismac(uint32_t *in, size_t len, mb_convert_buf *buf, bool end) +{ + unsigned char *out, *limit; + MB_CONVERT_BUF_LOAD(buf, out, limit); + MB_CONVERT_BUF_ENSURE(buf, out, limit, len); + + uint32_t w; + + if (buf->state) { + w = buf->state & 0xFFFF; + if (buf->state & 0xFF000000L) { + goto resume_transcoding_hint; + } else { + buf->state = 0; + goto process_codepoint; + } + } + + while (len--) { + w = *in++; +process_codepoint: ; + unsigned int s = 0; + + if (w >= ucs_a1_jis_table_min && w < ucs_a1_jis_table_max) { + if (w == 0x5C) { + s = 0x80; + } else if (w == 0xA9) { + s = 0xFD; + } else { + s = ucs_a1_jis_table[w - ucs_a1_jis_table_min]; + } + } else if (w >= ucs_a2_jis_table_min && w < ucs_a2_jis_table_max) { + if (w == 0x2122) { + s = 0xFE; + } else if (w == 0x2014) { + s = 0x213D; + } else if (w == 0x2116) { + s = 0x2C1D; + } else { + s = ucs_a2_jis_table[w - ucs_a2_jis_table_min]; + } + } else if (w >= ucs_i_jis_table_min && w < ucs_i_jis_table_max) { + s = ucs_i_jis_table[w - ucs_i_jis_table_min]; + } else if (w >= ucs_r_jis_table_min && w < ucs_r_jis_table_max) { + s = ucs_r_jis_table[w - ucs_r_jis_table_min]; + } + + if (w >= 0x2000) { + for (int i = 0; i < s_form_tbl_len; i++) { + if (w == s_form_tbl[i]) { + if (!len) { + if (end) { + s = s_form_sjis_fallback_tbl[i]; + if (s) { + MB_CONVERT_BUF_ENSURE(buf, out, limit, 2); + out = mb_convert_buf_add2(out, (s >> 8) & 0xFF, s & 0xFF); + } else { + MB_CONVERT_ERROR(buf, out, limit, w, mb_wchar_to_sjismac); + } + } else { + buf->state = w; + } + MB_CONVERT_BUF_STORE(buf, out, limit); + return; + } + uint32_t w2 = *in++; + len--; + + if (!process_s_form(w, w2, &s)) { + in--; len++; + + for (int i = 0; i < s_form_tbl_len; i++) { + if (w == s_form_tbl[i]) { + s = s_form_sjis_fallback_tbl[i]; + break; + } + } + } + + if (s <= 0xFF) { + out = mb_convert_buf_add(out, s); + } else { + MB_CONVERT_BUF_ENSURE(buf, out, limit, len + 2); + out = mb_convert_buf_add2(out, (s >> 8) & 0xFF, s & 0xFF); + } + + goto next_iteration; + } + } + + if (w == 0xF860 || w == 0xF861 || w == 0xF862) { + /* Apple 'transcoding hint' codepoints (from private use area) */ + if (!len) { + if (end) { + MB_CONVERT_ERROR(buf, out, limit, w, mb_wchar_to_sjismac); + } else { + buf->state = w; + } + MB_CONVERT_BUF_STORE(buf, out, limit); + return; + } + + uint32_t w2 = *in++; + len--; + + for (int i = 0; i < code_tbl_m_len; i++) { + if (w == code_tbl_m[i][1] && w2 == code_tbl_m[i][2]) { + /* This might be a valid transcoding hint sequence */ + int index = 3; + +resume_transcoding_hint: + if (buf->state) { + i = buf->state >> 24; + index = (buf->state >> 16) & 0xFF; + buf->state = 0; + } + + int expected = transcoding_hint_cp_width[w - 0xF860]; + + while (index <= expected) { + if (!len) { + if (end) { + for (int j = 1; j < index; j++) { + MB_CONVERT_ERROR(buf, out, limit, code_tbl_m[i][j], mb_wchar_to_sjismac); + } + } else { + buf->state = (i << 24) | (index << 16) | (w & 0xFFFF); + } + MB_CONVERT_BUF_STORE(buf, out, limit); + return; + } + + w2 = *in++; + len--; + + if (w2 != code_tbl_m[i][index]) { + /* Didn't match */ + for (int j = 1; j < index; j++) { + MB_CONVERT_ERROR(buf, out, limit, code_tbl_m[i][j], mb_wchar_to_sjismac); + } + MB_CONVERT_ERROR(buf, out, limit, w2, mb_wchar_to_sjismac); + MB_CONVERT_BUF_ENSURE(buf, out, limit, len); + goto next_iteration; + } + + index++; + } + + /* Successful match, emit SJIS-mac bytes */ + s = code_tbl_m[i][0]; + unsigned int c1 = (s / 94) + 0x21, c2 = (s % 94) + 0x21, s1, s2; + SJIS_ENCODE(c1, c2, s1, s2); + MB_CONVERT_BUF_ENSURE(buf, out, limit, len + 2); + out = mb_convert_buf_add2(out, s1, s2); + goto next_iteration; + } + } + + /* No valid transcoding hint sequence found */ + in--; len++; + MB_CONVERT_ERROR(buf, out, limit, w, mb_wchar_to_sjismac); + MB_CONVERT_BUF_ENSURE(buf, out, limit, len); + continue; + } + } + + if (!s) { + if (w == 0xA0) { + s = 0xA0; + } else if (w == 0xA5) { /* YEN SIGN */ + /* Unicode has codepoint 0xFFE5 for a fullwidth Yen sign; + * convert codepoint 0xA5 to halfwidth Yen sign */ + s = 0x5C; /* HALFWIDTH YEN SIGN */ + } else if (w == 0xFF3C) { /* FULLWIDTH REVERSE SOLIDUS */ + s = 0x2140; + } else { + for (int i = 0; i < wchar2sjis_mac_r_tbl_len; i++) { + if (w >= wchar2sjis_mac_r_tbl[i][0] && w <= wchar2sjis_mac_r_tbl[i][1]) { + s = w - wchar2sjis_mac_r_tbl[i][0] + wchar2sjis_mac_r_tbl[i][2]; + s = (((s / 94) + 0x21) << 8) | ((s % 94) + 0x21); + goto found_kuten_code; + } + } + + for (int i = 0; i < wchar2sjis_mac_r_map_len; i++) { + if (w >= wchar2sjis_mac_r_map[i][0] && w <= wchar2sjis_mac_r_map[i][1]) { + s = wchar2sjis_mac_code_map[i][w - wchar2sjis_mac_r_map[i][0]]; + if (s) { + s = (((s / 94) + 0x21) << 8) | ((s % 94) + 0x21); + goto found_kuten_code; + } + } + } + + for (int i = 0; i < wchar2sjis_mac_wchar_tbl_len; i++) { + if (w == wchar2sjis_mac_wchar_tbl[i][0]) { + s = wchar2sjis_mac_wchar_tbl[i][1]; + s = (((s / 94) + 0x21) << 8) | ((s % 94) + 0x21); + goto found_kuten_code; + } + } + } + } + +found_kuten_code: + if ((!s && w) || s >= 0x8080) { + MB_CONVERT_ERROR(buf, out, limit, w, mb_wchar_to_sjismac); + MB_CONVERT_BUF_ENSURE(buf, out, limit, len); + } else if (s <= 0xFF) { + out = mb_convert_buf_add(out, s); + } else { + unsigned int c1 = (s >> 8) & 0xFF, c2 = s & 0xFF, s1, s2; + SJIS_ENCODE(c1, c2, s1, s2); + MB_CONVERT_BUF_ENSURE(buf, out, limit, len + 2); + out = mb_convert_buf_add2(out, s1, s2); + } + +next_iteration: ; + } + + MB_CONVERT_BUF_STORE(buf, out, limit); +} diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis_mac.c b/ext/mbstring/libmbfl/filters/mbfilter_sjis_mac.c deleted file mode 100644 index 0cb93cc38e8c7..0000000000000 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis_mac.c +++ /dev/null @@ -1,1074 +0,0 @@ -/* - * "streamable kanji code filter and converter" - * Copyright (c) 1998-2002 HappySize, Inc. All rights reserved. - * - * LICENSE NOTICES - * - * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public - * License (version 2) as published by the Free Software Foundation. - * - * This software is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with "streamable kanji code filter and converter"; - * if not, write to the Free Software Foundation, Inc., 59 Temple Place, - * Suite 330, Boston, MA 02111-1307 USA - * - * The author of this file: - * - */ -/* - * the source code included in this files was separated from mbfilter_sjis_open.c - * by Rui Hirokawa on 25 July 2011. - * - */ - -#include "mbfilter.h" -#include "mbfilter_sjis_mac.h" - -#include "unicode_table_cp932_ext.h" -#include "unicode_table_jis.h" - -#include "sjis_mac2uni.h" - -extern const unsigned char mblen_table_sjis[]; - -static int mbfl_filt_conv_wchar_sjis_mac_flush(mbfl_convert_filter *filter); -static int mbfl_filt_conv_sjis_mac_wchar_flush(mbfl_convert_filter *filter); -static size_t mb_sjismac_to_wchar(unsigned char **in, size_t *in_len, uint32_t *buf, size_t bufsize, unsigned int *state); -static void mb_wchar_to_sjismac(uint32_t *in, size_t len, mb_convert_buf *buf, bool end); - -static const char *mbfl_encoding_sjis_mac_aliases[] = {"MacJapanese", "x-Mac-Japanese", NULL}; - -const mbfl_encoding mbfl_encoding_sjis_mac = { - mbfl_no_encoding_sjis_mac, - "SJIS-mac", - "Shift_JIS", - mbfl_encoding_sjis_mac_aliases, - mblen_table_sjis, - MBFL_ENCTYPE_GL_UNSAFE, - &vtbl_sjis_mac_wchar, - &vtbl_wchar_sjis_mac, - mb_sjismac_to_wchar, - mb_wchar_to_sjismac -}; - -const struct mbfl_convert_vtbl vtbl_sjis_mac_wchar = { - mbfl_no_encoding_sjis_mac, - mbfl_no_encoding_wchar, - mbfl_filt_conv_common_ctor, - NULL, - mbfl_filt_conv_sjis_mac_wchar, - mbfl_filt_conv_sjis_mac_wchar_flush, - NULL, -}; - -const struct mbfl_convert_vtbl vtbl_wchar_sjis_mac = { - mbfl_no_encoding_wchar, - mbfl_no_encoding_sjis_mac, - mbfl_filt_conv_common_ctor, - NULL, - mbfl_filt_conv_wchar_sjis_mac, - mbfl_filt_conv_wchar_sjis_mac_flush, - NULL, -}; - -#define CK(statement) do { if ((statement) < 0) return (-1); } while (0) - -#define SJIS_ENCODE(c1,c2,s1,s2) \ - do { \ - s1 = c1; \ - s1--; \ - s1 >>= 1; \ - if ((c1) < 0x5f) { \ - s1 += 0x71; \ - } else { \ - s1 += 0xb1; \ - } \ - s2 = c2; \ - if ((c1) & 1) { \ - if ((c2) < 0x60) { \ - s2--; \ - } \ - s2 += 0x20; \ - } else { \ - s2 += 0x7e; \ - } \ - } while (0) - -#define SJIS_DECODE(c1,c2,s1,s2) \ - do { \ - s1 = c1; \ - if (s1 < 0xa0) { \ - s1 -= 0x81; \ - } else { \ - s1 -= 0xc1; \ - } \ - s1 <<= 1; \ - s1 += 0x21; \ - s2 = c2; \ - if (s2 < 0x9f) { \ - if (s2 < 0x7f) { \ - s2++; \ - } \ - s2 -= 0x20; \ - } else { \ - s1++; \ - s2 -= 0x7e; \ - } \ - } while (0) - -/* - * SJIS-mac => wchar - */ -int -mbfl_filt_conv_sjis_mac_wchar(int c, mbfl_convert_filter *filter) -{ - int i, j, n; - int c1, s, s1, s2, w; - - switch (filter->status) { - case 0: - if (c >= 0 && c < 0x80 && c != 0x5c) { /* latin */ - CK((*filter->output_function)(c, filter->data)); - } else if (c > 0xa0 && c < 0xe0) { /* kana */ - CK((*filter->output_function)(0xfec0 + c, filter->data)); - } else if (c > 0x80 && c <= 0xed && c != 0xa0) { /* kanji first char */ - filter->status = 1; - filter->cache = c; - } else if (c == 0x5c) { - CK((*filter->output_function)(0x00a5, filter->data)); - } else if (c == 0x80) { - CK((*filter->output_function)(0x005c, filter->data)); - } else if (c == 0xa0) { - CK((*filter->output_function)(0x00a0, filter->data)); - } else if (c == 0xfd) { - CK((*filter->output_function)(0x00a9, filter->data)); - } else if (c == 0xfe) { - CK((*filter->output_function)(0x2122, filter->data)); - } else if (c == 0xff) { - CK((*filter->output_function)(0x2026, filter->data)); - CK((*filter->output_function)(0xf87f, filter->data)); - } else { - CK((*filter->output_function)(MBFL_BAD_INPUT, filter->data)); - } - break; - - case 1: /* kanji second char */ - filter->status = 0; - c1 = filter->cache; - if (c >= 0x40 && c <= 0xfc && c != 0x7f) { - w = 0; - SJIS_DECODE(c1, c, s1, s2); - s = (s1 - 0x21)*94 + s2 - 0x21; - if (s <= 0x89) { - if (s == 0x1c) { - w = 0x2014; /* EM DASH */ - } else if (s == 0x1f) { - w = 0xff3c; /* FULLWIDTH REVERSE SOLIDUS */ - } else if (s == 0x20) { - w = 0x301c; /* FULLWIDTH TILDE */ - } else if (s == 0x21) { - w = 0x2016; /* PARALLEL TO */ - } else if (s == 0x3c) { - w = 0x2212; /* FULLWIDTH HYPHEN-MINUS */ - } else if (s == 0x50) { - w = 0x00a2; /* FULLWIDTH CENT SIGN */ - } else if (s == 0x51) { - w = 0x00a3; /* FULLWIDTH POUND SIGN */ - } else if (s == 0x89) { - w = 0x00ac; /* FULLWIDTH NOT SIGN */ - } - } - - /* apple gaiji area 0x8540 - 0x886d */ - if (w == 0) { - for (i=0; i<7; i++) { - if (s >= code_tbl[i][0] && s <= code_tbl[i][1]) { - w = s - code_tbl[i][0] + code_tbl[i][2]; - break; - } - } - } - - if (w == 0) { - - for (i=0; ioutput_function)(code_tbl_m[i][j], filter->data)); - } - w = code_tbl_m[i][n-1]; - break; - } - } - } - - if (w == 0) { - for (i=0; i<8; i++) { - if (s >= code_ofst_tbl[i][0] && s <= code_ofst_tbl[i][1]) { - w = code_map[i][s - code_ofst_tbl[i][0]]; - if (w == 0) { - CK((*filter->output_function)(MBFL_BAD_INPUT, filter->data)); - return 0; - } - s2 = 0; - if (s >= 0x043e && s <= 0x0441) { - s2 = 0xf87a; - } else if (s == 0x03b1 || s == 0x03b7) { - s2 = 0xf87f; - } else if (s == 0x04b8 || s == 0x04b9 || s == 0x04c4) { - s2 = 0x20dd; - } else if (s == 0x1ed9 || s == 0x1eda || s == 0x1ee8 || s == 0x1ef3 || - (s >= 0x1ef5 && s <= 0x1efb) || s == 0x1f05 || s == 0x1f06 || - s == 0x1f18 || (s >= 0x1ff2 && s <= 0x20a5)) { - s2 = 0xf87e; - } - if (s2 > 0) { - CK((*filter->output_function)(w, filter->data)); - w = s2; - } - break; - } - } - } - - if (w == 0 && s >= 0 && s < jisx0208_ucs_table_size) { /* X 0208 */ - w = jisx0208_ucs_table[s]; - } - - if (w <= 0) { - w = MBFL_BAD_INPUT; - } - CK((*filter->output_function)(w, filter->data)); - } else { - CK((*filter->output_function)(MBFL_BAD_INPUT, filter->data)); - } - break; - - EMPTY_SWITCH_DEFAULT_CASE(); - } - - return 0; -} - -static int mbfl_filt_conv_sjis_mac_wchar_flush(mbfl_convert_filter *filter) -{ - if (filter->status == 1) { - filter->status = 0; - CK((*filter->output_function)(MBFL_BAD_INPUT, filter->data)); - } - - if (filter->flush_function) { - (*filter->flush_function)(filter->data); - } - - return 0; -} - -int mbfl_filt_conv_wchar_sjis_mac(int c, mbfl_convert_filter *filter) -{ - int i, c1, c2, s1 = 0, s2 = 0, mode; - - // a1: U+0000 -> U+046F - // a2: U+2000 -> U+30FF - // i: U+4E00 -> U+9FFF - // r: U+FF00 -> U+FFFF - - switch (filter->status) { - case 1: - c1 = filter->cache; - filter->cache = filter->status = 0; - - if (c == 0xf87a) { - for (i = 0; i < 4; i++) { - if (c1 == s_form_tbl[i+34+3+3]) { - s1 = s_form_sjis_tbl[i+34+3+3]; - break; - } - } - if (s1 <= 0) { - s2 = c1; - } - } else if (c == 0x20dd) { - for (i = 0; i < 3; i++) { - if (c1 == s_form_tbl[i+34+3]) { - s1 = s_form_sjis_tbl[i+34+3]; - break; - } - } - if (s1 <= 0) { - s2 = c1; - } - } else if (c == 0xf87f) { - for (i = 0; i < 3; i++) { - if (c1 == s_form_tbl[i+34]) { - s1 = s_form_sjis_tbl[i+34]; - break; - } - } - if (s1 <= 0) { - s2 = c1; - s1 = -1; - } - } else if (c == 0xf87e) { - for (i = 0; i < 34; i++) { - if (c1 == s_form_tbl[i]) { - s1 = s_form_sjis_tbl[i]; - break; - } - } - if (s1 <= 0) { - s2 = c1; - s1 = -1; - } - } else { - s2 = c1; - s1 = c; - } - - if (s2 > 0) { - for (i = 0; i < s_form_tbl_len; i++) { - if (c1 == s_form_tbl[i]) { - s1 = s_form_sjis_fallback_tbl[i]; - break; - } - } - } - - if (s1 >= 0) { - if (s1 < 0x100) { - CK((*filter->output_function)(s1, filter->data)); - } else { - CK((*filter->output_function)((s1 >> 8) & 0xff, filter->data)); - CK((*filter->output_function)(s1 & 0xff, filter->data)); - } - } else { - CK(mbfl_filt_conv_illegal_output(c, filter)); - } - - if (s2 <= 0 || s1 == -1) { - break; - } - s1 = s2 = 0; - ZEND_FALLTHROUGH; - - case 0: - if (c >= ucs_a1_jis_table_min && c < ucs_a1_jis_table_max) { - s1 = ucs_a1_jis_table[c - ucs_a1_jis_table_min]; - if (c == 0x5c) { - s1 = 0x80; - } else if (c == 0xa9) { - s1 = 0xfd; - } - } else if (c >= ucs_a2_jis_table_min && c < ucs_a2_jis_table_max) { - s1 = ucs_a2_jis_table[c - ucs_a2_jis_table_min]; - if (c == 0x2122) { - s1 = 0xfe; - } else if (c == 0x2014) { - s1 = 0x213d; - } else if (c == 0x2116) { - s1 = 0x2c1d; - } - } else if (c >= ucs_i_jis_table_min && c < ucs_i_jis_table_max) { - s1 = ucs_i_jis_table[c - ucs_i_jis_table_min]; - } else if (c >= ucs_r_jis_table_min && c < ucs_r_jis_table_max) { - s1 = ucs_r_jis_table[c - ucs_r_jis_table_min]; - } - - if (c >= 0x2000) { - for (i = 0; i < s_form_tbl_len; i++) { - if (c == s_form_tbl[i]) { - filter->status = 1; - filter->cache = c; - return 0; - } - } - - if (c == 0xf860 || c == 0xf861 || c == 0xf862) { - /* Apple 'transcoding hint' codepoints (from private use area) */ - filter->status = 2; - filter->cache = c; - return 0; - } - } - - if (s1 <= 0) { - if (c == 0xa0) { - s1 = 0x00a0; - } else if (c == 0xa5) { /* YEN SIGN */ - /* Unicode has codepoint 0xFFE5 for a fullwidth Yen sign; - * convert codepoint 0xA5 to halfwidth Yen sign */ - s1 = 0x5c; /* HALFWIDTH YEN SIGN */ - } else if (c == 0xff3c) { /* FULLWIDTH REVERSE SOLIDUS */ - s1 = 0x2140; - } - } - - if (s1 <= 0) { - for (i=0; i= wchar2sjis_mac_r_tbl[i][0] && c <= wchar2sjis_mac_r_tbl[i][1]) { - s1 = c - wchar2sjis_mac_r_tbl[i][0] + wchar2sjis_mac_r_tbl[i][2]; - break; - } - } - - if (s1 <= 0) { - for (i=0; i= wchar2sjis_mac_r_map[i][0] && c <= wchar2sjis_mac_r_map[i][1]) { - s1 = wchar2sjis_mac_code_map[i][c-wchar2sjis_mac_r_map[i][0]]; - break; - } - } - } - - if (s1 <= 0) { - for (i=0; i 0) { - c1 = s1/94+0x21; - c2 = s1-94*(c1-0x21)+0x21; - s1 = (c1 << 8) | c2; - s2 = 1; - } - } - - if ((s1 <= 0) || (s1 >= 0x8080 && s2 == 0)) { /* not found or X 0212 */ - s1 = -1; - c1 = 0; - - if (c == 0) { - s1 = 0; - } else if (s1 <= 0) { - s1 = -1; - } - } - - if (s1 >= 0) { - if (s1 < 0x100) { /* latin or kana */ - CK((*filter->output_function)(s1, filter->data)); - } else { /* kanji */ - c1 = (s1 >> 8) & 0xff; - c2 = s1 & 0xff; - SJIS_ENCODE(c1, c2, s1, s2); - CK((*filter->output_function)(s1, filter->data)); - CK((*filter->output_function)(s2, filter->data)); - } - } else { - CK(mbfl_filt_conv_illegal_output(c, filter)); - } - break; - - case 2: - c1 = filter->cache; - filter->cache = 0; - filter->status = 0; - if (c1 == 0xf860) { - for (i = 0; i < 5; i++) { - if (c == code_tbl_m[i][2]) { - filter->cache = c | 0x10000; - filter->status = 3; - break; - } - } - } else if (c1 == 0xf861) { - for (i = 0; i < 3; i++) { - if (c == code_tbl_m[i+5][2]) { - filter->cache = c | 0x20000; - filter->status = 3; - break; - } - } - } else if (c1 == 0xf862) { - for (i = 0; i < 4; i++) { - if (c == code_tbl_m[i+5+3][2]) { - filter->cache = c | 0x40000; - filter->status = 3; - break; - } - } - } - - if (filter->status == 0) { - /* Didn't find any of expected codepoints after Apple transcoding hint */ - CK(mbfl_filt_conv_illegal_output(c1, filter)); - return mbfl_filt_conv_wchar_sjis_mac(c, filter); - } - break; - - case 3: - s1 = 0; - c1 = filter->cache & 0xffff; - mode = (filter->cache & 0xf0000) >> 16; - - filter->cache = filter->status = 0; - - if (mode == 0x1) { - for (i = 0; i < 5; i++) { - if (c1 == code_tbl_m[i][2] && c == code_tbl_m[i][3]) { - s1 = code_tbl_m[i][0]; - break; - } - } - - if (s1 > 0) { - c1 = s1/94+0x21; - c2 = s1-94*(c1-0x21)+0x21; - SJIS_ENCODE(c1, c2, s1, s2); - CK((*filter->output_function)(s1, filter->data)); - CK((*filter->output_function)(s2, filter->data)); - } else { - CK(mbfl_filt_conv_illegal_output(0xf860, filter)); - CK(mbfl_filt_conv_illegal_output(c1, filter)); - CK(mbfl_filt_conv_illegal_output(c, filter)); - } - } else if (mode == 0x2) { - for (i = 0; i < 3; i++) { - if (c1 == code_tbl_m[i+5][2] && c == code_tbl_m[i+5][3]) { - filter->cache = c | 0x20000; - filter->status = 4; - break; - } - } - } else if (mode == 0x4) { - for (i = 0; i < 4; i++) { - if (c1 == code_tbl_m[i+8][2] && c == code_tbl_m[i+8][3]) { - filter->cache = c | 0x40000; - filter->status = 4; - break; - } - } - } - break; - - case 4: - s1 = 0; - c1 = filter->cache & 0xffff; - mode = (filter->cache & 0xf0000) >> 16; - - filter->cache = 0; - filter->status = 0; - - if (mode == 0x2) { - for (i = 0; i < 3; i++) { - if (c1 == code_tbl_m[i+5][3] && c == code_tbl_m[i+5][4]) { - s1 = code_tbl_m[i+5][0]; - break; - } - } - - if (s1 > 0) { - c1 = s1/94+0x21; - c2 = s1-94*(c1-0x21)+0x21; - SJIS_ENCODE(c1, c2, s1, s2); - CK((*filter->output_function)(s1, filter->data)); - CK((*filter->output_function)(s2, filter->data)); - } else { - CK(mbfl_filt_conv_illegal_output(0xf861, filter)); - for (i = 0; i < 3; i++) { - if (c1 == code_tbl_m[i+5][3]) { - CK(mbfl_filt_conv_illegal_output(code_tbl_m[i+5][2], filter)); - break; - } - } - CK(mbfl_filt_conv_illegal_output(c1, filter)); - CK(mbfl_filt_conv_illegal_output(c, filter)); - } - } else if (mode == 0x4) { - for (i = 0; i < 4; i++) { - if (c1 == code_tbl_m[i+8][3] && c == code_tbl_m[i+8][4]) { - filter->cache = c | 0x40000; - filter->status = 5; - break; - } - } - } - break; - - case 5: - s1 = 0; - c1 = filter->cache & 0xffff; - mode = (filter->cache & 0xf0000) >> 16; - - filter->cache = filter->status = 0; - - if (mode == 0x4) { - for (i = 0; i < 4; i++) { - if (c1 == code_tbl_m[i+8][4] && c == code_tbl_m[i+8][5]) { - s1 = code_tbl_m[i+8][0]; - break; - } - } - - if (s1 > 0) { - c1 = s1/94+0x21; - c2 = s1-94*(c1-0x21)+0x21; - SJIS_ENCODE(c1, c2, s1, s2); - CK((*filter->output_function)(s1, filter->data)); - CK((*filter->output_function)(s2, filter->data)); - } else { - CK(mbfl_filt_conv_illegal_output(0xf862, filter)); - for (i = 0; i < 4; i++) { - if (c1 == code_tbl_m[i+8][4]) { - CK(mbfl_filt_conv_illegal_output( code_tbl_m[i+8][2], filter)); - CK(mbfl_filt_conv_illegal_output( code_tbl_m[i+8][3], filter)); - break; - } - } - CK(mbfl_filt_conv_illegal_output(c1, filter)); - CK(mbfl_filt_conv_illegal_output(c, filter)); - } - } - break; - - EMPTY_SWITCH_DEFAULT_CASE(); - } - - return 0; -} - -static int -mbfl_filt_conv_wchar_sjis_mac_flush(mbfl_convert_filter *filter) -{ - int i, c1, s1 = 0; - if (filter->status == 1 && filter->cache > 0) { - c1 = filter->cache; - for (i=0;i 0) { - CK((*filter->output_function)((s1 >> 8) & 0xff, filter->data)); - CK((*filter->output_function)(s1 & 0xff, filter->data)); - } - } - filter->cache = 0; - filter->status = 0; - - if (filter->flush_function != NULL) { - return (*filter->flush_function)(filter->data); - } - - return 0; -} - -static size_t mb_sjismac_to_wchar(unsigned char **in, size_t *in_len, uint32_t *buf, size_t bufsize, unsigned int *state) -{ - /* A single SJIS-Mac kuten code can convert to up to 5 Unicode codepoints, oh my! */ - ZEND_ASSERT(bufsize >= 5); - - unsigned char *p = *in, *e = p + *in_len; - uint32_t *out = buf, *limit = buf + bufsize; - - while (p < e && out < limit) { - unsigned char c = *p++; - - if (c < 0x80 && c != 0x5C) { - *out++ = c; - } else if (c >= 0xA1 && c <= 0xDF) { - *out++ = 0xFEC0 + c; - } else if (c > 0x80 && c <= 0xED && c != 0xA0) { - if (p == e) { - *out++ = MBFL_BAD_INPUT; - break; - } - unsigned char c2 = *p++; - - if (c2 >= 0x40 && c2 <= 0xFC && c2 != 0x7F) { - unsigned int w = 0, s1 = 0, s2 = 0; - SJIS_DECODE(c, c2, s1, s2); - unsigned int s = (s1 - 0x21)*94 + s2 - 0x21; - - if (s <= 0x89) { - if (s == 0x1C) { - w = 0x2014; /* EM DASH */ - } else if (s == 0x1F) { - w = 0xFF3C; /* FULLWIDTH REVERSE SOLIDUS */ - } else if (s == 0x20) { - w = 0x301C; /* FULLWIDTH TILDE */ - } else if (s == 0x21) { - w = 0x2016; /* PARALLEL TO */ - } else if (s == 0x3C) { - w = 0x2212; /* FULLWIDTH HYPHEN-MINUS */ - } else if (s == 0x50) { - w = 0xA2; /* FULLWIDTH CENT SIGN */ - } else if (s == 0x51) { - w = 0xA3; /* FULLWIDTH POUND SIGN */ - } else if (s == 0x89) { - w = 0xAC; /* FULLWIDTH NOT SIGN */ - } - if (w) { - *out++ = w; - continue; - } - } - - for (int i = 0; i < 7; i++) { - if (s >= code_tbl[i][0] && s <= code_tbl[i][1]) { - *out++ = s - code_tbl[i][0] + code_tbl[i][2]; - goto next_iteration; - } - } - - for (int i = 0; i < code_tbl_m_len; i++) { - if (s == code_tbl_m[i][0]) { - int n = 5; - if (code_tbl_m[i][1] == 0xF860) { - n = 3; - } else if (code_tbl_m[i][1] == 0xF861) { - n = 4; - } - if ((limit - out) < n) { - p -= 2; - goto finished; - } - for (int j = 1; j <= n; j++) { - *out++ = code_tbl_m[i][j]; - } - goto next_iteration; - } - } - - for (int i = 0; i < 8; i++) { - if (s >= code_ofst_tbl[i][0] && s <= code_ofst_tbl[i][1]) { - w = code_map[i][s - code_ofst_tbl[i][0]]; - if (!w) { - *out++ = MBFL_BAD_INPUT; - goto next_iteration; - } - if ((limit - out) < 2) { - p -= 2; - goto finished; - } - *out++ = w; - if (s >= 0x43E && s <= 0x441) { - *out++ = 0xF87A; - } else if (s == 0x3B1 || s == 0x3B7) { - *out++ = 0xF87F; - } else if (s == 0x4B8 || s == 0x4B9 || s == 0x4C4) { - *out++ = 0x20DD; - } else if (s == 0x1ED9 || s == 0x1EDA || s == 0x1EE8 || s == 0x1EF3 || (s >= 0x1EF5 && s <= 0x1EFB) || s == 0x1F05 || s == 0x1F06 || s == 0x1F18 || (s >= 0x1FF2 && s <= 0x20A5)) { - *out++ = 0xF87E; - } - goto next_iteration; - } - } - - if (s < jisx0208_ucs_table_size) { - w = jisx0208_ucs_table[s]; - } - - if (!w) - w = MBFL_BAD_INPUT; - *out++ = w; - } else { - *out++ = MBFL_BAD_INPUT; - } - } else if (c == 0x5C) { - *out++ = 0xA5; - } else if (c == 0x80) { - *out++ = 0x5C; - } else if (c == 0xA0) { - *out++ = 0xA0; - } else if (c == 0xFD) { - *out++ = 0xA9; - } else if (c == 0xFE) { - *out++ = 0x2122; - } else if (c == 0xFF) { - if ((limit - out) < 2) { - p--; - break; - } - *out++ = 0x2026; - *out++ = 0xF87F; - } else { - *out++ = MBFL_BAD_INPUT; - } -next_iteration: ; - } - -finished: - *in_len = e - p; - *in = p; - return out - buf; -} - -static bool process_s_form(uint32_t w, uint32_t w2, unsigned int *s) -{ - if (w2 == 0xF87A) { - for (int i = 0; i < 4; i++) { - if (w == s_form_tbl[i+34+3+3]) { - *s = s_form_sjis_tbl[i+34+3+3]; - return true; - } - } - } else if (w2 == 0x20DD) { - for (int i = 0; i < 3; i++) { - if (w == s_form_tbl[i+34+3]) { - *s = s_form_sjis_tbl[i+34+3]; - return true; - } - } - } else if (w2 == 0xF87F) { - for (int i = 0; i < 3; i++) { - if (w == s_form_tbl[i+34]) { - *s = s_form_sjis_tbl[i+34]; - return true; - } - } - } else if (w2 == 0xF87E) { - for (int i = 0; i < 34; i++) { - if (w == s_form_tbl[i]) { - *s = s_form_sjis_tbl[i]; - return true; - } - } - } - - return false; -} - -/* For codepoints F860-F862, which are treated specially in MacJapanese */ -static int transcoding_hint_cp_width[3] = { 3, 4, 5 }; - -static void mb_wchar_to_sjismac(uint32_t *in, size_t len, mb_convert_buf *buf, bool end) -{ - unsigned char *out, *limit; - MB_CONVERT_BUF_LOAD(buf, out, limit); - MB_CONVERT_BUF_ENSURE(buf, out, limit, len); - - uint32_t w; - - if (buf->state) { - w = buf->state & 0xFFFF; - if (buf->state & 0xFF000000L) { - goto resume_transcoding_hint; - } else { - buf->state = 0; - goto process_codepoint; - } - } - - while (len--) { - w = *in++; -process_codepoint: ; - unsigned int s = 0; - - if (w >= ucs_a1_jis_table_min && w < ucs_a1_jis_table_max) { - if (w == 0x5C) { - s = 0x80; - } else if (w == 0xA9) { - s = 0xFD; - } else { - s = ucs_a1_jis_table[w - ucs_a1_jis_table_min]; - } - } else if (w >= ucs_a2_jis_table_min && w < ucs_a2_jis_table_max) { - if (w == 0x2122) { - s = 0xFE; - } else if (w == 0x2014) { - s = 0x213D; - } else if (w == 0x2116) { - s = 0x2C1D; - } else { - s = ucs_a2_jis_table[w - ucs_a2_jis_table_min]; - } - } else if (w >= ucs_i_jis_table_min && w < ucs_i_jis_table_max) { - s = ucs_i_jis_table[w - ucs_i_jis_table_min]; - } else if (w >= ucs_r_jis_table_min && w < ucs_r_jis_table_max) { - s = ucs_r_jis_table[w - ucs_r_jis_table_min]; - } - - if (w >= 0x2000) { - for (int i = 0; i < s_form_tbl_len; i++) { - if (w == s_form_tbl[i]) { - if (!len) { - if (end) { - s = s_form_sjis_fallback_tbl[i]; - if (s) { - MB_CONVERT_BUF_ENSURE(buf, out, limit, 2); - out = mb_convert_buf_add2(out, (s >> 8) & 0xFF, s & 0xFF); - } else { - MB_CONVERT_ERROR(buf, out, limit, w, mb_wchar_to_sjismac); - } - } else { - buf->state = w; - } - MB_CONVERT_BUF_STORE(buf, out, limit); - return; - } - uint32_t w2 = *in++; - len--; - - if (!process_s_form(w, w2, &s)) { - in--; len++; - - for (int i = 0; i < s_form_tbl_len; i++) { - if (w == s_form_tbl[i]) { - s = s_form_sjis_fallback_tbl[i]; - break; - } - } - } - - if (s <= 0xFF) { - out = mb_convert_buf_add(out, s); - } else { - MB_CONVERT_BUF_ENSURE(buf, out, limit, len + 2); - out = mb_convert_buf_add2(out, (s >> 8) & 0xFF, s & 0xFF); - } - - goto next_iteration; - } - } - - if (w == 0xF860 || w == 0xF861 || w == 0xF862) { - /* Apple 'transcoding hint' codepoints (from private use area) */ - if (!len) { - if (end) { - MB_CONVERT_ERROR(buf, out, limit, w, mb_wchar_to_sjismac); - } else { - buf->state = w; - } - MB_CONVERT_BUF_STORE(buf, out, limit); - return; - } - - uint32_t w2 = *in++; - len--; - - for (int i = 0; i < code_tbl_m_len; i++) { - if (w == code_tbl_m[i][1] && w2 == code_tbl_m[i][2]) { - /* This might be a valid transcoding hint sequence */ - int index = 3; - -resume_transcoding_hint: - if (buf->state) { - i = buf->state >> 24; - index = (buf->state >> 16) & 0xFF; - buf->state = 0; - } - - int expected = transcoding_hint_cp_width[w - 0xF860]; - - while (index <= expected) { - if (!len) { - if (end) { - for (int j = 1; j < index; j++) { - MB_CONVERT_ERROR(buf, out, limit, code_tbl_m[i][j], mb_wchar_to_sjismac); - } - } else { - buf->state = (i << 24) | (index << 16) | (w & 0xFFFF); - } - MB_CONVERT_BUF_STORE(buf, out, limit); - return; - } - - w2 = *in++; - len--; - - if (w2 != code_tbl_m[i][index]) { - /* Didn't match */ - for (int j = 1; j < index; j++) { - MB_CONVERT_ERROR(buf, out, limit, code_tbl_m[i][j], mb_wchar_to_sjismac); - } - MB_CONVERT_ERROR(buf, out, limit, w2, mb_wchar_to_sjismac); - MB_CONVERT_BUF_ENSURE(buf, out, limit, len); - goto next_iteration; - } - - index++; - } - - /* Successful match, emit SJIS-mac bytes */ - s = code_tbl_m[i][0]; - unsigned int c1 = (s / 94) + 0x21, c2 = (s % 94) + 0x21, s1, s2; - SJIS_ENCODE(c1, c2, s1, s2); - MB_CONVERT_BUF_ENSURE(buf, out, limit, len + 2); - out = mb_convert_buf_add2(out, s1, s2); - goto next_iteration; - } - } - - /* No valid transcoding hint sequence found */ - in--; len++; - MB_CONVERT_ERROR(buf, out, limit, w, mb_wchar_to_sjismac); - MB_CONVERT_BUF_ENSURE(buf, out, limit, len); - continue; - } - } - - if (!s) { - if (w == 0xA0) { - s = 0xA0; - } else if (w == 0xA5) { /* YEN SIGN */ - /* Unicode has codepoint 0xFFE5 for a fullwidth Yen sign; - * convert codepoint 0xA5 to halfwidth Yen sign */ - s = 0x5C; /* HALFWIDTH YEN SIGN */ - } else if (w == 0xFF3C) { /* FULLWIDTH REVERSE SOLIDUS */ - s = 0x2140; - } else { - for (int i = 0; i < wchar2sjis_mac_r_tbl_len; i++) { - if (w >= wchar2sjis_mac_r_tbl[i][0] && w <= wchar2sjis_mac_r_tbl[i][1]) { - s = w - wchar2sjis_mac_r_tbl[i][0] + wchar2sjis_mac_r_tbl[i][2]; - s = (((s / 94) + 0x21) << 8) | ((s % 94) + 0x21); - goto found_kuten_code; - } - } - - for (int i = 0; i < wchar2sjis_mac_r_map_len; i++) { - if (w >= wchar2sjis_mac_r_map[i][0] && w <= wchar2sjis_mac_r_map[i][1]) { - s = wchar2sjis_mac_code_map[i][w - wchar2sjis_mac_r_map[i][0]]; - if (s) { - s = (((s / 94) + 0x21) << 8) | ((s % 94) + 0x21); - goto found_kuten_code; - } - } - } - - for (int i = 0; i < wchar2sjis_mac_wchar_tbl_len; i++) { - if (w == wchar2sjis_mac_wchar_tbl[i][0]) { - s = wchar2sjis_mac_wchar_tbl[i][1]; - s = (((s / 94) + 0x21) << 8) | ((s % 94) + 0x21); - goto found_kuten_code; - } - } - } - } - -found_kuten_code: - if ((!s && w) || s >= 0x8080) { - MB_CONVERT_ERROR(buf, out, limit, w, mb_wchar_to_sjismac); - MB_CONVERT_BUF_ENSURE(buf, out, limit, len); - } else if (s <= 0xFF) { - out = mb_convert_buf_add(out, s); - } else { - unsigned int c1 = (s >> 8) & 0xFF, c2 = s & 0xFF, s1, s2; - SJIS_ENCODE(c1, c2, s1, s2); - MB_CONVERT_BUF_ENSURE(buf, out, limit, len + 2); - out = mb_convert_buf_add2(out, s1, s2); - } - -next_iteration: ; - } - - MB_CONVERT_BUF_STORE(buf, out, limit); -} diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis_mac.h b/ext/mbstring/libmbfl/filters/mbfilter_sjis_mac.h index 970d14a4c9c18..58d8eb2ab03e4 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis_mac.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_sjis_mac.h @@ -36,7 +36,4 @@ extern const mbfl_encoding mbfl_encoding_sjis_mac; extern const struct mbfl_convert_vtbl vtbl_sjis_mac_wchar; extern const struct mbfl_convert_vtbl vtbl_wchar_sjis_mac; -int mbfl_filt_conv_sjis_mac_wchar(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_wchar_sjis_mac(int c, mbfl_convert_filter *filter); - #endif /* MBFL_MBFILTER_SJIS_MAC_H */ From 005e49e55287422ef922be7ac42d9359ad802500 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Sat, 3 Dec 2022 13:16:18 +0200 Subject: [PATCH 36/50] Optimize MacJapanese decoder for speed On longer MacJapanese strings, conversion speed is boosted by 60-80%. On medium-length strings, conversion speed is boosted around 20-30%. For very short strings, there is no appreciable difference. --- ext/mbstring/libmbfl/filters/mbfilter_sjis.c | 146 ++++++++++--------- ext/mbstring/libmbfl/filters/sjis_mac2uni.h | 2 +- 2 files changed, 76 insertions(+), 72 deletions(-) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis.c b/ext/mbstring/libmbfl/filters/mbfilter_sjis.c index 694c08efca3ac..8f1352c0a7630 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_sjis.c @@ -966,91 +966,95 @@ static size_t mb_sjismac_to_wchar(unsigned char **in, size_t *in_len, uint32_t * break; } unsigned char c2 = *p++; + uint32_t w = sjis_decode_tbl1[c] + sjis_decode_tbl2[c2]; - if (c2 >= 0x40 && c2 <= 0xFC && c2 != 0x7F) { - unsigned int w = 0, s1 = 0, s2 = 0; - SJIS_DECODE(c, c2, s1, s2); - unsigned int s = (s1 - 0x21)*94 + s2 - 0x21; - - if (s <= 0x89) { - if (s == 0x1C) { - w = 0x2014; /* EM DASH */ - } else if (s == 0x1F) { - w = 0xFF3C; /* FULLWIDTH REVERSE SOLIDUS */ - } else if (s == 0x20) { - w = 0x301C; /* FULLWIDTH TILDE */ - } else if (s == 0x21) { - w = 0x2016; /* PARALLEL TO */ - } else if (s == 0x3C) { - w = 0x2212; /* FULLWIDTH HYPHEN-MINUS */ - } else if (s == 0x50) { - w = 0xA2; /* FULLWIDTH CENT SIGN */ - } else if (s == 0x51) { - w = 0xA3; /* FULLWIDTH POUND SIGN */ - } else if (s == 0x89) { - w = 0xAC; /* FULLWIDTH NOT SIGN */ - } - if (w) { - *out++ = w; - continue; - } + if (w <= 0x89) { + if (w == 0x1C) { + *out++ = 0x2014; /* EM DASH */ + continue; + } else if (w == 0x1F) { + *out++ = 0xFF3C; /* FULLWIDTH REVERSE SOLIDUS */ + continue; + } else if (w == 0x20) { + *out++ = 0x301C; /* FULLWIDTH TILDE */ + continue; + } else if (w == 0x21) { + *out++ = 0x2016; /* PARALLEL TO */ + continue; + } else if (w == 0x3C) { + *out++ = 0x2212; /* FULLWIDTH HYPHEN-MINUS */ + continue; + } else if (w == 0x50) { + *out++ = 0xA2; /* FULLWIDTH CENT SIGN */ + continue; + } else if (w == 0x51) { + *out++ = 0xA3; /* FULLWIDTH POUND SIGN */ + continue; + } else if (w == 0x89) { + *out++ = 0xAC; /* FULLWIDTH NOT SIGN */ + continue; } - - for (int i = 0; i < 7; i++) { - if (s >= code_tbl[i][0] && s <= code_tbl[i][1]) { - *out++ = s - code_tbl[i][0] + code_tbl[i][2]; - goto next_iteration; + } else { + if (w >= 0x2F0 && w <= 0x3A3) { + for (int i = 0; i < 7; i++) { + if (w >= code_tbl[i][0] && w <= code_tbl[i][1]) { + *out++ = w - code_tbl[i][0] + code_tbl[i][2]; + goto next_iteration; + } } } - for (int i = 0; i < code_tbl_m_len; i++) { - if (s == code_tbl_m[i][0]) { - int n = 5; - if (code_tbl_m[i][1] == 0xF860) { - n = 3; - } else if (code_tbl_m[i][1] == 0xF861) { - n = 4; - } - if ((limit - out) < n) { - p -= 2; - goto finished; - } - for (int j = 1; j <= n; j++) { - *out++ = code_tbl_m[i][j]; + if (w >= 0x340 && w <= 0x523) { + for (int i = 0; i < code_tbl_m_len; i++) { + if (w == code_tbl_m[i][0]) { + int n = 5; + if (code_tbl_m[i][1] == 0xF860) { + n = 3; + } else if (code_tbl_m[i][1] == 0xF861) { + n = 4; + } + if ((limit - out) < n) { + p -= 2; + goto finished; + } + for (int j = 1; j <= n; j++) { + *out++ = code_tbl_m[i][j]; + } + goto next_iteration; } - goto next_iteration; } } - for (int i = 0; i < 8; i++) { - if (s >= code_ofst_tbl[i][0] && s <= code_ofst_tbl[i][1]) { - w = code_map[i][s - code_ofst_tbl[i][0]]; - if (!w) { - *out++ = MBFL_BAD_INPUT; + if (w >= 0x3AC && w <= 0x20A5) { + for (int i = 0; i < 8; i++) { + if (w >= code_ofst_tbl[i][0] && w <= code_ofst_tbl[i][1]) { + uint32_t w2 = code_map[i][w - code_ofst_tbl[i][0]]; + if (!w2) { + *out++ = MBFL_BAD_INPUT; + goto next_iteration; + } + if ((limit - out) < 2) { + p -= 2; + goto finished; + } + *out++ = w2; + if (w >= 0x43E && w <= 0x441) { + *out++ = 0xF87A; + } else if (w == 0x3B1 || w == 0x3B7) { + *out++ = 0xF87F; + } else if (w == 0x4B8 || w == 0x4B9 || w == 0x4C4) { + *out++ = 0x20DD; + } else if (w == 0x1ED9 || w == 0x1EDA || w == 0x1EE8 || w == 0x1EF3 || (w >= 0x1EF5 && w <= 0x1EFB) || w == 0x1F05 || w == 0x1F06 || w == 0x1F18 || (w >= 0x1FF2 && w <= 0x20A5)) { + *out++ = 0xF87E; + } goto next_iteration; } - if ((limit - out) < 2) { - p -= 2; - goto finished; - } - *out++ = w; - if (s >= 0x43E && s <= 0x441) { - *out++ = 0xF87A; - } else if (s == 0x3B1 || s == 0x3B7) { - *out++ = 0xF87F; - } else if (s == 0x4B8 || s == 0x4B9 || s == 0x4C4) { - *out++ = 0x20DD; - } else if (s == 0x1ED9 || s == 0x1EDA || s == 0x1EE8 || s == 0x1EF3 || (s >= 0x1EF5 && s <= 0x1EFB) || s == 0x1F05 || s == 0x1F06 || s == 0x1F18 || (s >= 0x1FF2 && s <= 0x20A5)) { - *out++ = 0xF87E; - } - goto next_iteration; } } + } - if (s < jisx0208_ucs_table_size) { - w = jisx0208_ucs_table[s]; - } - + if (w < jisx0208_ucs_table_size) { + w = jisx0208_ucs_table[w]; if (!w) w = MBFL_BAD_INPUT; *out++ = w; diff --git a/ext/mbstring/libmbfl/filters/sjis_mac2uni.h b/ext/mbstring/libmbfl/filters/sjis_mac2uni.h index 0b953132d9799..34acf5e405665 100644 --- a/ext/mbstring/libmbfl/filters/sjis_mac2uni.h +++ b/ext/mbstring/libmbfl/filters/sjis_mac2uni.h @@ -223,7 +223,7 @@ static const unsigned short code_tbl[][3] = { {0x038a, 0x03a3, 0x249c}, }; -static const unsigned short code_ofst_tbl[] [2]= { +static const unsigned short code_ofst_tbl[][2] = { {0x03ac, 0x03c9}, {0x0406, 0x0420}, {0x0432, 0x0441}, From 4ebfddfad43acfb3e1a4248e9e461ea3f6c81755 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Sat, 3 Dec 2022 13:29:37 +0200 Subject: [PATCH 37/50] Move mobile variants of SJIS into mbfilter_sjis.c --- ext/mbstring/config.m4 | 1 - ext/mbstring/config.w32 | 2 +- ext/mbstring/libmbfl/filters/mbfilter_sjis.c | 1569 +++++++++++++++- .../libmbfl/filters/mbfilter_sjis_mobile.c | 1632 ----------------- .../libmbfl/filters/mbfilter_sjis_mobile.h | 2 - 5 files changed, 1552 insertions(+), 1654 deletions(-) delete mode 100644 ext/mbstring/libmbfl/filters/mbfilter_sjis_mobile.c diff --git a/ext/mbstring/config.m4 b/ext/mbstring/config.m4 index ef2d28cc53985..db2298661920f 100644 --- a/ext/mbstring/config.m4 +++ b/ext/mbstring/config.m4 @@ -115,7 +115,6 @@ AC_DEFUN([PHP_MBSTRING_SETUP_LIBMBFL], [ libmbfl/filters/mbfilter_qprint.c libmbfl/filters/mbfilter_singlebyte.c libmbfl/filters/mbfilter_sjis.c - libmbfl/filters/mbfilter_sjis_mobile.c libmbfl/filters/mbfilter_sjis_2004.c libmbfl/filters/mbfilter_ucs2.c libmbfl/filters/mbfilter_ucs4.c diff --git a/ext/mbstring/config.w32 b/ext/mbstring/config.w32 index 32d03084af0a9..5ba672434356e 100644 --- a/ext/mbstring/config.w32 +++ b/ext/mbstring/config.w32 @@ -26,7 +26,7 @@ if (PHP_MBSTRING != "no") { mbfilter_ucs4.c mbfilter_uhc.c mbfilter_utf16.c mbfilter_utf32.c \ mbfilter_utf7.c mbfilter_utf7imap.c mbfilter_utf8.c \ mbfilter_utf8_mobile.c mbfilter_uuencode.c \ - mbfilter_cp5022x.c mbfilter_sjis_mobile.c \ + mbfilter_cp5022x.c \ mbfilter_iso2022jp_mobile.c mbfilter_singlebyte.c", "mbstring"); ADD_SOURCES("ext/mbstring/libmbfl/mbfl", "mbfilter.c mbfilter_8bit.c \ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis.c b/ext/mbstring/libmbfl/filters/mbfilter_sjis.c index 8f1352c0a7630..b8d146c5635a5 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_sjis.c @@ -30,6 +30,7 @@ #include "mbfilter.h" #include "mbfilter_sjis.h" #include "mbfilter_sjis_mac.h" +#include "mbfilter_sjis_mobile.h" #define UNICODE_TABLE_CP932_DEF #define UNICODE_TABLE_JIS_DEF @@ -37,6 +38,9 @@ #include "unicode_table_cp932_ext.h" #include "unicode_table_jis.h" #include "sjis_mac2uni.h" +#include "emoji2uni.h" + +extern int mbfl_bisec_srch2(int w, const unsigned short tbl[], int n); static int mbfl_filt_conv_sjis_wchar_flush(mbfl_convert_filter *filter); static size_t mb_sjis_to_wchar(unsigned char **in, size_t *in_len, uint32_t *buf, size_t bufsize, unsigned int *state); @@ -45,10 +49,18 @@ static void mb_wchar_to_sjis(uint32_t *in, size_t len, mb_convert_buf *buf, bool static int mbfl_filt_conv_sjis_mac_wchar(int c, mbfl_convert_filter *filter); static int mbfl_filt_conv_wchar_sjis_mac(int c, mbfl_convert_filter *filter); static int mbfl_filt_conv_wchar_sjis_mac_flush(mbfl_convert_filter *filter); -static int mbfl_filt_conv_sjis_mac_wchar_flush(mbfl_convert_filter *filter); static size_t mb_sjismac_to_wchar(unsigned char **in, size_t *in_len, uint32_t *buf, size_t bufsize, unsigned int *state); static void mb_wchar_to_sjismac(uint32_t *in, size_t len, mb_convert_buf *buf, bool end); +static int mbfl_filt_conv_wchar_sjis_mobile(int c, mbfl_convert_filter *filter); +static int mbfl_filt_conv_sjis_mobile_wchar(int c, mbfl_convert_filter *filter); +static size_t mb_sjis_docomo_to_wchar(unsigned char **in, size_t *in_len, uint32_t *buf, size_t bufsize, unsigned int *state); +static void mb_wchar_to_sjis_docomo(uint32_t *in, size_t len, mb_convert_buf *buf, bool end); +static size_t mb_sjis_kddi_to_wchar(unsigned char **in, size_t *in_len, uint32_t *buf, size_t bufsize, unsigned int *state); +static void mb_wchar_to_sjis_kddi(uint32_t *in, size_t len, mb_convert_buf *buf, bool end); +static size_t mb_sjis_sb_to_wchar(unsigned char **in, size_t *in_len, uint32_t *buf, size_t bufsize, unsigned int *state); +static void mb_wchar_to_sjis_sb(uint32_t *in, size_t len, mb_convert_buf *buf, bool end); + const unsigned char mblen_table_sjis[] = { /* 0x80-0x9f,0xE0-0xFF */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -124,7 +136,7 @@ const struct mbfl_convert_vtbl vtbl_sjis_mac_wchar = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_sjis_mac_wchar, - mbfl_filt_conv_sjis_mac_wchar_flush, + mbfl_filt_conv_sjis_wchar_flush, NULL, }; @@ -138,6 +150,109 @@ const struct mbfl_convert_vtbl vtbl_wchar_sjis_mac = { NULL, }; +static const char *mbfl_encoding_sjis_docomo_aliases[] = {"SJIS-DOCOMO", "shift_jis-imode", "x-sjis-emoji-docomo", NULL}; +static const char *mbfl_encoding_sjis_kddi_aliases[] = {"SJIS-KDDI", "shift_jis-kddi", "x-sjis-emoji-kddi", NULL}; +static const char *mbfl_encoding_sjis_sb_aliases[] = {"SJIS-SOFTBANK", "shift_jis-softbank", "x-sjis-emoji-softbank", NULL}; + +const mbfl_encoding mbfl_encoding_sjis_docomo = { + mbfl_no_encoding_sjis_docomo, + "SJIS-Mobile#DOCOMO", + "Shift_JIS", + mbfl_encoding_sjis_docomo_aliases, + mblen_table_sjis, + MBFL_ENCTYPE_GL_UNSAFE, + &vtbl_sjis_docomo_wchar, + &vtbl_wchar_sjis_docomo, + mb_sjis_docomo_to_wchar, + mb_wchar_to_sjis_docomo +}; + +const mbfl_encoding mbfl_encoding_sjis_kddi = { + mbfl_no_encoding_sjis_kddi, + "SJIS-Mobile#KDDI", + "Shift_JIS", + mbfl_encoding_sjis_kddi_aliases, + mblen_table_sjis, + MBFL_ENCTYPE_GL_UNSAFE, + &vtbl_sjis_kddi_wchar, + &vtbl_wchar_sjis_kddi, + mb_sjis_kddi_to_wchar, + mb_wchar_to_sjis_kddi +}; + +const mbfl_encoding mbfl_encoding_sjis_sb = { + mbfl_no_encoding_sjis_sb, + "SJIS-Mobile#SOFTBANK", + "Shift_JIS", + mbfl_encoding_sjis_sb_aliases, + mblen_table_sjis, + MBFL_ENCTYPE_GL_UNSAFE, + &vtbl_sjis_sb_wchar, + &vtbl_wchar_sjis_sb, + mb_sjis_sb_to_wchar, + mb_wchar_to_sjis_sb +}; + +const struct mbfl_convert_vtbl vtbl_sjis_docomo_wchar = { + mbfl_no_encoding_sjis_docomo, + mbfl_no_encoding_wchar, + mbfl_filt_conv_common_ctor, + NULL, + mbfl_filt_conv_sjis_mobile_wchar, + mbfl_filt_conv_sjis_wchar_flush, + NULL, +}; + +const struct mbfl_convert_vtbl vtbl_wchar_sjis_docomo = { + mbfl_no_encoding_wchar, + mbfl_no_encoding_sjis_docomo, + mbfl_filt_conv_common_ctor, + NULL, + mbfl_filt_conv_wchar_sjis_mobile, + mbfl_filt_conv_sjis_mobile_flush, + NULL, +}; + +const struct mbfl_convert_vtbl vtbl_sjis_kddi_wchar = { + mbfl_no_encoding_sjis_kddi, + mbfl_no_encoding_wchar, + mbfl_filt_conv_common_ctor, + NULL, + mbfl_filt_conv_sjis_mobile_wchar, + mbfl_filt_conv_sjis_wchar_flush, + NULL, +}; + +const struct mbfl_convert_vtbl vtbl_wchar_sjis_kddi = { + mbfl_no_encoding_wchar, + mbfl_no_encoding_sjis_kddi, + mbfl_filt_conv_common_ctor, + NULL, + mbfl_filt_conv_wchar_sjis_mobile, + mbfl_filt_conv_sjis_mobile_flush, + NULL, +}; + +const struct mbfl_convert_vtbl vtbl_sjis_sb_wchar = { + mbfl_no_encoding_sjis_sb, + mbfl_no_encoding_wchar, + mbfl_filt_conv_common_ctor, + NULL, + mbfl_filt_conv_sjis_mobile_wchar, + mbfl_filt_conv_sjis_wchar_flush, + NULL, +}; + +const struct mbfl_convert_vtbl vtbl_wchar_sjis_sb = { + mbfl_no_encoding_wchar, + mbfl_no_encoding_sjis_sb, + mbfl_filt_conv_common_ctor, + NULL, + mbfl_filt_conv_wchar_sjis_mobile, + mbfl_filt_conv_sjis_mobile_flush, + NULL, +}; + #define CK(statement) do { if ((statement) < 0) return (-1); } while (0) #define SJIS_ENCODE(c1,c2,s1,s2) \ @@ -225,10 +340,10 @@ int mbfl_filt_conv_sjis_wchar(int c, mbfl_convert_filter *filter) static int mbfl_filt_conv_sjis_wchar_flush(mbfl_convert_filter *filter) { - if (filter->status) { + if (filter->status && filter->status != 4) { (*filter->output_function)(MBFL_BAD_INPUT, filter->data); - filter->status = 0; } + filter->status = 0; if (filter->flush_function) { (*filter->flush_function)(filter->data); @@ -538,20 +653,6 @@ static int mbfl_filt_conv_sjis_mac_wchar(int c, mbfl_convert_filter *filter) return 0; } -static int mbfl_filt_conv_sjis_mac_wchar_flush(mbfl_convert_filter *filter) -{ - if (filter->status == 1) { - filter->status = 0; - CK((*filter->output_function)(MBFL_BAD_INPUT, filter->data)); - } - - if (filter->flush_function) { - (*filter->flush_function)(filter->data); - } - - return 0; -} - static int mbfl_filt_conv_wchar_sjis_mac(int c, mbfl_convert_filter *filter) { int i, c1, c2, s1 = 0, s2 = 0, mode; @@ -1350,3 +1451,1435 @@ next_iteration: ; MB_CONVERT_BUF_STORE(buf, out, limit); } + +static const char nflags_s[10][2] = {"CN","DE","ES","FR","GB","IT","JP","KR","RU","US"}; +static const int nflags_code_kddi[10] = {0x2549, 0x2546, 0x24c0, 0x2545, 0x2548, 0x2547, 0x2750, 0x254a, 0x24c1, 0x27f7}; +static const int nflags_code_sb[10] = {0x2b0a, 0x2b05, 0x2b08, 0x2b04, 0x2b07, 0x2b06, 0x2b02, 0x2b0b, 0x2b09, 0x2b03}; + +const unsigned short mbfl_docomo2uni_pua[4][3] = { + {0x28c2, 0x292f, 0xe63e}, + {0x2930, 0x2934, 0xe6ac}, + {0x2935, 0x2951, 0xe6b1}, + {0x2952, 0x29db, 0xe6ce}, +}; + +const unsigned short mbfl_kddi2uni_pua[7][3] = { + {0x26ec, 0x2838, 0xe468}, + {0x284c, 0x2863, 0xe5b5}, + {0x24b8, 0x24ca, 0xe5cd}, + {0x24cb, 0x2545, 0xea80}, + {0x2839, 0x284b, 0xeafb}, + {0x2546, 0x25c0, 0xeb0e}, + {0x25c1, 0x25c6, 0xeb89}, +}; + +const unsigned short mbfl_sb2uni_pua[6][3] = { + {0x27a9, 0x2802, 0xe101}, + {0x2808, 0x2861, 0xe201}, + {0x2921, 0x297a, 0xe001}, + {0x2980, 0x29cc, 0xe301}, + {0x2a99, 0x2ae4, 0xe401}, + {0x2af8, 0x2b35, 0xe501}, +}; + +const unsigned short mbfl_kddi2uni_pua_b[8][3] = { + {0x24b8, 0x24f6, 0xec40}, + {0x24f7, 0x2573, 0xec80}, + {0x2574, 0x25b2, 0xed40}, + {0x25b3, 0x25c6, 0xed80}, + {0x26ec, 0x272a, 0xef40}, + {0x272b, 0x27a7, 0xef80}, + {0x27a8, 0x27e6, 0xf040}, + {0x27e7, 0x2863, 0xf080}, +}; + +/* Regional Indicator Unicode codepoints are from 0x1F1E6-0x1F1FF + * These correspond to the letters A-Z + * To display the flag emoji for a country, two unicode codepoints are combined, + * which correspond to the two-letter code for that country + * This macro converts uppercase ASCII values to Regional Indicator codepoints */ +#define NFLAGS(c) (0x1F1A5+(int)(c)) + +int mbfilter_conv_map_tbl(int c, int *w, const unsigned short map[][3], int n) +{ + for (int i = 0; i < n; i++) { + if (map[i][0] <= c && c <= map[i][1]) { + *w = c - map[i][0] + map[i][2]; + return 1; + } + } + return 0; +} + +int mbfilter_conv_r_map_tbl(int c, int *w, const unsigned short map[][3], int n) +{ + /* Convert in reverse direction */ + for (int i = 0; i < n; i++) { + if (map[i][2] <= c && c <= map[i][2] - map[i][0] + map[i][1]) { + *w = c + map[i][0] - map[i][2]; + return 1; + } + } + return 0; +} + +/* number -> (ku*94)+ten value for telephone keypad character */ +#define DOCOMO_KEYPAD(n) ((n) == 0 ? 0x296F : (0x2965 + (n))) +#define DOCOMO_KEYPAD_HASH 0x2964 + +#define EMIT_KEYPAD_EMOJI(c) do { *snd = (c); return 0x20E3; } while(0) + +/* Unicode codepoints for emoji are above 0x1F000, but we only store 16-bits + * in our tables. Therefore, add 0x10000 to recover the true values. + * + * Again, for some emoji which are not supported by Unicode, we use codepoints + * in the Private Use Area above 0xFE000. Again, add 0xF0000 to recover the + * true value. */ +static inline int convert_emoji_cp(int cp) +{ + if (cp > 0xF000) + return cp + 0x10000; + else if (cp > 0xE000) + return cp + 0xF0000; + return cp; +} + +int mbfilter_sjis_emoji_docomo2unicode(int s, int *snd) +{ + /* All three mobile vendors had emoji for numbers on a telephone keypad + * Unicode doesn't have those, but it has a combining character which puts + * a 'keypad button' around the following character, making it look like + * a key on a telephone or keyboard. That combining char is codepoint 0x20E3. */ + if (s >= mb_tbl_code2uni_docomo1_min && s <= mb_tbl_code2uni_docomo1_max) { + if ((s >= DOCOMO_KEYPAD(1) && s <= DOCOMO_KEYPAD(9)) || s == DOCOMO_KEYPAD(0) || s == DOCOMO_KEYPAD_HASH) { + EMIT_KEYPAD_EMOJI(convert_emoji_cp(mb_tbl_code2uni_docomo1[s - mb_tbl_code2uni_docomo1_min])); + } else { + *snd = 0; + return convert_emoji_cp(mb_tbl_code2uni_docomo1[s - mb_tbl_code2uni_docomo1_min]); + } + } + return 0; +} + +#define EMIT_FLAG_EMOJI(country) do { *snd = NFLAGS((country)[0]); return NFLAGS((country)[1]); } while(0) + +static const char nflags_kddi[6][2] = {"FR", "DE", "IT", "GB", "CN", "KR"}; + +int mbfilter_sjis_emoji_kddi2unicode(int s, int *snd) +{ + if (s >= mb_tbl_code2uni_kddi1_min && s <= mb_tbl_code2uni_kddi1_max) { + if (s == 0x24C0) { /* Spain */ + EMIT_FLAG_EMOJI("ES"); + } else if (s == 0x24C1) { /* Russia */ + EMIT_FLAG_EMOJI("RU"); + } else if (s >= 0x2545 && s <= 0x254A) { + EMIT_FLAG_EMOJI(nflags_kddi[s - 0x2545]); + } else if (s == 0x25BC) { + EMIT_KEYPAD_EMOJI('#'); + } else { + *snd = 0; + return convert_emoji_cp(mb_tbl_code2uni_kddi1[s - mb_tbl_code2uni_kddi1_min]); + } + } else if (s >= mb_tbl_code2uni_kddi2_min && s <= mb_tbl_code2uni_kddi2_max) { + if (s == 0x2750) { /* Japan */ + EMIT_FLAG_EMOJI("JP"); + } else if (s >= 0x27A6 && s <= 0x27AE) { + EMIT_KEYPAD_EMOJI(s - 0x27A6 + '1'); + } else if (s == 0x27F7) { /* United States */ + EMIT_FLAG_EMOJI("US"); + } else if (s == 0x2830) { + EMIT_KEYPAD_EMOJI('0'); + } else { + *snd = 0; + return convert_emoji_cp(mb_tbl_code2uni_kddi2[s - mb_tbl_code2uni_kddi2_min]); + } + } + return 0; +} + +static const char nflags_sb[10][2] = {"JP", "US", "FR", "DE", "IT", "GB", "ES", "RU", "CN", "KR"}; + +int mbfilter_sjis_emoji_sb2unicode(int s, int *snd) +{ + if (s >= mb_tbl_code2uni_sb1_min && s <= mb_tbl_code2uni_sb1_max) { + if (s == 0x2817 || (s >= 0x2823 && s <= 0x282C)) { + EMIT_KEYPAD_EMOJI(mb_tbl_code2uni_sb1[s - mb_tbl_code2uni_sb1_min]); + } else { + *snd = 0; + return convert_emoji_cp(mb_tbl_code2uni_sb1[s - mb_tbl_code2uni_sb1_min]); + } + } else if (s >= mb_tbl_code2uni_sb2_min && s <= mb_tbl_code2uni_sb2_max) { + *snd = 0; + return convert_emoji_cp(mb_tbl_code2uni_sb2[s - mb_tbl_code2uni_sb2_min]); + } else if (s >= mb_tbl_code2uni_sb3_min && s <= mb_tbl_code2uni_sb3_max) { + if (s >= 0x2B02 && s <= 0x2B0B) { + EMIT_FLAG_EMOJI(nflags_sb[s - 0x2B02]); + } else { + *snd = 0; + return convert_emoji_cp(mb_tbl_code2uni_sb3[s - mb_tbl_code2uni_sb3_min]); + } + } + return 0; +} + +int mbfilter_unicode2sjis_emoji_docomo(int c, int *s1, mbfl_convert_filter *filter) +{ + /* When converting SJIS-Mobile to Unicode, we convert keypad symbol emoji + * to a sequence of 2 codepoints, one of which is a combining character which + * adds the 'key' image around the other + * + * In the other direction, look for such sequences and convert them to a + * single emoji */ + if (filter->status == 1) { + int c1 = filter->cache; + filter->cache = filter->status = 0; + if (c == 0x20E3) { + if (c1 == '#') { + *s1 = 0x2964; + } else if (c1 == '0') { + *s1 = 0x296F; + } else { /* Previous character was '1'-'9' */ + *s1 = 0x2966 + (c1 - '1'); + } + return 1; + } else { + /* This character wasn't combining character to make keypad symbol, + * so pass the previous character through... and proceed to process the + * current character as usual + * (Single-byte ASCII characters are valid in Shift-JIS...) */ + CK((*filter->output_function)(c1, filter->data)); + } + } + + if (c == '#' || (c >= '0' && c <= '9')) { + filter->status = 1; + filter->cache = c; + return 0; + } + + if (c == 0xA9) { /* Copyright sign */ + *s1 = 0x29B5; + return 1; + } else if (c == 0x00AE) { /* Registered sign */ + *s1 = 0x29BA; + return 1; + } else if (c >= mb_tbl_uni_docomo2code2_min && c <= mb_tbl_uni_docomo2code2_max) { + int i = mbfl_bisec_srch2(c, mb_tbl_uni_docomo2code2_key, mb_tbl_uni_docomo2code2_len); + if (i >= 0) { + *s1 = mb_tbl_uni_docomo2code2_value[i]; + return 1; + } + } else if (c >= mb_tbl_uni_docomo2code3_min && c <= mb_tbl_uni_docomo2code3_max) { + int i = mbfl_bisec_srch2(c - 0x10000, mb_tbl_uni_docomo2code3_key, mb_tbl_uni_docomo2code3_len); + if (i >= 0) { + *s1 = mb_tbl_uni_docomo2code3_value[i]; + return 1; + } + } else if (c >= mb_tbl_uni_docomo2code5_min && c <= mb_tbl_uni_docomo2code5_max) { + int i = mbfl_bisec_srch2(c - 0xF0000, mb_tbl_uni_docomo2code5_key, mb_tbl_uni_docomo2code5_len); + if (i >= 0) { + *s1 = mb_tbl_uni_docomo2code5_val[i]; + return 1; + } + } + return 0; +} + +int mbfilter_unicode2sjis_emoji_kddi(int c, int *s1, mbfl_convert_filter *filter) +{ + if (filter->status == 1) { + int c1 = filter->cache; + filter->cache = filter->status = 0; + if (c == 0x20E3) { + if (c1 == '#') { + *s1 = 0x25BC; + } else if (c1 == '0') { + *s1 = 0x2830; + } else { /* Previous character was '1'-'9' */ + *s1 = 0x27a6 + (c1 - '1'); + } + return 1; + } else { + CK((*filter->output_function)(c1, filter->data)); + } + } else if (filter->status == 2) { + int c1 = filter->cache; + filter->cache = filter->status = 0; + if (c >= NFLAGS('B') && c <= NFLAGS('U')) { /* B for GB, U for RU */ + for (int i = 0; i < 10; i++) { + if (c1 == NFLAGS(nflags_s[i][0]) && c == NFLAGS(nflags_s[i][1])) { + *s1 = nflags_code_kddi[i]; + return 1; + } + } + } + + /* If none of the KDDI national flag emoji matched, then we have no way + * to convert the previous codepoint... */ + mbfl_filt_conv_illegal_output(c1, filter); + } + + if (c == '#' || (c >= '0' && c <= '9')) { + filter->status = 1; + filter->cache = c; + return 0; + } else if (c >= NFLAGS('C') && c <= NFLAGS('U')) { /* C for CN, U for US */ + filter->status = 2; + filter->cache = c; + return 0; + } + + if (c == 0xA9) { /* Copyright sign */ + *s1 = 0x27DC; + return 1; + } else if (c == 0xAE) { /* Registered sign */ + *s1 = 0x27DD; + return 1; + } else if (c >= mb_tbl_uni_kddi2code2_min && c <= mb_tbl_uni_kddi2code2_max) { + int i = mbfl_bisec_srch2(c, mb_tbl_uni_kddi2code2_key, mb_tbl_uni_kddi2code2_len); + if (i >= 0) { + *s1 = mb_tbl_uni_kddi2code2_value[i]; + return 1; + } + } else if (c >= mb_tbl_uni_kddi2code3_min && c <= mb_tbl_uni_kddi2code3_max) { + int i = mbfl_bisec_srch2(c - 0x10000, mb_tbl_uni_kddi2code3_key, mb_tbl_uni_kddi2code3_len); + if (i >= 0) { + *s1 = mb_tbl_uni_kddi2code3_value[i]; + return 1; + } + } else if (c >= mb_tbl_uni_kddi2code5_min && c <= mb_tbl_uni_kddi2code5_max) { + int i = mbfl_bisec_srch2(c - 0xF0000, mb_tbl_uni_kddi2code5_key, mb_tbl_uni_kddi2code5_len); + if (i >= 0) { + *s1 = mb_tbl_uni_kddi2code5_val[i]; + return 1; + } + } + return 0; +} + +int mbfilter_unicode2sjis_emoji_sb(int c, int *s1, mbfl_convert_filter *filter) +{ + if (filter->status == 1) { + int c1 = filter->cache; + filter->cache = filter->status = 0; + if (c == 0x20E3) { + if (c1 == '#') { + *s1 = 0x2817; + } else if (c1 == '0') { + *s1 = 0x282c; + } else { /* Previous character was '1'-'9' */ + *s1 = 0x2823 + (c1 - '1'); + } + return 1; + } else { + (*filter->output_function)(c1, filter->data); + } + } else if (filter->status == 2) { + int c1 = filter->cache; + filter->cache = filter->status = 0; + if (c >= NFLAGS('B') && c <= NFLAGS('U')) { /* B for GB, U for RU */ + for (int i = 0; i < 10; i++) { + if (c1 == NFLAGS(nflags_s[i][0]) && c == NFLAGS(nflags_s[i][1])) { + *s1 = nflags_code_sb[i]; + return 1; + } + } + } + + /* If none of the SoftBank national flag emoji matched, then we have no way + * to convert the previous codepoint... */ + mbfl_filt_conv_illegal_output(c1, filter); + } + + if (c == '#' || (c >= '0' && c <= '9')) { + filter->status = 1; + filter->cache = c; + return 0; + } else if (c >= NFLAGS('C') && c <= NFLAGS('U')) { /* C for CN, U for US */ + filter->status = 2; + filter->cache = c; + return 0; + } + + if (c == 0xA9) { /* Copyright sign */ + *s1 = 0x2855; + return 1; + } else if (c == 0xAE) { /* Registered sign */ + *s1 = 0x2856; + return 1; + } else if (c >= mb_tbl_uni_sb2code2_min && c <= mb_tbl_uni_sb2code2_max) { + int i = mbfl_bisec_srch2(c, mb_tbl_uni_sb2code2_key, mb_tbl_uni_sb2code2_len); + if (i >= 0) { + *s1 = mb_tbl_uni_sb2code2_value[i]; + return 1; + } + } else if (c >= mb_tbl_uni_sb2code3_min && c <= mb_tbl_uni_sb2code3_max) { + int i = mbfl_bisec_srch2(c - 0x10000, mb_tbl_uni_sb2code3_key, mb_tbl_uni_sb2code3_len); + if (i >= 0) { + *s1 = mb_tbl_uni_sb2code3_value[i]; + return 1; + } + } else if (c >= mb_tbl_uni_sb2code5_min && c <= mb_tbl_uni_sb2code5_max) { + int i = mbfl_bisec_srch2(c - 0xF0000, mb_tbl_uni_sb2code5_key, mb_tbl_uni_sb2code5_len); + if (i >= 0) { + *s1 = mb_tbl_uni_sb2code5_val[i]; + return 1; + } + } + return 0; +} + +static int mbfl_filt_conv_sjis_mobile_wchar(int c, mbfl_convert_filter *filter) +{ + int c1, s, s1, s2, w, snd = 0; + + switch (filter->status) { + case 0: + if (c >= 0 && c < 0x80) { /* ASCII */ + if (filter->from == &mbfl_encoding_sjis_sb && c == 0x1B) { + /* ESC; escape sequences were used on older SoftBank phones for emoji */ + filter->cache = c; + filter->status = 2; + } else { + CK((*filter->output_function)(c, filter->data)); + } + } else if (c > 0xA0 && c < 0xE0) { /* Kana */ + CK((*filter->output_function)(0xFEC0 + c, filter->data)); + } else if (c > 0x80 && c < 0xFD && c != 0xA0) { /* Kanji, first byte */ + filter->status = 1; + filter->cache = c; + } else { + CK((*filter->output_function)(MBFL_BAD_INPUT, filter->data)); + } + break; + + case 1: /* Kanji, second byte */ + filter->status = 0; + c1 = filter->cache; + if (c >= 0x40 && c <= 0xFC && c != 0x7F) { + w = 0; + SJIS_DECODE(c1, c, s1, s2); + s = ((s1 - 0x21) * 94) + s2 - 0x21; + if (s <= 137) { + if (s == 31) { + w = 0xFF3C; /* FULLWIDTH REVERSE SOLIDUS */ + } else if (s == 32) { + w = 0xFF5E; /* FULLWIDTH TILDE */ + } else if (s == 33) { + w = 0x2225; /* PARALLEL TO */ + } else if (s == 60) { + w = 0xFF0D; /* FULLWIDTH HYPHEN-MINUS */ + } else if (s == 80) { + w = 0xFFE0; /* FULLWIDTH CENT SIGN */ + } else if (s == 81) { + w = 0xFFE1; /* FULLWIDTH POUND SIGN */ + } else if (s == 137) { + w = 0xFFE2; /* FULLWIDTH NOT SIGN */ + } + } + if (w == 0) { + if (s >= cp932ext1_ucs_table_min && s < cp932ext1_ucs_table_max) { /* vendor ext1 (13ku) */ + w = cp932ext1_ucs_table[s - cp932ext1_ucs_table_min]; + } else if (s >= 0 && s < jisx0208_ucs_table_size) { /* X 0208 */ + w = jisx0208_ucs_table[s]; + } else if (s >= cp932ext2_ucs_table_min && s < cp932ext2_ucs_table_max) { /* vendor ext2 (89ku - 92ku) */ + w = cp932ext2_ucs_table[s - cp932ext2_ucs_table_min]; + } + + /* Emoji */ + if (filter->from == &mbfl_encoding_sjis_docomo && s >= mb_tbl_code2uni_docomo1_min && s <= mb_tbl_code2uni_docomo1_max) { + w = mbfilter_sjis_emoji_docomo2unicode(s, &snd); + if (snd > 0) { + CK((*filter->output_function)(snd, filter->data)); + } + } else if (filter->from == &mbfl_encoding_sjis_kddi && s >= mb_tbl_code2uni_kddi1_min && s <= mb_tbl_code2uni_kddi2_max) { + w = mbfilter_sjis_emoji_kddi2unicode(s, &snd); + if (snd > 0) { + CK((*filter->output_function)(snd, filter->data)); + } + } else if (filter->from == &mbfl_encoding_sjis_sb && s >= mb_tbl_code2uni_sb1_min && s <= mb_tbl_code2uni_sb3_max) { + w = mbfilter_sjis_emoji_sb2unicode(s, &snd); + if (snd > 0) { + CK((*filter->output_function)(snd, filter->data)); + } + } + + if (w == 0) { + if (s >= cp932ext3_ucs_table_min && s < cp932ext3_ucs_table_max) { /* vendor ext3 (115ku - 119ku) */ + w = cp932ext3_ucs_table[s - cp932ext3_ucs_table_min]; + } else if (s >= (94*94) && s < (114*94)) { /* user (95ku - 114ku) */ + w = s - (94*94) + 0xe000; + } + } + } + if (w <= 0) { + w = MBFL_BAD_INPUT; + } + CK((*filter->output_function)(w, filter->data)); + } else { + CK((*filter->output_function)(MBFL_BAD_INPUT, filter->data)); + } + break; + + /* ESC: Softbank Emoji */ + case 2: + if (c == '$') { + filter->cache = c; + filter->status++; + } else { + CK((*filter->output_function)(MBFL_BAD_INPUT, filter->data)); + filter->status = filter->cache = 0; + } + break; + + /* ESC $: Softbank Emoji */ + case 3: + if ((c >= 'E' && c <= 'G') || (c >= 'O' && c <= 'Q')) { + filter->cache = c; + filter->status++; + } else { + CK((*filter->output_function)(MBFL_BAD_INPUT, filter->data)); + filter->status = filter->cache = 0; + } + break; + + /* ESC $ [GEFOPQ]: Softbank Emoji */ + case 4: + c1 = filter->cache; + if (c == 0xF) { /* Terminate sequence of emoji */ + filter->status = filter->cache = 0; + return 0; + } else { + if (c1 == 'G' && c >= 0x21 && c <= 0x7a) { + s1 = (0x91 - 0x21) * 94; + } else if (c1 == 'E' && c >= 0x21 && c <= 0x7A) { + s1 = (0x8D - 0x21) * 94; + } else if (c1 == 'F' && c >= 0x21 && c <= 0x7A) { + s1 = (0x8E - 0x21) * 94; + } else if (c1 == 'O' && c >= 0x21 && c <= 0x6D) { + s1 = (0x92 - 0x21) * 94; + } else if (c1 == 'P' && c >= 0x21 && c <= 0x6C) { + s1 = (0x95 - 0x21) * 94; + } else if (c1 == 'Q' && c >= 0x21 && c <= 0x5E) { + s1 = (0x96 - 0x21) * 94; + } else { + CK((*filter->output_function)(MBFL_BAD_INPUT, filter->data)); + filter->status = filter->cache = 0; + return 0; + } + + w = mbfilter_sjis_emoji_sb2unicode(s1 + c - 0x21, &snd); + if (w > 0) { + if (snd > 0) { + CK((*filter->output_function)(snd, filter->data)); + } + CK((*filter->output_function)(w, filter->data)); + } else { + CK((*filter->output_function)(MBFL_BAD_INPUT, filter->data)); + filter->status = filter->cache = 0; + } + } + } + + return 0; +} + +static int mbfl_filt_conv_wchar_sjis_mobile(int c, mbfl_convert_filter *filter) +{ + int c1, c2, s1 = 0, s2 = 0; + + if (c >= ucs_a1_jis_table_min && c < ucs_a1_jis_table_max) { + s1 = ucs_a1_jis_table[c - ucs_a1_jis_table_min]; + } else if (c >= ucs_a2_jis_table_min && c < ucs_a2_jis_table_max) { + s1 = ucs_a2_jis_table[c - ucs_a2_jis_table_min]; + } else if (c >= ucs_i_jis_table_min && c < ucs_i_jis_table_max) { + s1 = ucs_i_jis_table[c - ucs_i_jis_table_min]; + } else if (c >= ucs_r_jis_table_min && c < ucs_r_jis_table_max) { + s1 = ucs_r_jis_table[c - ucs_r_jis_table_min]; + } else if (c >= 0xE000 && c < (0xE000 + 20*94)) { + /* Private User Area (95ku - 114ku) */ + s1 = c - 0xE000; + c1 = (s1 / 94) + 0x7F; + c2 = (s1 % 94) + 0x21; + s1 = (c1 << 8) | c2; + s2 = 1; + } + + if (s1 <= 0) { + if (c == 0xA5) { /* YEN SIGN */ + s1 = 0x216F; /* FULLWIDTH YEN SIGN */ + } else if (c == 0xFF3c) { /* FULLWIDTH REVERSE SOLIDUS */ + s1 = 0x2140; + } else if (c == 0x2225) { /* PARALLEL TO */ + s1 = 0x2142; + } else if (c == 0xFF0D) { /* FULLWIDTH HYPHEN-MINUS */ + s1 = 0x215D; + } else if (c == 0xFFE0) { /* FULLWIDTH CENT SIGN */ + s1 = 0x2171; + } else if (c == 0xFFE1) { /* FULLWIDTH POUND SIGN */ + s1 = 0x2172; + } else if (c == 0xFFE2) { /* FULLWIDTH NOT SIGN */ + s1 = 0x224C; + } + } + + if ((s1 <= 0) || (s1 >= 0x8080 && s2 == 0)) { /* not found or X 0212 */ + s1 = -1; + + /* CP932 vendor ext1 (13ku) */ + for (c1 = 0; c1 < cp932ext1_ucs_table_max - cp932ext1_ucs_table_min; c1++) { + if (c == cp932ext1_ucs_table[c1]) { + s1 = (((c1 / 94) + 0x2D) << 8) + (c1 % 94) + 0x21; + break; + } + } + + if (s1 <= 0) { + /* CP932 vendor ext2 (115ku - 119ku) */ + for (c1 = 0; c1 < cp932ext2_ucs_table_max - cp932ext2_ucs_table_min; c1++) { + if (c == cp932ext2_ucs_table[c1]) { + s1 = (((c1 / 94) + 0x79) << 8) + (c1 % 94) + 0x21; + break; + } + } + } + + if (c == 0) { + s1 = 0; + } + } + + if ((filter->to == &mbfl_encoding_sjis_docomo && mbfilter_unicode2sjis_emoji_docomo(c, &s1, filter)) || + (filter->to == &mbfl_encoding_sjis_kddi && mbfilter_unicode2sjis_emoji_kddi(c, &s1, filter)) || + (filter->to == &mbfl_encoding_sjis_sb && mbfilter_unicode2sjis_emoji_sb(c, &s1, filter))) { + s1 = (((s1 / 94) + 0x21) << 8) | ((s1 % 94) + 0x21); + } + + if (filter->status) { + return 0; + } + + if (s1 >= 0) { + if (s1 < 0x100) { /* Latin/Kana */ + CK((*filter->output_function)(s1, filter->data)); + } else { /* Kanji */ + c1 = (s1 >> 8) & 0xff; + c2 = s1 & 0xff; + SJIS_ENCODE(c1, c2, s1, s2); + CK((*filter->output_function)(s1, filter->data)); + CK((*filter->output_function)(s2, filter->data)); + } + } else { + CK(mbfl_filt_conv_illegal_output(c, filter)); + } + + return 0; +} + +int mbfl_filt_conv_sjis_mobile_flush(mbfl_convert_filter *filter) +{ + int c1 = filter->cache; + if (filter->status == 1 && (c1 == '#' || (c1 >= '0' && c1 <= '9'))) { + filter->cache = filter->status = 0; + CK((*filter->output_function)(c1, filter->data)); + } else if (filter->status == 2) { + /* First of a pair of Regional Indicator codepoints came at the end of a string */ + filter->cache = filter->status = 0; + mbfl_filt_conv_illegal_output(c1, filter); + } + + if (filter->flush_function) { + (*filter->flush_function)(filter->data); + } + + return 0; +} + +static size_t mb_sjis_docomo_to_wchar(unsigned char **in, size_t *in_len, uint32_t *buf, size_t bufsize, unsigned int *state) +{ + unsigned char *p = *in, *e = p + *in_len; + /* Leave one extra space available in output buffer, since some iterations of + * main loop (below) may emit two wchars */ + uint32_t *out = buf, *limit = buf + bufsize - 1; + + while (p < e && out < limit) { + unsigned char c = *p++; + + if (c <= 0x7F) { + *out++ = c; + } else if (c >= 0xA1 && c <= 0xDF) { + /* Kana */ + *out++ = 0xFEC0 + c; + } else if (c > 0x80 && c < 0xFD && c != 0xA0) { + /* Kanji */ + if (p == e) { + *out++ = MBFL_BAD_INPUT; + break; + } + unsigned char c2 = *p++; + + if (c2 >= 0x40 && c2 <= 0xFC && c2 != 0x7F) { + uint32_t w = 0; + unsigned int s1, s2; + SJIS_DECODE(c, c2, s1, s2); + unsigned int s = ((s1 - 0x21) * 94) + s2 - 0x21; + + if (s <= 137) { + if (s == 31) { + w = 0xFF3C; /* FULLWIDTH REVERSE SOLIDUS */ + } else if (s == 32) { + w = 0xFF5E; /* FULLWIDTH TILDE */ + } else if (s == 33) { + w = 0x2225; /* PARALLEL TO */ + } else if (s == 60) { + w = 0xFF0D; /* FULLWIDTH HYPHEN-MINUS */ + } else if (s == 80) { + w = 0xFFE0; /* FULLWIDTH CENT SIGN */ + } else if (s == 81) { + w = 0xFFE1; /* FULLWIDTH POUND SIGN */ + } else if (s == 137) { + w = 0xFFE2; /* FULLWIDTH NOT SIGN */ + } + } + + if (!w) { + if (s >= mb_tbl_code2uni_docomo1_min && s <= mb_tbl_code2uni_docomo1_max) { + int snd = 0; + w = mbfilter_sjis_emoji_docomo2unicode(s, &snd); + if (snd) { + *out++ = snd; + } + } else if (s >= cp932ext1_ucs_table_min && s < cp932ext1_ucs_table_max) { + w = cp932ext1_ucs_table[s - cp932ext1_ucs_table_min]; + } else if (s < jisx0208_ucs_table_size) { + w = jisx0208_ucs_table[s]; + } else if (s >= cp932ext2_ucs_table_min && s < cp932ext2_ucs_table_max) { + w = cp932ext2_ucs_table[s - cp932ext2_ucs_table_min]; + } + + if (!w) { + if (s >= cp932ext3_ucs_table_min && s < cp932ext3_ucs_table_max) { + w = cp932ext3_ucs_table[s - cp932ext3_ucs_table_min]; + } else if (s >= (94*94) && s < (114*94)) { + w = s - (94*94) + 0xE000; + } + } + } + + *out++ = w ? w : MBFL_BAD_INPUT; + } else { + *out++ = MBFL_BAD_INPUT; + } + } else { + *out++ = MBFL_BAD_INPUT; + } + } + + *in_len = e - p; + *in = p; + return out - buf; +} + +static void mb_wchar_to_sjis_docomo(uint32_t *in, size_t len, mb_convert_buf *buf, bool end) +{ + unsigned char *out, *limit; + MB_CONVERT_BUF_LOAD(buf, out, limit); + MB_CONVERT_BUF_ENSURE(buf, out, limit, len + (buf->state ? 1 : 0)); + + uint32_t w; + unsigned int s = 0; + + if (buf->state) { + /* Continue what we were doing on the previous call */ + w = buf->state; + buf->state = 0; + if (len) { + goto reprocess_wchar; + } else { + goto emit_output; + } + } + + while (len--) { + w = *in++; +reprocess_wchar: + s = 0; + + if (w >= ucs_a1_jis_table_min && w < ucs_a1_jis_table_max) { + s = ucs_a1_jis_table[w - ucs_a1_jis_table_min]; + } else if (w >= ucs_a2_jis_table_min && w < ucs_a2_jis_table_max) { + s = ucs_a2_jis_table[w - ucs_a2_jis_table_min]; + } else if (w >= ucs_i_jis_table_min && w < ucs_i_jis_table_max) { + s = ucs_i_jis_table[w - ucs_i_jis_table_min]; + } else if (w >= ucs_r_jis_table_min && w < ucs_r_jis_table_max) { + s = ucs_r_jis_table[w - ucs_r_jis_table_min]; + } else if (w >= 0xE000 && w < (0xE000 + 20*94)) { + /* Private User Area (95ku - 114ku) */ + s = w - 0xE000; + s = (((s / 94) + 0x7F) << 8) | ((s % 94) + 0x21); + goto process_emoji; + } + + if (!s) { + if (w == 0xA5) { /* YEN SIGN */ + s = 0x216F; /* FULLWIDTH YEN SIGN */ + } else if (w == 0xFF3C) { /* FULLWIDTH REVERSE SOLIDUS */ + s = 0x2140; + } else if (w == 0x2225) { /* PARALLEL TO */ + s = 0x2142; + } else if (w == 0xFF0D) { /* FULLWIDTH HYPHEN-MINUS */ + s = 0x215D; + } else if (w == 0xFFE0) { /* FULLWIDTH CENT SIGN */ + s = 0x2171; + } else if (w == 0xFFE1) { /* FULLWIDTH POUND SIGN */ + s = 0x2172; + } else if (w == 0xFFE2) { /* FULLWIDTH NOT SIGN */ + s = 0x224C; + } + } + + if (w && (!s || s >= 0x8080)) { + s = 0; + + for (int i = 0; i < cp932ext1_ucs_table_max - cp932ext1_ucs_table_min; i++) { + if (w == cp932ext1_ucs_table[i]) { + s = (((i / 94) + 0x2D) << 8) + (i % 94) + 0x21; + goto process_emoji; + } + } + + for (int i = 0; i < cp932ext2_ucs_table_max - cp932ext2_ucs_table_min; i++) { + if (w == cp932ext2_ucs_table[i]) { + s = (((i / 94) + 0x79) << 8) + (i % 94) + 0x21; + goto process_emoji; + } + } + } + +process_emoji: + /* When converting SJIS-Mobile to Unicode, we convert keypad symbol emoji + * to a sequence of 2 codepoints, one of which is a combining character which + * adds the 'key' image around the other + * + * In the other direction, look for such sequences and convert them to a + * single emoji */ + if (w == '#' || (w >= '0' && w <= '9')) { + if (!len) { + if (end) { + goto emit_output; + } else { + /* If we are at the end of the current buffer of codepoints, but another + * buffer is coming, then remember that we have to reprocess `w` */ + buf->state = w; + break; + } + } + uint32_t w2 = *in++; len--; + if (w2 == 0x20E3) { + if (w == '#') { + s = 0x2964; + } else if (w == '0') { + s = 0x296F; + } else { /* Previous character was '1'-'9' */ + s = 0x2966 + (w - '1'); + } + s = (((s / 94) + 0x21) << 8) | ((s % 94) + 0x21); + } else { + in--; len++; + } + } else if (w == 0xA9) { /* Copyright sign */ + s = (((0x29B5 / 94) + 0x21) << 8) | ((0x29B5 % 94) + 0x21); + } else if (w == 0xAE) { /* Registered sign */ + s = (((0x29BA / 94) + 0x21) << 8) | ((0x29BA % 94) + 0x21); + } else if (w >= mb_tbl_uni_docomo2code2_min && w <= mb_tbl_uni_docomo2code2_max) { + int i = mbfl_bisec_srch2(w, mb_tbl_uni_docomo2code2_key, mb_tbl_uni_docomo2code2_len); + if (i >= 0) { + s = mb_tbl_uni_docomo2code2_value[i]; + s = (((s / 94) + 0x21) << 8) | ((s % 94) + 0x21); + } + } else if (w >= mb_tbl_uni_docomo2code3_min && w <= mb_tbl_uni_docomo2code3_max) { + int i = mbfl_bisec_srch2(w - 0x10000, mb_tbl_uni_docomo2code3_key, mb_tbl_uni_docomo2code3_len); + if (i >= 0) { + s = mb_tbl_uni_docomo2code3_value[i]; + s = (((s / 94) + 0x21) << 8) | ((s % 94) + 0x21); + } + } else if (w >= mb_tbl_uni_docomo2code5_min && w <= mb_tbl_uni_docomo2code5_max) { + int i = mbfl_bisec_srch2(w - 0xF0000, mb_tbl_uni_docomo2code5_key, mb_tbl_uni_docomo2code5_len); + if (i >= 0) { + s = mb_tbl_uni_docomo2code5_val[i]; + s = (((s / 94) + 0x21) << 8) | ((s % 94) + 0x21); + } + } + +emit_output: + if (!s && w) { + MB_CONVERT_ERROR(buf, out, limit, w, mb_wchar_to_sjis_docomo); + MB_CONVERT_BUF_ENSURE(buf, out, limit, len); + } else if (s <= 0xFF) { + out = mb_convert_buf_add(out, s); + } else { + unsigned int c1 = (s >> 8) & 0xFF, c2 = s & 0xFF, s1, s2; + SJIS_ENCODE(c1, c2, s1, s2); + MB_CONVERT_BUF_ENSURE(buf, out, limit, len + 2); + out = mb_convert_buf_add2(out, s1, s2); + } + } + + MB_CONVERT_BUF_STORE(buf, out, limit); +} + +static size_t mb_sjis_kddi_to_wchar(unsigned char **in, size_t *in_len, uint32_t *buf, size_t bufsize, unsigned int *state) +{ + unsigned char *p = *in, *e = p + *in_len; + uint32_t *out = buf, *limit = buf + bufsize - 1; + + while (p < e && out < limit) { + unsigned char c = *p++; + + if (c <= 0x7F) { + *out++ = c; + } else if (c >= 0xA1 && c <= 0xDF) { + /* Kana */ + *out++ = 0xFEC0 + c; + } else if (c > 0x80 && c < 0xFD && c != 0xA0) { + /* Kanji */ + if (p == e) { + *out++ = MBFL_BAD_INPUT; + break; + } + unsigned char c2 = *p++; + + if (c2 >= 0x40 && c2 <= 0xFC && c2 != 0x7F) { + uint32_t w = 0; + unsigned int s1, s2; + SJIS_DECODE(c, c2, s1, s2); + unsigned int s = ((s1 - 0x21) * 94) + s2 - 0x21; + + if (s <= 137) { + if (s == 31) { + w = 0xFF3C; /* FULLWIDTH REVERSE SOLIDUS */ + } else if (s == 32) { + w = 0xFF5E; /* FULLWIDTH TILDE */ + } else if (s == 33) { + w = 0x2225; /* PARALLEL TO */ + } else if (s == 60) { + w = 0xFF0D; /* FULLWIDTH HYPHEN-MINUS */ + } else if (s == 80) { + w = 0xFFE0; /* FULLWIDTH CENT SIGN */ + } else if (s == 81) { + w = 0xFFE1; /* FULLWIDTH POUND SIGN */ + } else if (s == 137) { + w = 0xFFE2; /* FULLWIDTH NOT SIGN */ + } + } + + if (!w) { + if (s >= mb_tbl_code2uni_kddi1_min && s <= mb_tbl_code2uni_kddi2_max) { + int snd = 0; + w = mbfilter_sjis_emoji_kddi2unicode(s, &snd); + if (snd) { + *out++ = snd; + } + } else if (s >= cp932ext1_ucs_table_min && s < cp932ext1_ucs_table_max) { + w = cp932ext1_ucs_table[s - cp932ext1_ucs_table_min]; + } else if (s < jisx0208_ucs_table_size) { + w = jisx0208_ucs_table[s]; + } else if (s >= cp932ext2_ucs_table_min && s < cp932ext2_ucs_table_max) { + w = cp932ext2_ucs_table[s - cp932ext2_ucs_table_min]; + } + + if (!w) { + if (s >= cp932ext3_ucs_table_min && s < cp932ext3_ucs_table_max) { + w = cp932ext3_ucs_table[s - cp932ext3_ucs_table_min]; + } else if (s >= (94*94) && s < (114*94)) { + w = s - (94*94) + 0xE000; + } + } + } + + *out++ = w ? w : MBFL_BAD_INPUT; + } else { + *out++ = MBFL_BAD_INPUT; + } + } else { + *out++ = MBFL_BAD_INPUT; + } + } + + *in_len = e - p; + *in = p; + return out - buf; +} + +static void mb_wchar_to_sjis_kddi(uint32_t *in, size_t len, mb_convert_buf *buf, bool end) +{ + unsigned char *out, *limit; + MB_CONVERT_BUF_LOAD(buf, out, limit); + MB_CONVERT_BUF_ENSURE(buf, out, limit, len + (buf->state ? 1 : 0)); + + uint32_t w; + unsigned int s = 0; + + if (buf->state) { + w = buf->state; + buf->state = 0; + if (len) { + goto reprocess_wchar; + } else { + goto emit_output; + } + } + + while (len--) { + w = *in++; +reprocess_wchar: + s = 0; + + if (w >= ucs_a1_jis_table_min && w < ucs_a1_jis_table_max) { + s = ucs_a1_jis_table[w - ucs_a1_jis_table_min]; + } else if (w >= ucs_a2_jis_table_min && w < ucs_a2_jis_table_max) { + s = ucs_a2_jis_table[w - ucs_a2_jis_table_min]; + } else if (w >= ucs_i_jis_table_min && w < ucs_i_jis_table_max) { + s = ucs_i_jis_table[w - ucs_i_jis_table_min]; + } else if (w >= ucs_r_jis_table_min && w < ucs_r_jis_table_max) { + s = ucs_r_jis_table[w - ucs_r_jis_table_min]; + } else if (w >= 0xE000 && w < (0xE000 + 20*94)) { + /* Private User Area (95ku - 114ku) */ + s = w - 0xE000; + s = (((s / 94) + 0x7F) << 8) | ((s % 94) + 0x21); + goto process_emoji; + } + + if (!s) { + if (w == 0xA5) { /* YEN SIGN */ + s = 0x216F; /* FULLWIDTH YEN SIGN */ + } else if (w == 0xFF3c) { /* FULLWIDTH REVERSE SOLIDUS */ + s = 0x2140; + } else if (w == 0x2225) { /* PARALLEL TO */ + s = 0x2142; + } else if (w == 0xFF0D) { /* FULLWIDTH HYPHEN-MINUS */ + s = 0x215D; + } else if (w == 0xFFE0) { /* FULLWIDTH CENT SIGN */ + s = 0x2171; + } else if (w == 0xFFE1) { /* FULLWIDTH POUND SIGN */ + s = 0x2172; + } else if (w == 0xFFE2) { /* FULLWIDTH NOT SIGN */ + s = 0x224C; + } + } + + if (w && (!s || s >= 0x8080)) { + s = 0; + + for (int i = 0; i < cp932ext1_ucs_table_max - cp932ext1_ucs_table_min; i++) { + if (w == cp932ext1_ucs_table[i]) { + s = (((i / 94) + 0x2D) << 8) + (i % 94) + 0x21; + goto process_emoji; + } + } + + for (int i = 0; i < cp932ext2_ucs_table_max - cp932ext2_ucs_table_min; i++) { + if (w == cp932ext2_ucs_table[i]) { + s = (((i / 94) + 0x79) << 8) + (i % 94) + 0x21; + goto process_emoji; + } + } + } + +process_emoji: + if (w == '#' || (w >= '0' && w <= '9')) { + if (!len) { + if (end) { + goto emit_output; + } else { + /* If we are at the end of the current buffer of codepoints, but another + * buffer is coming, then remember that we have to reprocess `w` */ + buf->state = w; + break; + } + } + uint32_t w2 = *in++; len--; + if (w2 == 0x20E3) { + if (w == '#') { + s = 0x25BC; + } else if (w == '0') { + s = 0x2830; + } else { /* Previous character was '1'-'9' */ + s = 0x27A6 + (w - '1'); + } + s = (((s / 94) + 0x21) << 8) | ((s % 94) + 0x21); + } else { + in--; len++; + } + } else if (w >= NFLAGS('C') && w <= NFLAGS('U')) { /* C for CN, U for US */ + if (!len) { + if (end) { + MB_CONVERT_ERROR(buf, out, limit, w, mb_wchar_to_sjis_kddi); + } else { + /* Reprocess `w` when this function is called again with another buffer + * of wchars */ + buf->state = w; + } + break; + } + uint32_t w2 = *in++; len--; + if (w2 >= NFLAGS('B') && w2 <= NFLAGS('U')) { /* B for GB, U for RU */ + for (int i = 0; i < 10; i++) { + if (w == NFLAGS(nflags_s[i][0]) && w2 == NFLAGS(nflags_s[i][1])) { + s = nflags_code_kddi[i]; + s = (((s / 94) + 0x21) << 8) | ((s % 94) + 0x21); + goto emit_output; + } + } + } + in--; len++; + MB_CONVERT_ERROR(buf, out, limit, w, mb_wchar_to_sjis_kddi); + MB_CONVERT_BUF_ENSURE(buf, out, limit, len); + continue; + } else if (w == 0xA9) { /* Copyright sign */ + s = (((0x27DC / 94) + 0x21) << 8) | ((0x27DC % 94) + 0x21); + } else if (w == 0xAE) { /* Registered sign */ + s = (((0x27DD / 94) + 0x21) << 8) | ((0x27DD % 94) + 0x21); + } else if (w >= mb_tbl_uni_kddi2code2_min && w <= mb_tbl_uni_kddi2code2_max) { + int i = mbfl_bisec_srch2(w, mb_tbl_uni_kddi2code2_key, mb_tbl_uni_kddi2code2_len); + if (i >= 0) { + s = mb_tbl_uni_kddi2code2_value[i]; + s = (((s / 94) + 0x21) << 8) | ((s % 94) + 0x21); + } + } else if (w >= mb_tbl_uni_kddi2code3_min && w <= mb_tbl_uni_kddi2code3_max) { + int i = mbfl_bisec_srch2(w - 0x10000, mb_tbl_uni_kddi2code3_key, mb_tbl_uni_kddi2code3_len); + if (i >= 0) { + s = mb_tbl_uni_kddi2code3_value[i]; + s = (((s / 94) + 0x21) << 8) | ((s % 94) + 0x21); + } + } else if (w >= mb_tbl_uni_kddi2code5_min && w <= mb_tbl_uni_kddi2code5_max) { + int i = mbfl_bisec_srch2(w - 0xF0000, mb_tbl_uni_kddi2code5_key, mb_tbl_uni_kddi2code5_len); + if (i >= 0) { + s = mb_tbl_uni_kddi2code5_val[i]; + s = (((s / 94) + 0x21) << 8) | ((s % 94) + 0x21); + } + } + +emit_output: + if (!s && w) { + MB_CONVERT_ERROR(buf, out, limit, w, mb_wchar_to_sjis_kddi); + MB_CONVERT_BUF_ENSURE(buf, out, limit, len); + } else if (s <= 0xFF) { + out = mb_convert_buf_add(out, s); + } else { + unsigned int c1 = (s >> 8) & 0xFF, c2 = s & 0xFF, s1, s2; + SJIS_ENCODE(c1, c2, s1, s2); + MB_CONVERT_BUF_ENSURE(buf, out, limit, len + 2); + out = mb_convert_buf_add2(out, s1, s2); + } + } + + MB_CONVERT_BUF_STORE(buf, out, limit); +} + +static size_t mb_sjis_sb_to_wchar(unsigned char **in, size_t *in_len, uint32_t *buf, size_t bufsize, unsigned int *state) +{ + unsigned char *p = *in, *e = p + *in_len; + uint32_t *out = buf, *limit = buf + bufsize - 1; + + if (*state) { + goto softbank_emoji_escapes; + } + + while (p < e && out < limit) { + unsigned char c = *p++; + + if (c == 0x1B) { + /* Escape sequence */ + if (p == e || *p++ != '$' || p == e) { + *out++ = MBFL_BAD_INPUT; + continue; + } + unsigned char c2 = *p++; + if ((c2 < 'E' || c2 > 'G') && (c2 < 'O' || c2 > 'Q')) { + *out++ = MBFL_BAD_INPUT; + continue; + } + /* Escape sequence was valid, next should be a series of specially + * encoded Softbank emoji */ + *state = c2; + +softbank_emoji_escapes: + while (p < e && out < limit) { + c = *p++; + if (c == 0xF) { + *state = 0; + break; + } + unsigned int s = 0; + if (*state == 'G' && c >= 0x21 && c <= 0x7A) { + s = (0x91 - 0x21) * 94; + } else if (*state == 'E' && c >= 0x21 && c <= 0x7A) { + s = (0x8D - 0x21) * 94; + } else if (*state == 'F' && c >= 0x21 && c <= 0x7A) { + s = (0x8E - 0x21) * 94; + } else if (*state == 'O' && c >= 0x21 && c <= 0x6D) { + s = (0x92 - 0x21) * 94; + } else if (*state == 'P' && c >= 0x21 && c <= 0x6C) { + s = (0x95 - 0x21) * 94; + } else if (*state == 'Q' && c >= 0x21 && c <= 0x5E) { + s = (0x96 - 0x21) * 94; + } else { + *out++ = MBFL_BAD_INPUT; + *state = 0; + break; + } + + int snd = 0; + uint32_t w = mbfilter_sjis_emoji_sb2unicode(s + c - 0x21, &snd); + if (w) { + if (snd) { + *out++ = snd; + } + *out++ = w; + } else { + *out++ = MBFL_BAD_INPUT; + *state = 0; + break; + } + } + } else if (c <= 0x7F) { + *out++ = c; + } else if (c >= 0xA1 && c <= 0xDF) { + /* Kana */ + *out++ = 0xFEC0 + c; + } else if (c > 0x80 && c < 0xFD && c != 0xA0) { + /* Kanji */ + if (p == e) { + *out++ = MBFL_BAD_INPUT; + break; + } + unsigned char c2 = *p++; + + if (c2 >= 0x40 && c2 <= 0xFC && c2 != 0x7F) { + uint32_t w = 0; + unsigned int s1, s2; + SJIS_DECODE(c, c2, s1, s2); + unsigned int s = ((s1 - 0x21) * 94) + s2 - 0x21; + + if (s <= 137) { + if (s == 31) { + w = 0xFF3C; /* FULLWIDTH REVERSE SOLIDUS */ + } else if (s == 32) { + w = 0xFF5E; /* FULLWIDTH TILDE */ + } else if (s == 33) { + w = 0x2225; /* PARALLEL TO */ + } else if (s == 60) { + w = 0xFF0D; /* FULLWIDTH HYPHEN-MINUS */ + } else if (s == 80) { + w = 0xFFE0; /* FULLWIDTH CENT SIGN */ + } else if (s == 81) { + w = 0xFFE1; /* FULLWIDTH POUND SIGN */ + } else if (s == 137) { + w = 0xFFE2; /* FULLWIDTH NOT SIGN */ + } + } + + if (!w) { + if (s >= mb_tbl_code2uni_sb1_min && s <= mb_tbl_code2uni_sb3_max) { + int snd = 0; + w = mbfilter_sjis_emoji_sb2unicode(s, &snd); + if (snd) { + *out++ = snd; + } + } else if (s >= cp932ext1_ucs_table_min && s < cp932ext1_ucs_table_max) { + w = cp932ext1_ucs_table[s - cp932ext1_ucs_table_min]; + } else if (s < jisx0208_ucs_table_size) { + w = jisx0208_ucs_table[s]; + } else if (s >= cp932ext2_ucs_table_min && s < cp932ext2_ucs_table_max) { + w = cp932ext2_ucs_table[s - cp932ext2_ucs_table_min]; + } + + if (!w) { + if (s >= cp932ext3_ucs_table_min && s < cp932ext3_ucs_table_max) { + w = cp932ext3_ucs_table[s - cp932ext3_ucs_table_min]; + } else if (s >= (94*94) && s < (114*94)) { + w = s - (94*94) + 0xE000; + } + } + } + + *out++ = w ? w : MBFL_BAD_INPUT; + } else { + *out++ = MBFL_BAD_INPUT; + } + } else { + *out++ = MBFL_BAD_INPUT; + } + } + + *in_len = e - p; + *in = p; + return out - buf; +} + +static void mb_wchar_to_sjis_sb(uint32_t *in, size_t len, mb_convert_buf *buf, bool end) +{ + unsigned char *out, *limit; + MB_CONVERT_BUF_LOAD(buf, out, limit); + MB_CONVERT_BUF_ENSURE(buf, out, limit, len + (buf->state ? 1 : 0)); + + uint32_t w; + unsigned int s = 0; + + if (buf->state) { + w = buf->state; + buf->state = 0; + if (len) { + goto reprocess_wchar; + } else { + goto emit_output; + } + } + + while (len--) { + w = *in++; +reprocess_wchar: + s = 0; + + if (w >= ucs_a1_jis_table_min && w < ucs_a1_jis_table_max) { + s = ucs_a1_jis_table[w - ucs_a1_jis_table_min]; + } else if (w >= ucs_a2_jis_table_min && w < ucs_a2_jis_table_max) { + s = ucs_a2_jis_table[w - ucs_a2_jis_table_min]; + } else if (w >= ucs_i_jis_table_min && w < ucs_i_jis_table_max) { + s = ucs_i_jis_table[w - ucs_i_jis_table_min]; + } else if (w >= ucs_r_jis_table_min && w < ucs_r_jis_table_max) { + s = ucs_r_jis_table[w - ucs_r_jis_table_min]; + } else if (w >= 0xE000 && w < (0xE000 + 20*94)) { + /* Private User Area (95ku - 114ku) */ + s = w - 0xE000; + s = (((s / 94) + 0x7F) << 8) | ((s % 94) + 0x21); + goto process_emoji; + } + + if (!s) { + if (w == 0xA5) { /* YEN SIGN */ + s = 0x216F; /* FULLWIDTH YEN SIGN */ + } else if (w == 0xFF3C) { /* FULLWIDTH REVERSE SOLIDUS */ + s = 0x2140; + } else if (w == 0x2225) { /* PARALLEL TO */ + s = 0x2142; + } else if (w == 0xFF0D) { /* FULLWIDTH HYPHEN-MINUS */ + s = 0x215D; + } else if (w == 0xFFE0) { /* FULLWIDTH CENT SIGN */ + s = 0x2171; + } else if (w == 0xFFE1) { /* FULLWIDTH POUND SIGN */ + s = 0x2172; + } else if (w == 0xFFE2) { /* FULLWIDTH NOT SIGN */ + s = 0x224C; + } + } + + if (w && (!s || s >= 0x8080)) { + s = 0; + + for (int i = 0; i < cp932ext1_ucs_table_max - cp932ext1_ucs_table_min; i++) { + if (w == cp932ext1_ucs_table[i]) { + s = (((i / 94) + 0x2D) << 8) + (i % 94) + 0x21; + goto process_emoji; + } + } + + for (int i = 0; i < cp932ext2_ucs_table_max - cp932ext2_ucs_table_min; i++) { + if (w == cp932ext2_ucs_table[i]) { + s = (((i / 94) + 0x79) << 8) + (i % 94) + 0x21; + goto process_emoji; + } + } + } + +process_emoji: + if (w == '#' || (w >= '0' && w <= '9')) { + if (!len) { + if (end) { + goto emit_output; + } else { + /* If we are at the end of the current buffer of codepoints, but another + * buffer is coming, then remember that we have to reprocess `w` */ + buf->state = w; + break; + } + } + uint32_t w2 = *in++; len--; + if (w2 == 0x20E3) { + if (w == '#') { + s = 0x2817; + } else if (w == '0') { + s = 0x282c; + } else { /* Previous character was '1'-'9' */ + s = 0x2823 + (w - '1'); + } + s = (((s / 94) + 0x21) << 8) | ((s % 94) + 0x21); + } else { + in--; len++; + } + } else if (w >= NFLAGS('C') && w <= NFLAGS('U')) { /* C for CN, U for US */ + if (!len) { + if (end) { + MB_CONVERT_ERROR(buf, out, limit, w, mb_wchar_to_sjis_sb); + } else { + /* Reprocess `w` when this function is called again with + * another buffer of wchars */ + buf->state = w; + } + break; + } + uint32_t w2 = *in++; len--; + if (w2 >= NFLAGS('B') && w2 <= NFLAGS('U')) { /* B for GB, U for RU */ + for (int i = 0; i < 10; i++) { + if (w == NFLAGS(nflags_s[i][0]) && w2 == NFLAGS(nflags_s[i][1])) { + s = nflags_code_sb[i]; + s = (((s / 94) + 0x21) << 8) | ((s % 94) + 0x21); + goto emit_output; + } + } + } + in--; len++; + MB_CONVERT_ERROR(buf, out, limit, w, mb_wchar_to_sjis_sb); + MB_CONVERT_BUF_ENSURE(buf, out, limit, len); + continue; + } else if (w == 0xA9) { /* Copyright sign */ + s = (((0x2855 / 94) + 0x21) << 8) | ((0x2855 % 94) + 0x21); + } else if (w == 0xAE) { /* Registered sign */ + s = (((0x2856 / 94) + 0x21) << 8) | ((0x2856 % 94) + 0x21); + } else if (w >= mb_tbl_uni_sb2code2_min && w <= mb_tbl_uni_sb2code2_max) { + int i = mbfl_bisec_srch2(w, mb_tbl_uni_sb2code2_key, mb_tbl_uni_sb2code2_len); + if (i >= 0) { + s = mb_tbl_uni_sb2code2_value[i]; + s = (((s / 94) + 0x21) << 8) | ((s % 94) + 0x21); + } + } else if (w >= mb_tbl_uni_sb2code3_min && w <= mb_tbl_uni_sb2code3_max) { + int i = mbfl_bisec_srch2(w - 0x10000, mb_tbl_uni_sb2code3_key, mb_tbl_uni_sb2code3_len); + if (i >= 0) { + s = mb_tbl_uni_sb2code3_value[i]; + s = (((s / 94) + 0x21) << 8) | ((s % 94) + 0x21); + } + } else if (w >= mb_tbl_uni_sb2code5_min && w <= mb_tbl_uni_sb2code5_max) { + int i = mbfl_bisec_srch2(w - 0xF0000, mb_tbl_uni_sb2code5_key, mb_tbl_uni_sb2code5_len); + if (i >= 0) { + s = mb_tbl_uni_sb2code5_val[i]; + s = (((s / 94) + 0x21) << 8) | ((s % 94) + 0x21); + } + } + +emit_output: + if (!s && w) { + MB_CONVERT_ERROR(buf, out, limit, w, mb_wchar_to_sjis_sb); + MB_CONVERT_BUF_ENSURE(buf, out, limit, len); + } else if (s <= 0xFF) { + out = mb_convert_buf_add(out, s); + } else { + unsigned int c1 = (s >> 8) & 0xFF, c2 = s & 0xFF, s1, s2; + SJIS_ENCODE(c1, c2, s1, s2); + MB_CONVERT_BUF_ENSURE(buf, out, limit, len + 2); + out = mb_convert_buf_add2(out, s1, s2); + } + } + + MB_CONVERT_BUF_STORE(buf, out, limit); +} diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis_mobile.c b/ext/mbstring/libmbfl/filters/mbfilter_sjis_mobile.c deleted file mode 100644 index 31a1e3a4d777f..0000000000000 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis_mobile.c +++ /dev/null @@ -1,1632 +0,0 @@ -/* - * "streamable kanji code filter and converter" - * Copyright (c) 1998-2002 HappySize, Inc. All rights reserved. - * - * LICENSE NOTICES - * - * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public - * License (version 2) as published by the Free Software Foundation. - * - * This software is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with "streamable kanji code filter and converter"; - * if not, write to the Free Software Foundation, Inc., 59 Temple Place, - * Suite 330, Boston, MA 02111-1307 USA - * - * The author of this file: - * - */ -/* - * the source code included in this files was separated from mbfilter_sjis_open.c - * by Rui Hirokawa on 25 July 2011. - * - */ - -#include "mbfilter.h" -#include "mbfilter_sjis_mobile.h" - -#include "unicode_table_cp932_ext.h" -#include "unicode_table_jis.h" - -#include "emoji2uni.h" - -extern int mbfl_bisec_srch2(int w, const unsigned short tbl[], int n); -extern const unsigned char mblen_table_sjis[]; - -static int mbfl_filt_conv_sjis_wchar_flush(mbfl_convert_filter *filter); -static size_t mb_sjis_docomo_to_wchar(unsigned char **in, size_t *in_len, uint32_t *buf, size_t bufsize, unsigned int *state); -static void mb_wchar_to_sjis_docomo(uint32_t *in, size_t len, mb_convert_buf *buf, bool end); -static size_t mb_sjis_kddi_to_wchar(unsigned char **in, size_t *in_len, uint32_t *buf, size_t bufsize, unsigned int *state); -static void mb_wchar_to_sjis_kddi(uint32_t *in, size_t len, mb_convert_buf *buf, bool end); -static size_t mb_sjis_sb_to_wchar(unsigned char **in, size_t *in_len, uint32_t *buf, size_t bufsize, unsigned int *state); -static void mb_wchar_to_sjis_sb(uint32_t *in, size_t len, mb_convert_buf *buf, bool end); - -static const char *mbfl_encoding_sjis_docomo_aliases[] = {"SJIS-DOCOMO", "shift_jis-imode", "x-sjis-emoji-docomo", NULL}; -static const char *mbfl_encoding_sjis_kddi_aliases[] = {"SJIS-KDDI", "shift_jis-kddi", "x-sjis-emoji-kddi", NULL}; -static const char *mbfl_encoding_sjis_sb_aliases[] = {"SJIS-SOFTBANK", "shift_jis-softbank", "x-sjis-emoji-softbank", NULL}; - -const mbfl_encoding mbfl_encoding_sjis_docomo = { - mbfl_no_encoding_sjis_docomo, - "SJIS-Mobile#DOCOMO", - "Shift_JIS", - mbfl_encoding_sjis_docomo_aliases, - mblen_table_sjis, - MBFL_ENCTYPE_GL_UNSAFE, - &vtbl_sjis_docomo_wchar, - &vtbl_wchar_sjis_docomo, - mb_sjis_docomo_to_wchar, - mb_wchar_to_sjis_docomo -}; - -const mbfl_encoding mbfl_encoding_sjis_kddi = { - mbfl_no_encoding_sjis_kddi, - "SJIS-Mobile#KDDI", - "Shift_JIS", - mbfl_encoding_sjis_kddi_aliases, - mblen_table_sjis, - MBFL_ENCTYPE_GL_UNSAFE, - &vtbl_sjis_kddi_wchar, - &vtbl_wchar_sjis_kddi, - mb_sjis_kddi_to_wchar, - mb_wchar_to_sjis_kddi -}; - -const mbfl_encoding mbfl_encoding_sjis_sb = { - mbfl_no_encoding_sjis_sb, - "SJIS-Mobile#SOFTBANK", - "Shift_JIS", - mbfl_encoding_sjis_sb_aliases, - mblen_table_sjis, - MBFL_ENCTYPE_GL_UNSAFE, - &vtbl_sjis_sb_wchar, - &vtbl_wchar_sjis_sb, - mb_sjis_sb_to_wchar, - mb_wchar_to_sjis_sb -}; - -const struct mbfl_convert_vtbl vtbl_sjis_docomo_wchar = { - mbfl_no_encoding_sjis_docomo, - mbfl_no_encoding_wchar, - mbfl_filt_conv_common_ctor, - NULL, - mbfl_filt_conv_sjis_mobile_wchar, - mbfl_filt_conv_sjis_wchar_flush, - NULL, -}; - -const struct mbfl_convert_vtbl vtbl_wchar_sjis_docomo = { - mbfl_no_encoding_wchar, - mbfl_no_encoding_sjis_docomo, - mbfl_filt_conv_common_ctor, - NULL, - mbfl_filt_conv_wchar_sjis_mobile, - mbfl_filt_conv_sjis_mobile_flush, - NULL, -}; - -const struct mbfl_convert_vtbl vtbl_sjis_kddi_wchar = { - mbfl_no_encoding_sjis_kddi, - mbfl_no_encoding_wchar, - mbfl_filt_conv_common_ctor, - NULL, - mbfl_filt_conv_sjis_mobile_wchar, - mbfl_filt_conv_sjis_wchar_flush, - NULL, -}; - -const struct mbfl_convert_vtbl vtbl_wchar_sjis_kddi = { - mbfl_no_encoding_wchar, - mbfl_no_encoding_sjis_kddi, - mbfl_filt_conv_common_ctor, - NULL, - mbfl_filt_conv_wchar_sjis_mobile, - mbfl_filt_conv_sjis_mobile_flush, - NULL, -}; - -const struct mbfl_convert_vtbl vtbl_sjis_sb_wchar = { - mbfl_no_encoding_sjis_sb, - mbfl_no_encoding_wchar, - mbfl_filt_conv_common_ctor, - NULL, - mbfl_filt_conv_sjis_mobile_wchar, - mbfl_filt_conv_sjis_wchar_flush, - NULL, -}; - -const struct mbfl_convert_vtbl vtbl_wchar_sjis_sb = { - mbfl_no_encoding_wchar, - mbfl_no_encoding_sjis_sb, - mbfl_filt_conv_common_ctor, - NULL, - mbfl_filt_conv_wchar_sjis_mobile, - mbfl_filt_conv_sjis_mobile_flush, - NULL, -}; - -static const char nflags_s[10][2] = {"CN","DE","ES","FR","GB","IT","JP","KR","RU","US"}; -static const int nflags_code_kddi[10] = {0x2549, 0x2546, 0x24c0, 0x2545, 0x2548, 0x2547, 0x2750, 0x254a, 0x24c1, 0x27f7}; -static const int nflags_code_sb[10] = {0x2b0a, 0x2b05, 0x2b08, 0x2b04, 0x2b07, 0x2b06, 0x2b02, 0x2b0b, 0x2b09, 0x2b03}; - -const unsigned short mbfl_docomo2uni_pua[4][3] = { - {0x28c2, 0x292f, 0xe63e}, - {0x2930, 0x2934, 0xe6ac}, - {0x2935, 0x2951, 0xe6b1}, - {0x2952, 0x29db, 0xe6ce}, -}; - -const unsigned short mbfl_kddi2uni_pua[7][3] = { - {0x26ec, 0x2838, 0xe468}, - {0x284c, 0x2863, 0xe5b5}, - {0x24b8, 0x24ca, 0xe5cd}, - {0x24cb, 0x2545, 0xea80}, - {0x2839, 0x284b, 0xeafb}, - {0x2546, 0x25c0, 0xeb0e}, - {0x25c1, 0x25c6, 0xeb89}, -}; - -const unsigned short mbfl_sb2uni_pua[6][3] = { - {0x27a9, 0x2802, 0xe101}, - {0x2808, 0x2861, 0xe201}, - {0x2921, 0x297a, 0xe001}, - {0x2980, 0x29cc, 0xe301}, - {0x2a99, 0x2ae4, 0xe401}, - {0x2af8, 0x2b35, 0xe501}, -}; - -const unsigned short mbfl_kddi2uni_pua_b[8][3] = { - {0x24b8, 0x24f6, 0xec40}, - {0x24f7, 0x2573, 0xec80}, - {0x2574, 0x25b2, 0xed40}, - {0x25b3, 0x25c6, 0xed80}, - {0x26ec, 0x272a, 0xef40}, - {0x272b, 0x27a7, 0xef80}, - {0x27a8, 0x27e6, 0xf040}, - {0x27e7, 0x2863, 0xf080}, -}; - -/* Regional Indicator Unicode codepoints are from 0x1F1E6-0x1F1FF - * These correspond to the letters A-Z - * To display the flag emoji for a country, two unicode codepoints are combined, - * which correspond to the two-letter code for that country - * This macro converts uppercase ASCII values to Regional Indicator codepoints */ -#define NFLAGS(c) (0x1F1A5+(int)(c)) - -#define CK(statement) do { if ((statement) < 0) return (-1); } while (0) - -#define SJIS_ENCODE(c1,c2,s1,s2) \ - do { \ - s1 = ((c1 - 1) >> 1) + ((c1) < 0x5F ? 0x71 : 0xB1); \ - s2 = c2; \ - if ((c1) & 1) { \ - if ((c2) < 0x60) { \ - s2--; \ - } \ - s2 += 0x20; \ - } else { \ - s2 += 0x7e; \ - } \ - } while (0) - -#define SJIS_DECODE(c1,c2,s1,s2) \ - do { \ - if (c1 < 0xa0) { \ - s1 = ((c1 - 0x81) << 1) + 0x21; \ - } else { \ - s1 = ((c1 - 0xc1) << 1) + 0x21; \ - } \ - s2 = c2; \ - if (c2 < 0x9f) { \ - if (c2 < 0x7f) { \ - s2++; \ - } \ - s2 -= 0x20; \ - } else { \ - s1++; \ - s2 -= 0x7e; \ - } \ - } while (0) - -int mbfilter_conv_map_tbl(int c, int *w, const unsigned short map[][3], int n) -{ - for (int i = 0; i < n; i++) { - if (map[i][0] <= c && c <= map[i][1]) { - *w = c - map[i][0] + map[i][2]; - return 1; - } - } - return 0; -} - -int mbfilter_conv_r_map_tbl(int c, int *w, const unsigned short map[][3], int n) -{ - /* Convert in reverse direction */ - for (int i = 0; i < n; i++) { - if (map[i][2] <= c && c <= map[i][2] - map[i][0] + map[i][1]) { - *w = c + map[i][0] - map[i][2]; - return 1; - } - } - return 0; -} - -/* number -> (ku*94)+ten value for telephone keypad character */ -#define DOCOMO_KEYPAD(n) ((n) == 0 ? 0x296F : (0x2965 + (n))) -#define DOCOMO_KEYPAD_HASH 0x2964 - -#define EMIT_KEYPAD_EMOJI(c) do { *snd = (c); return 0x20E3; } while(0) - -/* Unicode codepoints for emoji are above 0x1F000, but we only store 16-bits - * in our tables. Therefore, add 0x10000 to recover the true values. - * - * Again, for some emoji which are not supported by Unicode, we use codepoints - * in the Private Use Area above 0xFE000. Again, add 0xF0000 to recover the - * true value. */ -static inline int convert_emoji_cp(int cp) -{ - if (cp > 0xF000) - return cp + 0x10000; - else if (cp > 0xE000) - return cp + 0xF0000; - return cp; -} - -int mbfilter_sjis_emoji_docomo2unicode(int s, int *snd) -{ - /* All three mobile vendors had emoji for numbers on a telephone keypad - * Unicode doesn't have those, but it has a combining character which puts - * a 'keypad button' around the following character, making it look like - * a key on a telephone or keyboard. That combining char is codepoint 0x20E3. */ - if (s >= mb_tbl_code2uni_docomo1_min && s <= mb_tbl_code2uni_docomo1_max) { - if ((s >= DOCOMO_KEYPAD(1) && s <= DOCOMO_KEYPAD(9)) || s == DOCOMO_KEYPAD(0) || s == DOCOMO_KEYPAD_HASH) { - EMIT_KEYPAD_EMOJI(convert_emoji_cp(mb_tbl_code2uni_docomo1[s - mb_tbl_code2uni_docomo1_min])); - } else { - *snd = 0; - return convert_emoji_cp(mb_tbl_code2uni_docomo1[s - mb_tbl_code2uni_docomo1_min]); - } - } - return 0; -} - -#define EMIT_FLAG_EMOJI(country) do { *snd = NFLAGS((country)[0]); return NFLAGS((country)[1]); } while(0) - -static const char nflags_kddi[6][2] = {"FR", "DE", "IT", "GB", "CN", "KR"}; - -int mbfilter_sjis_emoji_kddi2unicode(int s, int *snd) -{ - if (s >= mb_tbl_code2uni_kddi1_min && s <= mb_tbl_code2uni_kddi1_max) { - if (s == 0x24C0) { /* Spain */ - EMIT_FLAG_EMOJI("ES"); - } else if (s == 0x24C1) { /* Russia */ - EMIT_FLAG_EMOJI("RU"); - } else if (s >= 0x2545 && s <= 0x254A) { - EMIT_FLAG_EMOJI(nflags_kddi[s - 0x2545]); - } else if (s == 0x25BC) { - EMIT_KEYPAD_EMOJI('#'); - } else { - *snd = 0; - return convert_emoji_cp(mb_tbl_code2uni_kddi1[s - mb_tbl_code2uni_kddi1_min]); - } - } else if (s >= mb_tbl_code2uni_kddi2_min && s <= mb_tbl_code2uni_kddi2_max) { - if (s == 0x2750) { /* Japan */ - EMIT_FLAG_EMOJI("JP"); - } else if (s >= 0x27A6 && s <= 0x27AE) { - EMIT_KEYPAD_EMOJI(s - 0x27A6 + '1'); - } else if (s == 0x27F7) { /* United States */ - EMIT_FLAG_EMOJI("US"); - } else if (s == 0x2830) { - EMIT_KEYPAD_EMOJI('0'); - } else { - *snd = 0; - return convert_emoji_cp(mb_tbl_code2uni_kddi2[s - mb_tbl_code2uni_kddi2_min]); - } - } - return 0; -} - -static const char nflags_sb[10][2] = {"JP", "US", "FR", "DE", "IT", "GB", "ES", "RU", "CN", "KR"}; - -int mbfilter_sjis_emoji_sb2unicode(int s, int *snd) -{ - if (s >= mb_tbl_code2uni_sb1_min && s <= mb_tbl_code2uni_sb1_max) { - if (s == 0x2817 || (s >= 0x2823 && s <= 0x282C)) { - EMIT_KEYPAD_EMOJI(mb_tbl_code2uni_sb1[s - mb_tbl_code2uni_sb1_min]); - } else { - *snd = 0; - return convert_emoji_cp(mb_tbl_code2uni_sb1[s - mb_tbl_code2uni_sb1_min]); - } - } else if (s >= mb_tbl_code2uni_sb2_min && s <= mb_tbl_code2uni_sb2_max) { - *snd = 0; - return convert_emoji_cp(mb_tbl_code2uni_sb2[s - mb_tbl_code2uni_sb2_min]); - } else if (s >= mb_tbl_code2uni_sb3_min && s <= mb_tbl_code2uni_sb3_max) { - if (s >= 0x2B02 && s <= 0x2B0B) { - EMIT_FLAG_EMOJI(nflags_sb[s - 0x2B02]); - } else { - *snd = 0; - return convert_emoji_cp(mb_tbl_code2uni_sb3[s - mb_tbl_code2uni_sb3_min]); - } - } - return 0; -} - -int -mbfilter_unicode2sjis_emoji_docomo(int c, int *s1, mbfl_convert_filter *filter) -{ - /* When converting SJIS-Mobile to Unicode, we convert keypad symbol emoji - * to a sequence of 2 codepoints, one of which is a combining character which - * adds the 'key' image around the other - * - * In the other direction, look for such sequences and convert them to a - * single emoji */ - if (filter->status == 1) { - int c1 = filter->cache; - filter->cache = filter->status = 0; - if (c == 0x20E3) { - if (c1 == '#') { - *s1 = 0x2964; - } else if (c1 == '0') { - *s1 = 0x296F; - } else { /* Previous character was '1'-'9' */ - *s1 = 0x2966 + (c1 - '1'); - } - return 1; - } else { - /* This character wasn't combining character to make keypad symbol, - * so pass the previous character through... and proceed to process the - * current character as usual - * (Single-byte ASCII characters are valid in Shift-JIS...) */ - CK((*filter->output_function)(c1, filter->data)); - } - } - - if (c == '#' || (c >= '0' && c <= '9')) { - filter->status = 1; - filter->cache = c; - return 0; - } - - if (c == 0xA9) { /* Copyright sign */ - *s1 = 0x29B5; - return 1; - } else if (c == 0x00AE) { /* Registered sign */ - *s1 = 0x29BA; - return 1; - } else if (c >= mb_tbl_uni_docomo2code2_min && c <= mb_tbl_uni_docomo2code2_max) { - int i = mbfl_bisec_srch2(c, mb_tbl_uni_docomo2code2_key, mb_tbl_uni_docomo2code2_len); - if (i >= 0) { - *s1 = mb_tbl_uni_docomo2code2_value[i]; - return 1; - } - } else if (c >= mb_tbl_uni_docomo2code3_min && c <= mb_tbl_uni_docomo2code3_max) { - int i = mbfl_bisec_srch2(c - 0x10000, mb_tbl_uni_docomo2code3_key, mb_tbl_uni_docomo2code3_len); - if (i >= 0) { - *s1 = mb_tbl_uni_docomo2code3_value[i]; - return 1; - } - } else if (c >= mb_tbl_uni_docomo2code5_min && c <= mb_tbl_uni_docomo2code5_max) { - int i = mbfl_bisec_srch2(c - 0xF0000, mb_tbl_uni_docomo2code5_key, mb_tbl_uni_docomo2code5_len); - if (i >= 0) { - *s1 = mb_tbl_uni_docomo2code5_val[i]; - return 1; - } - } - return 0; -} - -int mbfilter_unicode2sjis_emoji_kddi(int c, int *s1, mbfl_convert_filter *filter) -{ - if (filter->status == 1) { - int c1 = filter->cache; - filter->cache = filter->status = 0; - if (c == 0x20E3) { - if (c1 == '#') { - *s1 = 0x25BC; - } else if (c1 == '0') { - *s1 = 0x2830; - } else { /* Previous character was '1'-'9' */ - *s1 = 0x27a6 + (c1 - '1'); - } - return 1; - } else { - CK((*filter->output_function)(c1, filter->data)); - } - } else if (filter->status == 2) { - int c1 = filter->cache; - filter->cache = filter->status = 0; - if (c >= NFLAGS('B') && c <= NFLAGS('U')) { /* B for GB, U for RU */ - for (int i = 0; i < 10; i++) { - if (c1 == NFLAGS(nflags_s[i][0]) && c == NFLAGS(nflags_s[i][1])) { - *s1 = nflags_code_kddi[i]; - return 1; - } - } - } - - /* If none of the KDDI national flag emoji matched, then we have no way - * to convert the previous codepoint... */ - mbfl_filt_conv_illegal_output(c1, filter); - } - - if (c == '#' || (c >= '0' && c <= '9')) { - filter->status = 1; - filter->cache = c; - return 0; - } else if (c >= NFLAGS('C') && c <= NFLAGS('U')) { /* C for CN, U for US */ - filter->status = 2; - filter->cache = c; - return 0; - } - - if (c == 0xA9) { /* Copyright sign */ - *s1 = 0x27DC; - return 1; - } else if (c == 0xAE) { /* Registered sign */ - *s1 = 0x27DD; - return 1; - } else if (c >= mb_tbl_uni_kddi2code2_min && c <= mb_tbl_uni_kddi2code2_max) { - int i = mbfl_bisec_srch2(c, mb_tbl_uni_kddi2code2_key, mb_tbl_uni_kddi2code2_len); - if (i >= 0) { - *s1 = mb_tbl_uni_kddi2code2_value[i]; - return 1; - } - } else if (c >= mb_tbl_uni_kddi2code3_min && c <= mb_tbl_uni_kddi2code3_max) { - int i = mbfl_bisec_srch2(c - 0x10000, mb_tbl_uni_kddi2code3_key, mb_tbl_uni_kddi2code3_len); - if (i >= 0) { - *s1 = mb_tbl_uni_kddi2code3_value[i]; - return 1; - } - } else if (c >= mb_tbl_uni_kddi2code5_min && c <= mb_tbl_uni_kddi2code5_max) { - int i = mbfl_bisec_srch2(c - 0xF0000, mb_tbl_uni_kddi2code5_key, mb_tbl_uni_kddi2code5_len); - if (i >= 0) { - *s1 = mb_tbl_uni_kddi2code5_val[i]; - return 1; - } - } - return 0; -} - -int mbfilter_unicode2sjis_emoji_sb(int c, int *s1, mbfl_convert_filter *filter) -{ - if (filter->status == 1) { - int c1 = filter->cache; - filter->cache = filter->status = 0; - if (c == 0x20E3) { - if (c1 == '#') { - *s1 = 0x2817; - } else if (c1 == '0') { - *s1 = 0x282c; - } else { /* Previous character was '1'-'9' */ - *s1 = 0x2823 + (c1 - '1'); - } - return 1; - } else { - (*filter->output_function)(c1, filter->data); - } - } else if (filter->status == 2) { - int c1 = filter->cache; - filter->cache = filter->status = 0; - if (c >= NFLAGS('B') && c <= NFLAGS('U')) { /* B for GB, U for RU */ - for (int i = 0; i < 10; i++) { - if (c1 == NFLAGS(nflags_s[i][0]) && c == NFLAGS(nflags_s[i][1])) { - *s1 = nflags_code_sb[i]; - return 1; - } - } - } - - /* If none of the SoftBank national flag emoji matched, then we have no way - * to convert the previous codepoint... */ - mbfl_filt_conv_illegal_output(c1, filter); - } - - if (c == '#' || (c >= '0' && c <= '9')) { - filter->status = 1; - filter->cache = c; - return 0; - } else if (c >= NFLAGS('C') && c <= NFLAGS('U')) { /* C for CN, U for US */ - filter->status = 2; - filter->cache = c; - return 0; - } - - if (c == 0xA9) { /* Copyright sign */ - *s1 = 0x2855; - return 1; - } else if (c == 0xAE) { /* Registered sign */ - *s1 = 0x2856; - return 1; - } else if (c >= mb_tbl_uni_sb2code2_min && c <= mb_tbl_uni_sb2code2_max) { - int i = mbfl_bisec_srch2(c, mb_tbl_uni_sb2code2_key, mb_tbl_uni_sb2code2_len); - if (i >= 0) { - *s1 = mb_tbl_uni_sb2code2_value[i]; - return 1; - } - } else if (c >= mb_tbl_uni_sb2code3_min && c <= mb_tbl_uni_sb2code3_max) { - int i = mbfl_bisec_srch2(c - 0x10000, mb_tbl_uni_sb2code3_key, mb_tbl_uni_sb2code3_len); - if (i >= 0) { - *s1 = mb_tbl_uni_sb2code3_value[i]; - return 1; - } - } else if (c >= mb_tbl_uni_sb2code5_min && c <= mb_tbl_uni_sb2code5_max) { - int i = mbfl_bisec_srch2(c - 0xF0000, mb_tbl_uni_sb2code5_key, mb_tbl_uni_sb2code5_len); - if (i >= 0) { - *s1 = mb_tbl_uni_sb2code5_val[i]; - return 1; - } - } - return 0; -} - -int mbfl_filt_conv_sjis_mobile_wchar(int c, mbfl_convert_filter *filter) -{ - int c1, s, s1, s2, w, snd = 0; - - switch (filter->status) { - case 0: - if (c >= 0 && c < 0x80) { /* ASCII */ - if (filter->from == &mbfl_encoding_sjis_sb && c == 0x1B) { - /* ESC; escape sequences were used on older SoftBank phones for emoji */ - filter->cache = c; - filter->status = 2; - } else { - CK((*filter->output_function)(c, filter->data)); - } - } else if (c > 0xA0 && c < 0xE0) { /* Kana */ - CK((*filter->output_function)(0xFEC0 + c, filter->data)); - } else if (c > 0x80 && c < 0xFD && c != 0xA0) { /* Kanji, first byte */ - filter->status = 1; - filter->cache = c; - } else { - CK((*filter->output_function)(MBFL_BAD_INPUT, filter->data)); - } - break; - - case 1: /* Kanji, second byte */ - filter->status = 0; - c1 = filter->cache; - if (c >= 0x40 && c <= 0xFC && c != 0x7F) { - w = 0; - SJIS_DECODE(c1, c, s1, s2); - s = ((s1 - 0x21) * 94) + s2 - 0x21; - if (s <= 137) { - if (s == 31) { - w = 0xFF3C; /* FULLWIDTH REVERSE SOLIDUS */ - } else if (s == 32) { - w = 0xFF5E; /* FULLWIDTH TILDE */ - } else if (s == 33) { - w = 0x2225; /* PARALLEL TO */ - } else if (s == 60) { - w = 0xFF0D; /* FULLWIDTH HYPHEN-MINUS */ - } else if (s == 80) { - w = 0xFFE0; /* FULLWIDTH CENT SIGN */ - } else if (s == 81) { - w = 0xFFE1; /* FULLWIDTH POUND SIGN */ - } else if (s == 137) { - w = 0xFFE2; /* FULLWIDTH NOT SIGN */ - } - } - if (w == 0) { - if (s >= cp932ext1_ucs_table_min && s < cp932ext1_ucs_table_max) { /* vendor ext1 (13ku) */ - w = cp932ext1_ucs_table[s - cp932ext1_ucs_table_min]; - } else if (s >= 0 && s < jisx0208_ucs_table_size) { /* X 0208 */ - w = jisx0208_ucs_table[s]; - } else if (s >= cp932ext2_ucs_table_min && s < cp932ext2_ucs_table_max) { /* vendor ext2 (89ku - 92ku) */ - w = cp932ext2_ucs_table[s - cp932ext2_ucs_table_min]; - } - - /* Emoji */ - if (filter->from == &mbfl_encoding_sjis_docomo && s >= mb_tbl_code2uni_docomo1_min && s <= mb_tbl_code2uni_docomo1_max) { - w = mbfilter_sjis_emoji_docomo2unicode(s, &snd); - if (snd > 0) { - CK((*filter->output_function)(snd, filter->data)); - } - } else if (filter->from == &mbfl_encoding_sjis_kddi && s >= mb_tbl_code2uni_kddi1_min && s <= mb_tbl_code2uni_kddi2_max) { - w = mbfilter_sjis_emoji_kddi2unicode(s, &snd); - if (snd > 0) { - CK((*filter->output_function)(snd, filter->data)); - } - } else if (filter->from == &mbfl_encoding_sjis_sb && s >= mb_tbl_code2uni_sb1_min && s <= mb_tbl_code2uni_sb3_max) { - w = mbfilter_sjis_emoji_sb2unicode(s, &snd); - if (snd > 0) { - CK((*filter->output_function)(snd, filter->data)); - } - } - - if (w == 0) { - if (s >= cp932ext3_ucs_table_min && s < cp932ext3_ucs_table_max) { /* vendor ext3 (115ku - 119ku) */ - w = cp932ext3_ucs_table[s - cp932ext3_ucs_table_min]; - } else if (s >= (94*94) && s < (114*94)) { /* user (95ku - 114ku) */ - w = s - (94*94) + 0xe000; - } - } - } - if (w <= 0) { - w = MBFL_BAD_INPUT; - } - CK((*filter->output_function)(w, filter->data)); - } else { - CK((*filter->output_function)(MBFL_BAD_INPUT, filter->data)); - } - break; - - /* ESC: Softbank Emoji */ - case 2: - if (c == '$') { - filter->cache = c; - filter->status++; - } else { - CK((*filter->output_function)(MBFL_BAD_INPUT, filter->data)); - filter->status = filter->cache = 0; - } - break; - - /* ESC $: Softbank Emoji */ - case 3: - if ((c >= 'E' && c <= 'G') || (c >= 'O' && c <= 'Q')) { - filter->cache = c; - filter->status++; - } else { - CK((*filter->output_function)(MBFL_BAD_INPUT, filter->data)); - filter->status = filter->cache = 0; - } - break; - - /* ESC $ [GEFOPQ]: Softbank Emoji */ - case 4: - c1 = filter->cache; - if (c == 0xF) { /* Terminate sequence of emoji */ - filter->status = filter->cache = 0; - return 0; - } else { - if (c1 == 'G' && c >= 0x21 && c <= 0x7a) { - s1 = (0x91 - 0x21) * 94; - } else if (c1 == 'E' && c >= 0x21 && c <= 0x7A) { - s1 = (0x8D - 0x21) * 94; - } else if (c1 == 'F' && c >= 0x21 && c <= 0x7A) { - s1 = (0x8E - 0x21) * 94; - } else if (c1 == 'O' && c >= 0x21 && c <= 0x6D) { - s1 = (0x92 - 0x21) * 94; - } else if (c1 == 'P' && c >= 0x21 && c <= 0x6C) { - s1 = (0x95 - 0x21) * 94; - } else if (c1 == 'Q' && c >= 0x21 && c <= 0x5E) { - s1 = (0x96 - 0x21) * 94; - } else { - CK((*filter->output_function)(MBFL_BAD_INPUT, filter->data)); - filter->status = filter->cache = 0; - return 0; - } - - w = mbfilter_sjis_emoji_sb2unicode(s1 + c - 0x21, &snd); - if (w > 0) { - if (snd > 0) { - CK((*filter->output_function)(snd, filter->data)); - } - CK((*filter->output_function)(w, filter->data)); - } else { - CK((*filter->output_function)(MBFL_BAD_INPUT, filter->data)); - filter->status = filter->cache = 0; - } - } - } - - return 0; -} - -static int mbfl_filt_conv_sjis_wchar_flush(mbfl_convert_filter *filter) -{ - if (filter->status && filter->status != 4) { - (*filter->output_function)(MBFL_BAD_INPUT, filter->data); - } - filter->status = 0; - - if (filter->flush_function) { - (*filter->flush_function)(filter->data); - } - - return 0; -} - -int mbfl_filt_conv_wchar_sjis_mobile(int c, mbfl_convert_filter *filter) -{ - int c1, c2, s1 = 0, s2 = 0; - - if (c >= ucs_a1_jis_table_min && c < ucs_a1_jis_table_max) { - s1 = ucs_a1_jis_table[c - ucs_a1_jis_table_min]; - } else if (c >= ucs_a2_jis_table_min && c < ucs_a2_jis_table_max) { - s1 = ucs_a2_jis_table[c - ucs_a2_jis_table_min]; - } else if (c >= ucs_i_jis_table_min && c < ucs_i_jis_table_max) { - s1 = ucs_i_jis_table[c - ucs_i_jis_table_min]; - } else if (c >= ucs_r_jis_table_min && c < ucs_r_jis_table_max) { - s1 = ucs_r_jis_table[c - ucs_r_jis_table_min]; - } else if (c >= 0xE000 && c < (0xE000 + 20*94)) { - /* Private User Area (95ku - 114ku) */ - s1 = c - 0xE000; - c1 = (s1 / 94) + 0x7F; - c2 = (s1 % 94) + 0x21; - s1 = (c1 << 8) | c2; - s2 = 1; - } - - if (s1 <= 0) { - if (c == 0xA5) { /* YEN SIGN */ - s1 = 0x216F; /* FULLWIDTH YEN SIGN */ - } else if (c == 0xFF3c) { /* FULLWIDTH REVERSE SOLIDUS */ - s1 = 0x2140; - } else if (c == 0x2225) { /* PARALLEL TO */ - s1 = 0x2142; - } else if (c == 0xFF0D) { /* FULLWIDTH HYPHEN-MINUS */ - s1 = 0x215D; - } else if (c == 0xFFE0) { /* FULLWIDTH CENT SIGN */ - s1 = 0x2171; - } else if (c == 0xFFE1) { /* FULLWIDTH POUND SIGN */ - s1 = 0x2172; - } else if (c == 0xFFE2) { /* FULLWIDTH NOT SIGN */ - s1 = 0x224C; - } - } - - if ((s1 <= 0) || (s1 >= 0x8080 && s2 == 0)) { /* not found or X 0212 */ - s1 = -1; - - /* CP932 vendor ext1 (13ku) */ - for (c1 = 0; c1 < cp932ext1_ucs_table_max - cp932ext1_ucs_table_min; c1++) { - if (c == cp932ext1_ucs_table[c1]) { - s1 = (((c1 / 94) + 0x2D) << 8) + (c1 % 94) + 0x21; - break; - } - } - - if (s1 <= 0) { - /* CP932 vendor ext2 (115ku - 119ku) */ - for (c1 = 0; c1 < cp932ext2_ucs_table_max - cp932ext2_ucs_table_min; c1++) { - if (c == cp932ext2_ucs_table[c1]) { - s1 = (((c1 / 94) + 0x79) << 8) + (c1 % 94) + 0x21; - break; - } - } - } - - if (c == 0) { - s1 = 0; - } - } - - if ((filter->to == &mbfl_encoding_sjis_docomo && mbfilter_unicode2sjis_emoji_docomo(c, &s1, filter)) || - (filter->to == &mbfl_encoding_sjis_kddi && mbfilter_unicode2sjis_emoji_kddi(c, &s1, filter)) || - (filter->to == &mbfl_encoding_sjis_sb && mbfilter_unicode2sjis_emoji_sb(c, &s1, filter))) { - s1 = (((s1 / 94) + 0x21) << 8) | ((s1 % 94) + 0x21); - } - - if (filter->status) { - return 0; - } - - if (s1 >= 0) { - if (s1 < 0x100) { /* Latin/Kana */ - CK((*filter->output_function)(s1, filter->data)); - } else { /* Kanji */ - c1 = (s1 >> 8) & 0xff; - c2 = s1 & 0xff; - SJIS_ENCODE(c1, c2, s1, s2); - CK((*filter->output_function)(s1, filter->data)); - CK((*filter->output_function)(s2, filter->data)); - } - } else { - CK(mbfl_filt_conv_illegal_output(c, filter)); - } - - return 0; -} - -int mbfl_filt_conv_sjis_mobile_flush(mbfl_convert_filter *filter) -{ - int c1 = filter->cache; - if (filter->status == 1 && (c1 == '#' || (c1 >= '0' && c1 <= '9'))) { - filter->cache = filter->status = 0; - CK((*filter->output_function)(c1, filter->data)); - } else if (filter->status == 2) { - /* First of a pair of Regional Indicator codepoints came at the end of a string */ - filter->cache = filter->status = 0; - mbfl_filt_conv_illegal_output(c1, filter); - } - - if (filter->flush_function) { - (*filter->flush_function)(filter->data); - } - - return 0; -} - -static size_t mb_sjis_docomo_to_wchar(unsigned char **in, size_t *in_len, uint32_t *buf, size_t bufsize, unsigned int *state) -{ - unsigned char *p = *in, *e = p + *in_len; - /* Leave one extra space available in output buffer, since some iterations of - * main loop (below) may emit two wchars */ - uint32_t *out = buf, *limit = buf + bufsize - 1; - - while (p < e && out < limit) { - unsigned char c = *p++; - - if (c <= 0x7F) { - *out++ = c; - } else if (c >= 0xA1 && c <= 0xDF) { - /* Kana */ - *out++ = 0xFEC0 + c; - } else if (c > 0x80 && c < 0xFD && c != 0xA0) { - /* Kanji */ - if (p == e) { - *out++ = MBFL_BAD_INPUT; - break; - } - unsigned char c2 = *p++; - - if (c2 >= 0x40 && c2 <= 0xFC && c2 != 0x7F) { - uint32_t w = 0; - unsigned int s1, s2; - SJIS_DECODE(c, c2, s1, s2); - unsigned int s = ((s1 - 0x21) * 94) + s2 - 0x21; - - if (s <= 137) { - if (s == 31) { - w = 0xFF3C; /* FULLWIDTH REVERSE SOLIDUS */ - } else if (s == 32) { - w = 0xFF5E; /* FULLWIDTH TILDE */ - } else if (s == 33) { - w = 0x2225; /* PARALLEL TO */ - } else if (s == 60) { - w = 0xFF0D; /* FULLWIDTH HYPHEN-MINUS */ - } else if (s == 80) { - w = 0xFFE0; /* FULLWIDTH CENT SIGN */ - } else if (s == 81) { - w = 0xFFE1; /* FULLWIDTH POUND SIGN */ - } else if (s == 137) { - w = 0xFFE2; /* FULLWIDTH NOT SIGN */ - } - } - - if (!w) { - if (s >= mb_tbl_code2uni_docomo1_min && s <= mb_tbl_code2uni_docomo1_max) { - int snd = 0; - w = mbfilter_sjis_emoji_docomo2unicode(s, &snd); - if (snd) { - *out++ = snd; - } - } else if (s >= cp932ext1_ucs_table_min && s < cp932ext1_ucs_table_max) { - w = cp932ext1_ucs_table[s - cp932ext1_ucs_table_min]; - } else if (s < jisx0208_ucs_table_size) { - w = jisx0208_ucs_table[s]; - } else if (s >= cp932ext2_ucs_table_min && s < cp932ext2_ucs_table_max) { - w = cp932ext2_ucs_table[s - cp932ext2_ucs_table_min]; - } - - if (!w) { - if (s >= cp932ext3_ucs_table_min && s < cp932ext3_ucs_table_max) { - w = cp932ext3_ucs_table[s - cp932ext3_ucs_table_min]; - } else if (s >= (94*94) && s < (114*94)) { - w = s - (94*94) + 0xE000; - } - } - } - - *out++ = w ? w : MBFL_BAD_INPUT; - } else { - *out++ = MBFL_BAD_INPUT; - } - } else { - *out++ = MBFL_BAD_INPUT; - } - } - - *in_len = e - p; - *in = p; - return out - buf; -} - -static void mb_wchar_to_sjis_docomo(uint32_t *in, size_t len, mb_convert_buf *buf, bool end) -{ - unsigned char *out, *limit; - MB_CONVERT_BUF_LOAD(buf, out, limit); - MB_CONVERT_BUF_ENSURE(buf, out, limit, len + (buf->state ? 1 : 0)); - - uint32_t w; - unsigned int s = 0; - - if (buf->state) { - /* Continue what we were doing on the previous call */ - w = buf->state; - buf->state = 0; - if (len) { - goto reprocess_wchar; - } else { - goto emit_output; - } - } - - while (len--) { - w = *in++; -reprocess_wchar: - s = 0; - - if (w >= ucs_a1_jis_table_min && w < ucs_a1_jis_table_max) { - s = ucs_a1_jis_table[w - ucs_a1_jis_table_min]; - } else if (w >= ucs_a2_jis_table_min && w < ucs_a2_jis_table_max) { - s = ucs_a2_jis_table[w - ucs_a2_jis_table_min]; - } else if (w >= ucs_i_jis_table_min && w < ucs_i_jis_table_max) { - s = ucs_i_jis_table[w - ucs_i_jis_table_min]; - } else if (w >= ucs_r_jis_table_min && w < ucs_r_jis_table_max) { - s = ucs_r_jis_table[w - ucs_r_jis_table_min]; - } else if (w >= 0xE000 && w < (0xE000 + 20*94)) { - /* Private User Area (95ku - 114ku) */ - s = w - 0xE000; - s = (((s / 94) + 0x7F) << 8) | ((s % 94) + 0x21); - goto process_emoji; - } - - if (!s) { - if (w == 0xA5) { /* YEN SIGN */ - s = 0x216F; /* FULLWIDTH YEN SIGN */ - } else if (w == 0xFF3C) { /* FULLWIDTH REVERSE SOLIDUS */ - s = 0x2140; - } else if (w == 0x2225) { /* PARALLEL TO */ - s = 0x2142; - } else if (w == 0xFF0D) { /* FULLWIDTH HYPHEN-MINUS */ - s = 0x215D; - } else if (w == 0xFFE0) { /* FULLWIDTH CENT SIGN */ - s = 0x2171; - } else if (w == 0xFFE1) { /* FULLWIDTH POUND SIGN */ - s = 0x2172; - } else if (w == 0xFFE2) { /* FULLWIDTH NOT SIGN */ - s = 0x224C; - } - } - - if (w && (!s || s >= 0x8080)) { - s = 0; - - for (int i = 0; i < cp932ext1_ucs_table_max - cp932ext1_ucs_table_min; i++) { - if (w == cp932ext1_ucs_table[i]) { - s = (((i / 94) + 0x2D) << 8) + (i % 94) + 0x21; - goto process_emoji; - } - } - - for (int i = 0; i < cp932ext2_ucs_table_max - cp932ext2_ucs_table_min; i++) { - if (w == cp932ext2_ucs_table[i]) { - s = (((i / 94) + 0x79) << 8) + (i % 94) + 0x21; - goto process_emoji; - } - } - } - -process_emoji: - /* When converting SJIS-Mobile to Unicode, we convert keypad symbol emoji - * to a sequence of 2 codepoints, one of which is a combining character which - * adds the 'key' image around the other - * - * In the other direction, look for such sequences and convert them to a - * single emoji */ - if (w == '#' || (w >= '0' && w <= '9')) { - if (!len) { - if (end) { - goto emit_output; - } else { - /* If we are at the end of the current buffer of codepoints, but another - * buffer is coming, then remember that we have to reprocess `w` */ - buf->state = w; - break; - } - } - uint32_t w2 = *in++; len--; - if (w2 == 0x20E3) { - if (w == '#') { - s = 0x2964; - } else if (w == '0') { - s = 0x296F; - } else { /* Previous character was '1'-'9' */ - s = 0x2966 + (w - '1'); - } - s = (((s / 94) + 0x21) << 8) | ((s % 94) + 0x21); - } else { - in--; len++; - } - } else if (w == 0xA9) { /* Copyright sign */ - s = (((0x29B5 / 94) + 0x21) << 8) | ((0x29B5 % 94) + 0x21); - } else if (w == 0xAE) { /* Registered sign */ - s = (((0x29BA / 94) + 0x21) << 8) | ((0x29BA % 94) + 0x21); - } else if (w >= mb_tbl_uni_docomo2code2_min && w <= mb_tbl_uni_docomo2code2_max) { - int i = mbfl_bisec_srch2(w, mb_tbl_uni_docomo2code2_key, mb_tbl_uni_docomo2code2_len); - if (i >= 0) { - s = mb_tbl_uni_docomo2code2_value[i]; - s = (((s / 94) + 0x21) << 8) | ((s % 94) + 0x21); - } - } else if (w >= mb_tbl_uni_docomo2code3_min && w <= mb_tbl_uni_docomo2code3_max) { - int i = mbfl_bisec_srch2(w - 0x10000, mb_tbl_uni_docomo2code3_key, mb_tbl_uni_docomo2code3_len); - if (i >= 0) { - s = mb_tbl_uni_docomo2code3_value[i]; - s = (((s / 94) + 0x21) << 8) | ((s % 94) + 0x21); - } - } else if (w >= mb_tbl_uni_docomo2code5_min && w <= mb_tbl_uni_docomo2code5_max) { - int i = mbfl_bisec_srch2(w - 0xF0000, mb_tbl_uni_docomo2code5_key, mb_tbl_uni_docomo2code5_len); - if (i >= 0) { - s = mb_tbl_uni_docomo2code5_val[i]; - s = (((s / 94) + 0x21) << 8) | ((s % 94) + 0x21); - } - } - -emit_output: - if (!s && w) { - MB_CONVERT_ERROR(buf, out, limit, w, mb_wchar_to_sjis_docomo); - MB_CONVERT_BUF_ENSURE(buf, out, limit, len); - } else if (s <= 0xFF) { - out = mb_convert_buf_add(out, s); - } else { - unsigned int c1 = (s >> 8) & 0xFF, c2 = s & 0xFF, s1, s2; - SJIS_ENCODE(c1, c2, s1, s2); - MB_CONVERT_BUF_ENSURE(buf, out, limit, len + 2); - out = mb_convert_buf_add2(out, s1, s2); - } - } - - MB_CONVERT_BUF_STORE(buf, out, limit); -} - -static size_t mb_sjis_kddi_to_wchar(unsigned char **in, size_t *in_len, uint32_t *buf, size_t bufsize, unsigned int *state) -{ - unsigned char *p = *in, *e = p + *in_len; - uint32_t *out = buf, *limit = buf + bufsize - 1; - - while (p < e && out < limit) { - unsigned char c = *p++; - - if (c <= 0x7F) { - *out++ = c; - } else if (c >= 0xA1 && c <= 0xDF) { - /* Kana */ - *out++ = 0xFEC0 + c; - } else if (c > 0x80 && c < 0xFD && c != 0xA0) { - /* Kanji */ - if (p == e) { - *out++ = MBFL_BAD_INPUT; - break; - } - unsigned char c2 = *p++; - - if (c2 >= 0x40 && c2 <= 0xFC && c2 != 0x7F) { - uint32_t w = 0; - unsigned int s1, s2; - SJIS_DECODE(c, c2, s1, s2); - unsigned int s = ((s1 - 0x21) * 94) + s2 - 0x21; - - if (s <= 137) { - if (s == 31) { - w = 0xFF3C; /* FULLWIDTH REVERSE SOLIDUS */ - } else if (s == 32) { - w = 0xFF5E; /* FULLWIDTH TILDE */ - } else if (s == 33) { - w = 0x2225; /* PARALLEL TO */ - } else if (s == 60) { - w = 0xFF0D; /* FULLWIDTH HYPHEN-MINUS */ - } else if (s == 80) { - w = 0xFFE0; /* FULLWIDTH CENT SIGN */ - } else if (s == 81) { - w = 0xFFE1; /* FULLWIDTH POUND SIGN */ - } else if (s == 137) { - w = 0xFFE2; /* FULLWIDTH NOT SIGN */ - } - } - - if (!w) { - if (s >= mb_tbl_code2uni_kddi1_min && s <= mb_tbl_code2uni_kddi2_max) { - int snd = 0; - w = mbfilter_sjis_emoji_kddi2unicode(s, &snd); - if (snd) { - *out++ = snd; - } - } else if (s >= cp932ext1_ucs_table_min && s < cp932ext1_ucs_table_max) { - w = cp932ext1_ucs_table[s - cp932ext1_ucs_table_min]; - } else if (s < jisx0208_ucs_table_size) { - w = jisx0208_ucs_table[s]; - } else if (s >= cp932ext2_ucs_table_min && s < cp932ext2_ucs_table_max) { - w = cp932ext2_ucs_table[s - cp932ext2_ucs_table_min]; - } - - if (!w) { - if (s >= cp932ext3_ucs_table_min && s < cp932ext3_ucs_table_max) { - w = cp932ext3_ucs_table[s - cp932ext3_ucs_table_min]; - } else if (s >= (94*94) && s < (114*94)) { - w = s - (94*94) + 0xE000; - } - } - } - - *out++ = w ? w : MBFL_BAD_INPUT; - } else { - *out++ = MBFL_BAD_INPUT; - } - } else { - *out++ = MBFL_BAD_INPUT; - } - } - - *in_len = e - p; - *in = p; - return out - buf; -} - -static void mb_wchar_to_sjis_kddi(uint32_t *in, size_t len, mb_convert_buf *buf, bool end) -{ - unsigned char *out, *limit; - MB_CONVERT_BUF_LOAD(buf, out, limit); - MB_CONVERT_BUF_ENSURE(buf, out, limit, len + (buf->state ? 1 : 0)); - - uint32_t w; - unsigned int s = 0; - - if (buf->state) { - w = buf->state; - buf->state = 0; - if (len) { - goto reprocess_wchar; - } else { - goto emit_output; - } - } - - while (len--) { - w = *in++; -reprocess_wchar: - s = 0; - - if (w >= ucs_a1_jis_table_min && w < ucs_a1_jis_table_max) { - s = ucs_a1_jis_table[w - ucs_a1_jis_table_min]; - } else if (w >= ucs_a2_jis_table_min && w < ucs_a2_jis_table_max) { - s = ucs_a2_jis_table[w - ucs_a2_jis_table_min]; - } else if (w >= ucs_i_jis_table_min && w < ucs_i_jis_table_max) { - s = ucs_i_jis_table[w - ucs_i_jis_table_min]; - } else if (w >= ucs_r_jis_table_min && w < ucs_r_jis_table_max) { - s = ucs_r_jis_table[w - ucs_r_jis_table_min]; - } else if (w >= 0xE000 && w < (0xE000 + 20*94)) { - /* Private User Area (95ku - 114ku) */ - s = w - 0xE000; - s = (((s / 94) + 0x7F) << 8) | ((s % 94) + 0x21); - goto process_emoji; - } - - if (!s) { - if (w == 0xA5) { /* YEN SIGN */ - s = 0x216F; /* FULLWIDTH YEN SIGN */ - } else if (w == 0xFF3c) { /* FULLWIDTH REVERSE SOLIDUS */ - s = 0x2140; - } else if (w == 0x2225) { /* PARALLEL TO */ - s = 0x2142; - } else if (w == 0xFF0D) { /* FULLWIDTH HYPHEN-MINUS */ - s = 0x215D; - } else if (w == 0xFFE0) { /* FULLWIDTH CENT SIGN */ - s = 0x2171; - } else if (w == 0xFFE1) { /* FULLWIDTH POUND SIGN */ - s = 0x2172; - } else if (w == 0xFFE2) { /* FULLWIDTH NOT SIGN */ - s = 0x224C; - } - } - - if (w && (!s || s >= 0x8080)) { - s = 0; - - for (int i = 0; i < cp932ext1_ucs_table_max - cp932ext1_ucs_table_min; i++) { - if (w == cp932ext1_ucs_table[i]) { - s = (((i / 94) + 0x2D) << 8) + (i % 94) + 0x21; - goto process_emoji; - } - } - - for (int i = 0; i < cp932ext2_ucs_table_max - cp932ext2_ucs_table_min; i++) { - if (w == cp932ext2_ucs_table[i]) { - s = (((i / 94) + 0x79) << 8) + (i % 94) + 0x21; - goto process_emoji; - } - } - } - -process_emoji: - if (w == '#' || (w >= '0' && w <= '9')) { - if (!len) { - if (end) { - goto emit_output; - } else { - /* If we are at the end of the current buffer of codepoints, but another - * buffer is coming, then remember that we have to reprocess `w` */ - buf->state = w; - break; - } - } - uint32_t w2 = *in++; len--; - if (w2 == 0x20E3) { - if (w == '#') { - s = 0x25BC; - } else if (w == '0') { - s = 0x2830; - } else { /* Previous character was '1'-'9' */ - s = 0x27A6 + (w - '1'); - } - s = (((s / 94) + 0x21) << 8) | ((s % 94) + 0x21); - } else { - in--; len++; - } - } else if (w >= NFLAGS('C') && w <= NFLAGS('U')) { /* C for CN, U for US */ - if (!len) { - if (end) { - MB_CONVERT_ERROR(buf, out, limit, w, mb_wchar_to_sjis_kddi); - } else { - /* Reprocess `w` when this function is called again with another buffer - * of wchars */ - buf->state = w; - } - break; - } - uint32_t w2 = *in++; len--; - if (w2 >= NFLAGS('B') && w2 <= NFLAGS('U')) { /* B for GB, U for RU */ - for (int i = 0; i < 10; i++) { - if (w == NFLAGS(nflags_s[i][0]) && w2 == NFLAGS(nflags_s[i][1])) { - s = nflags_code_kddi[i]; - s = (((s / 94) + 0x21) << 8) | ((s % 94) + 0x21); - goto emit_output; - } - } - } - in--; len++; - MB_CONVERT_ERROR(buf, out, limit, w, mb_wchar_to_sjis_kddi); - MB_CONVERT_BUF_ENSURE(buf, out, limit, len); - continue; - } else if (w == 0xA9) { /* Copyright sign */ - s = (((0x27DC / 94) + 0x21) << 8) | ((0x27DC % 94) + 0x21); - } else if (w == 0xAE) { /* Registered sign */ - s = (((0x27DD / 94) + 0x21) << 8) | ((0x27DD % 94) + 0x21); - } else if (w >= mb_tbl_uni_kddi2code2_min && w <= mb_tbl_uni_kddi2code2_max) { - int i = mbfl_bisec_srch2(w, mb_tbl_uni_kddi2code2_key, mb_tbl_uni_kddi2code2_len); - if (i >= 0) { - s = mb_tbl_uni_kddi2code2_value[i]; - s = (((s / 94) + 0x21) << 8) | ((s % 94) + 0x21); - } - } else if (w >= mb_tbl_uni_kddi2code3_min && w <= mb_tbl_uni_kddi2code3_max) { - int i = mbfl_bisec_srch2(w - 0x10000, mb_tbl_uni_kddi2code3_key, mb_tbl_uni_kddi2code3_len); - if (i >= 0) { - s = mb_tbl_uni_kddi2code3_value[i]; - s = (((s / 94) + 0x21) << 8) | ((s % 94) + 0x21); - } - } else if (w >= mb_tbl_uni_kddi2code5_min && w <= mb_tbl_uni_kddi2code5_max) { - int i = mbfl_bisec_srch2(w - 0xF0000, mb_tbl_uni_kddi2code5_key, mb_tbl_uni_kddi2code5_len); - if (i >= 0) { - s = mb_tbl_uni_kddi2code5_val[i]; - s = (((s / 94) + 0x21) << 8) | ((s % 94) + 0x21); - } - } - -emit_output: - if (!s && w) { - MB_CONVERT_ERROR(buf, out, limit, w, mb_wchar_to_sjis_kddi); - MB_CONVERT_BUF_ENSURE(buf, out, limit, len); - } else if (s <= 0xFF) { - out = mb_convert_buf_add(out, s); - } else { - unsigned int c1 = (s >> 8) & 0xFF, c2 = s & 0xFF, s1, s2; - SJIS_ENCODE(c1, c2, s1, s2); - MB_CONVERT_BUF_ENSURE(buf, out, limit, len + 2); - out = mb_convert_buf_add2(out, s1, s2); - } - } - - MB_CONVERT_BUF_STORE(buf, out, limit); -} - -static size_t mb_sjis_sb_to_wchar(unsigned char **in, size_t *in_len, uint32_t *buf, size_t bufsize, unsigned int *state) -{ - unsigned char *p = *in, *e = p + *in_len; - uint32_t *out = buf, *limit = buf + bufsize - 1; - - if (*state) { - goto softbank_emoji_escapes; - } - - while (p < e && out < limit) { - unsigned char c = *p++; - - if (c == 0x1B) { - /* Escape sequence */ - if (p == e || *p++ != '$' || p == e) { - *out++ = MBFL_BAD_INPUT; - continue; - } - unsigned char c2 = *p++; - if ((c2 < 'E' || c2 > 'G') && (c2 < 'O' || c2 > 'Q')) { - *out++ = MBFL_BAD_INPUT; - continue; - } - /* Escape sequence was valid, next should be a series of specially - * encoded Softbank emoji */ - *state = c2; - -softbank_emoji_escapes: - while (p < e && out < limit) { - c = *p++; - if (c == 0xF) { - *state = 0; - break; - } - unsigned int s = 0; - if (*state == 'G' && c >= 0x21 && c <= 0x7A) { - s = (0x91 - 0x21) * 94; - } else if (*state == 'E' && c >= 0x21 && c <= 0x7A) { - s = (0x8D - 0x21) * 94; - } else if (*state == 'F' && c >= 0x21 && c <= 0x7A) { - s = (0x8E - 0x21) * 94; - } else if (*state == 'O' && c >= 0x21 && c <= 0x6D) { - s = (0x92 - 0x21) * 94; - } else if (*state == 'P' && c >= 0x21 && c <= 0x6C) { - s = (0x95 - 0x21) * 94; - } else if (*state == 'Q' && c >= 0x21 && c <= 0x5E) { - s = (0x96 - 0x21) * 94; - } else { - *out++ = MBFL_BAD_INPUT; - *state = 0; - break; - } - - int snd = 0; - uint32_t w = mbfilter_sjis_emoji_sb2unicode(s + c - 0x21, &snd); - if (w) { - if (snd) { - *out++ = snd; - } - *out++ = w; - } else { - *out++ = MBFL_BAD_INPUT; - *state = 0; - break; - } - } - } else if (c <= 0x7F) { - *out++ = c; - } else if (c >= 0xA1 && c <= 0xDF) { - /* Kana */ - *out++ = 0xFEC0 + c; - } else if (c > 0x80 && c < 0xFD && c != 0xA0) { - /* Kanji */ - if (p == e) { - *out++ = MBFL_BAD_INPUT; - break; - } - unsigned char c2 = *p++; - - if (c2 >= 0x40 && c2 <= 0xFC && c2 != 0x7F) { - uint32_t w = 0; - unsigned int s1, s2; - SJIS_DECODE(c, c2, s1, s2); - unsigned int s = ((s1 - 0x21) * 94) + s2 - 0x21; - - if (s <= 137) { - if (s == 31) { - w = 0xFF3C; /* FULLWIDTH REVERSE SOLIDUS */ - } else if (s == 32) { - w = 0xFF5E; /* FULLWIDTH TILDE */ - } else if (s == 33) { - w = 0x2225; /* PARALLEL TO */ - } else if (s == 60) { - w = 0xFF0D; /* FULLWIDTH HYPHEN-MINUS */ - } else if (s == 80) { - w = 0xFFE0; /* FULLWIDTH CENT SIGN */ - } else if (s == 81) { - w = 0xFFE1; /* FULLWIDTH POUND SIGN */ - } else if (s == 137) { - w = 0xFFE2; /* FULLWIDTH NOT SIGN */ - } - } - - if (!w) { - if (s >= mb_tbl_code2uni_sb1_min && s <= mb_tbl_code2uni_sb3_max) { - int snd = 0; - w = mbfilter_sjis_emoji_sb2unicode(s, &snd); - if (snd) { - *out++ = snd; - } - } else if (s >= cp932ext1_ucs_table_min && s < cp932ext1_ucs_table_max) { - w = cp932ext1_ucs_table[s - cp932ext1_ucs_table_min]; - } else if (s < jisx0208_ucs_table_size) { - w = jisx0208_ucs_table[s]; - } else if (s >= cp932ext2_ucs_table_min && s < cp932ext2_ucs_table_max) { - w = cp932ext2_ucs_table[s - cp932ext2_ucs_table_min]; - } - - if (!w) { - if (s >= cp932ext3_ucs_table_min && s < cp932ext3_ucs_table_max) { - w = cp932ext3_ucs_table[s - cp932ext3_ucs_table_min]; - } else if (s >= (94*94) && s < (114*94)) { - w = s - (94*94) + 0xE000; - } - } - } - - *out++ = w ? w : MBFL_BAD_INPUT; - } else { - *out++ = MBFL_BAD_INPUT; - } - } else { - *out++ = MBFL_BAD_INPUT; - } - } - - *in_len = e - p; - *in = p; - return out - buf; -} - -static void mb_wchar_to_sjis_sb(uint32_t *in, size_t len, mb_convert_buf *buf, bool end) -{ - unsigned char *out, *limit; - MB_CONVERT_BUF_LOAD(buf, out, limit); - MB_CONVERT_BUF_ENSURE(buf, out, limit, len + (buf->state ? 1 : 0)); - - uint32_t w; - unsigned int s = 0; - - if (buf->state) { - w = buf->state; - buf->state = 0; - if (len) { - goto reprocess_wchar; - } else { - goto emit_output; - } - } - - while (len--) { - w = *in++; -reprocess_wchar: - s = 0; - - if (w >= ucs_a1_jis_table_min && w < ucs_a1_jis_table_max) { - s = ucs_a1_jis_table[w - ucs_a1_jis_table_min]; - } else if (w >= ucs_a2_jis_table_min && w < ucs_a2_jis_table_max) { - s = ucs_a2_jis_table[w - ucs_a2_jis_table_min]; - } else if (w >= ucs_i_jis_table_min && w < ucs_i_jis_table_max) { - s = ucs_i_jis_table[w - ucs_i_jis_table_min]; - } else if (w >= ucs_r_jis_table_min && w < ucs_r_jis_table_max) { - s = ucs_r_jis_table[w - ucs_r_jis_table_min]; - } else if (w >= 0xE000 && w < (0xE000 + 20*94)) { - /* Private User Area (95ku - 114ku) */ - s = w - 0xE000; - s = (((s / 94) + 0x7F) << 8) | ((s % 94) + 0x21); - goto process_emoji; - } - - if (!s) { - if (w == 0xA5) { /* YEN SIGN */ - s = 0x216F; /* FULLWIDTH YEN SIGN */ - } else if (w == 0xFF3C) { /* FULLWIDTH REVERSE SOLIDUS */ - s = 0x2140; - } else if (w == 0x2225) { /* PARALLEL TO */ - s = 0x2142; - } else if (w == 0xFF0D) { /* FULLWIDTH HYPHEN-MINUS */ - s = 0x215D; - } else if (w == 0xFFE0) { /* FULLWIDTH CENT SIGN */ - s = 0x2171; - } else if (w == 0xFFE1) { /* FULLWIDTH POUND SIGN */ - s = 0x2172; - } else if (w == 0xFFE2) { /* FULLWIDTH NOT SIGN */ - s = 0x224C; - } - } - - if (w && (!s || s >= 0x8080)) { - s = 0; - - for (int i = 0; i < cp932ext1_ucs_table_max - cp932ext1_ucs_table_min; i++) { - if (w == cp932ext1_ucs_table[i]) { - s = (((i / 94) + 0x2D) << 8) + (i % 94) + 0x21; - goto process_emoji; - } - } - - for (int i = 0; i < cp932ext2_ucs_table_max - cp932ext2_ucs_table_min; i++) { - if (w == cp932ext2_ucs_table[i]) { - s = (((i / 94) + 0x79) << 8) + (i % 94) + 0x21; - goto process_emoji; - } - } - } - -process_emoji: - if (w == '#' || (w >= '0' && w <= '9')) { - if (!len) { - if (end) { - goto emit_output; - } else { - /* If we are at the end of the current buffer of codepoints, but another - * buffer is coming, then remember that we have to reprocess `w` */ - buf->state = w; - break; - } - } - uint32_t w2 = *in++; len--; - if (w2 == 0x20E3) { - if (w == '#') { - s = 0x2817; - } else if (w == '0') { - s = 0x282c; - } else { /* Previous character was '1'-'9' */ - s = 0x2823 + (w - '1'); - } - s = (((s / 94) + 0x21) << 8) | ((s % 94) + 0x21); - } else { - in--; len++; - } - } else if (w >= NFLAGS('C') && w <= NFLAGS('U')) { /* C for CN, U for US */ - if (!len) { - if (end) { - MB_CONVERT_ERROR(buf, out, limit, w, mb_wchar_to_sjis_sb); - } else { - /* Reprocess `w` when this function is called again with - * another buffer of wchars */ - buf->state = w; - } - break; - } - uint32_t w2 = *in++; len--; - if (w2 >= NFLAGS('B') && w2 <= NFLAGS('U')) { /* B for GB, U for RU */ - for (int i = 0; i < 10; i++) { - if (w == NFLAGS(nflags_s[i][0]) && w2 == NFLAGS(nflags_s[i][1])) { - s = nflags_code_sb[i]; - s = (((s / 94) + 0x21) << 8) | ((s % 94) + 0x21); - goto emit_output; - } - } - } - in--; len++; - MB_CONVERT_ERROR(buf, out, limit, w, mb_wchar_to_sjis_sb); - MB_CONVERT_BUF_ENSURE(buf, out, limit, len); - continue; - } else if (w == 0xA9) { /* Copyright sign */ - s = (((0x2855 / 94) + 0x21) << 8) | ((0x2855 % 94) + 0x21); - } else if (w == 0xAE) { /* Registered sign */ - s = (((0x2856 / 94) + 0x21) << 8) | ((0x2856 % 94) + 0x21); - } else if (w >= mb_tbl_uni_sb2code2_min && w <= mb_tbl_uni_sb2code2_max) { - int i = mbfl_bisec_srch2(w, mb_tbl_uni_sb2code2_key, mb_tbl_uni_sb2code2_len); - if (i >= 0) { - s = mb_tbl_uni_sb2code2_value[i]; - s = (((s / 94) + 0x21) << 8) | ((s % 94) + 0x21); - } - } else if (w >= mb_tbl_uni_sb2code3_min && w <= mb_tbl_uni_sb2code3_max) { - int i = mbfl_bisec_srch2(w - 0x10000, mb_tbl_uni_sb2code3_key, mb_tbl_uni_sb2code3_len); - if (i >= 0) { - s = mb_tbl_uni_sb2code3_value[i]; - s = (((s / 94) + 0x21) << 8) | ((s % 94) + 0x21); - } - } else if (w >= mb_tbl_uni_sb2code5_min && w <= mb_tbl_uni_sb2code5_max) { - int i = mbfl_bisec_srch2(w - 0xF0000, mb_tbl_uni_sb2code5_key, mb_tbl_uni_sb2code5_len); - if (i >= 0) { - s = mb_tbl_uni_sb2code5_val[i]; - s = (((s / 94) + 0x21) << 8) | ((s % 94) + 0x21); - } - } - -emit_output: - if (!s && w) { - MB_CONVERT_ERROR(buf, out, limit, w, mb_wchar_to_sjis_sb); - MB_CONVERT_BUF_ENSURE(buf, out, limit, len); - } else if (s <= 0xFF) { - out = mb_convert_buf_add(out, s); - } else { - unsigned int c1 = (s >> 8) & 0xFF, c2 = s & 0xFF, s1, s2; - SJIS_ENCODE(c1, c2, s1, s2); - MB_CONVERT_BUF_ENSURE(buf, out, limit, len + 2); - out = mb_convert_buf_add2(out, s1, s2); - } - } - - MB_CONVERT_BUF_STORE(buf, out, limit); -} diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis_mobile.h b/ext/mbstring/libmbfl/filters/mbfilter_sjis_mobile.h index 19e1920c6e74d..6085e2b5a1266 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis_mobile.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_sjis_mobile.h @@ -48,8 +48,6 @@ extern const unsigned short mbfl_kddi2uni_pua[7][3]; extern const unsigned short mbfl_sb2uni_pua[6][3]; extern const unsigned short mbfl_kddi2uni_pua_b[8][3]; -int mbfl_filt_conv_sjis_mobile_wchar(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_wchar_sjis_mobile(int c, mbfl_convert_filter *filter); int mbfl_filt_conv_sjis_mobile_flush(mbfl_convert_filter *filter); int mbfilter_sjis_emoji_docomo2unicode(int s, int *snd); From 43cdfa3190a819de3a76d64b3101170d96f47857 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Sat, 3 Dec 2022 14:06:36 +0200 Subject: [PATCH 38/50] Optimize SJIS-Mobile#DOCOMO decoder for speed From my microbenchmarks, the new decoder makes encoding conversion from SJIS-Mobile#DOCOMO about 15-20% faster. --- ext/mbstring/libmbfl/filters/mbfilter_sjis.c | 94 ++++++++++---------- 1 file changed, 45 insertions(+), 49 deletions(-) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis.c b/ext/mbstring/libmbfl/filters/mbfilter_sjis.c index b8d146c5635a5..6fffe4bffd4be 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_sjis.c @@ -409,11 +409,11 @@ int mbfl_filt_conv_wchar_sjis(int c, mbfl_convert_filter *filter) return 0; } -static unsigned short sjis_decode_tbl1[] = { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 188, 376, 564, 752, 940, 1128, 1316, 1504, 1692, 1880, 2068, 2256, 2444, 2632, 2820, 3008, 3196, 3384, 3572, 3760, 3948, 4136, 4324, 4512, 4700, 4888, 5076, 5264, 5452, 5640, -6204, -6016, -5828, -5640, -5452, -5264, -5076, -4888, -4700, -4512, -4324, -4136, -3948, -3760, -3572, -3384, -3196, -3008, -2820, -2632, -2444, -2256, -2068, -1880, -1692, -1504, -1316, -1128, -940, -752, -564, -376, -188, 0, 188, 376, 564, 752, 940, 1128, 1316, 1504, 1692, 1880, 2068, 2256, 2444, 2632, 2820, 3008, 3196, 3384, 3572, 3760, 3948, 4136, 4324, 4512, 4700, 4888, 5076, 5264, 5452, 5640, 5828, 6016, 6204, 6392, 6580, 6768, 6956, 7144, 7332, 7520, 7708, 7896, 8084, 8272, 8460, 8648 +static const unsigned short sjis_decode_tbl1[] = { + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 188, 376, 564, 752, 940, 1128, 1316, 1504, 1692, 1880, 2068, 2256, 2444, 2632, 2820, 3008, 3196, 3384, 3572, 3760, 3948, 4136, 4324, 4512, 4700, 4888, 5076, 5264, 5452, 5640, -6204, -6016, -5828, -5640, -5452, -5264, -5076, -4888, -4700, -4512, -4324, -4136, -3948, -3760, -3572, -3384, -3196, -3008, -2820, -2632, -2444, -2256, -2068, -1880, -1692, -1504, -1316, -1128, -940, -752, -564, -376, -188, 0, 188, 376, 564, 752, 940, 1128, 1316, 1504, 1692, 1880, 2068, 2256, 2444, 2632, 2820, 3008, 3196, 3384, 3572, 3760, 3948, 4136, 4324, 4512, 4700, 4888, 5076, 5264, 5452, 5640, 5828, 6016, 6204, 6392, 6580, 6768, 6956, 7144, 7332, 7520, 7708, 7896, 8084, 8272, 8460, 8648, 8836, 9024, 9212, 9400, 9588, 9776, 9964, 10152, 10340, 10528, 10716, 10904, 11092 }; -static unsigned short sjis_decode_tbl2[] = { +static const unsigned short sjis_decode_tbl2[] = { 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 0xFFFF, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 0xFFFF, 0xFFFF, 0xFFFF }; @@ -2117,59 +2117,55 @@ static size_t mb_sjis_docomo_to_wchar(unsigned char **in, size_t *in_len, uint32 break; } unsigned char c2 = *p++; + uint32_t w = sjis_decode_tbl1[c] + sjis_decode_tbl2[c2]; - if (c2 >= 0x40 && c2 <= 0xFC && c2 != 0x7F) { - uint32_t w = 0; - unsigned int s1, s2; - SJIS_DECODE(c, c2, s1, s2); - unsigned int s = ((s1 - 0x21) * 94) + s2 - 0x21; - - if (s <= 137) { - if (s == 31) { - w = 0xFF3C; /* FULLWIDTH REVERSE SOLIDUS */ - } else if (s == 32) { - w = 0xFF5E; /* FULLWIDTH TILDE */ - } else if (s == 33) { - w = 0x2225; /* PARALLEL TO */ - } else if (s == 60) { - w = 0xFF0D; /* FULLWIDTH HYPHEN-MINUS */ - } else if (s == 80) { - w = 0xFFE0; /* FULLWIDTH CENT SIGN */ - } else if (s == 81) { - w = 0xFFE1; /* FULLWIDTH POUND SIGN */ - } else if (s == 137) { - w = 0xFFE2; /* FULLWIDTH NOT SIGN */ - } + if (w <= 137) { + if (w == 31) { + *out++ = 0xFF3C; /* FULLWIDTH REVERSE SOLIDUS */ + continue; + } else if (w == 32) { + *out++ = 0xFF5E; /* FULLWIDTH TILDE */ + continue; + } else if (w == 33) { + *out++ = 0x2225; /* PARALLEL TO */ + continue; + } else if (w == 60) { + *out++ = 0xFF0D; /* FULLWIDTH HYPHEN-MINUS */ + continue; + } else if (w == 80) { + *out++ = 0xFFE0; /* FULLWIDTH CENT SIGN */ + continue; + } else if (w == 81) { + *out++ = 0xFFE1; /* FULLWIDTH POUND SIGN */ + continue; + } else if (w == 137) { + *out++ = 0xFFE2; /* FULLWIDTH NOT SIGN */ + continue; } + } - if (!w) { - if (s >= mb_tbl_code2uni_docomo1_min && s <= mb_tbl_code2uni_docomo1_max) { - int snd = 0; - w = mbfilter_sjis_emoji_docomo2unicode(s, &snd); - if (snd) { - *out++ = snd; - } - } else if (s >= cp932ext1_ucs_table_min && s < cp932ext1_ucs_table_max) { - w = cp932ext1_ucs_table[s - cp932ext1_ucs_table_min]; - } else if (s < jisx0208_ucs_table_size) { - w = jisx0208_ucs_table[s]; - } else if (s >= cp932ext2_ucs_table_min && s < cp932ext2_ucs_table_max) { - w = cp932ext2_ucs_table[s - cp932ext2_ucs_table_min]; - } - - if (!w) { - if (s >= cp932ext3_ucs_table_min && s < cp932ext3_ucs_table_max) { - w = cp932ext3_ucs_table[s - cp932ext3_ucs_table_min]; - } else if (s >= (94*94) && s < (114*94)) { - w = s - (94*94) + 0xE000; - } - } + if (w >= mb_tbl_code2uni_docomo1_min && w <= mb_tbl_code2uni_docomo1_max) { + int snd = 0; + w = mbfilter_sjis_emoji_docomo2unicode(w, &snd); + if (snd) { + *out++ = snd; } - - *out++ = w ? w : MBFL_BAD_INPUT; + } else if (w >= cp932ext1_ucs_table_min && w < cp932ext1_ucs_table_max) { + w = cp932ext1_ucs_table[w - cp932ext1_ucs_table_min]; + } else if (w < jisx0208_ucs_table_size) { + w = jisx0208_ucs_table[w]; + } else if (w >= cp932ext2_ucs_table_min && w < cp932ext2_ucs_table_max) { + w = cp932ext2_ucs_table[w - cp932ext2_ucs_table_min]; + } else if (w >= cp932ext3_ucs_table_min && w < cp932ext3_ucs_table_max) { + w = cp932ext3_ucs_table[w - cp932ext3_ucs_table_min]; + } else if (w >= (94*94) && w < (114*94)) { + w = w - (94*94) + 0xE000; } else { *out++ = MBFL_BAD_INPUT; + continue; } + + *out++ = w ? w : MBFL_BAD_INPUT; } else { *out++ = MBFL_BAD_INPUT; } From 6bf0c44f48248185656f0e12d855582ad3b18ccc Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Sat, 3 Dec 2022 14:30:01 +0200 Subject: [PATCH 39/50] Optimize SJIS-Mobile#KDDI decoder for speed From my microbenchmarks, the new decoder makes encoding conversion from SJIS-Mobile#KDDI about 30-50% faster. --- ext/mbstring/libmbfl/filters/mbfilter_sjis.c | 89 ++++++++++---------- 1 file changed, 45 insertions(+), 44 deletions(-) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis.c b/ext/mbstring/libmbfl/filters/mbfilter_sjis.c index 6fffe4bffd4be..7322f23f0c142 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_sjis.c @@ -2344,59 +2344,60 @@ static size_t mb_sjis_kddi_to_wchar(unsigned char **in, size_t *in_len, uint32_t break; } unsigned char c2 = *p++; + uint32_t w = sjis_decode_tbl1[c] + sjis_decode_tbl2[c2]; - if (c2 >= 0x40 && c2 <= 0xFC && c2 != 0x7F) { - uint32_t w = 0; - unsigned int s1, s2; - SJIS_DECODE(c, c2, s1, s2); - unsigned int s = ((s1 - 0x21) * 94) + s2 - 0x21; - - if (s <= 137) { - if (s == 31) { - w = 0xFF3C; /* FULLWIDTH REVERSE SOLIDUS */ - } else if (s == 32) { - w = 0xFF5E; /* FULLWIDTH TILDE */ - } else if (s == 33) { - w = 0x2225; /* PARALLEL TO */ - } else if (s == 60) { - w = 0xFF0D; /* FULLWIDTH HYPHEN-MINUS */ - } else if (s == 80) { - w = 0xFFE0; /* FULLWIDTH CENT SIGN */ - } else if (s == 81) { - w = 0xFFE1; /* FULLWIDTH POUND SIGN */ - } else if (s == 137) { - w = 0xFFE2; /* FULLWIDTH NOT SIGN */ - } + if (w <= 137) { + if (w == 31) { + *out++ = 0xFF3C; /* FULLWIDTH REVERSE SOLIDUS */ + continue; + } else if (w == 32) { + *out++ = 0xFF5E; /* FULLWIDTH TILDE */ + continue; + } else if (w == 33) { + *out++ = 0x2225; /* PARALLEL TO */ + continue; + } else if (w == 60) { + *out++ = 0xFF0D; /* FULLWIDTH HYPHEN-MINUS */ + continue; + } else if (w == 80) { + *out++ = 0xFFE0; /* FULLWIDTH CENT SIGN */ + continue; + } else if (w == 81) { + *out++ = 0xFFE1; /* FULLWIDTH POUND SIGN */ + continue; + } else if (w == 137) { + *out++ = 0xFFE2; /* FULLWIDTH NOT SIGN */ + continue; } + } + if (w >= mb_tbl_code2uni_kddi1_min && w <= mb_tbl_code2uni_kddi2_max) { + int snd = 0; + w = mbfilter_sjis_emoji_kddi2unicode(w, &snd); if (!w) { - if (s >= mb_tbl_code2uni_kddi1_min && s <= mb_tbl_code2uni_kddi2_max) { - int snd = 0; - w = mbfilter_sjis_emoji_kddi2unicode(s, &snd); - if (snd) { - *out++ = snd; - } - } else if (s >= cp932ext1_ucs_table_min && s < cp932ext1_ucs_table_max) { - w = cp932ext1_ucs_table[s - cp932ext1_ucs_table_min]; - } else if (s < jisx0208_ucs_table_size) { - w = jisx0208_ucs_table[s]; - } else if (s >= cp932ext2_ucs_table_min && s < cp932ext2_ucs_table_max) { - w = cp932ext2_ucs_table[s - cp932ext2_ucs_table_min]; - } - - if (!w) { - if (s >= cp932ext3_ucs_table_min && s < cp932ext3_ucs_table_max) { - w = cp932ext3_ucs_table[s - cp932ext3_ucs_table_min]; - } else if (s >= (94*94) && s < (114*94)) { - w = s - (94*94) + 0xE000; - } + w = sjis_decode_tbl1[c] + sjis_decode_tbl2[c2]; + if (w >= (94*94) && w < (114*94)) { + w = w - (94*94) + 0xE000; } + } else if (snd) { + *out++ = snd; } - - *out++ = w ? w : MBFL_BAD_INPUT; + } else if (w >= cp932ext1_ucs_table_min && w < cp932ext1_ucs_table_max) { + w = cp932ext1_ucs_table[w - cp932ext1_ucs_table_min]; + } else if (w < jisx0208_ucs_table_size) { + w = jisx0208_ucs_table[w]; + } else if (w >= cp932ext2_ucs_table_min && w < cp932ext2_ucs_table_max) { + w = cp932ext2_ucs_table[w - cp932ext2_ucs_table_min]; + } else if (w >= cp932ext3_ucs_table_min && w < cp932ext3_ucs_table_max) { + w = cp932ext3_ucs_table[w - cp932ext3_ucs_table_min]; + } else if (w >= (94*94) && w < (114*94)) { + w = w - (94*94) + 0xE000; } else { *out++ = MBFL_BAD_INPUT; + continue; } + + *out++ = w ? w : MBFL_BAD_INPUT; } else { *out++ = MBFL_BAD_INPUT; } From e36c600a311915e49acec4d5e9c298ee6dcb5525 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Sun, 4 Dec 2022 22:26:11 +0200 Subject: [PATCH 40/50] Optimize SJIS-Mobile#SOFTBANK decoder for speed From my microbenchmarks, the new decoder makes encoding conversion from SJIS-Mobile#SOFTBANK about 15-40% faster. --- ext/mbstring/libmbfl/filters/mbfilter_sjis.c | 91 ++++++++++---------- 1 file changed, 47 insertions(+), 44 deletions(-) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis.c b/ext/mbstring/libmbfl/filters/mbfilter_sjis.c index 7322f23f0c142..688c82727a4ff 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_sjis.c @@ -2652,59 +2652,62 @@ static size_t mb_sjis_sb_to_wchar(unsigned char **in, size_t *in_len, uint32_t * break; } unsigned char c2 = *p++; + uint32_t w = sjis_decode_tbl1[c] + sjis_decode_tbl2[c2]; - if (c2 >= 0x40 && c2 <= 0xFC && c2 != 0x7F) { - uint32_t w = 0; - unsigned int s1, s2; - SJIS_DECODE(c, c2, s1, s2); - unsigned int s = ((s1 - 0x21) * 94) + s2 - 0x21; - - if (s <= 137) { - if (s == 31) { - w = 0xFF3C; /* FULLWIDTH REVERSE SOLIDUS */ - } else if (s == 32) { - w = 0xFF5E; /* FULLWIDTH TILDE */ - } else if (s == 33) { - w = 0x2225; /* PARALLEL TO */ - } else if (s == 60) { - w = 0xFF0D; /* FULLWIDTH HYPHEN-MINUS */ - } else if (s == 80) { - w = 0xFFE0; /* FULLWIDTH CENT SIGN */ - } else if (s == 81) { - w = 0xFFE1; /* FULLWIDTH POUND SIGN */ - } else if (s == 137) { - w = 0xFFE2; /* FULLWIDTH NOT SIGN */ - } + if (w <= 137) { + if (w == 31) { + *out++ = 0xFF3C; /* FULLWIDTH REVERSE SOLIDUS */ + continue; + } else if (w == 32) { + *out++ = 0xFF5E; /* FULLWIDTH TILDE */ + continue; + } else if (w == 33) { + *out++ = 0x2225; /* PARALLEL TO */ + continue; + } else if (w == 60) { + *out++ = 0xFF0D; /* FULLWIDTH HYPHEN-MINUS */ + continue; + } else if (w == 80) { + *out++ = 0xFFE0; /* FULLWIDTH CENT SIGN */ + continue; + } else if (w == 81) { + *out++ = 0xFFE1; /* FULLWIDTH POUND SIGN */ + continue; + } else if (w == 137) { + *out++ = 0xFFE2; /* FULLWIDTH NOT SIGN */ + continue; } + } + if (w >= mb_tbl_code2uni_sb1_min && w <= mb_tbl_code2uni_sb3_max) { + int snd = 0; + w = mbfilter_sjis_emoji_sb2unicode(w, &snd); if (!w) { - if (s >= mb_tbl_code2uni_sb1_min && s <= mb_tbl_code2uni_sb3_max) { - int snd = 0; - w = mbfilter_sjis_emoji_sb2unicode(s, &snd); - if (snd) { - *out++ = snd; - } - } else if (s >= cp932ext1_ucs_table_min && s < cp932ext1_ucs_table_max) { - w = cp932ext1_ucs_table[s - cp932ext1_ucs_table_min]; - } else if (s < jisx0208_ucs_table_size) { - w = jisx0208_ucs_table[s]; - } else if (s >= cp932ext2_ucs_table_min && s < cp932ext2_ucs_table_max) { - w = cp932ext2_ucs_table[s - cp932ext2_ucs_table_min]; - } - - if (!w) { - if (s >= cp932ext3_ucs_table_min && s < cp932ext3_ucs_table_max) { - w = cp932ext3_ucs_table[s - cp932ext3_ucs_table_min]; - } else if (s >= (94*94) && s < (114*94)) { - w = s - (94*94) + 0xE000; - } + w = sjis_decode_tbl1[c] + sjis_decode_tbl2[c2]; + if (w >= cp932ext3_ucs_table_min && w < cp932ext3_ucs_table_max) { + w = cp932ext3_ucs_table[w - cp932ext3_ucs_table_min]; + } else if (w >= (94*94) && w < (114*94)) { + w = w - (94*94) + 0xE000; } + } else if (snd) { + *out++ = snd; } - - *out++ = w ? w : MBFL_BAD_INPUT; + } else if (w >= cp932ext1_ucs_table_min && w < cp932ext1_ucs_table_max) { + w = cp932ext1_ucs_table[w - cp932ext1_ucs_table_min]; + } else if (w < jisx0208_ucs_table_size) { + w = jisx0208_ucs_table[w]; + } else if (w >= cp932ext2_ucs_table_min && w < cp932ext2_ucs_table_max) { + w = cp932ext2_ucs_table[w - cp932ext2_ucs_table_min]; + } else if (w >= cp932ext3_ucs_table_min && w < cp932ext3_ucs_table_max) { + w = cp932ext3_ucs_table[w - cp932ext3_ucs_table_min]; + } else if (w >= (94*94) && w < (114*94)) { + w = w - (94*94) + 0xE000; } else { *out++ = MBFL_BAD_INPUT; + continue; } + + *out++ = w ? w : MBFL_BAD_INPUT; } else { *out++ = MBFL_BAD_INPUT; } From 3be2b0d0d83702db409bfcc3fbb4a176d565932d Mon Sep 17 00:00:00 2001 From: George Peter Banyard Date: Mon, 12 Dec 2022 14:53:32 +0000 Subject: [PATCH 41/50] Add CLEAN section to some IO tests (#10081) * Add CLEAN sections to file_(get|put)_contents() tests * Add CLEAN sections to file() tests --- .../tests/file/file_get_contents_basic.phpt | 7 ++++++- .../file/file_get_contents_variation1.phpt | 7 ++++++- .../file/file_get_contents_variation2.phpt | 7 ++++++- .../file_get_contents_variation7-win32-mb.phpt | 15 ++++++++++++--- .../file_get_contents_variation7-win32.phpt | 15 ++++++++++++--- .../file/file_get_contents_variation7.phpt | 13 +++++++++++-- .../file/file_get_contents_variation9.phpt | 10 ++++++++-- ext/standard/tests/file/file_put_contents.phpt | 7 +++++-- .../file/file_put_contents_variation1.phpt | 6 +++++- .../file/file_put_contents_variation2.phpt | 6 +++++- .../file/file_put_contents_variation4.phpt | 9 +++++++-- .../file/file_put_contents_variation5.phpt | 12 ++++++++++-- .../file/file_put_contents_variation6.phpt | 8 +++++++- .../file_put_contents_variation7-win32.phpt | 14 ++++++++++++-- .../file/file_put_contents_variation7.phpt | 14 ++++++++++++-- .../file/file_put_contents_variation8.phpt | 7 ++++++- .../file/file_put_contents_variation9.phpt | 17 +++++++++++------ .../tests/file/file_variation5-win32-mb.phpt | 11 +++++++---- .../tests/file/file_variation5-win32.phpt | 9 ++++++--- ext/standard/tests/file/file_variation5.phpt | 11 +++++++---- ext/standard/tests/file/file_variation6.phpt | 7 +++++-- ext/standard/tests/file/file_variation7.phpt | 9 +++++++-- .../tests/file/file_variation8-win32.phpt | 15 ++++++++++++--- ext/standard/tests/file/file_variation8.phpt | 15 ++++++++++++--- ext/standard/tests/file/file_variation9.phpt | 6 +++++- 25 files changed, 202 insertions(+), 55 deletions(-) diff --git a/ext/standard/tests/file/file_get_contents_basic.phpt b/ext/standard/tests/file/file_get_contents_basic.phpt index 5c060fdae1ba5..bdd2133146d54 100644 --- a/ext/standard/tests/file/file_get_contents_basic.phpt +++ b/ext/standard/tests/file/file_get_contents_basic.phpt @@ -21,10 +21,15 @@ echo "\n-- Testing with empty file --\n"; create_files($file_path, 1, "empty", 0755, 100, "w", "file", 1, "byte"); var_dump( file_get_contents($file_path."/file1.tmp") ); -delete_files($file_path, 1); echo "\n*** Done ***"; ?> +--CLEAN-- + --EXPECT-- *** Testing the basic functionality of the file_get_contents() function *** -- Testing with simple valid data file -- diff --git a/ext/standard/tests/file/file_get_contents_variation1.phpt b/ext/standard/tests/file/file_get_contents_variation1.phpt index e770626054589..1327a65fc605a 100644 --- a/ext/standard/tests/file/file_get_contents_variation1.phpt +++ b/ext/standard/tests/file/file_get_contents_variation1.phpt @@ -23,7 +23,6 @@ set_include_path($newpath); runtest(); teardown_include_path(); chdir(".."); -rmdir($thisTestDir); function runtest() { @@ -36,6 +35,12 @@ function runtest() { unlink($secondFile); } +?> +--CLEAN-- + --EXPECT-- *** Testing file_get_contents() : variation *** diff --git a/ext/standard/tests/file/file_get_contents_variation2.phpt b/ext/standard/tests/file/file_get_contents_variation2.phpt index db3fd365c2b93..56b148ebdbccb 100644 --- a/ext/standard/tests/file/file_get_contents_variation2.phpt +++ b/ext/standard/tests/file/file_get_contents_variation2.phpt @@ -24,7 +24,6 @@ set_include_path($newpath); runtest(); teardown_include_path(); chdir(".."); -rmdir($thisTestDir); function runtest() { @@ -37,6 +36,12 @@ function runtest() { unlink($scriptLocFile); } +?> +--CLEAN-- + --EXPECT-- *** Testing file_get_contents() : variation *** diff --git a/ext/standard/tests/file/file_get_contents_variation7-win32-mb.phpt b/ext/standard/tests/file/file_get_contents_variation7-win32-mb.phpt index c1a0b1960ae75..5dfa6227bccf0 100644 --- a/ext/standard/tests/file/file_get_contents_variation7-win32-mb.phpt +++ b/ext/standard/tests/file/file_get_contents_variation7-win32-mb.phpt @@ -54,13 +54,22 @@ for($i = 0; $i +--CLEAN-- + --EXPECTF-- *** Testing file_get_contents() : variation *** diff --git a/ext/standard/tests/file/file_get_contents_variation7-win32.phpt b/ext/standard/tests/file/file_get_contents_variation7-win32.phpt index a18af0ff11199..a353630c95326 100644 --- a/ext/standard/tests/file/file_get_contents_variation7-win32.phpt +++ b/ext/standard/tests/file/file_get_contents_variation7-win32.phpt @@ -54,13 +54,22 @@ for($i = 0; $i +--CLEAN-- + --EXPECTF-- *** Testing file_get_contents() : variation *** diff --git a/ext/standard/tests/file/file_get_contents_variation7.phpt b/ext/standard/tests/file/file_get_contents_variation7.phpt index 6af0aaba714c1..2d574c6410b07 100644 --- a/ext/standard/tests/file/file_get_contents_variation7.phpt +++ b/ext/standard/tests/file/file_get_contents_variation7.phpt @@ -47,11 +47,20 @@ for($i = 0; $i +--CLEAN-- + --EXPECTF-- *** Testing file_get_contents() : variation *** diff --git a/ext/standard/tests/file/file_get_contents_variation9.phpt b/ext/standard/tests/file/file_get_contents_variation9.phpt index 67ec4b3d2a5a7..a113fcb06f580 100644 --- a/ext/standard/tests/file/file_get_contents_variation9.phpt +++ b/ext/standard/tests/file/file_get_contents_variation9.phpt @@ -33,12 +33,18 @@ var_dump(file_get_contents($chainlink)); var_dump(file_get_contents($softlink)); var_dump(file_get_contents($hardlink)); +echo "\n*** Done ***\n"; +?> +--CLEAN-- + --EXPECT-- *** Testing file_get_contents() : variation *** diff --git a/ext/standard/tests/file/file_put_contents.phpt b/ext/standard/tests/file/file_put_contents.phpt index f9dc6d1b8edd0..97094e92d0eff 100644 --- a/ext/standard/tests/file/file_put_contents.phpt +++ b/ext/standard/tests/file/file_put_contents.phpt @@ -25,10 +25,13 @@ try { echo $e->getMessage(), "\n"; } -@unlink($file); - echo "Done\n"; ?> +--CLEAN-- + --EXPECT-- file_put_contents(): supplied resource is not a valid stream resource bool(false) diff --git a/ext/standard/tests/file/file_put_contents_variation1.phpt b/ext/standard/tests/file/file_put_contents_variation1.phpt index c67b2e234b0b8..bd32f4d7ffb6e 100644 --- a/ext/standard/tests/file/file_put_contents_variation1.phpt +++ b/ext/standard/tests/file/file_put_contents_variation1.phpt @@ -21,9 +21,13 @@ file_put_contents($filename, $data); echo filesize($filename)."\n"; readfile($filename); echo "\n"; -unlink($filename); +?> +--CLEAN-- + --EXPECT-- *** Testing file_put_contents() : variation *** diff --git a/ext/standard/tests/file/file_put_contents_variation2.phpt b/ext/standard/tests/file/file_put_contents_variation2.phpt index a0c73eca40f15..3d41a1f3c1900 100644 --- a/ext/standard/tests/file/file_put_contents_variation2.phpt +++ b/ext/standard/tests/file/file_put_contents_variation2.phpt @@ -100,8 +100,12 @@ foreach($inputs as $key =>$value) { file_put_contents($filename, $value); readfile($filename); }; -unlink($filename); +?> +--CLEAN-- + --EXPECT-- *** Testing file_put_contents() : usage variation *** diff --git a/ext/standard/tests/file/file_put_contents_variation4.phpt b/ext/standard/tests/file/file_put_contents_variation4.phpt index 4244062b322bc..0fef561a70725 100644 --- a/ext/standard/tests/file/file_put_contents_variation4.phpt +++ b/ext/standard/tests/file/file_put_contents_variation4.phpt @@ -22,8 +22,6 @@ runtest(); teardown_include_path(); chdir(".."); -rmdir($thisTestDir); - function runtest() { global $filename; @@ -35,6 +33,13 @@ function runtest() { unlink($filename); } +?> +--CLEAN-- + --EXPECT-- File in include path diff --git a/ext/standard/tests/file/file_put_contents_variation5.phpt b/ext/standard/tests/file/file_put_contents_variation5.phpt index 97eb2604e02a5..0bc3d325aff4e 100644 --- a/ext/standard/tests/file/file_put_contents_variation5.phpt +++ b/ext/standard/tests/file/file_put_contents_variation5.phpt @@ -6,7 +6,7 @@ Dave Kelsey +--CLEAN-- + --EXPECT-- File written in working directory File written in working directory diff --git a/ext/standard/tests/file/file_put_contents_variation6.phpt b/ext/standard/tests/file/file_put_contents_variation6.phpt index fbe4cdfa6155e..06962340c8392 100644 --- a/ext/standard/tests/file/file_put_contents_variation6.phpt +++ b/ext/standard/tests/file/file_put_contents_variation6.phpt @@ -24,7 +24,6 @@ runtest(); teardown_include_path(); chdir(".."); -rmdir($thisTestDir); function runtest() { @@ -40,6 +39,13 @@ function runtest() { unlink($filename); } +?> +--CLEAN-- + --EXPECT-- *** Testing file_put_contents() : variation *** diff --git a/ext/standard/tests/file/file_put_contents_variation7-win32.phpt b/ext/standard/tests/file/file_put_contents_variation7-win32.phpt index 38e322398dac6..fe9796979d131 100644 --- a/ext/standard/tests/file/file_put_contents_variation7-win32.phpt +++ b/ext/standard/tests/file/file_put_contents_variation7-win32.phpt @@ -71,11 +71,21 @@ for($i = 0; $i +--CLEAN-- + --EXPECTF-- *** Testing file_put_contents() : usage variation *** diff --git a/ext/standard/tests/file/file_put_contents_variation7.phpt b/ext/standard/tests/file/file_put_contents_variation7.phpt index 6e380dc4f653e..4e3d2e766f4dc 100644 --- a/ext/standard/tests/file/file_put_contents_variation7.phpt +++ b/ext/standard/tests/file/file_put_contents_variation7.phpt @@ -63,11 +63,21 @@ for($i = 0; $i +--CLEAN-- + --EXPECTF-- *** Testing file_put_contents() : usage variation *** diff --git a/ext/standard/tests/file/file_put_contents_variation8.phpt b/ext/standard/tests/file/file_put_contents_variation8.phpt index 70456fad9ff7d..705efcade7bf3 100644 --- a/ext/standard/tests/file/file_put_contents_variation8.phpt +++ b/ext/standard/tests/file/file_put_contents_variation8.phpt @@ -48,10 +48,15 @@ for( $i=0; $igetMessage(), "\n"; } } -rmdir($dir); echo "\n*** Done ***\n"; ?> +--CLEAN-- + --EXPECTF-- *** Testing file_put_contents() : usage variation *** -- Iteration 0 -- diff --git a/ext/standard/tests/file/file_put_contents_variation9.phpt b/ext/standard/tests/file/file_put_contents_variation9.phpt index 03b72d178f45d..cc0303075009b 100644 --- a/ext/standard/tests/file/file_put_contents_variation9.phpt +++ b/ext/standard/tests/file/file_put_contents_variation9.phpt @@ -31,12 +31,6 @@ file_put_contents($filename,""); link($filename, $hardlink); run_test($hardlink); -unlink($chainlink); -unlink($softlink); -unlink($hardlink); -unlink($filename); - - function run_test($file) { $data = "Here is some data"; $extra = ", more data"; @@ -49,6 +43,17 @@ function run_test($file) { echo "\n*** Done ***\n"; ?> +--CLEAN-- + --EXPECT-- *** Testing file_put_contents() : usage variation *** int(17) diff --git a/ext/standard/tests/file/file_variation5-win32-mb.phpt b/ext/standard/tests/file/file_variation5-win32-mb.phpt index ff7c5648db03f..b997ae5860cd4 100644 --- a/ext/standard/tests/file/file_variation5-win32-mb.phpt +++ b/ext/standard/tests/file/file_variation5-win32-mb.phpt @@ -14,7 +14,7 @@ chdir($script_directory); $test_dirname = basename(__FILE__, ".php") . "私はガラスを食べられますtestdir"; mkdir($test_dirname); -$filepath = __FILE__ . ".tmp"; +$filepath = __DIR__ . '/file_variation_5.tmp'; $filename = basename($filepath); $fd = fopen($filepath, "w+"); fwrite($fd, "Line 1\nLine 2\nLine 3"); @@ -31,10 +31,13 @@ chdir($test_dirname); var_dump(file("../$filename")); chdir($script_directory); -chdir($script_directory); -unlink($filepath); +?> +--CLEAN-- + --EXPECT-- file() on a path containing .. and . diff --git a/ext/standard/tests/file/file_variation5-win32.phpt b/ext/standard/tests/file/file_variation5-win32.phpt index f31f3c769a627..f4ba7fe732f3d 100644 --- a/ext/standard/tests/file/file_variation5-win32.phpt +++ b/ext/standard/tests/file/file_variation5-win32.phpt @@ -14,7 +14,7 @@ chdir($script_directory); $test_dirname = basename(__FILE__, ".php") . "testdir"; mkdir($test_dirname); -$filepath = __FILE__ . ".tmp"; +$filepath = __DIR__ . '/file_variation_5.tmp'; $filename = basename($filepath); $fd = fopen($filepath, "w+"); fwrite($fd, "Line 1\nLine 2\nLine 3"); @@ -31,10 +31,13 @@ chdir($test_dirname); var_dump(file("../$filename")); chdir($script_directory); -chdir($script_directory); +?> +--CLEAN-- + --EXPECT-- file() on a path containing .. and . diff --git a/ext/standard/tests/file/file_variation5.phpt b/ext/standard/tests/file/file_variation5.phpt index 7f012b7d431ec..d1c5e1498bebd 100644 --- a/ext/standard/tests/file/file_variation5.phpt +++ b/ext/standard/tests/file/file_variation5.phpt @@ -14,7 +14,7 @@ chdir($script_directory); $test_dirname = basename(__FILE__, ".php") . "testdir"; mkdir($test_dirname); -$filepath = __FILE__ . ".tmp"; +$filepath = __DIR__ . '/file_variation_5.tmp'; $filename = basename($filepath); $fd = fopen($filepath, "w+"); fwrite($fd, "Line 1\nLine 2\nLine 3"); @@ -37,10 +37,13 @@ chdir($test_dirname); var_dump(file("../$filename")); chdir($script_directory); -chdir($script_directory); +?> +--CLEAN-- + --EXPECT-- file() on a path containing .. and . diff --git a/ext/standard/tests/file/file_variation6.phpt b/ext/standard/tests/file/file_variation6.phpt index 354f6ee509c7b..6444c7f366757 100644 --- a/ext/standard/tests/file/file_variation6.phpt +++ b/ext/standard/tests/file/file_variation6.phpt @@ -3,7 +3,7 @@ file() with a range of integer flag values --FILE-- +--CLEAN-- + --EXPECT-- array(3) { diff --git a/ext/standard/tests/file/file_variation7.phpt b/ext/standard/tests/file/file_variation7.phpt index 3cd9d7fc88518..72af244a54e17 100644 --- a/ext/standard/tests/file/file_variation7.phpt +++ b/ext/standard/tests/file/file_variation7.phpt @@ -1,9 +1,10 @@ --TEST-- file() on a file with blank lines +--WHITESPACE_SENSITIVE-- --FILE-- +--CLEAN-- + --EXPECT-- file(): diff --git a/ext/standard/tests/file/file_variation8-win32.phpt b/ext/standard/tests/file/file_variation8-win32.phpt index 511bc0eb7cd0f..9df2f5e4c536b 100644 --- a/ext/standard/tests/file/file_variation8-win32.phpt +++ b/ext/standard/tests/file/file_variation8-win32.phpt @@ -54,13 +54,22 @@ for($i = 0; $i +--CLEAN-- + --EXPECTF-- *** Testing file() : variation *** diff --git a/ext/standard/tests/file/file_variation8.phpt b/ext/standard/tests/file/file_variation8.phpt index f42925043dcae..8c79a3bb4f48f 100644 --- a/ext/standard/tests/file/file_variation8.phpt +++ b/ext/standard/tests/file/file_variation8.phpt @@ -46,13 +46,22 @@ for($i = 0; $i +--CLEAN-- + --EXPECTF-- *** Testing file() : variation *** diff --git a/ext/standard/tests/file/file_variation9.phpt b/ext/standard/tests/file/file_variation9.phpt index 326a56ca27de0..db18e9cc05eb5 100644 --- a/ext/standard/tests/file/file_variation9.phpt +++ b/ext/standard/tests/file/file_variation9.phpt @@ -15,7 +15,6 @@ $contents = array( "File has\r\nmultiple crlfs\n\r\n" ); -@unlink($testfile); foreach ($contents as $content) { $h = fopen($testfile, "w"); fwrite($h, $content); @@ -26,6 +25,11 @@ foreach ($contents as $content) { echo "\n*** Done ***\n"; ?> +--CLEAN-- + --EXPECT-- *** Testing file() : variation *** array(2) { From fa3bbf078a30b8118717e53e290339faef52b081 Mon Sep 17 00:00:00 2001 From: George Peter Banyard Date: Mon, 12 Dec 2022 16:12:10 +0000 Subject: [PATCH 42/50] Fix borked Windows tests after 3be2b0d0d83702db409bfcc3fbb4a176d565932d --- ext/standard/tests/file/file_variation5-win32-mb.phpt | 4 ++-- ext/standard/tests/file/file_variation5-win32.phpt | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ext/standard/tests/file/file_variation5-win32-mb.phpt b/ext/standard/tests/file/file_variation5-win32-mb.phpt index b997ae5860cd4..18dd399e5b7a9 100644 --- a/ext/standard/tests/file/file_variation5-win32-mb.phpt +++ b/ext/standard/tests/file/file_variation5-win32-mb.phpt @@ -34,10 +34,10 @@ chdir($script_directory); ?> --CLEAN-- --EXPECT-- file() on a path containing .. and . diff --git a/ext/standard/tests/file/file_variation5-win32.phpt b/ext/standard/tests/file/file_variation5-win32.phpt index f4ba7fe732f3d..cde34d83c53f3 100644 --- a/ext/standard/tests/file/file_variation5-win32.phpt +++ b/ext/standard/tests/file/file_variation5-win32.phpt @@ -34,10 +34,10 @@ chdir($script_directory); ?> --CLEAN-- --EXPECT-- file() on a path containing .. and . From 3fb7198034c0f2ed49eeb71f9757b58aaa26260d Mon Sep 17 00:00:00 2001 From: David Carlier Date: Fri, 9 Dec 2022 16:56:43 +0000 Subject: [PATCH 43/50] intl extension, follow up on #10006 for numfmt_set_pattern Closes GH-10073. --- NEWS | 1 + ext/intl/formatter/formatter_attr.c | 12 +++++++++--- ext/intl/tests/formatter_get_set_pattern2.phpt | 5 +++++ 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/NEWS b/NEWS index 8abf149e47318..03fa5acc2a4eb 100644 --- a/NEWS +++ b/NEWS @@ -36,6 +36,7 @@ PHP NEWS - Intl: . Added pattern format error infos for msgfmt_set_pattern. (David Carlier) + . Added pattern format error infos for numfmt_set_pattern. (David Carlier) - JSON: . Added json_validate(). (Juan Morales) diff --git a/ext/intl/formatter/formatter_attr.c b/ext/intl/formatter/formatter_attr.c index 99a4a3d21102a..fe50f716e81bb 100644 --- a/ext/intl/formatter/formatter_attr.c +++ b/ext/intl/formatter/formatter_attr.c @@ -332,6 +332,7 @@ PHP_FUNCTION( numfmt_set_pattern ) size_t value_len = 0; int32_t slength = 0; UChar* svalue = NULL; + UParseError spattern_error = {0}; FORMATTER_METHOD_INIT_VARS; /* Parse parameters. */ @@ -347,12 +348,17 @@ PHP_FUNCTION( numfmt_set_pattern ) intl_convert_utf8_to_utf16(&svalue, &slength, value, value_len, &INTL_DATA_ERROR_CODE(nfo)); INTL_METHOD_CHECK_STATUS( nfo, "Error converting pattern to UTF-16" ); - /* TODO: add parse error information */ - unum_applyPattern(FORMATTER_OBJECT(nfo), 0, svalue, slength, NULL, &INTL_DATA_ERROR_CODE(nfo)); + unum_applyPattern(FORMATTER_OBJECT(nfo), 0, svalue, slength, &spattern_error, &INTL_DATA_ERROR_CODE(nfo)); if (svalue) { efree(svalue); } - INTL_METHOD_CHECK_STATUS( nfo, "Error setting pattern value" ); + if (U_FAILURE(INTL_DATA_ERROR_CODE(nfo))) { + char *msg; + spprintf(&msg, 0, "Error setting pattern value at line %d, offset %d", spattern_error.line, spattern_error.offset); + intl_errors_set_custom_msg(INTL_DATA_ERROR_P(nfo), msg, 1); + efree(msg); + RETURN_FALSE; + } RETURN_TRUE; } diff --git a/ext/intl/tests/formatter_get_set_pattern2.phpt b/ext/intl/tests/formatter_get_set_pattern2.phpt index 7b454ae965eac..0d3e3e87d72dd 100644 --- a/ext/intl/tests/formatter_get_set_pattern2.phpt +++ b/ext/intl/tests/formatter_get_set_pattern2.phpt @@ -37,6 +37,10 @@ function ut_main() ut_nfmt_set_pattern($fmt, str_repeat('@', 200)); $res_str .= "New pattern: '" . ut_nfmt_get_pattern( $fmt ) . "'\n"; $res_str .= "Formatted number: " . ut_nfmt_format( $fmt, $test_value ) . "\n"; + $res = ut_nfmt_set_pattern( $fmt, "0.0 .#.#.#"); + if ($res !== false) + die("ut_nfmt_set_pattern should have failed"); + $res_str .= ut_nfmt_get_error_message( $fmt ) . " (" . ut_nfmt_get_error_code( $fmt ) . ")\n"; return $res_str; } @@ -52,3 +56,4 @@ New pattern: '0.0' Formatted number: 12345.1 New pattern: '@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@' Formatted number: 12345.123456000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Error setting pattern value at line 0, offset 0: U_UNQUOTED_SPECIAL (65555) From c5ab72773def874aecdf28679699bd3a9344ccfb Mon Sep 17 00:00:00 2001 From: Frederik Bosch Date: Tue, 13 Dec 2022 08:35:58 +0100 Subject: [PATCH 44/50] [skip ci] Change status of BCMath into Maintained (#10089) It might not have a primary maintainer, but it is maintained. --- EXTENSIONS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/EXTENSIONS b/EXTENSIONS index 1b745557bf5c8..1d07c1c2e9516 100644 --- a/EXTENSIONS +++ b/EXTENSIONS @@ -234,7 +234,7 @@ SINCE: 5.0 ------------------------------------------------------------------------------- EXTENSION: bcmath PRIMARY MAINTAINER: Andi Gutmans (2000 - 2004) -MAINTENANCE: Unknown +MAINTENANCE: Maintained STATUS: Working ------------------------------------------------------------------------------- EXTENSION: bz2 From 3ab18d4d1464477e470900ddd372b79cc3136490 Mon Sep 17 00:00:00 2001 From: Niels <7771979+nielsdos@users.noreply.github.com> Date: Tue, 13 Dec 2022 13:16:52 +0100 Subject: [PATCH 45/50] Change if (stack) check to an assertion (#10090) The code checks if stack is a NULL pointer. Below that if the stack->next pointer is updated unconditionally. Therefore a call with a NULL pointer will crash, even though the if (stack) check seems to show the intent that it is valid to call the function with NULL. The function is not meant to be called with NULL, so just ZEND_ASSERT instead. --- sapi/phpdbg/phpdbg_cmd.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/sapi/phpdbg/phpdbg_cmd.c b/sapi/phpdbg/phpdbg_cmd.c index 7e6a87fcc89e3..f5701384d3a20 100644 --- a/sapi/phpdbg/phpdbg_cmd.c +++ b/sapi/phpdbg/phpdbg_cmd.c @@ -371,7 +371,9 @@ PHPDBG_API void phpdbg_param_debug(const phpdbg_param_t *param, const char *msg) /* {{{ */ PHPDBG_API void phpdbg_stack_free(phpdbg_param_t *stack) { - if (stack && stack->next) { + ZEND_ASSERT(stack != NULL); + + if (stack->next) { phpdbg_param_t *remove = stack->next; while (remove) { @@ -422,10 +424,9 @@ PHPDBG_API void phpdbg_stack_free(phpdbg_param_t *stack) { remove = next; else break; } - } - - stack->next = NULL; + stack->next = NULL; + } } /* }}} */ /* {{{ */ From aef7d810d3c32049e1942de98cbfc6542cbeb61c Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Tue, 6 Dec 2022 17:37:47 +0100 Subject: [PATCH 46/50] Fix GH-9949: Partial content on incomplete POST request `ap_get_brigade()` may fail for different reasons, and we must not pretend that a partially read POST payload is fine; instead we report a content length of zero what matches all other `read_post()` callbacks of bundled SAPIs. Closes GH-10059. --- NEWS | 3 ++- sapi/apache2handler/sapi_apache2.c | 7 ++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/NEWS b/NEWS index 35388b768f7f7..99fb532ccde5c 100644 --- a/NEWS +++ b/NEWS @@ -2,7 +2,8 @@ PHP NEWS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ?? ??? ????, PHP 8.1.15 - +- Apache: + . Fixed bug GH-9949 (Partial content on incomplete POST request). (cmb) 05 Jan 2023, PHP 8.1.14 diff --git a/sapi/apache2handler/sapi_apache2.c b/sapi/apache2handler/sapi_apache2.c index 2eeeaf174d82b..959348484c59f 100644 --- a/sapi/apache2handler/sapi_apache2.c +++ b/sapi/apache2handler/sapi_apache2.c @@ -182,6 +182,7 @@ php_apache_sapi_read_post(char *buf, size_t count_bytes) php_struct *ctx = SG(server_context); request_rec *r; apr_bucket_brigade *brigade; + apr_status_t status; r = ctx->r; brigade = ctx->brigade; @@ -193,7 +194,7 @@ php_apache_sapi_read_post(char *buf, size_t count_bytes) * need to make sure that if data is available we fill the buffer completely. */ - while (ap_get_brigade(r->input_filters, brigade, AP_MODE_READBYTES, APR_BLOCK_READ, len) == APR_SUCCESS) { + while ((status = ap_get_brigade(r->input_filters, brigade, AP_MODE_READBYTES, APR_BLOCK_READ, len)) == APR_SUCCESS) { apr_brigade_flatten(brigade, buf, &len); apr_brigade_cleanup(brigade); tlen += len; @@ -204,6 +205,10 @@ php_apache_sapi_read_post(char *buf, size_t count_bytes) len = count_bytes - tlen; } + if (status != APR_SUCCESS) { + return 0; + } + return tlen; } From 7a983e281c6f2bafd57e33df029e078e70925a36 Mon Sep 17 00:00:00 2001 From: Tyson Andre Date: Tue, 15 Nov 2022 14:01:45 +0100 Subject: [PATCH 47/50] Fix Windows shmget() wrt. IPC_PRIVATE Fixes #9944 https://man7.org/linux/man-pages/man2/shmget.2.html notes The name choice IPC_PRIVATE was perhaps unfortunate, IPC_NEW would more clearly show its function. Closes GH-9946. --- NEWS | 3 +++ TSRM/tsrm_win32.c | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+) diff --git a/NEWS b/NEWS index 99fb532ccde5c..9994834a7f526 100644 --- a/NEWS +++ b/NEWS @@ -5,6 +5,9 @@ PHP NEWS - Apache: . Fixed bug GH-9949 (Partial content on incomplete POST request). (cmb) +- TSRM: + . Fixed Windows shmget() wrt. IPC_PRIVATE. (Tyson Andre) + 05 Jan 2023, PHP 8.1.14 - Core: diff --git a/TSRM/tsrm_win32.c b/TSRM/tsrm_win32.c index a748a3b105f2e..4b5c58d6982a1 100644 --- a/TSRM/tsrm_win32.c +++ b/TSRM/tsrm_win32.c @@ -30,6 +30,7 @@ #include "tsrm_win32.h" #include "zend_virtual_cwd.h" #include "win32/ioutil.h" +#include "win32/winutil.h" #ifdef ZTS static ts_rsrc_id win32_globals_id; @@ -613,6 +614,22 @@ TSRM_API int pclose(FILE *stream) #define DESCRIPTOR_PREFIX "TSRM_SHM_DESCRIPTOR:" #define INT_MIN_AS_STRING "-2147483648" + +#define TSRM_BASE_SHM_KEY_ADDRESS 0x20000000 +/* Returns a number between 0x2000_0000 and 0x3fff_ffff. On Windows, key_t is int. */ +static key_t tsrm_choose_random_shm_key(key_t prev_key) { + unsigned char buf[4]; + if (php_win32_get_random_bytes(buf, 4) != SUCCESS) { + return prev_key + 2; + } + uint32_t n = + ((uint32_t)(buf[0]) << 24) | + (((uint32_t)buf[1]) << 16) | + (((uint32_t)buf[2]) << 8) | + (((uint32_t)buf[3])); + return (n & 0x1fffffff) + TSRM_BASE_SHM_KEY_ADDRESS; +} + TSRM_API int shmget(key_t key, size_t size, int flags) {/*{{{*/ shm_pair *shm; @@ -626,6 +643,9 @@ TSRM_API int shmget(key_t key, size_t size, int flags) shm_handle = OpenFileMapping(FILE_MAP_ALL_ACCESS, FALSE, shm_segment); info_handle = OpenFileMapping(FILE_MAP_ALL_ACCESS, FALSE, shm_info); + } else { + /* IPC_PRIVATE always creates a new segment even if IPC_CREAT flag isn't passed. */ + flags |= IPC_CREAT; } if (!shm_handle && !info_handle) { @@ -662,6 +682,19 @@ TSRM_API int shmget(key_t key, size_t size, int flags) } } + if (key == IPC_PRIVATE) { + /* This should call shm_get with a brand new key id that isn't used yet. See https://man7.org/linux/man-pages/man2/shmget.2.html + * Because extensions such as shmop/sysvshm can be used in userland to attach to shared memory segments, use unpredictable high positive numbers to avoid accidentally conflicting with userland. */ + key = tsrm_choose_random_shm_key(TSRM_BASE_SHM_KEY_ADDRESS); + for (shm_pair *ptr = TWG(shm); ptr < (TWG(shm) + TWG(shm_size)); ptr++) { + if (ptr->descriptor && ptr->descriptor->shm_perm.key == key) { + key = tsrm_choose_random_shm_key(key); + ptr = TWG(shm); + continue; + } + } + } + shm = shm_get(key, NULL); if (!shm) { CloseHandle(shm_handle); From 4631e9de2b9cc8f80d90716496d21f89f3f861a7 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Tue, 13 Dec 2022 19:38:45 +0100 Subject: [PATCH 48/50] shmget() with IPC_CREAT must not create 0 size SHM The recently committed fix for GH-9944 did only indirectly cater to that, namely because in this case `CreateFileMapping()` with a zero size couldn't be created. As of PHP 8.2.0, the mappings of the actual SHM and the info segment have been merged, so creating a zero size SHM would be possible unless we explicitly prohibit this. --- TSRM/tsrm_win32.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TSRM/tsrm_win32.c b/TSRM/tsrm_win32.c index c52bd557eb0fe..241ac708e1bc8 100644 --- a/TSRM/tsrm_win32.c +++ b/TSRM/tsrm_win32.c @@ -645,7 +645,7 @@ TSRM_API int shmget(key_t key, size_t size, int flags) if (!shm_handle) { if (flags & IPC_CREAT) { - if (size > SIZE_MAX - sizeof(shm->descriptor)) { + if (size == 0 || size > SIZE_MAX - sizeof(shm->descriptor)) { return -1; } size += sizeof(shm->descriptor); From 52a891aeaa1333b3cb02f0dfd796c0fae8ab175c Mon Sep 17 00:00:00 2001 From: George Peter Banyard Date: Tue, 13 Dec 2022 09:03:11 +0000 Subject: [PATCH 49/50] Add a new imap_is_open() function to check that a connection object is still valid --- NEWS | 4 ++++ UPGRADING | 3 +++ ext/imap/php_imap.c | 18 ++++++++++++++++ ext/imap/php_imap.stub.php | 2 ++ ext/imap/php_imap_arginfo.h | 14 +++++++----- ext/imap/tests/imap_is_open.phpt | 37 ++++++++++++++++++++++++++++++++ 6 files changed, 73 insertions(+), 5 deletions(-) create mode 100644 ext/imap/tests/imap_is_open.phpt diff --git a/NEWS b/NEWS index 3e8faacff28e2..b6ae41f72386d 100644 --- a/NEWS +++ b/NEWS @@ -24,6 +24,10 @@ PHP NEWS . Fixed bug GH-8517 (Random crash of FPM master process in fpm_stdio_child_said). (Jakub Zelenka) +- Imap: + . Fixed bug GH-10051 (IMAP: there's no way to check if a IMAP\Connection is + still open). (Girgias) + - MBString: . Fixed bug GH-9535 (The behavior of mb_strcut in mbstring has been changed in PHP8.1). (Nathan Freeman) diff --git a/UPGRADING b/UPGRADING index ac712972b2530..5f69712a4b02b 100644 --- a/UPGRADING +++ b/UPGRADING @@ -234,6 +234,9 @@ PHP 8.2 UPGRADE NOTES - Curl: . curl_upkeep() (libcurl >= 7.62.0) +- IMAP: + . imap_is_open() (Only as of PHP 8.2.1) + - mysqli: . mysqli_execute_query() diff --git a/ext/imap/php_imap.c b/ext/imap/php_imap.c index c171969fa6657..880470601d219 100644 --- a/ext/imap/php_imap.c +++ b/ext/imap/php_imap.c @@ -781,6 +781,24 @@ PHP_FUNCTION(imap_reopen) } /* }}} */ +PHP_FUNCTION(imap_is_open) +{ + zval *imap_conn_obj; + php_imap_object *imap_conn_struct; + + if (zend_parse_parameters(ZEND_NUM_ARGS(), "O", &imap_conn_obj, php_imap_ce) == FAILURE) { + RETURN_THROWS(); + } + + /* Manual reimplementation of the GET_IMAP_STREAM() macro that doesn't throw */ + imap_conn_struct = imap_object_from_zend_object(Z_OBJ_P(imap_conn_obj)); + /* Stream was closed */ + if (imap_conn_struct->imap_stream == NULL) { + RETURN_FALSE; + } + RETURN_TRUE; +} + /* {{{ Append a new message to a specified mailbox */ PHP_FUNCTION(imap_append) { diff --git a/ext/imap/php_imap.stub.php b/ext/imap/php_imap.stub.php index 4c94b72656ee7..346ce2d3dc5dc 100644 --- a/ext/imap/php_imap.stub.php +++ b/ext/imap/php_imap.stub.php @@ -411,6 +411,8 @@ function imap_reopen(IMAP\Connection $imap, string $mailbox, int $flags = 0, int function imap_close(IMAP\Connection $imap, int $flags = 0): bool {} + function imap_is_open(IMAP\Connection $imap): bool {} + function imap_num_msg(IMAP\Connection $imap): int|false {} function imap_num_recent(IMAP\Connection $imap): int {} diff --git a/ext/imap/php_imap_arginfo.h b/ext/imap/php_imap_arginfo.h index e6d1ed4c921ab..eb49ae1dfb404 100644 --- a/ext/imap/php_imap_arginfo.h +++ b/ext/imap/php_imap_arginfo.h @@ -1,5 +1,5 @@ /* This is a generated file, edit the .stub.php file instead. - * Stub hash: c1f54f259bde2c49c5b49a595751acd2fb365efe */ + * Stub hash: c7ef736ea5c4121a4694c24af33fa1672f502c25 */ ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_imap_open, 0, 3, IMAP\\Connection, MAY_BE_FALSE) ZEND_ARG_TYPE_INFO(0, mailbox, IS_STRING, 0) @@ -22,6 +22,10 @@ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imap_close, 0, 1, _IS_BOOL, 0) ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, flags, IS_LONG, 0, "0") ZEND_END_ARG_INFO() +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imap_is_open, 0, 1, _IS_BOOL, 0) + ZEND_ARG_OBJ_INFO(0, imap, IMAP\\Connection, 0) +ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_imap_num_msg, 0, 1, MAY_BE_LONG|MAY_BE_FALSE) ZEND_ARG_OBJ_INFO(0, imap, IMAP\\Connection, 0) ZEND_END_ARG_INFO() @@ -101,9 +105,7 @@ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imap_gc, 0, 2, _IS_BOOL, 0) ZEND_ARG_TYPE_INFO(0, flags, IS_LONG, 0) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imap_expunge, 0, 1, _IS_BOOL, 0) - ZEND_ARG_OBJ_INFO(0, imap, IMAP\\Connection, 0) -ZEND_END_ARG_INFO() +#define arginfo_imap_expunge arginfo_imap_is_open ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imap_delete, 0, 2, _IS_BOOL, 0) ZEND_ARG_OBJ_INFO(0, imap, IMAP\\Connection, 0) @@ -171,7 +173,7 @@ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imap_append, 0, 3, _IS_BOOL, 0) ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, internal_date, IS_STRING, 1, "null") ZEND_END_ARG_INFO() -#define arginfo_imap_ping arginfo_imap_expunge +#define arginfo_imap_ping arginfo_imap_is_open ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_imap_base64, 0, 1, MAY_BE_STRING|MAY_BE_FALSE) ZEND_ARG_TYPE_INFO(0, string, IS_STRING, 0) @@ -341,6 +343,7 @@ ZEND_END_ARG_INFO() ZEND_FUNCTION(imap_open); ZEND_FUNCTION(imap_reopen); ZEND_FUNCTION(imap_close); +ZEND_FUNCTION(imap_is_open); ZEND_FUNCTION(imap_num_msg); ZEND_FUNCTION(imap_num_recent); ZEND_FUNCTION(imap_headers); @@ -425,6 +428,7 @@ static const zend_function_entry ext_functions[] = { ZEND_FE(imap_open, arginfo_imap_open) ZEND_FE(imap_reopen, arginfo_imap_reopen) ZEND_FE(imap_close, arginfo_imap_close) + ZEND_FE(imap_is_open, arginfo_imap_is_open) ZEND_FE(imap_num_msg, arginfo_imap_num_msg) ZEND_FE(imap_num_recent, arginfo_imap_num_recent) ZEND_FE(imap_headers, arginfo_imap_headers) diff --git a/ext/imap/tests/imap_is_open.phpt b/ext/imap/tests/imap_is_open.phpt new file mode 100644 index 0000000000000..db937ac9b7182 --- /dev/null +++ b/ext/imap/tests/imap_is_open.phpt @@ -0,0 +1,37 @@ +--TEST-- +Test imap_is_open() +--EXTENSIONS-- +imap +--SKIPIF-- + +--FILE-- + +--CLEAN-- + +--EXPECT-- +Create a temporary mailbox and add 0 msgs +New mailbox created +bool(true) +bool(true) +bool(false) From 002d54db9f2d60a415ed4bd6112edf8466ee3c41 Mon Sep 17 00:00:00 2001 From: Pierrick Charron Date: Tue, 13 Dec 2022 19:29:29 -0500 Subject: [PATCH 50/50] PHP-8.2 is now for PHP 8.2.2-dev --- NEWS | 5 ++++- Zend/zend.h | 2 +- configure.ac | 2 +- main/php_version.h | 6 +++--- 4 files changed, 9 insertions(+), 6 deletions(-) diff --git a/NEWS b/NEWS index b6ae41f72386d..61185a9a36b47 100644 --- a/NEWS +++ b/NEWS @@ -1,6 +1,9 @@ PHP NEWS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| -?? ??? ????, PHP 8.2.1 +?? ??? ????, PHP 8.2.2 + + +05 Jan 2023, PHP 8.2.1 - Core: . Fixed bug GH-9905 (constant() behaves inconsistent when class is undefined). diff --git a/Zend/zend.h b/Zend/zend.h index a4c13a84d963e..5e613207ae142 100644 --- a/Zend/zend.h +++ b/Zend/zend.h @@ -20,7 +20,7 @@ #ifndef ZEND_H #define ZEND_H -#define ZEND_VERSION "4.2.1-dev" +#define ZEND_VERSION "4.2.2-dev" #define ZEND_ENGINE_3 diff --git a/configure.ac b/configure.ac index 3c257b6bdfac0..efc2c2d6899a7 100644 --- a/configure.ac +++ b/configure.ac @@ -17,7 +17,7 @@ dnl Basic autoconf initialization, generation of config.nice. dnl ---------------------------------------------------------------------------- AC_PREREQ([2.68]) -AC_INIT([PHP],[8.2.1-dev],[https://github.com/php/php-src/issues],[php],[https://www.php.net]) +AC_INIT([PHP],[8.2.2-dev],[https://github.com/php/php-src/issues],[php],[https://www.php.net]) AC_CONFIG_SRCDIR([main/php_version.h]) AC_CONFIG_AUX_DIR([build]) AC_PRESERVE_HELP_ORDER diff --git a/main/php_version.h b/main/php_version.h index 4cc596766d9c1..42c94eeece9bb 100644 --- a/main/php_version.h +++ b/main/php_version.h @@ -2,7 +2,7 @@ /* edit configure.ac to change version number */ #define PHP_MAJOR_VERSION 8 #define PHP_MINOR_VERSION 2 -#define PHP_RELEASE_VERSION 1 +#define PHP_RELEASE_VERSION 2 #define PHP_EXTRA_VERSION "-dev" -#define PHP_VERSION "8.2.1-dev" -#define PHP_VERSION_ID 80201 +#define PHP_VERSION "8.2.2-dev" +#define PHP_VERSION_ID 80202