From 5094a636ae8ef1032b43a3f081fb2fa75ca3100e Mon Sep 17 00:00:00 2001 From: Eric Mann Date: Tue, 30 Jan 2024 12:42:45 -0800 Subject: [PATCH 01/36] PHP-8.3 is now for PHP-8.3.4-dev --- NEWS | 5 ++++- Zend/zend.h | 2 +- configure.ac | 2 +- main/php_version.h | 4 ++-- 4 files changed, 8 insertions(+), 5 deletions(-) diff --git a/NEWS b/NEWS index a03d4e86ae906..67e2f8a8d88d6 100644 --- a/NEWS +++ b/NEWS @@ -1,6 +1,9 @@ PHP NEWS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| -?? ??? ????, PHP 8.3.3 +?? ??? ????, PHP 8.3.4 + + +15 Feb 2024, PHP 8.3.3 - Core: . Fixed timer leak in zend-max-execution-timers builds. (withinboredom) diff --git a/Zend/zend.h b/Zend/zend.h index cddd0f3b04521..eafc4edeb423c 100644 --- a/Zend/zend.h +++ b/Zend/zend.h @@ -20,7 +20,7 @@ #ifndef ZEND_H #define ZEND_H -#define ZEND_VERSION "4.3.3-dev" +#define ZEND_VERSION "4.3.4-dev" #define ZEND_ENGINE_3 diff --git a/configure.ac b/configure.ac index a9e96f3cef952..12383bfea1a9c 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.3.3-dev],[https://github.com/php/php-src/issues],[php],[https://www.php.net]) +AC_INIT([PHP],[8.3.4-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 841fe15f5b2ac..714823e291fa7 100644 --- a/main/php_version.h +++ b/main/php_version.h @@ -4,5 +4,5 @@ #define PHP_MINOR_VERSION 3 #define PHP_RELEASE_VERSION 3 #define PHP_EXTRA_VERSION "-dev" -#define PHP_VERSION "8.3.3-dev" -#define PHP_VERSION_ID 80303 +#define PHP_VERSION "8.3.4-dev" +#define PHP_VERSION_ID 80304 From 218a93b898b4ecd182d1ab1c1f9d8d35bb2f1799 Mon Sep 17 00:00:00 2001 From: Peter Kokot Date: Wed, 31 Jan 2024 11:18:21 +0100 Subject: [PATCH 02/36] Use EXTENSIONS instead of SKIPIF sections in *.phpt This also fixes skipped tests due to different naming "zend-test" instead of "zend_test" and "PDO" instead of "pdo": - ext/dom/tests/libxml_global_state_entity_loader_bypass.phpt - ext/simplexml/tests/libxml_global_state_entity_loader_bypass.phpt - ext/xmlreader/tests/libxml_global_state_entity_loader_bypass.phpt - ext/zend_test/tests/observer_sqlite_create_function.phpt EXTENSIONS section is used for the Windows build to load the non-static extensions. Closes GH-13276 --- ext/bz2/tests/bzerr_functions_on_invalid_stream.phpt | 4 ++-- ext/com_dotnet/tests/gh8778.phpt | 3 ++- ext/dom/tests/bug79971_2.phpt | 6 ++---- .../tests/libxml_global_state_entity_loader_bypass.phpt | 7 ++++--- ext/filter/tests/bug77221.phpt | 6 ++---- ext/filter/tests/bug81122.phpt | 6 ++---- ext/intl/tests/gh10647.phpt | 6 ++---- ext/intl/tests/gh8364.phpt | 6 ++---- ext/intl/tests/locale/bug72809.phpt | 6 ++---- ext/mbstring/tests/gh8086.phpt | 6 ++---- ext/openssl/tests/bug50293.phpt | 6 ++---- ext/openssl/tests/gh9339.phpt | 6 ++---- ext/pdo/tests/gh8626.phpt | 3 ++- ext/pdo_pgsql/tests/gh7723.phpt | 4 +++- ext/pdo_pgsql/tests/gh9411.phpt | 4 +++- ext/phar/tests/GHSA-jqcx-ccgc-xwhv.phpt | 4 ++-- ext/phar/tests/bug81211.phpt | 3 ++- .../tests/libxml_global_state_entity_loader_bypass.phpt | 7 ++++--- .../tests/libxml_global_state_entity_loader_bypass.phpt | 7 ++++--- ext/zend_test/tests/observer_sqlite_create_function.phpt | 2 +- ext/zip/tests/bug77978.phpt | 6 ++---- ext/zip/tests/bug80833.phpt | 3 ++- ext/zip/tests/bug81420.phpt | 6 ++---- ext/zip/tests/bug81490.phpt | 6 ++---- ext/zip/tests/bug_gh8781.phpt | 6 ++---- 25 files changed, 57 insertions(+), 72 deletions(-) diff --git a/ext/bz2/tests/bzerr_functions_on_invalid_stream.phpt b/ext/bz2/tests/bzerr_functions_on_invalid_stream.phpt index 82cb357352998..a9fd3a2118697 100644 --- a/ext/bz2/tests/bzerr_functions_on_invalid_stream.phpt +++ b/ext/bz2/tests/bzerr_functions_on_invalid_stream.phpt @@ -1,7 +1,7 @@ --TEST-- Calling bzerr* functions on non-bz2 streams ---SKIPIF-- - +--EXTENSIONS-- +bz2 --FILE-- --FILE-- diff --git a/ext/dom/tests/bug79971_2.phpt b/ext/dom/tests/bug79971_2.phpt index c4e6b1e4e0933..f5bee66302b0f 100644 --- a/ext/dom/tests/bug79971_2.phpt +++ b/ext/dom/tests/bug79971_2.phpt @@ -1,9 +1,7 @@ --TEST-- Bug #79971 (special character is breaking the path in xml function) ---SKIPIF-- - +--EXTENSIONS-- +dom --FILE-- --FILE-- diff --git a/ext/filter/tests/bug77221.phpt b/ext/filter/tests/bug77221.phpt index 307a83898ac44..f94a14dee2de8 100644 --- a/ext/filter/tests/bug77221.phpt +++ b/ext/filter/tests/bug77221.phpt @@ -1,9 +1,7 @@ --TEST-- Bug #77221 (Request IP address filter flag to exclude non-global IP addresses) ---SKIPIF-- - +--EXTENSIONS-- +filter --FILE-- +--EXTENSIONS-- +filter --FILE-- +--EXTENSIONS-- +intl --FILE-- +--EXTENSIONS-- +intl --FILE-- +--EXTENSIONS-- +intl --FILE-- +--EXTENSIONS-- +mbstring --INI-- sendmail_path={MAIL:{PWD}/gh8086.eml} mail.mixed_lf_and_crlf=on diff --git a/ext/openssl/tests/bug50293.phpt b/ext/openssl/tests/bug50293.phpt index 8eae2914bd195..0fc2bc371a735 100644 --- a/ext/openssl/tests/bug50293.phpt +++ b/ext/openssl/tests/bug50293.phpt @@ -1,9 +1,7 @@ --TEST-- Bug #50293 (Several openssl functions ignore the VCWD) ---SKIPIF-- - +--EXTENSIONS-- +openssl --FILE-- +--EXTENSIONS-- +openssl --FILE-- execute() failed, then execute successfully, errorInfo() information is incorrect +--EXTENSIONS-- +pdo --SKIPIF-- +--EXTENSIONS-- +phar --INI-- phar.readonly=0 --FILE-- diff --git a/ext/phar/tests/bug81211.phpt b/ext/phar/tests/bug81211.phpt index 96b1401b40342..fe7b1326aa688 100644 --- a/ext/phar/tests/bug81211.phpt +++ b/ext/phar/tests/bug81211.phpt @@ -1,8 +1,9 @@ --TEST-- Bug #81211 (Symlinks are followed when creating PHAR archive) +--EXTENSIONS-- +phar --SKIPIF-- --FILE-- diff --git a/ext/xmlreader/tests/libxml_global_state_entity_loader_bypass.phpt b/ext/xmlreader/tests/libxml_global_state_entity_loader_bypass.phpt index cb0297b6b1bc8..a0223367c70ad 100644 --- a/ext/xmlreader/tests/libxml_global_state_entity_loader_bypass.phpt +++ b/ext/xmlreader/tests/libxml_global_state_entity_loader_bypass.phpt @@ -1,10 +1,11 @@ --TEST-- GHSA-3qrf-m4j2-pcrr (libxml global state entity loader bypass) +--EXTENSIONS-- +libxml +xmlreader +zend_test --SKIPIF-- --FILE-- diff --git a/ext/zend_test/tests/observer_sqlite_create_function.phpt b/ext/zend_test/tests/observer_sqlite_create_function.phpt index 85d269c9ead1a..26330043ef28d 100644 --- a/ext/zend_test/tests/observer_sqlite_create_function.phpt +++ b/ext/zend_test/tests/observer_sqlite_create_function.phpt @@ -2,7 +2,7 @@ Observer: PDO::sqliteCreateFunction() can be observed --EXTENSIONS-- zend_test -PDO +pdo pdo_sqlite --INI-- zend_test.observer.enabled=1 diff --git a/ext/zip/tests/bug77978.phpt b/ext/zip/tests/bug77978.phpt index 2f3c22f4213a2..bcf3538f65da1 100644 --- a/ext/zip/tests/bug77978.phpt +++ b/ext/zip/tests/bug77978.phpt @@ -1,9 +1,7 @@ --TEST-- Bug #77978 (Dirname ending in colon unzips to wrong dir) ---SKIPIF-- - +--EXTENSIONS-- +zip --FILE-- --FILE-- diff --git a/ext/zip/tests/bug81420.phpt b/ext/zip/tests/bug81420.phpt index 9eec0ee7e99c4..ad89e7c0ac7b2 100644 --- a/ext/zip/tests/bug81420.phpt +++ b/ext/zip/tests/bug81420.phpt @@ -1,9 +1,7 @@ --TEST-- Bug #81420 (ZipArchive::extractTo extracts outside of destination) ---SKIPIF-- - +--EXTENSIONS-- +zip --FILE-- +--EXTENSIONS-- +zip --FILE-- +--EXTENSIONS-- +zip --FILE-- Date: Wed, 31 Jan 2024 11:52:38 +0100 Subject: [PATCH 03/36] Update PHP 8.3 minor version --- main/php_version.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main/php_version.h b/main/php_version.h index 714823e291fa7..2093b37395a45 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 3 -#define PHP_RELEASE_VERSION 3 +#define PHP_RELEASE_VERSION 4 #define PHP_EXTRA_VERSION "-dev" #define PHP_VERSION "8.3.4-dev" #define PHP_VERSION_ID 80304 From d65c39504976bd8586d3a2e94b21077d199cd852 Mon Sep 17 00:00:00 2001 From: Ilija Tovilo Date: Wed, 31 Jan 2024 13:15:49 +0100 Subject: [PATCH 04/36] Fix instable array during in-place modification in uksort The array isn't just observable if the array has RCn, but also if it is inside a reference that is RCn. By-ref parameters are always RCn and as such always observable. Fixes GH-13279 Closes GH-13285 --- NEWS | 3 +++ ext/standard/array.c | 12 ++---------- ext/standard/tests/gh13279.phpt | 18 ++++++++++++++++++ 3 files changed, 23 insertions(+), 10 deletions(-) create mode 100644 ext/standard/tests/gh13279.phpt diff --git a/NEWS b/NEWS index 67e2f8a8d88d6..b095492c46ca4 100644 --- a/NEWS +++ b/NEWS @@ -2,6 +2,9 @@ PHP NEWS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ?? ??? ????, PHP 8.3.4 +- Standard: + . Fixed bug GH-13279 (Instable array during in-place modification in uksort). + (ilutov) 15 Feb 2024, PHP 8.3.3 diff --git a/ext/standard/array.c b/ext/standard/array.c index 388b15a0879bb..0e99dd8fd5e50 100644 --- a/ext/standard/array.c +++ b/ext/standard/array.c @@ -901,19 +901,11 @@ static void php_usort(INTERNAL_FUNCTION_PARAMETERS, bucket_compare_func_t compar RETURN_TRUE; } - /* Copy array, so the in-place modifications will not be visible to the callback function. - * Unless there are no other references since we know for sure it won't be visible. */ - bool in_place = zend_may_modify_arg_in_place(array); - if (!in_place) { - arr = zend_array_dup(arr); - } + /* Copy array, so the in-place modifications will not be visible to the callback function */ + arr = zend_array_dup(arr); zend_hash_sort(arr, compare_func, renumber); - if (in_place) { - GC_ADDREF(arr); - } - zval garbage; ZVAL_COPY_VALUE(&garbage, array); ZVAL_ARR(array, arr); diff --git a/ext/standard/tests/gh13279.phpt b/ext/standard/tests/gh13279.phpt new file mode 100644 index 0000000000000..c39f520e57e08 --- /dev/null +++ b/ext/standard/tests/gh13279.phpt @@ -0,0 +1,18 @@ +--TEST-- +GH-13279: Instable array during in-place modification in uksort +--FILE-- + +===DONE=== +--EXPECT-- +===DONE=== From 404803577db5e53209a5ae881c39c9092b7deacb Mon Sep 17 00:00:00 2001 From: Ayesh Karunaratne Date: Thu, 1 Feb 2024 02:03:55 +0700 Subject: [PATCH 05/36] ext/curl: Fix failing tests due to string changes in libcurl 8.6.0 Upstream libcurl 8.6.0 contains a change[^1] that caused a test failure. This fixes it by updating the test's `EXPECTF` to use a regex to account for both string patterns. [^1]: https://github.com/curl/curl/commit/45cf4755e71f#diff-a8a54563608f8155973318f4ddb61d7328dab512b8ff2b5cc48cc76979d4204cL1683 Closes GH-13293. --- NEWS | 2 ++ ext/curl/tests/bug77946.phpt | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/NEWS b/NEWS index 42690f24be2cd..78ecae17e4b4d 100644 --- a/NEWS +++ b/NEWS @@ -2,6 +2,8 @@ PHP NEWS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ?? ??? ????, PHP 8.2.17 +- Curl: + . Fix failing tests due to string changes in libcurl 8.6.0. (Ayesh) 15 Feb 2024, PHP 8.2.16 diff --git a/ext/curl/tests/bug77946.phpt b/ext/curl/tests/bug77946.phpt index 8b1e70675554f..7b836187d6bfb 100644 --- a/ext/curl/tests/bug77946.phpt +++ b/ext/curl/tests/bug77946.phpt @@ -34,4 +34,4 @@ curl_multi_close($mh); --EXPECTF-- int(1) int(1) -string(%d) "Protocol %Sunknown%S not supported or disabled in libcurl" +string(%d) "Protocol %Sunknown%S %rnot supported( or disabled in libcurl)?%r" From e209506bfac2c50ceb305c27454490f41fc25737 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tim=20D=C3=BCsterhus?= Date: Wed, 31 Jan 2024 23:34:28 +0100 Subject: [PATCH 06/36] Update GitHub Action workflows to `actions/upload-artifact@v4` (#13297) Keep this up to date in all non-security-only branches, because the node.js runtime for older versions might get deprecated in the future and fixing this for all branches at once is easier. --- .github/actions/test-linux/action.yml | 2 +- .github/actions/test-macos/action.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/actions/test-linux/action.yml b/.github/actions/test-linux/action.yml index a56ed2823d7ac..6736b269d1b3a 100644 --- a/.github/actions/test-linux/action.yml +++ b/.github/actions/test-linux/action.yml @@ -46,7 +46,7 @@ runs: --show-diff \ --show-slow 1000 \ --set-timeout 120 - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 if: always() && inputs.testArtifacts != null with: name: ${{ github.job }}_${{ inputs.testArtifacts }} diff --git a/.github/actions/test-macos/action.yml b/.github/actions/test-macos/action.yml index 0090f6a1cb337..a25b9d7f7d1fb 100644 --- a/.github/actions/test-macos/action.yml +++ b/.github/actions/test-macos/action.yml @@ -28,7 +28,7 @@ runs: --show-diff \ --show-slow 1000 \ --set-timeout 120 - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 if: always() && inputs.testArtifacts != null with: name: ${{ github.job }}_${{ inputs.testArtifacts }} From 4922b9eb7d3e9d78412d8ab8b0bcacb5658dd289 Mon Sep 17 00:00:00 2001 From: Ayesh Karunaratne Date: Thu, 1 Feb 2024 04:54:38 +0700 Subject: [PATCH 07/36] ci: update caddy job to use GitHub Releases The caddyserver.com download page is unreliable, and it also recommends to use GitHub releases instead. Closes #13296 --- .github/actions/setup-caddy/action.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/actions/setup-caddy/action.yml b/.github/actions/setup-caddy/action.yml index 8c3969bd28248..e2a52c44b36e0 100644 --- a/.github/actions/setup-caddy/action.yml +++ b/.github/actions/setup-caddy/action.yml @@ -3,8 +3,10 @@ runs: using: composite steps: - shell: bash + env: + GH_TOKEN: ${{ github.token }} run: | set -x - sudo curl 'https://caddyserver.com/api/download?os=linux&arch=amd64' -o /usr/bin/caddy + gh release -R caddyserver/caddy download --pattern 'caddy_*_linux_amd64.tar.gz' -O - | sudo tar -xz -C /usr/bin caddy sudo chmod +x /usr/bin/caddy sudo caddy start --config ext/curl/tests/Caddyfile From 7d5a96614c98605497c9a178e4fafe7e8104cf15 Mon Sep 17 00:00:00 2001 From: Derick Rethans Date: Fri, 2 Feb 2024 10:23:33 +0000 Subject: [PATCH 08/36] Updated to version 2024.1 (2024a) --- ext/date/lib/timezonedb.h | 2128 ++++++++++++++++++------------------- 1 file changed, 1064 insertions(+), 1064 deletions(-) diff --git a/ext/date/lib/timezonedb.h b/ext/date/lib/timezonedb.h index 366c85c7a7786..26c104b2a20e5 100644 --- a/ext/date/lib/timezonedb.h +++ b/ext/date/lib/timezonedb.h @@ -242,370 +242,370 @@ const timelib_tzdb_index_entry timezonedb_idx_builtin[597] = { { (char*) "Arctic/Longyearbyen" , 0x022757 }, { (char*) "Asia/Aden" , 0x022A24 }, { (char*) "Asia/Almaty" , 0x022AB5 }, - { (char*) "Asia/Amman" , 0x022D34 }, - { (char*) "Asia/Anadyr" , 0x0230E0 }, - { (char*) "Asia/Aqtau" , 0x0233E6 }, - { (char*) "Asia/Aqtobe" , 0x023665 }, - { (char*) "Asia/Ashgabat" , 0x0238E5 }, - { (char*) "Asia/Ashkhabad" , 0x023A68 }, - { (char*) "Asia/Atyrau" , 0x023BEB }, - { (char*) "Asia/Baghdad" , 0x023E74 }, - { (char*) "Asia/Bahrain" , 0x0240F6 }, - { (char*) "Asia/Baku" , 0x0241AF }, - { (char*) "Asia/Bangkok" , 0x0244A3 }, - { (char*) "Asia/Barnaul" , 0x024547 }, - { (char*) "Asia/Beirut" , 0x024852 }, - { (char*) "Asia/Bishkek" , 0x024B3A }, - { (char*) "Asia/Brunei" , 0x024DB0 }, - { (char*) "Asia/Calcutta" , 0x024E56 }, - { (char*) "Asia/Chita" , 0x024F3E }, - { (char*) "Asia/Choibalsan" , 0x02524C }, - { (char*) "Asia/Chongqing" , 0x0254D5 }, - { (char*) "Asia/Chungking" , 0x02566A }, - { (char*) "Asia/Colombo" , 0x0257FF }, - { (char*) "Asia/Dacca" , 0x025902 }, - { (char*) "Asia/Damascus" , 0x0259F5 }, - { (char*) "Asia/Dhaka" , 0x025ED3 }, - { (char*) "Asia/Dili" , 0x025FC6 }, - { (char*) "Asia/Dubai" , 0x02607C }, - { (char*) "Asia/Dushanbe" , 0x02610D }, - { (char*) "Asia/Famagusta" , 0x026287 }, - { (char*) "Asia/Gaza" , 0x02664E }, - { (char*) "Asia/Harbin" , 0x0271FC }, - { (char*) "Asia/Hebron" , 0x027391 }, - { (char*) "Asia/Ho_Chi_Minh" , 0x027F50 }, - { (char*) "Asia/Hong_Kong" , 0x028048 }, - { (char*) "Asia/Hovd" , 0x02835B }, - { (char*) "Asia/Irkutsk" , 0x0285E4 }, - { (char*) "Asia/Istanbul" , 0x028902 }, - { (char*) "Asia/Jakarta" , 0x028DBE }, - { (char*) "Asia/Jayapura" , 0x028ECF }, - { (char*) "Asia/Jerusalem" , 0x028FBC }, - { (char*) "Asia/Kabul" , 0x0293FA }, - { (char*) "Asia/Kamchatka" , 0x0294A5 }, - { (char*) "Asia/Karachi" , 0x02979A }, - { (char*) "Asia/Kashgar" , 0x0298B0 }, - { (char*) "Asia/Kathmandu" , 0x029941 }, - { (char*) "Asia/Katmandu" , 0x0299EE }, - { (char*) "Asia/Khandyga" , 0x029A9B }, - { (char*) "Asia/Kolkata" , 0x029DCC }, - { (char*) "Asia/Krasnoyarsk" , 0x029EB4 }, - { (char*) "Asia/Kuala_Lumpur" , 0x02A1BE }, - { (char*) "Asia/Kuching" , 0x02A2DE }, - { (char*) "Asia/Kuwait" , 0x02A438 }, - { (char*) "Asia/Macao" , 0x02A4C9 }, - { (char*) "Asia/Macau" , 0x02A7EC }, - { (char*) "Asia/Magadan" , 0x02AB0F }, - { (char*) "Asia/Makassar" , 0x02AE1A }, - { (char*) "Asia/Manila" , 0x02AF2D }, - { (char*) "Asia/Muscat" , 0x02B027 }, - { (char*) "Asia/Nicosia" , 0x02B0B8 }, - { (char*) "Asia/Novokuznetsk" , 0x02B327 }, - { (char*) "Asia/Novosibirsk" , 0x02B61A }, - { (char*) "Asia/Omsk" , 0x02B92B }, - { (char*) "Asia/Oral" , 0x02BC29 }, - { (char*) "Asia/Phnom_Penh" , 0x02BEB5 }, - { (char*) "Asia/Pontianak" , 0x02BF89 }, - { (char*) "Asia/Pyongyang" , 0x02C0A2 }, - { (char*) "Asia/Qatar" , 0x02C165 }, - { (char*) "Asia/Qostanay" , 0x02C209 }, - { (char*) "Asia/Qyzylorda" , 0x02C496 }, - { (char*) "Asia/Rangoon" , 0x02C72F }, - { (char*) "Asia/Riyadh" , 0x02C7F6 }, - { (char*) "Asia/Saigon" , 0x02C887 }, - { (char*) "Asia/Sakhalin" , 0x02C97F }, - { (char*) "Asia/Samarkand" , 0x02CC96 }, - { (char*) "Asia/Seoul" , 0x02CE21 }, - { (char*) "Asia/Shanghai" , 0x02CFCC }, - { (char*) "Asia/Singapore" , 0x02D16D }, - { (char*) "Asia/Srednekolymsk" , 0x02D279 }, - { (char*) "Asia/Taipei" , 0x02D589 }, - { (char*) "Asia/Tashkent" , 0x02D794 }, - { (char*) "Asia/Tbilisi" , 0x02D91F }, - { (char*) "Asia/Tehran" , 0x02DBA0 }, - { (char*) "Asia/Tel_Aviv" , 0x02DED8 }, - { (char*) "Asia/Thimbu" , 0x02E316 }, - { (char*) "Asia/Thimphu" , 0x02E3BC }, - { (char*) "Asia/Tokyo" , 0x02E462 }, - { (char*) "Asia/Tomsk" , 0x02E543 }, - { (char*) "Asia/Ujung_Pandang" , 0x02E84E }, - { (char*) "Asia/Ulaanbaatar" , 0x02E918 }, - { (char*) "Asia/Ulan_Bator" , 0x02EB86 }, - { (char*) "Asia/Urumqi" , 0x02EDE4 }, - { (char*) "Asia/Ust-Nera" , 0x02EE82 }, - { (char*) "Asia/Vientiane" , 0x02F1A5 }, - { (char*) "Asia/Vladivostok" , 0x02F28B }, - { (char*) "Asia/Yakutsk" , 0x02F590 }, - { (char*) "Asia/Yangon" , 0x02F894 }, - { (char*) "Asia/Yekaterinburg" , 0x02F95B }, - { (char*) "Asia/Yerevan" , 0x02FC6D }, - { (char*) "Atlantic/Azores" , 0x02FF3D }, - { (char*) "Atlantic/Bermuda" , 0x0304FC }, - { (char*) "Atlantic/Canary" , 0x030908 }, - { (char*) "Atlantic/Cape_Verde" , 0x030B00 }, - { (char*) "Atlantic/Faeroe" , 0x030BBB }, - { (char*) "Atlantic/Faroe" , 0x030D80 }, - { (char*) "Atlantic/Jan_Mayen" , 0x030F45 }, - { (char*) "Atlantic/Madeira" , 0x031212 }, - { (char*) "Atlantic/Reykjavik" , 0x0317DA }, - { (char*) "Atlantic/South_Georgia" , 0x031AD7 }, - { (char*) "Atlantic/St_Helena" , 0x031B67 }, - { (char*) "Atlantic/Stanley" , 0x031C08 }, - { (char*) "Australia/ACT" , 0x031F29 }, - { (char*) "Australia/Adelaide" , 0x0322BD }, - { (char*) "Australia/Brisbane" , 0x032671 }, - { (char*) "Australia/Broken_Hill" , 0x0327B5 }, - { (char*) "Australia/Canberra" , 0x032B8A }, - { (char*) "Australia/Currie" , 0x032F1E }, - { (char*) "Australia/Darwin" , 0x033315 }, - { (char*) "Australia/Eucla" , 0x03341D }, - { (char*) "Australia/Hobart" , 0x03357C }, - { (char*) "Australia/LHI" , 0x03397B }, - { (char*) "Australia/Lindeman" , 0x033C3B }, - { (char*) "Australia/Lord_Howe" , 0x033DAB }, - { (char*) "Australia/Melbourne" , 0x03407B }, - { (char*) "Australia/North" , 0x034417 }, - { (char*) "Australia/NSW" , 0x03450D }, - { (char*) "Australia/Perth" , 0x0348A1 }, - { (char*) "Australia/Queensland" , 0x0349FD }, - { (char*) "Australia/South" , 0x034B2A }, - { (char*) "Australia/Sydney" , 0x034ECF }, - { (char*) "Australia/Tasmania" , 0x03527F }, - { (char*) "Australia/Victoria" , 0x035676 }, - { (char*) "Australia/West" , 0x035A0A }, - { (char*) "Australia/Yancowinna" , 0x035B48 }, - { (char*) "Brazil/Acre" , 0x035F01 }, - { (char*) "Brazil/DeNoronha" , 0x0360AF }, - { (char*) "Brazil/East" , 0x03629F }, - { (char*) "Brazil/West" , 0x036663 }, - { (char*) "Canada/Atlantic" , 0x03680B }, - { (char*) "Canada/Central" , 0x036E9F }, - { (char*) "Canada/Eastern" , 0x0373B9 }, - { (char*) "Canada/Mountain" , 0x037A7A }, - { (char*) "Canada/Newfoundland" , 0x037E50 }, - { (char*) "Canada/Pacific" , 0x0385B2 }, - { (char*) "Canada/Saskatchewan" , 0x038AF0 }, - { (char*) "Canada/Yukon" , 0x038D7A }, - { (char*) "CET" , 0x03918B }, - { (char*) "Chile/Continental" , 0x039404 }, - { (char*) "Chile/EasterIsland" , 0x03995A }, - { (char*) "CST6CDT" , 0x039DFC }, - { (char*) "Cuba" , 0x03A1BF }, - { (char*) "EET" , 0x03A628 }, - { (char*) "Egypt" , 0x03A825 }, - { (char*) "Eire" , 0x03AD4E }, - { (char*) "EST" , 0x03B332 }, - { (char*) "EST5EDT" , 0x03B3AD }, - { (char*) "Etc/GMT" , 0x03B770 }, - { (char*) "Etc/GMT+0" , 0x03B7EB }, - { (char*) "Etc/GMT+1" , 0x03B866 }, - { (char*) "Etc/GMT+10" , 0x03B8E3 }, - { (char*) "Etc/GMT+11" , 0x03B961 }, - { (char*) "Etc/GMT+12" , 0x03B9DF }, - { (char*) "Etc/GMT+2" , 0x03BA5D }, - { (char*) "Etc/GMT+3" , 0x03BADA }, - { (char*) "Etc/GMT+4" , 0x03BB57 }, - { (char*) "Etc/GMT+5" , 0x03BBD4 }, - { (char*) "Etc/GMT+6" , 0x03BC51 }, - { (char*) "Etc/GMT+7" , 0x03BCCE }, - { (char*) "Etc/GMT+8" , 0x03BD4B }, - { (char*) "Etc/GMT+9" , 0x03BDC8 }, - { (char*) "Etc/GMT-0" , 0x03BE45 }, - { (char*) "Etc/GMT-1" , 0x03BEC0 }, - { (char*) "Etc/GMT-10" , 0x03BF3E }, - { (char*) "Etc/GMT-11" , 0x03BFBD }, - { (char*) "Etc/GMT-12" , 0x03C03C }, - { (char*) "Etc/GMT-13" , 0x03C0BB }, - { (char*) "Etc/GMT-14" , 0x03C13A }, - { (char*) "Etc/GMT-2" , 0x03C1B9 }, - { (char*) "Etc/GMT-3" , 0x03C237 }, - { (char*) "Etc/GMT-4" , 0x03C2B5 }, - { (char*) "Etc/GMT-5" , 0x03C333 }, - { (char*) "Etc/GMT-6" , 0x03C3B1 }, - { (char*) "Etc/GMT-7" , 0x03C42F }, - { (char*) "Etc/GMT-8" , 0x03C4AD }, - { (char*) "Etc/GMT-9" , 0x03C52B }, - { (char*) "Etc/GMT0" , 0x03C5A9 }, - { (char*) "Etc/Greenwich" , 0x03C624 }, - { (char*) "Etc/UCT" , 0x03C69F }, - { (char*) "Etc/Universal" , 0x03C71A }, - { (char*) "Etc/UTC" , 0x03C795 }, - { (char*) "Etc/Zulu" , 0x03C810 }, - { (char*) "Europe/Amsterdam" , 0x03C88B }, - { (char*) "Europe/Andorra" , 0x03CCC6 }, - { (char*) "Europe/Astrakhan" , 0x03CE57 }, - { (char*) "Europe/Athens" , 0x03D14B }, - { (char*) "Europe/Belfast" , 0x03D401 }, - { (char*) "Europe/Belgrade" , 0x03DA4C }, - { (char*) "Europe/Berlin" , 0x03DC36 }, - { (char*) "Europe/Bratislava" , 0x03DF12 }, - { (char*) "Europe/Brussels" , 0x03E1F1 }, - { (char*) "Europe/Bucharest" , 0x03E64C }, - { (char*) "Europe/Budapest" , 0x03E8ED }, - { (char*) "Europe/Busingen" , 0x03EBF7 }, - { (char*) "Europe/Chisinau" , 0x03EDFC }, - { (char*) "Europe/Copenhagen" , 0x03F0FB }, - { (char*) "Europe/Dublin" , 0x03F376 }, - { (char*) "Europe/Gibraltar" , 0x03F95A }, - { (char*) "Europe/Guernsey" , 0x03FE2A }, - { (char*) "Europe/Helsinki" , 0x040481 }, - { (char*) "Europe/Isle_of_Man" , 0x04066E }, - { (char*) "Europe/Istanbul" , 0x040CB9 }, - { (char*) "Europe/Jersey" , 0x041175 }, - { (char*) "Europe/Kaliningrad" , 0x0417CC }, - { (char*) "Europe/Kiev" , 0x041B74 }, - { (char*) "Europe/Kirov" , 0x041DAE }, - { (char*) "Europe/Kyiv" , 0x0420A7 }, - { (char*) "Europe/Lisbon" , 0x0422F0 }, - { (char*) "Europe/Ljubljana" , 0x0428BD }, - { (char*) "Europe/London" , 0x042AA7 }, - { (char*) "Europe/Luxembourg" , 0x0430F2 }, - { (char*) "Europe/Madrid" , 0x04353D }, - { (char*) "Europe/Malta" , 0x0438DA }, - { (char*) "Europe/Mariehamn" , 0x043C86 }, - { (char*) "Europe/Minsk" , 0x043E73 }, - { (char*) "Europe/Monaco" , 0x0441A7 }, - { (char*) "Europe/Moscow" , 0x04460D }, - { (char*) "Europe/Nicosia" , 0x0449B9 }, - { (char*) "Europe/Oslo" , 0x044C1A }, - { (char*) "Europe/Paris" , 0x044ECA }, - { (char*) "Europe/Podgorica" , 0x045327 }, - { (char*) "Europe/Prague" , 0x045511 }, - { (char*) "Europe/Riga" , 0x0457F0 }, - { (char*) "Europe/Rome" , 0x045AB2 }, - { (char*) "Europe/Samara" , 0x045E71 }, - { (char*) "Europe/San_Marino" , 0x046172 }, - { (char*) "Europe/Sarajevo" , 0x046531 }, - { (char*) "Europe/Saratov" , 0x04671B }, - { (char*) "Europe/Simferopol" , 0x046A0D }, - { (char*) "Europe/Skopje" , 0x046D80 }, - { (char*) "Europe/Sofia" , 0x046F6A }, - { (char*) "Europe/Stockholm" , 0x0471C6 }, - { (char*) "Europe/Tallinn" , 0x0473C3 }, - { (char*) "Europe/Tirane" , 0x047672 }, - { (char*) "Europe/Tiraspol" , 0x0478DA }, - { (char*) "Europe/Ulyanovsk" , 0x047BD9 }, - { (char*) "Europe/Uzhgorod" , 0x047EEF }, - { (char*) "Europe/Vaduz" , 0x048129 }, - { (char*) "Europe/Vatican" , 0x048313 }, - { (char*) "Europe/Vienna" , 0x0486D2 }, - { (char*) "Europe/Vilnius" , 0x048970 }, - { (char*) "Europe/Volgograd" , 0x048C20 }, - { (char*) "Europe/Warsaw" , 0x048F2F }, - { (char*) "Europe/Zagreb" , 0x0492D6 }, - { (char*) "Europe/Zaporozhye" , 0x0494C0 }, - { (char*) "Europe/Zurich" , 0x0496FA }, - { (char*) "Factory" , 0x0498F7 }, - { (char*) "GB" , 0x049974 }, - { (char*) "GB-Eire" , 0x049FBF }, - { (char*) "GMT" , 0x04A60A }, - { (char*) "GMT+0" , 0x04A685 }, - { (char*) "GMT-0" , 0x04A700 }, - { (char*) "GMT0" , 0x04A77B }, - { (char*) "Greenwich" , 0x04A7F6 }, - { (char*) "Hongkong" , 0x04A871 }, - { (char*) "HST" , 0x04AB84 }, - { (char*) "Iceland" , 0x04AC00 }, - { (char*) "Indian/Antananarivo" , 0x04AC8E }, - { (char*) "Indian/Chagos" , 0x04AD3A }, - { (char*) "Indian/Christmas" , 0x04ADDE }, - { (char*) "Indian/Cocos" , 0x04AE6F }, - { (char*) "Indian/Comoro" , 0x04AF07 }, - { (char*) "Indian/Kerguelen" , 0x04AF96 }, - { (char*) "Indian/Mahe" , 0x04B027 }, - { (char*) "Indian/Maldives" , 0x04B0B8 }, - { (char*) "Indian/Mauritius" , 0x04B15C }, - { (char*) "Indian/Mayotte" , 0x04B21B }, - { (char*) "Indian/Reunion" , 0x04B2AA }, - { (char*) "Iran" , 0x04B33B }, - { (char*) "Israel" , 0x04B673 }, - { (char*) "Jamaica" , 0x04BAB1 }, - { (char*) "Japan" , 0x04BC10 }, - { (char*) "Kwajalein" , 0x04BCF1 }, - { (char*) "Libya" , 0x04BDD8 }, - { (char*) "MET" , 0x04BF93 }, - { (char*) "Mexico/BajaNorte" , 0x04C20C }, - { (char*) "Mexico/BajaSur" , 0x04C619 }, - { (char*) "Mexico/General" , 0x04C8F3 }, - { (char*) "MST" , 0x04CC04 }, - { (char*) "MST7MDT" , 0x04CC7F }, - { (char*) "Navajo" , 0x04D042 }, - { (char*) "NZ" , 0x04D460 }, - { (char*) "NZ-CHAT" , 0x04D87F }, - { (char*) "Pacific/Apia" , 0x04DBB3 }, - { (char*) "Pacific/Auckland" , 0x04DD56 }, - { (char*) "Pacific/Bougainville" , 0x04E188 }, - { (char*) "Pacific/Chatham" , 0x04E269 }, - { (char*) "Pacific/Chuuk" , 0x04E5AC }, - { (char*) "Pacific/Easter" , 0x04E68A }, - { (char*) "Pacific/Efate" , 0x04EB39 }, - { (char*) "Pacific/Enderbury" , 0x04EC9B }, - { (char*) "Pacific/Fakaofo" , 0x04ED53 }, - { (char*) "Pacific/Fiji" , 0x04EDF8 }, - { (char*) "Pacific/Funafuti" , 0x04EF90 }, - { (char*) "Pacific/Galapagos" , 0x04F022 }, - { (char*) "Pacific/Gambier" , 0x04F0EE }, - { (char*) "Pacific/Guadalcanal" , 0x04F18D }, - { (char*) "Pacific/Guam" , 0x04F21F }, - { (char*) "Pacific/Honolulu" , 0x04F389 }, - { (char*) "Pacific/Johnston" , 0x04F478 }, - { (char*) "Pacific/Kanton" , 0x04F561 }, - { (char*) "Pacific/Kiritimati" , 0x04F628 }, - { (char*) "Pacific/Kosrae" , 0x04F6EE }, - { (char*) "Pacific/Kwajalein" , 0x04F7F2 }, - { (char*) "Pacific/Majuro" , 0x04F8E2 }, - { (char*) "Pacific/Marquesas" , 0x04F9E0 }, - { (char*) "Pacific/Midway" , 0x04FA88 }, - { (char*) "Pacific/Nauru" , 0x04FB4B }, - { (char*) "Pacific/Niue" , 0x04FC0E }, - { (char*) "Pacific/Norfolk" , 0x04FCB4 }, - { (char*) "Pacific/Noumea" , 0x04FDAD }, - { (char*) "Pacific/Pago_Pago" , 0x04FE7F }, - { (char*) "Pacific/Palau" , 0x04FF1D }, - { (char*) "Pacific/Pitcairn" , 0x04FFBD }, - { (char*) "Pacific/Pohnpei" , 0x050062 }, - { (char*) "Pacific/Ponape" , 0x050152 }, - { (char*) "Pacific/Port_Moresby" , 0x0501E4 }, - { (char*) "Pacific/Rarotonga" , 0x0502A2 }, - { (char*) "Pacific/Saipan" , 0x050444 }, - { (char*) "Pacific/Samoa" , 0x0505A5 }, - { (char*) "Pacific/Tahiti" , 0x050643 }, - { (char*) "Pacific/Tarawa" , 0x0506E3 }, - { (char*) "Pacific/Tongatapu" , 0x050784 }, - { (char*) "Pacific/Truk" , 0x05087D }, - { (char*) "Pacific/Wake" , 0x050923 }, - { (char*) "Pacific/Wallis" , 0x0509C0 }, - { (char*) "Pacific/Yap" , 0x050A52 }, - { (char*) "Poland" , 0x050AF8 }, - { (char*) "Portugal" , 0x050E9F }, - { (char*) "PRC" , 0x051459 }, - { (char*) "PST8PDT" , 0x0515EE }, - { (char*) "ROC" , 0x0519B1 }, - { (char*) "ROK" , 0x051BBC }, - { (char*) "Singapore" , 0x051D67 }, - { (char*) "Turkey" , 0x051E73 }, - { (char*) "UCT" , 0x05232F }, - { (char*) "Universal" , 0x0523AA }, - { (char*) "US/Alaska" , 0x052425 }, - { (char*) "US/Aleutian" , 0x052802 }, - { (char*) "US/Arizona" , 0x052BD7 }, - { (char*) "US/Central" , 0x052CD3 }, - { (char*) "US/East-Indiana" , 0x0533B9 }, - { (char*) "US/Eastern" , 0x0535D8 }, - { (char*) "US/Hawaii" , 0x053CB4 }, - { (char*) "US/Indiana-Starke" , 0x053D9D }, - { (char*) "US/Michigan" , 0x0541A1 }, - { (char*) "US/Mountain" , 0x054530 }, - { (char*) "US/Pacific" , 0x05494E }, - { (char*) "US/Samoa" , 0x054E68 }, - { (char*) "UTC" , 0x054F06 }, - { (char*) "W-SU" , 0x054F81 }, - { (char*) "WET" , 0x055319 }, - { (char*) "Zulu" , 0x055513 }, + { (char*) "Asia/Amman" , 0x022D3D }, + { (char*) "Asia/Anadyr" , 0x0230E9 }, + { (char*) "Asia/Aqtau" , 0x0233EF }, + { (char*) "Asia/Aqtobe" , 0x02366E }, + { (char*) "Asia/Ashgabat" , 0x0238EE }, + { (char*) "Asia/Ashkhabad" , 0x023A71 }, + { (char*) "Asia/Atyrau" , 0x023BF4 }, + { (char*) "Asia/Baghdad" , 0x023E7D }, + { (char*) "Asia/Bahrain" , 0x0240FF }, + { (char*) "Asia/Baku" , 0x0241B8 }, + { (char*) "Asia/Bangkok" , 0x0244AC }, + { (char*) "Asia/Barnaul" , 0x024550 }, + { (char*) "Asia/Beirut" , 0x02485B }, + { (char*) "Asia/Bishkek" , 0x024B43 }, + { (char*) "Asia/Brunei" , 0x024DB9 }, + { (char*) "Asia/Calcutta" , 0x024E5F }, + { (char*) "Asia/Chita" , 0x024F47 }, + { (char*) "Asia/Choibalsan" , 0x025255 }, + { (char*) "Asia/Chongqing" , 0x0254DE }, + { (char*) "Asia/Chungking" , 0x025673 }, + { (char*) "Asia/Colombo" , 0x025808 }, + { (char*) "Asia/Dacca" , 0x02590B }, + { (char*) "Asia/Damascus" , 0x0259FE }, + { (char*) "Asia/Dhaka" , 0x025EDC }, + { (char*) "Asia/Dili" , 0x025FCF }, + { (char*) "Asia/Dubai" , 0x026085 }, + { (char*) "Asia/Dushanbe" , 0x026116 }, + { (char*) "Asia/Famagusta" , 0x026290 }, + { (char*) "Asia/Gaza" , 0x026657 }, + { (char*) "Asia/Harbin" , 0x0271F3 }, + { (char*) "Asia/Hebron" , 0x027388 }, + { (char*) "Asia/Ho_Chi_Minh" , 0x027F35 }, + { (char*) "Asia/Hong_Kong" , 0x02802D }, + { (char*) "Asia/Hovd" , 0x028340 }, + { (char*) "Asia/Irkutsk" , 0x0285C9 }, + { (char*) "Asia/Istanbul" , 0x0288E7 }, + { (char*) "Asia/Jakarta" , 0x028DA3 }, + { (char*) "Asia/Jayapura" , 0x028EB4 }, + { (char*) "Asia/Jerusalem" , 0x028FA1 }, + { (char*) "Asia/Kabul" , 0x0293DF }, + { (char*) "Asia/Kamchatka" , 0x02948A }, + { (char*) "Asia/Karachi" , 0x02977F }, + { (char*) "Asia/Kashgar" , 0x029895 }, + { (char*) "Asia/Kathmandu" , 0x029926 }, + { (char*) "Asia/Katmandu" , 0x0299D3 }, + { (char*) "Asia/Khandyga" , 0x029A80 }, + { (char*) "Asia/Kolkata" , 0x029DB1 }, + { (char*) "Asia/Krasnoyarsk" , 0x029E99 }, + { (char*) "Asia/Kuala_Lumpur" , 0x02A1A3 }, + { (char*) "Asia/Kuching" , 0x02A2C3 }, + { (char*) "Asia/Kuwait" , 0x02A41D }, + { (char*) "Asia/Macao" , 0x02A4AE }, + { (char*) "Asia/Macau" , 0x02A7D1 }, + { (char*) "Asia/Magadan" , 0x02AAF4 }, + { (char*) "Asia/Makassar" , 0x02ADFF }, + { (char*) "Asia/Manila" , 0x02AF12 }, + { (char*) "Asia/Muscat" , 0x02B00C }, + { (char*) "Asia/Nicosia" , 0x02B09D }, + { (char*) "Asia/Novokuznetsk" , 0x02B30C }, + { (char*) "Asia/Novosibirsk" , 0x02B5FF }, + { (char*) "Asia/Omsk" , 0x02B910 }, + { (char*) "Asia/Oral" , 0x02BC0E }, + { (char*) "Asia/Phnom_Penh" , 0x02BE9A }, + { (char*) "Asia/Pontianak" , 0x02BF6E }, + { (char*) "Asia/Pyongyang" , 0x02C087 }, + { (char*) "Asia/Qatar" , 0x02C14A }, + { (char*) "Asia/Qostanay" , 0x02C1EE }, + { (char*) "Asia/Qyzylorda" , 0x02C484 }, + { (char*) "Asia/Rangoon" , 0x02C71D }, + { (char*) "Asia/Riyadh" , 0x02C7E4 }, + { (char*) "Asia/Saigon" , 0x02C875 }, + { (char*) "Asia/Sakhalin" , 0x02C96D }, + { (char*) "Asia/Samarkand" , 0x02CC84 }, + { (char*) "Asia/Seoul" , 0x02CE0F }, + { (char*) "Asia/Shanghai" , 0x02CFBA }, + { (char*) "Asia/Singapore" , 0x02D15B }, + { (char*) "Asia/Srednekolymsk" , 0x02D267 }, + { (char*) "Asia/Taipei" , 0x02D577 }, + { (char*) "Asia/Tashkent" , 0x02D782 }, + { (char*) "Asia/Tbilisi" , 0x02D90D }, + { (char*) "Asia/Tehran" , 0x02DB8E }, + { (char*) "Asia/Tel_Aviv" , 0x02DEC6 }, + { (char*) "Asia/Thimbu" , 0x02E304 }, + { (char*) "Asia/Thimphu" , 0x02E3AA }, + { (char*) "Asia/Tokyo" , 0x02E450 }, + { (char*) "Asia/Tomsk" , 0x02E531 }, + { (char*) "Asia/Ujung_Pandang" , 0x02E83C }, + { (char*) "Asia/Ulaanbaatar" , 0x02E906 }, + { (char*) "Asia/Ulan_Bator" , 0x02EB74 }, + { (char*) "Asia/Urumqi" , 0x02EDD2 }, + { (char*) "Asia/Ust-Nera" , 0x02EE70 }, + { (char*) "Asia/Vientiane" , 0x02F193 }, + { (char*) "Asia/Vladivostok" , 0x02F279 }, + { (char*) "Asia/Yakutsk" , 0x02F57E }, + { (char*) "Asia/Yangon" , 0x02F882 }, + { (char*) "Asia/Yekaterinburg" , 0x02F949 }, + { (char*) "Asia/Yerevan" , 0x02FC5B }, + { (char*) "Atlantic/Azores" , 0x02FF2B }, + { (char*) "Atlantic/Bermuda" , 0x0304EA }, + { (char*) "Atlantic/Canary" , 0x0308F6 }, + { (char*) "Atlantic/Cape_Verde" , 0x030AEE }, + { (char*) "Atlantic/Faeroe" , 0x030BA9 }, + { (char*) "Atlantic/Faroe" , 0x030D6E }, + { (char*) "Atlantic/Jan_Mayen" , 0x030F33 }, + { (char*) "Atlantic/Madeira" , 0x031200 }, + { (char*) "Atlantic/Reykjavik" , 0x0317C8 }, + { (char*) "Atlantic/South_Georgia" , 0x031AC5 }, + { (char*) "Atlantic/St_Helena" , 0x031B55 }, + { (char*) "Atlantic/Stanley" , 0x031BF6 }, + { (char*) "Australia/ACT" , 0x031F17 }, + { (char*) "Australia/Adelaide" , 0x0322AB }, + { (char*) "Australia/Brisbane" , 0x03265F }, + { (char*) "Australia/Broken_Hill" , 0x0327A3 }, + { (char*) "Australia/Canberra" , 0x032B78 }, + { (char*) "Australia/Currie" , 0x032F0C }, + { (char*) "Australia/Darwin" , 0x033303 }, + { (char*) "Australia/Eucla" , 0x03340B }, + { (char*) "Australia/Hobart" , 0x03356A }, + { (char*) "Australia/LHI" , 0x033969 }, + { (char*) "Australia/Lindeman" , 0x033C29 }, + { (char*) "Australia/Lord_Howe" , 0x033D99 }, + { (char*) "Australia/Melbourne" , 0x034069 }, + { (char*) "Australia/North" , 0x034405 }, + { (char*) "Australia/NSW" , 0x0344FB }, + { (char*) "Australia/Perth" , 0x03488F }, + { (char*) "Australia/Queensland" , 0x0349EB }, + { (char*) "Australia/South" , 0x034B18 }, + { (char*) "Australia/Sydney" , 0x034EBD }, + { (char*) "Australia/Tasmania" , 0x03526D }, + { (char*) "Australia/Victoria" , 0x035664 }, + { (char*) "Australia/West" , 0x0359F8 }, + { (char*) "Australia/Yancowinna" , 0x035B36 }, + { (char*) "Brazil/Acre" , 0x035EEF }, + { (char*) "Brazil/DeNoronha" , 0x03609D }, + { (char*) "Brazil/East" , 0x03628D }, + { (char*) "Brazil/West" , 0x036651 }, + { (char*) "Canada/Atlantic" , 0x0367F9 }, + { (char*) "Canada/Central" , 0x036E8D }, + { (char*) "Canada/Eastern" , 0x0373A7 }, + { (char*) "Canada/Mountain" , 0x037A68 }, + { (char*) "Canada/Newfoundland" , 0x037E3E }, + { (char*) "Canada/Pacific" , 0x0385A0 }, + { (char*) "Canada/Saskatchewan" , 0x038ADE }, + { (char*) "Canada/Yukon" , 0x038D68 }, + { (char*) "CET" , 0x039179 }, + { (char*) "Chile/Continental" , 0x0393F2 }, + { (char*) "Chile/EasterIsland" , 0x039948 }, + { (char*) "CST6CDT" , 0x039DEA }, + { (char*) "Cuba" , 0x03A1AD }, + { (char*) "EET" , 0x03A616 }, + { (char*) "Egypt" , 0x03A813 }, + { (char*) "Eire" , 0x03AD3C }, + { (char*) "EST" , 0x03B320 }, + { (char*) "EST5EDT" , 0x03B39B }, + { (char*) "Etc/GMT" , 0x03B75E }, + { (char*) "Etc/GMT+0" , 0x03B7D9 }, + { (char*) "Etc/GMT+1" , 0x03B854 }, + { (char*) "Etc/GMT+10" , 0x03B8D1 }, + { (char*) "Etc/GMT+11" , 0x03B94F }, + { (char*) "Etc/GMT+12" , 0x03B9CD }, + { (char*) "Etc/GMT+2" , 0x03BA4B }, + { (char*) "Etc/GMT+3" , 0x03BAC8 }, + { (char*) "Etc/GMT+4" , 0x03BB45 }, + { (char*) "Etc/GMT+5" , 0x03BBC2 }, + { (char*) "Etc/GMT+6" , 0x03BC3F }, + { (char*) "Etc/GMT+7" , 0x03BCBC }, + { (char*) "Etc/GMT+8" , 0x03BD39 }, + { (char*) "Etc/GMT+9" , 0x03BDB6 }, + { (char*) "Etc/GMT-0" , 0x03BE33 }, + { (char*) "Etc/GMT-1" , 0x03BEAE }, + { (char*) "Etc/GMT-10" , 0x03BF2C }, + { (char*) "Etc/GMT-11" , 0x03BFAB }, + { (char*) "Etc/GMT-12" , 0x03C02A }, + { (char*) "Etc/GMT-13" , 0x03C0A9 }, + { (char*) "Etc/GMT-14" , 0x03C128 }, + { (char*) "Etc/GMT-2" , 0x03C1A7 }, + { (char*) "Etc/GMT-3" , 0x03C225 }, + { (char*) "Etc/GMT-4" , 0x03C2A3 }, + { (char*) "Etc/GMT-5" , 0x03C321 }, + { (char*) "Etc/GMT-6" , 0x03C39F }, + { (char*) "Etc/GMT-7" , 0x03C41D }, + { (char*) "Etc/GMT-8" , 0x03C49B }, + { (char*) "Etc/GMT-9" , 0x03C519 }, + { (char*) "Etc/GMT0" , 0x03C597 }, + { (char*) "Etc/Greenwich" , 0x03C612 }, + { (char*) "Etc/UCT" , 0x03C68D }, + { (char*) "Etc/Universal" , 0x03C708 }, + { (char*) "Etc/UTC" , 0x03C783 }, + { (char*) "Etc/Zulu" , 0x03C7FE }, + { (char*) "Europe/Amsterdam" , 0x03C879 }, + { (char*) "Europe/Andorra" , 0x03CCB4 }, + { (char*) "Europe/Astrakhan" , 0x03CE45 }, + { (char*) "Europe/Athens" , 0x03D139 }, + { (char*) "Europe/Belfast" , 0x03D3EF }, + { (char*) "Europe/Belgrade" , 0x03DA3A }, + { (char*) "Europe/Berlin" , 0x03DC24 }, + { (char*) "Europe/Bratislava" , 0x03DF00 }, + { (char*) "Europe/Brussels" , 0x03E1DF }, + { (char*) "Europe/Bucharest" , 0x03E63A }, + { (char*) "Europe/Budapest" , 0x03E8DB }, + { (char*) "Europe/Busingen" , 0x03EBE5 }, + { (char*) "Europe/Chisinau" , 0x03EDEA }, + { (char*) "Europe/Copenhagen" , 0x03F0E9 }, + { (char*) "Europe/Dublin" , 0x03F364 }, + { (char*) "Europe/Gibraltar" , 0x03F948 }, + { (char*) "Europe/Guernsey" , 0x03FE18 }, + { (char*) "Europe/Helsinki" , 0x04046F }, + { (char*) "Europe/Isle_of_Man" , 0x04065C }, + { (char*) "Europe/Istanbul" , 0x040CA7 }, + { (char*) "Europe/Jersey" , 0x041163 }, + { (char*) "Europe/Kaliningrad" , 0x0417BA }, + { (char*) "Europe/Kiev" , 0x041B62 }, + { (char*) "Europe/Kirov" , 0x041D9C }, + { (char*) "Europe/Kyiv" , 0x042095 }, + { (char*) "Europe/Lisbon" , 0x0422DE }, + { (char*) "Europe/Ljubljana" , 0x0428AB }, + { (char*) "Europe/London" , 0x042A95 }, + { (char*) "Europe/Luxembourg" , 0x0430E0 }, + { (char*) "Europe/Madrid" , 0x04352B }, + { (char*) "Europe/Malta" , 0x0438C8 }, + { (char*) "Europe/Mariehamn" , 0x043C74 }, + { (char*) "Europe/Minsk" , 0x043E61 }, + { (char*) "Europe/Monaco" , 0x044195 }, + { (char*) "Europe/Moscow" , 0x0445FB }, + { (char*) "Europe/Nicosia" , 0x0449A7 }, + { (char*) "Europe/Oslo" , 0x044C08 }, + { (char*) "Europe/Paris" , 0x044EB8 }, + { (char*) "Europe/Podgorica" , 0x045315 }, + { (char*) "Europe/Prague" , 0x0454FF }, + { (char*) "Europe/Riga" , 0x0457DE }, + { (char*) "Europe/Rome" , 0x045AA0 }, + { (char*) "Europe/Samara" , 0x045E5F }, + { (char*) "Europe/San_Marino" , 0x046160 }, + { (char*) "Europe/Sarajevo" , 0x04651F }, + { (char*) "Europe/Saratov" , 0x046709 }, + { (char*) "Europe/Simferopol" , 0x0469FB }, + { (char*) "Europe/Skopje" , 0x046D6E }, + { (char*) "Europe/Sofia" , 0x046F58 }, + { (char*) "Europe/Stockholm" , 0x0471B4 }, + { (char*) "Europe/Tallinn" , 0x0473B1 }, + { (char*) "Europe/Tirane" , 0x047660 }, + { (char*) "Europe/Tiraspol" , 0x0478C8 }, + { (char*) "Europe/Ulyanovsk" , 0x047BC7 }, + { (char*) "Europe/Uzhgorod" , 0x047EDD }, + { (char*) "Europe/Vaduz" , 0x048117 }, + { (char*) "Europe/Vatican" , 0x048301 }, + { (char*) "Europe/Vienna" , 0x0486C0 }, + { (char*) "Europe/Vilnius" , 0x04895E }, + { (char*) "Europe/Volgograd" , 0x048C0E }, + { (char*) "Europe/Warsaw" , 0x048F1D }, + { (char*) "Europe/Zagreb" , 0x0492C4 }, + { (char*) "Europe/Zaporozhye" , 0x0494AE }, + { (char*) "Europe/Zurich" , 0x0496E8 }, + { (char*) "Factory" , 0x0498E5 }, + { (char*) "GB" , 0x049962 }, + { (char*) "GB-Eire" , 0x049FAD }, + { (char*) "GMT" , 0x04A5F8 }, + { (char*) "GMT+0" , 0x04A673 }, + { (char*) "GMT-0" , 0x04A6EE }, + { (char*) "GMT0" , 0x04A769 }, + { (char*) "Greenwich" , 0x04A7E4 }, + { (char*) "Hongkong" , 0x04A85F }, + { (char*) "HST" , 0x04AB72 }, + { (char*) "Iceland" , 0x04ABEE }, + { (char*) "Indian/Antananarivo" , 0x04AC7C }, + { (char*) "Indian/Chagos" , 0x04AD28 }, + { (char*) "Indian/Christmas" , 0x04ADCC }, + { (char*) "Indian/Cocos" , 0x04AE5D }, + { (char*) "Indian/Comoro" , 0x04AEF5 }, + { (char*) "Indian/Kerguelen" , 0x04AF84 }, + { (char*) "Indian/Mahe" , 0x04B015 }, + { (char*) "Indian/Maldives" , 0x04B0A6 }, + { (char*) "Indian/Mauritius" , 0x04B14A }, + { (char*) "Indian/Mayotte" , 0x04B209 }, + { (char*) "Indian/Reunion" , 0x04B298 }, + { (char*) "Iran" , 0x04B329 }, + { (char*) "Israel" , 0x04B661 }, + { (char*) "Jamaica" , 0x04BA9F }, + { (char*) "Japan" , 0x04BBFE }, + { (char*) "Kwajalein" , 0x04BCDF }, + { (char*) "Libya" , 0x04BDC6 }, + { (char*) "MET" , 0x04BF81 }, + { (char*) "Mexico/BajaNorte" , 0x04C1FA }, + { (char*) "Mexico/BajaSur" , 0x04C607 }, + { (char*) "Mexico/General" , 0x04C8E1 }, + { (char*) "MST" , 0x04CBF2 }, + { (char*) "MST7MDT" , 0x04CC6D }, + { (char*) "Navajo" , 0x04D030 }, + { (char*) "NZ" , 0x04D44E }, + { (char*) "NZ-CHAT" , 0x04D86D }, + { (char*) "Pacific/Apia" , 0x04DBA1 }, + { (char*) "Pacific/Auckland" , 0x04DD44 }, + { (char*) "Pacific/Bougainville" , 0x04E176 }, + { (char*) "Pacific/Chatham" , 0x04E257 }, + { (char*) "Pacific/Chuuk" , 0x04E59A }, + { (char*) "Pacific/Easter" , 0x04E678 }, + { (char*) "Pacific/Efate" , 0x04EB27 }, + { (char*) "Pacific/Enderbury" , 0x04EC89 }, + { (char*) "Pacific/Fakaofo" , 0x04ED41 }, + { (char*) "Pacific/Fiji" , 0x04EDE6 }, + { (char*) "Pacific/Funafuti" , 0x04EF7E }, + { (char*) "Pacific/Galapagos" , 0x04F010 }, + { (char*) "Pacific/Gambier" , 0x04F0DC }, + { (char*) "Pacific/Guadalcanal" , 0x04F17B }, + { (char*) "Pacific/Guam" , 0x04F20D }, + { (char*) "Pacific/Honolulu" , 0x04F377 }, + { (char*) "Pacific/Johnston" , 0x04F466 }, + { (char*) "Pacific/Kanton" , 0x04F54F }, + { (char*) "Pacific/Kiritimati" , 0x04F616 }, + { (char*) "Pacific/Kosrae" , 0x04F6DC }, + { (char*) "Pacific/Kwajalein" , 0x04F7E0 }, + { (char*) "Pacific/Majuro" , 0x04F8D0 }, + { (char*) "Pacific/Marquesas" , 0x04F9CE }, + { (char*) "Pacific/Midway" , 0x04FA76 }, + { (char*) "Pacific/Nauru" , 0x04FB39 }, + { (char*) "Pacific/Niue" , 0x04FBFC }, + { (char*) "Pacific/Norfolk" , 0x04FCA2 }, + { (char*) "Pacific/Noumea" , 0x04FD9B }, + { (char*) "Pacific/Pago_Pago" , 0x04FE6D }, + { (char*) "Pacific/Palau" , 0x04FF0B }, + { (char*) "Pacific/Pitcairn" , 0x04FFAB }, + { (char*) "Pacific/Pohnpei" , 0x050050 }, + { (char*) "Pacific/Ponape" , 0x050140 }, + { (char*) "Pacific/Port_Moresby" , 0x0501D2 }, + { (char*) "Pacific/Rarotonga" , 0x050290 }, + { (char*) "Pacific/Saipan" , 0x050432 }, + { (char*) "Pacific/Samoa" , 0x050593 }, + { (char*) "Pacific/Tahiti" , 0x050631 }, + { (char*) "Pacific/Tarawa" , 0x0506D1 }, + { (char*) "Pacific/Tongatapu" , 0x050772 }, + { (char*) "Pacific/Truk" , 0x05086B }, + { (char*) "Pacific/Wake" , 0x050911 }, + { (char*) "Pacific/Wallis" , 0x0509AE }, + { (char*) "Pacific/Yap" , 0x050A40 }, + { (char*) "Poland" , 0x050AE6 }, + { (char*) "Portugal" , 0x050E8D }, + { (char*) "PRC" , 0x051447 }, + { (char*) "PST8PDT" , 0x0515DC }, + { (char*) "ROC" , 0x05199F }, + { (char*) "ROK" , 0x051BAA }, + { (char*) "Singapore" , 0x051D55 }, + { (char*) "Turkey" , 0x051E61 }, + { (char*) "UCT" , 0x05231D }, + { (char*) "Universal" , 0x052398 }, + { (char*) "US/Alaska" , 0x052413 }, + { (char*) "US/Aleutian" , 0x0527F0 }, + { (char*) "US/Arizona" , 0x052BC5 }, + { (char*) "US/Central" , 0x052CC1 }, + { (char*) "US/East-Indiana" , 0x0533A7 }, + { (char*) "US/Eastern" , 0x0535C6 }, + { (char*) "US/Hawaii" , 0x053CA2 }, + { (char*) "US/Indiana-Starke" , 0x053D8B }, + { (char*) "US/Michigan" , 0x05418F }, + { (char*) "US/Mountain" , 0x05451E }, + { (char*) "US/Pacific" , 0x05493C }, + { (char*) "US/Samoa" , 0x054E56 }, + { (char*) "UTC" , 0x054EF4 }, + { (char*) "W-SU" , 0x054F6F }, + { (char*) "WET" , 0x055307 }, + { (char*) "Zulu" , 0x055501 }, }; -const unsigned char timelib_timezone_db_data_builtin[349582] = { +const unsigned char timelib_timezone_db_data_builtin[349564] = { /* Africa/Abidjan */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -6509,7 +6509,7 @@ const unsigned char timelib_timezone_db_data_builtin[349582] = { 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, 0x2B, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0x91, 0xB6, 0x38, 0xA8, 0x00, 0x00, 0x00, 0x00, 0x13, 0x6E, 0x63, 0xC0, 0x00, +0xFF, 0xFF, 0xFF, 0x91, 0xDF, 0x17, 0x28, 0x00, 0x00, 0x00, 0x00, 0x13, 0x6E, 0x63, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x20, 0x75, 0xE4, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x21, 0x81, 0x77, 0x40, 0x00, 0x00, 0x00, 0x00, 0x22, 0x55, 0xC6, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x23, 0x6A, 0x93, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x24, 0x35, 0xA8, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x25, 0x4A, 0x75, 0xC0, 0x00, @@ -6781,10 +6781,10 @@ const unsigned char timelib_timezone_db_data_builtin[349582] = { 0xFF, 0xFF, 0xFF, 0xC7, 0x0F, 0x3A, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x2D, 0x5E, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x88, 0xF0, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xFB, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x75, 0xE4, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xAA, 0xD0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xA3, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0x8C, 0xD0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0x85, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x6E, 0xD0, 0xFF, -0xFF, 0xFF, 0xFF, 0xDA, 0x33, 0x76, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, 0x70, 0xFF, +0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xC6, 0xF0, 0xFF, +0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xBF, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0xA8, 0xF0, 0xFF, +0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0xA1, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x8A, 0xF0, 0xFF, +0xFF, 0xFF, 0xFF, 0xDA, 0x33, 0x92, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0x13, 0x74, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xDE, 0x89, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xA9, 0x82, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xBE, 0x6B, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0x89, 0x64, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x9E, 0x4D, 0x70, 0xFF, @@ -7083,10 +7083,10 @@ const unsigned char timelib_timezone_db_data_builtin[349582] = { 0xFF, 0xFF, 0xFF, 0xC7, 0x0F, 0x3A, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x2D, 0x5E, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x88, 0xF0, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xFB, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x75, 0xE4, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xAA, 0xD0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xA3, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0x8C, 0xD0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0x85, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x6E, 0xD0, 0xFF, -0xFF, 0xFF, 0xFF, 0xDA, 0x33, 0x76, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, 0x70, 0xFF, +0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xC6, 0xF0, 0xFF, +0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xBF, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0xA8, 0xF0, 0xFF, +0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0xA1, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x8A, 0xF0, 0xFF, +0xFF, 0xFF, 0xFF, 0xDA, 0x33, 0x92, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0x13, 0x74, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xDE, 0x89, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xA9, 0x82, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xBE, 0x6B, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0x89, 0x64, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x9E, 0x4D, 0x70, 0xFF, @@ -9002,10 +9002,10 @@ const unsigned char timelib_timezone_db_data_builtin[349582] = { 0xFF, 0xFF, 0xFF, 0xC7, 0x0F, 0x3A, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x2D, 0x5E, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x88, 0xF0, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xFB, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x75, 0xE4, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xAA, 0xD0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xA3, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0x8C, 0xD0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0x85, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x6E, 0xD0, 0xFF, -0xFF, 0xFF, 0xFF, 0xDA, 0x33, 0x76, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, 0x70, 0xFF, +0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xC6, 0xF0, 0xFF, +0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xBF, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0xA8, 0xF0, 0xFF, +0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0xA1, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x8A, 0xF0, 0xFF, +0xFF, 0xFF, 0xFF, 0xDA, 0x33, 0x92, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0x13, 0x74, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xDE, 0x89, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xA9, 0x82, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xBE, 0x6B, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0x89, 0x64, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x9E, 0x4D, 0x70, 0xFF, @@ -9181,10 +9181,10 @@ const unsigned char timelib_timezone_db_data_builtin[349582] = { 0xFF, 0xFF, 0xFF, 0xC7, 0x0F, 0x3A, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x2D, 0x5E, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x88, 0xF0, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xFB, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x75, 0xE4, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xAA, 0xD0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xA3, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0x8C, 0xD0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0x85, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x6E, 0xD0, 0xFF, -0xFF, 0xFF, 0xFF, 0xDA, 0x33, 0x76, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, 0x70, 0xFF, +0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xC6, 0xF0, 0xFF, +0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xBF, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0xA8, 0xF0, 0xFF, +0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0xA1, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x8A, 0xF0, 0xFF, +0xFF, 0xFF, 0xFF, 0xDA, 0x33, 0x92, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0x13, 0x74, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xDE, 0x89, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xA9, 0x82, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xBE, 0x6B, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0x89, 0x64, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x9E, 0x4D, 0x70, 0xFF, @@ -10083,7 +10083,7 @@ const unsigned char timelib_timezone_db_data_builtin[349582] = { 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, 0x33, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x10, 0xFF, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0x19, 0x7B, 0xDC, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, 0xA3, 0xEF, 0x30, 0x00, 0x00, 0x00, 0x00, 0x15, 0x27, 0x7D, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x18, 0xB2, 0x10, 0x00, 0x00, 0x00, 0x00, 0x17, 0x08, 0xB1, 0x20, 0x00, 0x00, 0x00, 0x00, 0x17, 0xF9, 0xE5, 0x90, 0x00, @@ -10109,15 +10109,16 @@ const unsigned char timelib_timezone_db_data_builtin[349582] = { 0x00, 0x00, 0x00, 0x3B, 0xDB, 0x12, 0x40, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xA6, 0x19, 0x40, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBA, 0xF4, 0x40, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x85, 0xFB, 0x40, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9A, 0xD6, 0x40, 0x00, 0x00, 0x00, 0x00, 0x40, 0x65, 0xDD, 0x40, 0x00, -0x00, 0x00, 0x00, 0x41, 0x83, 0xF2, 0xC0, 0x01, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, -0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x04, 0x01, 0x03, +0x00, 0x00, 0x00, 0x41, 0x83, 0xF2, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x65, 0xE0, 0xC6, 0x20, 0x01, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x04, 0x01, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x00, 0x00, 0x48, 0x24, 0x00, 0x00, -0x00, 0x00, 0x46, 0x50, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x01, 0x08, 0x00, 0x00, 0x54, 0x60, -0x00, 0x0C, 0x00, 0x00, 0x54, 0x60, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x35, 0x00, -0x2B, 0x30, 0x37, 0x00, 0x2B, 0x30, 0x36, 0x00, 0x0A, 0x3C, 0x2B, 0x30, 0x36, 0x3E, 0x2D, 0x36, -0x0A, 0x00, 0xCB, 0x52, 0xC8, 0x01, 0x88, 0x13, 0x18, 0x00, 0x00, 0x00, 0x12, 0x6D, 0x6F, 0x73, -0x74, 0x20, 0x6F, 0x66, 0x20, 0x4B, 0x61, 0x7A, 0x61, 0x6B, 0x68, 0x73, 0x74, 0x61, 0x6E, +0x02, 0x03, 0x01, 0x00, 0x00, 0x48, 0x24, 0x00, 0x00, 0x00, 0x00, 0x46, 0x50, 0x00, 0x04, 0x00, +0x00, 0x62, 0x70, 0x01, 0x08, 0x00, 0x00, 0x54, 0x60, 0x00, 0x0C, 0x00, 0x00, 0x54, 0x60, 0x01, +0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x35, 0x00, 0x2B, 0x30, 0x37, 0x00, 0x2B, 0x30, 0x36, +0x00, 0x0A, 0x3C, 0x2B, 0x30, 0x35, 0x3E, 0x2D, 0x35, 0x0A, 0x00, 0xCB, 0x52, 0xC8, 0x01, 0x88, +0x13, 0x18, 0x00, 0x00, 0x00, 0x12, 0x6D, 0x6F, 0x73, 0x74, 0x20, 0x6F, 0x66, 0x20, 0x4B, 0x61, +0x7A, 0x61, 0x6B, 0x68, 0x73, 0x74, 0x61, 0x6E, /* Asia/Amman */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4A, 0x4F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -11111,7 +11112,7 @@ const unsigned char timelib_timezone_db_data_builtin[349582] = { 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x36, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x15, 0xFF, +0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x34, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x15, 0xFF, 0xFF, 0xFF, 0xFF, 0x7D, 0xBD, 0x4A, 0xB0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x59, 0xCF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0xFA, 0xA6, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xC9, 0x38, 0x9C, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xE5, 0xEB, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0xAC, 0xFE, 0x00, 0xFF, @@ -11173,8 +11174,8 @@ const unsigned char timelib_timezone_db_data_builtin[349582] = { 0x00, 0x00, 0x00, 0x60, 0x5E, 0x59, 0x60, 0x00, 0x00, 0x00, 0x00, 0x61, 0x7B, 0x1D, 0x60, 0x00, 0x00, 0x00, 0x00, 0x62, 0x3F, 0x8C, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x63, 0x5C, 0x5E, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x64, 0x4C, 0x5E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x65, 0x3C, 0x40, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x66, 0x19, 0xCB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0x1C, 0x22, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x67, 0xF0, 0x72, 0x80, 0x00, 0x00, 0x00, 0x00, 0x68, 0xFC, 0x04, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x66, 0x23, 0x05, 0x80, 0x00, 0x00, 0x00, 0x00, 0x67, 0x1C, 0x22, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x67, 0xF9, 0xAD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0xFC, 0x04, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x69, 0xC7, 0x1A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xDB, 0xE6, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x6B, 0xA6, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xC5, 0x03, 0x70, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x86, 0xDE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6E, 0xA4, 0xE5, 0x70, 0x00, @@ -11189,41 +11190,40 @@ const unsigned char timelib_timezone_db_data_builtin[349582] = { 0x00, 0x00, 0x00, 0x7E, 0x78, 0x45, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x7A, 0x9C, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x80, 0x58, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x81, 0x48, 0x09, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x82, 0x38, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x83, 0x1E, 0xB1, 0x70, 0x00, -0x00, 0x00, 0x00, 0x83, 0x4C, 0xE4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x83, 0x56, 0x10, 0x70, 0x00, 0x00, 0x00, 0x00, 0x84, 0x17, 0xEB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84, 0xEC, 0x1E, 0x70, 0x00, -0x00, 0x00, 0x00, 0x85, 0x23, 0x8B, 0x80, 0x00, 0x00, 0x00, 0x00, 0x85, 0x35, 0xF2, 0x70, 0x00, +0x00, 0x00, 0x00, 0x85, 0x2C, 0xC6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x85, 0x35, 0xF2, 0x70, 0x00, 0x00, 0x00, 0x00, 0x86, 0x01, 0x07, 0x80, 0x00, 0x00, 0x00, 0x00, 0x86, 0xC2, 0xC5, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x86, 0xF0, 0xF8, 0x80, 0x00, 0x00, 0x00, 0x00, 0x87, 0x15, 0xD4, 0x70, 0x00, +0x00, 0x00, 0x00, 0x86, 0xFA, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x87, 0x15, 0xD4, 0x70, 0x00, 0x00, 0x00, 0x00, 0x87, 0xE0, 0xE9, 0x80, 0x00, 0x00, 0x00, 0x00, 0x88, 0x99, 0x6D, 0x70, 0x00, -0x00, 0x00, 0x00, 0x88, 0xC7, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0xF5, 0xB6, 0x70, 0x00, +0x00, 0x00, 0x00, 0x88, 0xD0, 0xDA, 0x80, 0x00, 0x00, 0x00, 0x00, 0x88, 0xF5, 0xB6, 0x70, 0x00, 0x00, 0x00, 0x00, 0x89, 0xC0, 0xCB, 0x80, 0x00, 0x00, 0x00, 0x00, 0x8A, 0x66, 0xDA, 0x70, 0x00, -0x00, 0x00, 0x00, 0x8A, 0x9E, 0x47, 0x80, 0x00, 0x00, 0x00, 0x00, 0x8A, 0xD5, 0x98, 0x70, 0x00, +0x00, 0x00, 0x00, 0x8A, 0xA7, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8A, 0xD5, 0x98, 0x70, 0x00, 0x00, 0x00, 0x00, 0x8B, 0xA0, 0xAD, 0x80, 0x00, 0x00, 0x00, 0x00, 0x8C, 0x3D, 0x81, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x8C, 0x6B, 0xB4, 0x80, 0x00, 0x00, 0x00, 0x00, 0x8C, 0xBE, 0xB4, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x8C, 0x74, 0xEF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8C, 0xBE, 0xB4, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x8D, 0x80, 0x8F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x8E, 0x14, 0x29, 0x70, 0x00, -0x00, 0x00, 0x00, 0x8E, 0x42, 0x5C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8E, 0x9E, 0x96, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x8E, 0x4B, 0x96, 0x80, 0x00, 0x00, 0x00, 0x00, 0x8E, 0x9E, 0x96, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x8F, 0x60, 0x71, 0x80, 0x00, 0x00, 0x00, 0x00, 0x8F, 0xE1, 0x96, 0x70, 0x00, -0x00, 0x00, 0x00, 0x90, 0x19, 0x03, 0x80, 0x00, 0x00, 0x00, 0x00, 0x90, 0x7E, 0x78, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x90, 0x22, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x7E, 0x78, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x91, 0x49, 0x8E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x91, 0xB8, 0x3D, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x91, 0xE6, 0x70, 0x80, 0x00, 0x00, 0x00, 0x00, 0x92, 0x5E, 0x5A, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x91, 0xEF, 0xAB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x92, 0x5E, 0x5A, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x93, 0x29, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x93, 0x85, 0xAA, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x93, 0xBD, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x94, 0x3E, 0x3C, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x93, 0xC6, 0x52, 0x80, 0x00, 0x00, 0x00, 0x00, 0x94, 0x3E, 0x3C, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x95, 0x09, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x95, 0x5C, 0x52, 0x70, 0x00, -0x00, 0x00, 0x00, 0x95, 0x8A, 0x85, 0x00, 0x00, 0x00, 0x00, 0x00, 0x96, 0x27, 0x59, 0x70, 0x00, +0x00, 0x00, 0x00, 0x95, 0x93, 0xBF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x96, 0x27, 0x59, 0x70, 0x00, 0x00, 0x00, 0x00, 0x96, 0xE9, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x97, 0x32, 0xF9, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x97, 0x61, 0x2C, 0x80, 0x00, 0x00, 0x00, 0x00, 0x98, 0x07, 0x3B, 0x70, 0x00, +0x00, 0x00, 0x00, 0x97, 0x6A, 0x67, 0x00, 0x00, 0x00, 0x00, 0x00, 0x98, 0x07, 0x3B, 0x70, 0x00, 0x00, 0x00, 0x00, 0x98, 0xC9, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x99, 0x00, 0x66, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x99, 0x37, 0xD4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x99, 0xE7, 0x1D, 0x70, 0x00, +0x00, 0x00, 0x00, 0x99, 0x41, 0x0E, 0x80, 0x00, 0x00, 0x00, 0x00, 0x99, 0xE7, 0x1D, 0x70, 0x00, 0x00, 0x00, 0x00, 0x9A, 0xB2, 0x32, 0x80, 0x00, 0x00, 0x00, 0x00, 0x9A, 0xD7, 0x0E, 0x70, 0x00, -0x00, 0x00, 0x00, 0x9B, 0x05, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9B, 0xC6, 0xFF, 0x70, 0x00, +0x00, 0x00, 0x00, 0x9B, 0x0E, 0x7B, 0x80, 0x00, 0x00, 0x00, 0x00, 0x9B, 0xC6, 0xFF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x9C, 0x92, 0x14, 0x80, 0x00, 0x00, 0x00, 0x00, 0x9C, 0xA4, 0x7B, 0x70, 0x00, -0x00, 0x00, 0x00, 0x9C, 0xDB, 0xE8, 0x80, 0x00, 0x00, 0x00, 0x00, 0x9D, 0xA6, 0xE1, 0x70, 0x00, +0x00, 0x00, 0x00, 0x9C, 0xE5, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9D, 0xA6, 0xE1, 0x70, 0x00, 0x00, 0x00, 0x00, 0x9E, 0x71, 0xF6, 0x80, 0x00, 0x00, 0x00, 0x00, 0x9E, 0x7B, 0x22, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x9E, 0xB2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9F, 0x86, 0xC3, 0x70, 0x00, -0x00, 0x00, 0x00, 0xA0, 0x7F, 0xFD, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA1, 0x6F, 0xDF, 0xF0, 0x00, -0x00, 0x00, 0x00, 0xA2, 0x56, 0xA4, 0x80, 0x00, 0x00, 0x00, 0x00, 0xA3, 0x4F, 0xC1, 0xF0, 0x00, -0x00, 0x00, 0x00, 0xA4, 0x24, 0x11, 0x80, 0x00, 0x00, 0x00, 0x00, 0xA5, 0x2F, 0xA3, 0xF0, 0x00, -0x00, 0x00, 0x00, 0xA5, 0xFA, 0xB9, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA7, 0x0F, 0x85, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x9E, 0xBB, 0xCA, 0x80, 0x00, 0x00, 0x00, 0x00, 0x9F, 0x86, 0xC3, 0x70, 0x00, +0x00, 0x00, 0x00, 0xA0, 0x89, 0x37, 0x80, 0x00, 0x00, 0x00, 0x00, 0xA1, 0x6F, 0xDF, 0xF0, 0x00, +0x00, 0x00, 0x00, 0xA2, 0x5F, 0xDF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA3, 0x4F, 0xC1, 0xF0, 0x00, +0x00, 0x00, 0x00, 0xA4, 0x2D, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA5, 0x2F, 0xA3, 0xF0, 0x00, +0x00, 0x00, 0x00, 0xA6, 0x03, 0xF3, 0x80, 0x00, 0x00, 0x00, 0x00, 0xA7, 0x0F, 0x85, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xA7, 0xDA, 0x9B, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA8, 0xEF, 0x67, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xA9, 0xBA, 0x7D, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAA, 0xD8, 0x84, 0x70, 0x00, 0x00, 0x00, 0x00, 0xAB, 0x9A, 0x5F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAC, 0xB8, 0x66, 0x70, 0x00, @@ -11238,35 +11238,35 @@ const unsigned char timelib_timezone_db_data_builtin[349582] = { 0x00, 0x00, 0x00, 0xBC, 0x8B, 0xC6, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBD, 0x84, 0xE3, 0x70, 0x00, 0x00, 0x00, 0x00, 0xBE, 0x6B, 0xA8, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBF, 0x52, 0x50, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x4B, 0x8A, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC1, 0x28, 0xF7, 0xF0, 0x00, -0x00, 0x00, 0x00, 0xC1, 0x57, 0x2A, 0x80, 0x00, 0x00, 0x00, 0x00, 0xC1, 0x69, 0x91, 0x70, 0x00, +0x00, 0x00, 0x00, 0xC1, 0x60, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC1, 0x69, 0x91, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC2, 0x2B, 0x6C, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC2, 0xFF, 0x9F, 0x70, 0x00, -0x00, 0x00, 0x00, 0xC3, 0x2D, 0xD2, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC3, 0x49, 0x73, 0x70, 0x00, +0x00, 0x00, 0x00, 0xC3, 0x37, 0x0C, 0x80, 0x00, 0x00, 0x00, 0x00, 0xC3, 0x49, 0x73, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC4, 0x0B, 0x4E, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC4, 0xCD, 0x0C, 0x70, 0x00, -0x00, 0x00, 0x00, 0xC5, 0x04, 0x79, 0x80, 0x00, 0x00, 0x00, 0x00, 0xC5, 0x29, 0x55, 0x70, 0x00, +0x00, 0x00, 0x00, 0xC5, 0x0D, 0xB4, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC5, 0x29, 0x55, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC5, 0xF4, 0x6A, 0x80, 0x00, 0x00, 0x00, 0x00, 0xC6, 0xA3, 0xB3, 0xF0, 0x00, -0x00, 0x00, 0x00, 0xC6, 0xD1, 0xE6, 0x80, 0x00, 0x00, 0x00, 0x00, 0xC7, 0x09, 0x37, 0x70, 0x00, +0x00, 0x00, 0x00, 0xC6, 0xDB, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC7, 0x09, 0x37, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC7, 0xD4, 0x4C, 0x80, 0x00, 0x00, 0x00, 0x00, 0xC8, 0x71, 0x20, 0xF0, 0x00, -0x00, 0x00, 0x00, 0xC8, 0xA8, 0x8E, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC8, 0xE9, 0x19, 0x70, 0x00, +0x00, 0x00, 0x00, 0xC8, 0xB1, 0xC8, 0x80, 0x00, 0x00, 0x00, 0x00, 0xC8, 0xE9, 0x19, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC9, 0xB4, 0x2E, 0x80, 0x00, 0x00, 0x00, 0x00, 0xCA, 0x47, 0xC8, 0x70, 0x00, -0x00, 0x00, 0x00, 0xCA, 0x7F, 0x35, 0x80, 0x00, 0x00, 0x00, 0x00, 0xCA, 0xD2, 0x35, 0xF0, 0x00, +0x00, 0x00, 0x00, 0xCA, 0x88, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCA, 0xD2, 0x35, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xCB, 0x94, 0x10, 0x80, 0x00, 0x00, 0x00, 0x00, 0xCC, 0x1E, 0x6F, 0xF0, 0x00, -0x00, 0x00, 0x00, 0xCC, 0x4C, 0xA2, 0x80, 0x00, 0x00, 0x00, 0x00, 0xCC, 0xB2, 0x17, 0xF0, 0x00, +0x00, 0x00, 0x00, 0xCC, 0x55, 0xDD, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCC, 0xB2, 0x17, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xCD, 0x73, 0xF2, 0x80, 0x00, 0x00, 0x00, 0x00, 0xCD, 0xEB, 0xDC, 0xF0, 0x00, -0x00, 0x00, 0x00, 0xCE, 0x23, 0x4A, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCE, 0x91, 0xF9, 0xF0, 0x00, +0x00, 0x00, 0x00, 0xCE, 0x2C, 0x84, 0x80, 0x00, 0x00, 0x00, 0x00, 0xCE, 0x91, 0xF9, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xCF, 0x5D, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCF, 0xC2, 0x84, 0x70, 0x00, -0x00, 0x00, 0x00, 0xCF, 0xF0, 0xB7, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD0, 0x71, 0xDB, 0xF0, 0x00, +0x00, 0x00, 0x00, 0xCF, 0xF9, 0xF1, 0x80, 0x00, 0x00, 0x00, 0x00, 0xD0, 0x71, 0xDB, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xD1, 0x3C, 0xF1, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD1, 0x99, 0x2B, 0xF0, 0x00, -0x00, 0x00, 0x00, 0xD1, 0xC7, 0x5E, 0x80, 0x00, 0x00, 0x00, 0x00, 0xD2, 0x51, 0xBD, 0xF0, 0x00, +0x00, 0x00, 0x00, 0xD1, 0xD0, 0x99, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD2, 0x51, 0xBD, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xD3, 0x1C, 0xD3, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD3, 0x66, 0x98, 0xF0, 0x00, -0x00, 0x00, 0x00, 0xD3, 0x9E, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD4, 0x31, 0x9F, 0xF0, 0x00, +0x00, 0x00, 0x00, 0xD3, 0xA7, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0xD4, 0x31, 0x9F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xD4, 0xFC, 0xB5, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD5, 0x3D, 0x40, 0x70, 0x00, -0x00, 0x00, 0x00, 0xD5, 0x6B, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD6, 0x1A, 0xBC, 0x70, 0x00, +0x00, 0x00, 0x00, 0xD5, 0x74, 0xAD, 0x80, 0x00, 0x00, 0x00, 0x00, 0xD6, 0x1A, 0xBC, 0x70, 0x00, 0x00, 0x00, 0x00, 0xD6, 0xDC, 0x97, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD7, 0x0A, 0xAD, 0x70, 0x00, -0x00, 0x00, 0x00, 0xD7, 0x42, 0x1A, 0x80, 0x00, 0x00, 0x00, 0x00, 0xD7, 0xFA, 0x9E, 0x70, 0x00, +0x00, 0x00, 0x00, 0xD7, 0x4B, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD7, 0xFA, 0x9E, 0x70, 0x00, 0x00, 0x00, 0x00, 0xD8, 0xBC, 0x79, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD8, 0xE1, 0x54, 0xF0, 0x00, -0x00, 0x00, 0x00, 0xD9, 0x18, 0xC2, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD9, 0xDA, 0x80, 0x70, 0x00, +0x00, 0x00, 0x00, 0xD9, 0x21, 0xFC, 0x80, 0x00, 0x00, 0x00, 0x00, 0xD9, 0xDA, 0x80, 0x70, 0x00, 0x00, 0x00, 0x00, 0xDA, 0xA5, 0x95, 0x80, 0x00, 0x00, 0x00, 0x00, 0xDA, 0xB7, 0xFC, 0x70, 0x00, -0x00, 0x00, 0x00, 0xDA, 0xE6, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xDB, 0xBA, 0x62, 0x70, 0x02, +0x00, 0x00, 0x00, 0xDA, 0xEF, 0x69, 0x80, 0x00, 0x00, 0x00, 0x00, 0xDB, 0xBA, 0x62, 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, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, @@ -11286,13 +11286,13 @@ const unsigned char timelib_timezone_db_data_builtin[349582] = { 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 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, 0x20, 0x50, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, 0x01, -0x04, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x09, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x0D, 0x00, 0x00, 0x1C, -0x20, 0x00, 0x11, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x45, 0x53, 0x54, 0x00, 0x45, 0x45, 0x54, 0x00, -0x49, 0x44, 0x54, 0x00, 0x49, 0x53, 0x54, 0x00, 0x0A, 0x45, 0x45, 0x54, 0x2D, 0x32, 0x45, 0x45, -0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x34, 0x2E, 0x34, 0x2F, 0x35, 0x30, 0x2C, 0x4D, 0x31, 0x30, -0x2E, 0x34, 0x2E, 0x34, 0x2F, 0x35, 0x30, 0x0A, 0x00, 0xB9, 0x64, 0xF0, 0x01, 0x47, 0x40, 0x0A, -0x00, 0x00, 0x00, 0x0A, 0x47, 0x61, 0x7A, 0x61, 0x20, 0x53, 0x74, 0x72, 0x69, 0x70, +0x02, 0x01, 0x02, 0x00, 0x00, 0x20, 0x50, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x04, 0x00, +0x00, 0x1C, 0x20, 0x00, 0x09, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x0D, 0x00, 0x00, 0x1C, 0x20, 0x00, +0x11, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x45, 0x53, 0x54, 0x00, 0x45, 0x45, 0x54, 0x00, 0x49, 0x44, +0x54, 0x00, 0x49, 0x53, 0x54, 0x00, 0x0A, 0x45, 0x45, 0x54, 0x2D, 0x32, 0x45, 0x45, 0x53, 0x54, +0x2C, 0x4D, 0x33, 0x2E, 0x34, 0x2E, 0x34, 0x2F, 0x35, 0x30, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x34, +0x2E, 0x34, 0x2F, 0x35, 0x30, 0x0A, 0x00, 0xB9, 0x64, 0xF0, 0x01, 0x47, 0x40, 0x0A, 0x00, 0x00, +0x00, 0x0A, 0x47, 0x61, 0x7A, 0x61, 0x20, 0x53, 0x74, 0x72, 0x69, 0x70, /* Asia/Harbin */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -11328,7 +11328,7 @@ const unsigned char timelib_timezone_db_data_builtin[349582] = { 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x38, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x15, 0xFF, +0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x36, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x15, 0xFF, 0xFF, 0xFF, 0xFF, 0x7D, 0xBD, 0x4A, 0x19, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x59, 0xCF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0xFA, 0xA6, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xC9, 0x38, 0x9C, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xE5, 0xEB, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0xAC, 0xFE, 0x00, 0xFF, @@ -11391,8 +11391,8 @@ const unsigned char timelib_timezone_db_data_builtin[349582] = { 0x00, 0x00, 0x00, 0x60, 0x5E, 0x59, 0x60, 0x00, 0x00, 0x00, 0x00, 0x61, 0x7B, 0x1D, 0x60, 0x00, 0x00, 0x00, 0x00, 0x62, 0x3F, 0x8C, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x63, 0x5C, 0x5E, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x64, 0x4C, 0x5E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x65, 0x3C, 0x40, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x66, 0x19, 0xCB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0x1C, 0x22, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x67, 0xF0, 0x72, 0x80, 0x00, 0x00, 0x00, 0x00, 0x68, 0xFC, 0x04, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x66, 0x23, 0x05, 0x80, 0x00, 0x00, 0x00, 0x00, 0x67, 0x1C, 0x22, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x67, 0xF9, 0xAD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0xFC, 0x04, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x69, 0xC7, 0x1A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xDB, 0xE6, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x6B, 0xA6, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xC5, 0x03, 0x70, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x86, 0xDE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6E, 0xA4, 0xE5, 0x70, 0x00, @@ -11407,41 +11407,40 @@ const unsigned char timelib_timezone_db_data_builtin[349582] = { 0x00, 0x00, 0x00, 0x7E, 0x78, 0x45, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x7A, 0x9C, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x80, 0x58, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x81, 0x48, 0x09, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x82, 0x38, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x83, 0x1E, 0xB1, 0x70, 0x00, -0x00, 0x00, 0x00, 0x83, 0x4C, 0xE4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x83, 0x56, 0x10, 0x70, 0x00, 0x00, 0x00, 0x00, 0x84, 0x17, 0xEB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84, 0xEC, 0x1E, 0x70, 0x00, -0x00, 0x00, 0x00, 0x85, 0x23, 0x8B, 0x80, 0x00, 0x00, 0x00, 0x00, 0x85, 0x35, 0xF2, 0x70, 0x00, +0x00, 0x00, 0x00, 0x85, 0x2C, 0xC6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x85, 0x35, 0xF2, 0x70, 0x00, 0x00, 0x00, 0x00, 0x86, 0x01, 0x07, 0x80, 0x00, 0x00, 0x00, 0x00, 0x86, 0xC2, 0xC5, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x86, 0xF0, 0xF8, 0x80, 0x00, 0x00, 0x00, 0x00, 0x87, 0x15, 0xD4, 0x70, 0x00, +0x00, 0x00, 0x00, 0x86, 0xFA, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x87, 0x15, 0xD4, 0x70, 0x00, 0x00, 0x00, 0x00, 0x87, 0xE0, 0xE9, 0x80, 0x00, 0x00, 0x00, 0x00, 0x88, 0x99, 0x6D, 0x70, 0x00, -0x00, 0x00, 0x00, 0x88, 0xC7, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0xF5, 0xB6, 0x70, 0x00, +0x00, 0x00, 0x00, 0x88, 0xD0, 0xDA, 0x80, 0x00, 0x00, 0x00, 0x00, 0x88, 0xF5, 0xB6, 0x70, 0x00, 0x00, 0x00, 0x00, 0x89, 0xC0, 0xCB, 0x80, 0x00, 0x00, 0x00, 0x00, 0x8A, 0x66, 0xDA, 0x70, 0x00, -0x00, 0x00, 0x00, 0x8A, 0x9E, 0x47, 0x80, 0x00, 0x00, 0x00, 0x00, 0x8A, 0xD5, 0x98, 0x70, 0x00, +0x00, 0x00, 0x00, 0x8A, 0xA7, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8A, 0xD5, 0x98, 0x70, 0x00, 0x00, 0x00, 0x00, 0x8B, 0xA0, 0xAD, 0x80, 0x00, 0x00, 0x00, 0x00, 0x8C, 0x3D, 0x81, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x8C, 0x6B, 0xB4, 0x80, 0x00, 0x00, 0x00, 0x00, 0x8C, 0xBE, 0xB4, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x8C, 0x74, 0xEF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8C, 0xBE, 0xB4, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x8D, 0x80, 0x8F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x8E, 0x14, 0x29, 0x70, 0x00, -0x00, 0x00, 0x00, 0x8E, 0x42, 0x5C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8E, 0x9E, 0x96, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x8E, 0x4B, 0x96, 0x80, 0x00, 0x00, 0x00, 0x00, 0x8E, 0x9E, 0x96, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x8F, 0x60, 0x71, 0x80, 0x00, 0x00, 0x00, 0x00, 0x8F, 0xE1, 0x96, 0x70, 0x00, -0x00, 0x00, 0x00, 0x90, 0x19, 0x03, 0x80, 0x00, 0x00, 0x00, 0x00, 0x90, 0x7E, 0x78, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x90, 0x22, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x7E, 0x78, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x91, 0x49, 0x8E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x91, 0xB8, 0x3D, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x91, 0xE6, 0x70, 0x80, 0x00, 0x00, 0x00, 0x00, 0x92, 0x5E, 0x5A, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x91, 0xEF, 0xAB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x92, 0x5E, 0x5A, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x93, 0x29, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x93, 0x85, 0xAA, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x93, 0xBD, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x94, 0x3E, 0x3C, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x93, 0xC6, 0x52, 0x80, 0x00, 0x00, 0x00, 0x00, 0x94, 0x3E, 0x3C, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x95, 0x09, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x95, 0x5C, 0x52, 0x70, 0x00, -0x00, 0x00, 0x00, 0x95, 0x8A, 0x85, 0x00, 0x00, 0x00, 0x00, 0x00, 0x96, 0x27, 0x59, 0x70, 0x00, +0x00, 0x00, 0x00, 0x95, 0x93, 0xBF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x96, 0x27, 0x59, 0x70, 0x00, 0x00, 0x00, 0x00, 0x96, 0xE9, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x97, 0x32, 0xF9, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x97, 0x61, 0x2C, 0x80, 0x00, 0x00, 0x00, 0x00, 0x98, 0x07, 0x3B, 0x70, 0x00, +0x00, 0x00, 0x00, 0x97, 0x6A, 0x67, 0x00, 0x00, 0x00, 0x00, 0x00, 0x98, 0x07, 0x3B, 0x70, 0x00, 0x00, 0x00, 0x00, 0x98, 0xC9, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x99, 0x00, 0x66, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x99, 0x37, 0xD4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x99, 0xE7, 0x1D, 0x70, 0x00, +0x00, 0x00, 0x00, 0x99, 0x41, 0x0E, 0x80, 0x00, 0x00, 0x00, 0x00, 0x99, 0xE7, 0x1D, 0x70, 0x00, 0x00, 0x00, 0x00, 0x9A, 0xB2, 0x32, 0x80, 0x00, 0x00, 0x00, 0x00, 0x9A, 0xD7, 0x0E, 0x70, 0x00, -0x00, 0x00, 0x00, 0x9B, 0x05, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9B, 0xC6, 0xFF, 0x70, 0x00, +0x00, 0x00, 0x00, 0x9B, 0x0E, 0x7B, 0x80, 0x00, 0x00, 0x00, 0x00, 0x9B, 0xC6, 0xFF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x9C, 0x92, 0x14, 0x80, 0x00, 0x00, 0x00, 0x00, 0x9C, 0xA4, 0x7B, 0x70, 0x00, -0x00, 0x00, 0x00, 0x9C, 0xDB, 0xE8, 0x80, 0x00, 0x00, 0x00, 0x00, 0x9D, 0xA6, 0xE1, 0x70, 0x00, +0x00, 0x00, 0x00, 0x9C, 0xE5, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9D, 0xA6, 0xE1, 0x70, 0x00, 0x00, 0x00, 0x00, 0x9E, 0x71, 0xF6, 0x80, 0x00, 0x00, 0x00, 0x00, 0x9E, 0x7B, 0x22, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x9E, 0xB2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9F, 0x86, 0xC3, 0x70, 0x00, -0x00, 0x00, 0x00, 0xA0, 0x7F, 0xFD, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA1, 0x6F, 0xDF, 0xF0, 0x00, -0x00, 0x00, 0x00, 0xA2, 0x56, 0xA4, 0x80, 0x00, 0x00, 0x00, 0x00, 0xA3, 0x4F, 0xC1, 0xF0, 0x00, -0x00, 0x00, 0x00, 0xA4, 0x24, 0x11, 0x80, 0x00, 0x00, 0x00, 0x00, 0xA5, 0x2F, 0xA3, 0xF0, 0x00, -0x00, 0x00, 0x00, 0xA5, 0xFA, 0xB9, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA7, 0x0F, 0x85, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x9E, 0xBB, 0xCA, 0x80, 0x00, 0x00, 0x00, 0x00, 0x9F, 0x86, 0xC3, 0x70, 0x00, +0x00, 0x00, 0x00, 0xA0, 0x89, 0x37, 0x80, 0x00, 0x00, 0x00, 0x00, 0xA1, 0x6F, 0xDF, 0xF0, 0x00, +0x00, 0x00, 0x00, 0xA2, 0x5F, 0xDF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA3, 0x4F, 0xC1, 0xF0, 0x00, +0x00, 0x00, 0x00, 0xA4, 0x2D, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA5, 0x2F, 0xA3, 0xF0, 0x00, +0x00, 0x00, 0x00, 0xA6, 0x03, 0xF3, 0x80, 0x00, 0x00, 0x00, 0x00, 0xA7, 0x0F, 0x85, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xA7, 0xDA, 0x9B, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA8, 0xEF, 0x67, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xA9, 0xBA, 0x7D, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAA, 0xD8, 0x84, 0x70, 0x00, 0x00, 0x00, 0x00, 0xAB, 0x9A, 0x5F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAC, 0xB8, 0x66, 0x70, 0x00, @@ -11456,35 +11455,35 @@ const unsigned char timelib_timezone_db_data_builtin[349582] = { 0x00, 0x00, 0x00, 0xBC, 0x8B, 0xC6, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBD, 0x84, 0xE3, 0x70, 0x00, 0x00, 0x00, 0x00, 0xBE, 0x6B, 0xA8, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBF, 0x52, 0x50, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x4B, 0x8A, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC1, 0x28, 0xF7, 0xF0, 0x00, -0x00, 0x00, 0x00, 0xC1, 0x57, 0x2A, 0x80, 0x00, 0x00, 0x00, 0x00, 0xC1, 0x69, 0x91, 0x70, 0x00, +0x00, 0x00, 0x00, 0xC1, 0x60, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC1, 0x69, 0x91, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC2, 0x2B, 0x6C, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC2, 0xFF, 0x9F, 0x70, 0x00, -0x00, 0x00, 0x00, 0xC3, 0x2D, 0xD2, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC3, 0x49, 0x73, 0x70, 0x00, +0x00, 0x00, 0x00, 0xC3, 0x37, 0x0C, 0x80, 0x00, 0x00, 0x00, 0x00, 0xC3, 0x49, 0x73, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC4, 0x0B, 0x4E, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC4, 0xCD, 0x0C, 0x70, 0x00, -0x00, 0x00, 0x00, 0xC5, 0x04, 0x79, 0x80, 0x00, 0x00, 0x00, 0x00, 0xC5, 0x29, 0x55, 0x70, 0x00, +0x00, 0x00, 0x00, 0xC5, 0x0D, 0xB4, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC5, 0x29, 0x55, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC5, 0xF4, 0x6A, 0x80, 0x00, 0x00, 0x00, 0x00, 0xC6, 0xA3, 0xB3, 0xF0, 0x00, -0x00, 0x00, 0x00, 0xC6, 0xD1, 0xE6, 0x80, 0x00, 0x00, 0x00, 0x00, 0xC7, 0x09, 0x37, 0x70, 0x00, +0x00, 0x00, 0x00, 0xC6, 0xDB, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC7, 0x09, 0x37, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC7, 0xD4, 0x4C, 0x80, 0x00, 0x00, 0x00, 0x00, 0xC8, 0x71, 0x20, 0xF0, 0x00, -0x00, 0x00, 0x00, 0xC8, 0xA8, 0x8E, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC8, 0xE9, 0x19, 0x70, 0x00, +0x00, 0x00, 0x00, 0xC8, 0xB1, 0xC8, 0x80, 0x00, 0x00, 0x00, 0x00, 0xC8, 0xE9, 0x19, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC9, 0xB4, 0x2E, 0x80, 0x00, 0x00, 0x00, 0x00, 0xCA, 0x47, 0xC8, 0x70, 0x00, -0x00, 0x00, 0x00, 0xCA, 0x7F, 0x35, 0x80, 0x00, 0x00, 0x00, 0x00, 0xCA, 0xD2, 0x35, 0xF0, 0x00, +0x00, 0x00, 0x00, 0xCA, 0x88, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCA, 0xD2, 0x35, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xCB, 0x94, 0x10, 0x80, 0x00, 0x00, 0x00, 0x00, 0xCC, 0x1E, 0x6F, 0xF0, 0x00, -0x00, 0x00, 0x00, 0xCC, 0x4C, 0xA2, 0x80, 0x00, 0x00, 0x00, 0x00, 0xCC, 0xB2, 0x17, 0xF0, 0x00, +0x00, 0x00, 0x00, 0xCC, 0x55, 0xDD, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCC, 0xB2, 0x17, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xCD, 0x73, 0xF2, 0x80, 0x00, 0x00, 0x00, 0x00, 0xCD, 0xEB, 0xDC, 0xF0, 0x00, -0x00, 0x00, 0x00, 0xCE, 0x23, 0x4A, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCE, 0x91, 0xF9, 0xF0, 0x00, +0x00, 0x00, 0x00, 0xCE, 0x2C, 0x84, 0x80, 0x00, 0x00, 0x00, 0x00, 0xCE, 0x91, 0xF9, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xCF, 0x5D, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCF, 0xC2, 0x84, 0x70, 0x00, -0x00, 0x00, 0x00, 0xCF, 0xF0, 0xB7, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD0, 0x71, 0xDB, 0xF0, 0x00, +0x00, 0x00, 0x00, 0xCF, 0xF9, 0xF1, 0x80, 0x00, 0x00, 0x00, 0x00, 0xD0, 0x71, 0xDB, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xD1, 0x3C, 0xF1, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD1, 0x99, 0x2B, 0xF0, 0x00, -0x00, 0x00, 0x00, 0xD1, 0xC7, 0x5E, 0x80, 0x00, 0x00, 0x00, 0x00, 0xD2, 0x51, 0xBD, 0xF0, 0x00, +0x00, 0x00, 0x00, 0xD1, 0xD0, 0x99, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD2, 0x51, 0xBD, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xD3, 0x1C, 0xD3, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD3, 0x66, 0x98, 0xF0, 0x00, -0x00, 0x00, 0x00, 0xD3, 0x9E, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD4, 0x31, 0x9F, 0xF0, 0x00, +0x00, 0x00, 0x00, 0xD3, 0xA7, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0xD4, 0x31, 0x9F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xD4, 0xFC, 0xB5, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD5, 0x3D, 0x40, 0x70, 0x00, -0x00, 0x00, 0x00, 0xD5, 0x6B, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD6, 0x1A, 0xBC, 0x70, 0x00, +0x00, 0x00, 0x00, 0xD5, 0x74, 0xAD, 0x80, 0x00, 0x00, 0x00, 0x00, 0xD6, 0x1A, 0xBC, 0x70, 0x00, 0x00, 0x00, 0x00, 0xD6, 0xDC, 0x97, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD7, 0x0A, 0xAD, 0x70, 0x00, -0x00, 0x00, 0x00, 0xD7, 0x42, 0x1A, 0x80, 0x00, 0x00, 0x00, 0x00, 0xD7, 0xFA, 0x9E, 0x70, 0x00, +0x00, 0x00, 0x00, 0xD7, 0x4B, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD7, 0xFA, 0x9E, 0x70, 0x00, 0x00, 0x00, 0x00, 0xD8, 0xBC, 0x79, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD8, 0xE1, 0x54, 0xF0, 0x00, -0x00, 0x00, 0x00, 0xD9, 0x18, 0xC2, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD9, 0xDA, 0x80, 0x70, 0x00, +0x00, 0x00, 0x00, 0xD9, 0x21, 0xFC, 0x80, 0x00, 0x00, 0x00, 0x00, 0xD9, 0xDA, 0x80, 0x70, 0x00, 0x00, 0x00, 0x00, 0xDA, 0xA5, 0x95, 0x80, 0x00, 0x00, 0x00, 0x00, 0xDA, 0xB7, 0xFC, 0x70, 0x00, -0x00, 0x00, 0x00, 0xDA, 0xE6, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xDB, 0xBA, 0x62, 0x70, 0x02, +0x00, 0x00, 0x00, 0xDA, 0xEF, 0x69, 0x80, 0x00, 0x00, 0x00, 0x00, 0xDB, 0xBA, 0x62, 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, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, @@ -11504,13 +11503,13 @@ const unsigned char timelib_timezone_db_data_builtin[349582] = { 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 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, 0x20, 0xE7, 0x00, 0x00, 0x00, 0x00, 0x2A, -0x30, 0x01, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x09, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x0D, 0x00, -0x00, 0x1C, 0x20, 0x00, 0x11, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x45, 0x53, 0x54, 0x00, 0x45, 0x45, -0x54, 0x00, 0x49, 0x44, 0x54, 0x00, 0x49, 0x53, 0x54, 0x00, 0x0A, 0x45, 0x45, 0x54, 0x2D, 0x32, -0x45, 0x45, 0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x34, 0x2E, 0x34, 0x2F, 0x35, 0x30, 0x2C, 0x4D, -0x31, 0x30, 0x2E, 0x34, 0x2E, 0x34, 0x2F, 0x35, 0x30, 0x0A, 0x00, 0xB9, 0x71, 0xF5, 0x01, 0x48, -0x35, 0x7C, 0x00, 0x00, 0x00, 0x09, 0x57, 0x65, 0x73, 0x74, 0x20, 0x42, 0x61, 0x6E, 0x6B, +0x02, 0x01, 0x02, 0x01, 0x02, 0x00, 0x00, 0x20, 0xE7, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, 0x01, +0x04, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x09, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x0D, 0x00, 0x00, 0x1C, +0x20, 0x00, 0x11, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x45, 0x53, 0x54, 0x00, 0x45, 0x45, 0x54, 0x00, +0x49, 0x44, 0x54, 0x00, 0x49, 0x53, 0x54, 0x00, 0x0A, 0x45, 0x45, 0x54, 0x2D, 0x32, 0x45, 0x45, +0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x34, 0x2E, 0x34, 0x2F, 0x35, 0x30, 0x2C, 0x4D, 0x31, 0x30, +0x2E, 0x34, 0x2E, 0x34, 0x2F, 0x35, 0x30, 0x0A, 0x00, 0xB9, 0x71, 0xF5, 0x01, 0x48, 0x35, 0x7C, +0x00, 0x00, 0x00, 0x09, 0x57, 0x65, 0x73, 0x74, 0x20, 0x42, 0x61, 0x6E, 0x6B, /* Asia/Ho_Chi_Minh */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x56, 0x4E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -11522,7 +11521,7 @@ const unsigned char timelib_timezone_db_data_builtin[349582] = { 0xFF, 0xFF, 0xFF, 0x88, 0x8C, 0x43, 0x8A, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0xA3, 0x2B, 0x0A, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0x35, 0xE6, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0x59, 0xCE, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x3B, 0x3E, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x32, 0xBB, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0xE4, 0xB6, 0xE4, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0x2F, 0x98, 0x00, 0x00, +0xFF, 0xFF, 0xFF, 0xE4, 0xB6, 0xF2, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0x2F, 0x98, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x3D, 0xC7, 0x00, 0x01, 0x02, 0x03, 0x04, 0x02, 0x03, 0x02, 0x03, 0x02, 0x00, 0x00, 0x63, 0xF6, 0x00, 0x00, 0x00, 0x00, 0x63, 0xF6, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x09, 0x00, 0x00, 0x70, 0x80, 0x00, 0x0D, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x11, 0x4C, 0x4D, @@ -12675,7 +12674,7 @@ const unsigned char timelib_timezone_db_data_builtin[349582] = { 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, 0x33, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x10, 0xFF, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0x19, 0x88, 0x5C, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, 0xA3, 0xFD, 0x40, 0x00, 0x00, 0x00, 0x00, 0x15, 0x27, 0x8B, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x18, 0xC0, 0x20, 0x00, 0x00, 0x00, 0x00, 0x17, 0x08, 0xB1, 0x20, 0x00, 0x00, 0x00, 0x00, 0x17, 0xF9, 0xF3, 0xA0, 0x00, @@ -12701,16 +12700,17 @@ const unsigned char timelib_timezone_db_data_builtin[349582] = { 0x00, 0x00, 0x00, 0x3B, 0xDB, 0x20, 0x50, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xA6, 0x27, 0x50, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x02, 0x50, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x86, 0x09, 0x50, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9A, 0xE4, 0x50, 0x00, 0x00, 0x00, 0x00, 0x40, 0x65, 0xEB, 0x50, 0x00, -0x00, 0x00, 0x00, 0x41, 0x84, 0x00, 0xD0, 0x01, 0x02, 0x03, 0x04, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x05, 0x01, 0x02, +0x00, 0x00, 0x00, 0x41, 0x84, 0x00, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x65, 0xE0, 0xC6, 0x20, 0x01, +0x02, 0x03, 0x04, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x05, 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, 0x04, 0x00, 0x00, 0x3B, 0xA4, 0x00, 0x00, -0x00, 0x00, 0x38, 0x40, 0x00, 0x04, 0x00, 0x00, 0x46, 0x50, 0x00, 0x08, 0x00, 0x00, 0x54, 0x60, -0x01, 0x0C, 0x00, 0x00, 0x54, 0x60, 0x00, 0x0C, 0x00, 0x00, 0x46, 0x50, 0x01, 0x08, 0x4C, 0x4D, -0x54, 0x00, 0x2B, 0x30, 0x34, 0x00, 0x2B, 0x30, 0x35, 0x00, 0x2B, 0x30, 0x36, 0x00, 0x0A, 0x3C, -0x2B, 0x30, 0x36, 0x3E, 0x2D, 0x36, 0x0A, 0x00, 0xDA, 0x81, 0x7F, 0x01, 0x73, 0xBA, 0xC2, 0x00, -0x00, 0x00, 0x1A, 0x51, 0x6F, 0x73, 0x74, 0x61, 0x6E, 0x61, 0x79, 0x2F, 0x4B, 0x6F, 0x73, 0x74, -0x61, 0x6E, 0x61, 0x79, 0x2F, 0x4B, 0x75, 0x73, 0x74, 0x61, 0x6E, 0x61, 0x79, +0x03, 0x04, 0x02, 0x00, 0x00, 0x3B, 0xA4, 0x00, 0x00, 0x00, 0x00, 0x38, 0x40, 0x00, 0x04, 0x00, +0x00, 0x46, 0x50, 0x00, 0x08, 0x00, 0x00, 0x54, 0x60, 0x01, 0x0C, 0x00, 0x00, 0x54, 0x60, 0x00, +0x0C, 0x00, 0x00, 0x46, 0x50, 0x01, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x34, 0x00, 0x2B, +0x30, 0x35, 0x00, 0x2B, 0x30, 0x36, 0x00, 0x0A, 0x3C, 0x2B, 0x30, 0x35, 0x3E, 0x2D, 0x35, 0x0A, +0x00, 0xDA, 0x81, 0x7F, 0x01, 0x73, 0xBA, 0xC2, 0x00, 0x00, 0x00, 0x1A, 0x51, 0x6F, 0x73, 0x74, +0x61, 0x6E, 0x61, 0x79, 0x2F, 0x4B, 0x6F, 0x73, 0x74, 0x61, 0x6E, 0x61, 0x79, 0x2F, 0x4B, 0x75, +0x73, 0x74, 0x61, 0x6E, 0x61, 0x79, /* Asia/Qyzylorda */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4B, 0x5A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -12793,7 +12793,7 @@ const unsigned char timelib_timezone_db_data_builtin[349582] = { 0xFF, 0xFF, 0xFF, 0x88, 0x8C, 0x43, 0x8A, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0xA3, 0x2B, 0x0A, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0x35, 0xE6, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0x59, 0xCE, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x3B, 0x3E, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x32, 0xBB, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0xE4, 0xB6, 0xE4, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0x2F, 0x98, 0x00, 0x00, +0xFF, 0xFF, 0xFF, 0xE4, 0xB6, 0xF2, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0x2F, 0x98, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x3D, 0xC7, 0x00, 0x01, 0x02, 0x03, 0x04, 0x02, 0x03, 0x02, 0x03, 0x02, 0x00, 0x00, 0x63, 0xF6, 0x00, 0x00, 0x00, 0x00, 0x63, 0xF6, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x09, 0x00, 0x00, 0x70, 0x80, 0x00, 0x0D, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x11, 0x4C, 0x4D, @@ -15728,10 +15728,10 @@ const unsigned char timelib_timezone_db_data_builtin[349582] = { 0xFF, 0xFF, 0xFF, 0xC7, 0x0F, 0x3A, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x2D, 0x5E, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x88, 0xF0, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xFB, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x75, 0xE4, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xAA, 0xD0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xA3, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0x8C, 0xD0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0x85, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x6E, 0xD0, 0xFF, -0xFF, 0xFF, 0xFF, 0xDA, 0x33, 0x76, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, 0x70, 0xFF, +0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xC6, 0xF0, 0xFF, +0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xBF, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0xA8, 0xF0, 0xFF, +0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0xA1, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x8A, 0xF0, 0xFF, +0xFF, 0xFF, 0xFF, 0xDA, 0x33, 0x92, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0x13, 0x74, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xDE, 0x89, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xA9, 0x82, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xBE, 0x6B, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0x89, 0x64, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x9E, 0x4D, 0x70, 0xFF, @@ -24213,341 +24213,341 @@ const timelib_tzdb_index_entry timezonedb_idx_builtin[597] = { { (char*) "Asia/Dushanbe" , 0x047AD4 }, { (char*) "Asia/Famagusta" , 0x047D21 }, { (char*) "Asia/Gaza" , 0x048528 }, - { (char*) "Asia/Harbin" , 0x049454 }, - { (char*) "Asia/Hebron" , 0x049691 }, - { (char*) "Asia/Ho_Chi_Minh" , 0x04A5D8 }, - { (char*) "Asia/Hong_Kong" , 0x04A735 }, - { (char*) "Asia/Hovd" , 0x04AC12 }, - { (char*) "Asia/Irkutsk" , 0x04AFB6 }, - { (char*) "Asia/Istanbul" , 0x04B4A9 }, - { (char*) "Asia/Jakarta" , 0x04BC42 }, - { (char*) "Asia/Jayapura" , 0x04BDDA }, - { (char*) "Asia/Jerusalem" , 0x04BEF9 }, - { (char*) "Asia/Kabul" , 0x04C859 }, - { (char*) "Asia/Kamchatka" , 0x04C927 }, - { (char*) "Asia/Karachi" , 0x04CDC5 }, - { (char*) "Asia/Kashgar" , 0x04CF4C }, - { (char*) "Asia/Kathmandu" , 0x04CFEF }, - { (char*) "Asia/Katmandu" , 0x04D0C1 }, - { (char*) "Asia/Khandyga" , 0x04D193 }, - { (char*) "Asia/Kolkata" , 0x04D6A6 }, - { (char*) "Asia/Krasnoyarsk" , 0x04D7CF }, - { (char*) "Asia/Kuala_Lumpur" , 0x04DC9D }, - { (char*) "Asia/Kuching" , 0x04DE4E }, - { (char*) "Asia/Kuwait" , 0x04E03D }, - { (char*) "Asia/Macao" , 0x04E0E0 }, - { (char*) "Asia/Macau" , 0x04E5B7 }, - { (char*) "Asia/Magadan" , 0x04EA8E }, - { (char*) "Asia/Makassar" , 0x04EF62 }, - { (char*) "Asia/Manila" , 0x04F0B5 }, - { (char*) "Asia/Muscat" , 0x04F209 }, - { (char*) "Asia/Nicosia" , 0x04F2AC }, - { (char*) "Asia/Novokuznetsk" , 0x04FA98 }, - { (char*) "Asia/Novosibirsk" , 0x04FF34 }, - { (char*) "Asia/Omsk" , 0x05040B }, - { (char*) "Asia/Oral" , 0x0508CD }, - { (char*) "Asia/Phnom_Penh" , 0x050CC7 }, - { (char*) "Asia/Pontianak" , 0x050DEC }, - { (char*) "Asia/Pyongyang" , 0x050F6F }, - { (char*) "Asia/Qatar" , 0x051068 }, - { (char*) "Asia/Qostanay" , 0x05112D }, - { (char*) "Asia/Qyzylorda" , 0x051538 }, - { (char*) "Asia/Rangoon" , 0x051954 }, - { (char*) "Asia/Riyadh" , 0x051A5E }, - { (char*) "Asia/Saigon" , 0x051B01 }, - { (char*) "Asia/Sakhalin" , 0x051C5E }, - { (char*) "Asia/Samarkand" , 0x052126 }, - { (char*) "Asia/Seoul" , 0x052376 }, - { (char*) "Asia/Shanghai" , 0x0525EB }, - { (char*) "Asia/Singapore" , 0x052834 }, - { (char*) "Asia/Srednekolymsk" , 0x0529D1 }, - { (char*) "Asia/Taipei" , 0x052EA5 }, - { (char*) "Asia/Tashkent" , 0x0531AA }, - { (char*) "Asia/Tbilisi" , 0x053408 }, - { (char*) "Asia/Tehran" , 0x053811 }, - { (char*) "Asia/Tel_Aviv" , 0x053CFD }, - { (char*) "Asia/Thimbu" , 0x05465D }, - { (char*) "Asia/Thimphu" , 0x054726 }, - { (char*) "Asia/Tokyo" , 0x0547EF }, - { (char*) "Asia/Tomsk" , 0x054930 }, - { (char*) "Asia/Ujung_Pandang" , 0x054E01 }, - { (char*) "Asia/Ulaanbaatar" , 0x054F0B }, - { (char*) "Asia/Ulan_Bator" , 0x055294 }, - { (char*) "Asia/Urumqi" , 0x05560D }, - { (char*) "Asia/Ust-Nera" , 0x0556BD }, - { (char*) "Asia/Vientiane" , 0x055BB3 }, - { (char*) "Asia/Vladivostok" , 0x055CF4 }, - { (char*) "Asia/Yakutsk" , 0x0561BD }, - { (char*) "Asia/Yangon" , 0x056685 }, - { (char*) "Asia/Yekaterinburg" , 0x05678F }, - { (char*) "Asia/Yerevan" , 0x056C76 }, - { (char*) "Atlantic/Azores" , 0x0570F3 }, - { (char*) "Atlantic/Bermuda" , 0x057EAF }, - { (char*) "Atlantic/Canary" , 0x058817 }, - { (char*) "Atlantic/Cape_Verde" , 0x058F9A }, - { (char*) "Atlantic/Faeroe" , 0x0590A6 }, - { (char*) "Atlantic/Faroe" , 0x0597C9 }, - { (char*) "Atlantic/Jan_Mayen" , 0x059EEC }, - { (char*) "Atlantic/Madeira" , 0x05A7F2 }, - { (char*) "Atlantic/Reykjavik" , 0x05B5BC }, - { (char*) "Atlantic/South_Georgia" , 0x05BA52 }, - { (char*) "Atlantic/St_Helena" , 0x05BAF4 }, - { (char*) "Atlantic/Stanley" , 0x05BBB6 }, - { (char*) "Australia/ACT" , 0x05C072 }, - { (char*) "Australia/Adelaide" , 0x05C90C }, - { (char*) "Australia/Brisbane" , 0x05D1C7 }, - { (char*) "Australia/Broken_Hill" , 0x05D38D }, - { (char*) "Australia/Canberra" , 0x05DC6A }, - { (char*) "Australia/Currie" , 0x05E504 }, - { (char*) "Australia/Darwin" , 0x05EE46 }, - { (char*) "Australia/Eucla" , 0x05EFA9 }, - { (char*) "Australia/Hobart" , 0x05F196 }, - { (char*) "Australia/LHI" , 0x05FAE0 }, - { (char*) "Australia/Lindeman" , 0x060222 }, - { (char*) "Australia/Lord_Howe" , 0x060428 }, - { (char*) "Australia/Melbourne" , 0x060B7A }, - { (char*) "Australia/North" , 0x06141C }, - { (char*) "Australia/NSW" , 0x06156D }, - { (char*) "Australia/Perth" , 0x061E07 }, - { (char*) "Australia/Queensland" , 0x061FEF }, - { (char*) "Australia/South" , 0x06219E }, - { (char*) "Australia/Sydney" , 0x062A4A }, - { (char*) "Australia/Tasmania" , 0x063300 }, - { (char*) "Australia/Victoria" , 0x063C42 }, - { (char*) "Australia/West" , 0x0644DC }, - { (char*) "Australia/Yancowinna" , 0x0646A6 }, - { (char*) "Brazil/Acre" , 0x064F67 }, - { (char*) "Brazil/DeNoronha" , 0x0651D9 }, - { (char*) "Brazil/East" , 0x0654A3 }, - { (char*) "Brazil/West" , 0x065A45 }, - { (char*) "Canada/Atlantic" , 0x065C9F }, - { (char*) "Canada/Central" , 0x066A0B }, - { (char*) "Canada/Eastern" , 0x06754B }, - { (char*) "Canada/Mountain" , 0x0682FD }, - { (char*) "Canada/Newfoundland" , 0x068C25 }, - { (char*) "Canada/Pacific" , 0x069A78 }, - { (char*) "Canada/Saskatchewan" , 0x06A5D0 }, - { (char*) "Canada/Yukon" , 0x06A9B0 }, - { (char*) "CET" , 0x06B00A }, - { (char*) "Chile/Continental" , 0x06B844 }, - { (char*) "Chile/EasterIsland" , 0x06C223 }, - { (char*) "CST6CDT" , 0x06CADA }, - { (char*) "Cuba" , 0x06D3EC }, - { (char*) "EET" , 0x06DD68 }, - { (char*) "Egypt" , 0x06E4E8 }, - { (char*) "Eire" , 0x06EE53 }, - { (char*) "EST" , 0x06FC03 }, - { (char*) "EST5EDT" , 0x06FC81 }, - { (char*) "Etc/GMT" , 0x070593 }, - { (char*) "Etc/GMT+0" , 0x070611 }, - { (char*) "Etc/GMT+1" , 0x07068F }, - { (char*) "Etc/GMT+10" , 0x07070F }, - { (char*) "Etc/GMT+11" , 0x070790 }, - { (char*) "Etc/GMT+12" , 0x070811 }, - { (char*) "Etc/GMT+2" , 0x070892 }, - { (char*) "Etc/GMT+3" , 0x070912 }, - { (char*) "Etc/GMT+4" , 0x070992 }, - { (char*) "Etc/GMT+5" , 0x070A12 }, - { (char*) "Etc/GMT+6" , 0x070A92 }, - { (char*) "Etc/GMT+7" , 0x070B12 }, - { (char*) "Etc/GMT+8" , 0x070B92 }, - { (char*) "Etc/GMT+9" , 0x070C12 }, - { (char*) "Etc/GMT-0" , 0x070C92 }, - { (char*) "Etc/GMT-1" , 0x070D10 }, - { (char*) "Etc/GMT-10" , 0x070D91 }, - { (char*) "Etc/GMT-11" , 0x070E13 }, - { (char*) "Etc/GMT-12" , 0x070E95 }, - { (char*) "Etc/GMT-13" , 0x070F17 }, - { (char*) "Etc/GMT-14" , 0x070F99 }, - { (char*) "Etc/GMT-2" , 0x07101B }, - { (char*) "Etc/GMT-3" , 0x07109C }, - { (char*) "Etc/GMT-4" , 0x07111D }, - { (char*) "Etc/GMT-5" , 0x07119E }, - { (char*) "Etc/GMT-6" , 0x07121F }, - { (char*) "Etc/GMT-7" , 0x0712A0 }, - { (char*) "Etc/GMT-8" , 0x071321 }, - { (char*) "Etc/GMT-9" , 0x0713A2 }, - { (char*) "Etc/GMT0" , 0x071423 }, - { (char*) "Etc/Greenwich" , 0x0714A1 }, - { (char*) "Etc/UCT" , 0x07151F }, - { (char*) "Etc/Universal" , 0x07159D }, - { (char*) "Etc/UTC" , 0x07161B }, - { (char*) "Etc/Zulu" , 0x071699 }, - { (char*) "Europe/Amsterdam" , 0x071717 }, - { (char*) "Europe/Andorra" , 0x072281 }, - { (char*) "Europe/Astrakhan" , 0x07295B }, - { (char*) "Europe/Athens" , 0x072DF8 }, - { (char*) "Europe/Belfast" , 0x0736DA }, - { (char*) "Europe/Belgrade" , 0x074536 }, - { (char*) "Europe/Berlin" , 0x074CC2 }, - { (char*) "Europe/Bratislava" , 0x0755D7 }, - { (char*) "Europe/Brussels" , 0x075EE0 }, - { (char*) "Europe/Bucharest" , 0x076A61 }, - { (char*) "Europe/Budapest" , 0x0772F5 }, - { (char*) "Europe/Busingen" , 0x077C41 }, - { (char*) "Europe/Chisinau" , 0x0783CA }, - { (char*) "Europe/Copenhagen" , 0x078D2C }, - { (char*) "Europe/Dublin" , 0x079591 }, - { (char*) "Europe/Gibraltar" , 0x07A341 }, - { (char*) "Europe/Guernsey" , 0x07AF49 }, - { (char*) "Europe/Helsinki" , 0x07BDE9 }, - { (char*) "Europe/Isle_of_Man" , 0x07C561 }, - { (char*) "Europe/Istanbul" , 0x07D3AD }, - { (char*) "Europe/Jersey" , 0x07DB46 }, - { (char*) "Europe/Kaliningrad" , 0x07E9E6 }, - { (char*) "Europe/Kiev" , 0x07EFDB }, - { (char*) "Europe/Kirov" , 0x07F82F }, - { (char*) "Europe/Kyiv" , 0x07FCEA }, - { (char*) "Europe/Lisbon" , 0x08054D }, - { (char*) "Europe/Ljubljana" , 0x081315 }, - { (char*) "Europe/London" , 0x081AA1 }, - { (char*) "Europe/Luxembourg" , 0x0828FD }, - { (char*) "Europe/Madrid" , 0x08348B }, - { (char*) "Europe/Malta" , 0x083EDD }, - { (char*) "Europe/Mariehamn" , 0x084925 }, - { (char*) "Europe/Minsk" , 0x08509D }, - { (char*) "Europe/Monaco" , 0x0855C4 }, - { (char*) "Europe/Moscow" , 0x086150 }, - { (char*) "Europe/Nicosia" , 0x08676F }, - { (char*) "Europe/Oslo" , 0x086F4D }, - { (char*) "Europe/Paris" , 0x08780D }, - { (char*) "Europe/Podgorica" , 0x0883AB }, - { (char*) "Europe/Prague" , 0x088B37 }, - { (char*) "Europe/Riga" , 0x089440 }, - { (char*) "Europe/Rome" , 0x089CE2 }, - { (char*) "Europe/Samara" , 0x08A73F }, - { (char*) "Europe/San_Marino" , 0x08AC15 }, - { (char*) "Europe/Sarajevo" , 0x08B672 }, - { (char*) "Europe/Saratov" , 0x08BDFE }, - { (char*) "Europe/Simferopol" , 0x08C2AB }, - { (char*) "Europe/Skopje" , 0x08C87A }, - { (char*) "Europe/Sofia" , 0x08D006 }, - { (char*) "Europe/Stockholm" , 0x08D82F }, - { (char*) "Europe/Tallinn" , 0x08DFB0 }, - { (char*) "Europe/Tirane" , 0x08E820 }, - { (char*) "Europe/Tiraspol" , 0x08F050 }, - { (char*) "Europe/Ulyanovsk" , 0x08F9B2 }, - { (char*) "Europe/Uzhgorod" , 0x08FEB5 }, - { (char*) "Europe/Vaduz" , 0x090709 }, - { (char*) "Europe/Vatican" , 0x090E75 }, - { (char*) "Europe/Vienna" , 0x0918D2 }, - { (char*) "Europe/Vilnius" , 0x092176 }, - { (char*) "Europe/Volgograd" , 0x0929F4 }, - { (char*) "Europe/Warsaw" , 0x092EBB }, - { (char*) "Europe/Zagreb" , 0x093925 }, - { (char*) "Europe/Zaporozhye" , 0x0940B1 }, - { (char*) "Europe/Zurich" , 0x094905 }, - { (char*) "Factory" , 0x095086 }, - { (char*) "GB" , 0x095106 }, - { (char*) "GB-Eire" , 0x095F62 }, - { (char*) "GMT" , 0x096DBE }, - { (char*) "GMT+0" , 0x096E3C }, - { (char*) "GMT-0" , 0x096EBA }, - { (char*) "GMT0" , 0x096F38 }, - { (char*) "Greenwich" , 0x096FB6 }, - { (char*) "Hongkong" , 0x097034 }, - { (char*) "HST" , 0x097511 }, - { (char*) "Iceland" , 0x097590 }, - { (char*) "Indian/Antananarivo" , 0x097630 }, - { (char*) "Indian/Chagos" , 0x097717 }, - { (char*) "Indian/Christmas" , 0x0977DC }, - { (char*) "Indian/Cocos" , 0x09787F }, - { (char*) "Indian/Comoro" , 0x09792B }, - { (char*) "Indian/Kerguelen" , 0x0979CC }, - { (char*) "Indian/Mahe" , 0x097A6F }, - { (char*) "Indian/Maldives" , 0x097B12 }, - { (char*) "Indian/Mauritius" , 0x097BD7 }, - { (char*) "Indian/Mayotte" , 0x097CC6 }, - { (char*) "Indian/Reunion" , 0x097D67 }, - { (char*) "Iran" , 0x097E0A }, - { (char*) "Israel" , 0x0982F6 }, - { (char*) "Jamaica" , 0x098C56 }, - { (char*) "Japan" , 0x098E44 }, - { (char*) "Kwajalein" , 0x098F85 }, - { (char*) "Libya" , 0x0990BF }, - { (char*) "MET" , 0x09933C }, - { (char*) "Mexico/BajaNorte" , 0x099B76 }, - { (char*) "Mexico/BajaSur" , 0x09A4C8 }, - { (char*) "Mexico/General" , 0x09A93C }, - { (char*) "MST" , 0x09AE0E }, - { (char*) "MST7MDT" , 0x09AE8C }, - { (char*) "Navajo" , 0x09B79E }, - { (char*) "NZ" , 0x09C146 }, - { (char*) "NZ-CHAT" , 0x09CAD7 }, - { (char*) "Pacific/Apia" , 0x09D2E9 }, - { (char*) "Pacific/Auckland" , 0x09D54B }, - { (char*) "Pacific/Bougainville" , 0x09DEEF }, - { (char*) "Pacific/Chatham" , 0x09E005 }, - { (char*) "Pacific/Chuuk" , 0x09E826 }, - { (char*) "Pacific/Easter" , 0x09E940 }, - { (char*) "Pacific/Efate" , 0x09F204 }, - { (char*) "Pacific/Enderbury" , 0x09F41C }, - { (char*) "Pacific/Fakaofo" , 0x09F504 }, - { (char*) "Pacific/Fiji" , 0x09F5CA }, - { (char*) "Pacific/Funafuti" , 0x09F80A }, - { (char*) "Pacific/Galapagos" , 0x09F8AE }, - { (char*) "Pacific/Gambier" , 0x09F9AB }, - { (char*) "Pacific/Guadalcanal" , 0x09FA5C }, - { (char*) "Pacific/Guam" , 0x09FB00 }, - { (char*) "Pacific/Honolulu" , 0x09FCFA }, - { (char*) "Pacific/Johnston" , 0x09FE55 }, - { (char*) "Pacific/Kanton" , 0x09FFAA }, - { (char*) "Pacific/Kiritimati" , 0x0A00A1 }, - { (char*) "Pacific/Kosrae" , 0x0A0199 }, - { (char*) "Pacific/Kwajalein" , 0x0A02FC }, - { (char*) "Pacific/Majuro" , 0x0A043F }, - { (char*) "Pacific/Marquesas" , 0x0A058B }, - { (char*) "Pacific/Midway" , 0x0A0647 }, - { (char*) "Pacific/Nauru" , 0x0A073A }, - { (char*) "Pacific/Niue" , 0x0A0834 }, - { (char*) "Pacific/Norfolk" , 0x0A08FD }, - { (char*) "Pacific/Noumea" , 0x0A0C6B }, - { (char*) "Pacific/Pago_Pago" , 0x0A0D99 }, - { (char*) "Pacific/Palau" , 0x0A0E54 }, - { (char*) "Pacific/Pitcairn" , 0x0A0F06 }, - { (char*) "Pacific/Pohnpei" , 0x0A0FCE }, - { (char*) "Pacific/Ponape" , 0x0A1109 }, - { (char*) "Pacific/Port_Moresby" , 0x0A11AD }, - { (char*) "Pacific/Rarotonga" , 0x0A127D }, - { (char*) "Pacific/Saipan" , 0x0A14D6 }, - { (char*) "Pacific/Samoa" , 0x0A16C2 }, - { (char*) "Pacific/Tahiti" , 0x0A177D }, - { (char*) "Pacific/Tarawa" , 0x0A182F }, - { (char*) "Pacific/Tongatapu" , 0x0A18E2 }, - { (char*) "Pacific/Truk" , 0x0A1A54 }, - { (char*) "Pacific/Wake" , 0x0A1B0C }, - { (char*) "Pacific/Wallis" , 0x0A1BBB }, - { (char*) "Pacific/Yap" , 0x0A1C5F }, - { (char*) "Poland" , 0x0A1D17 }, - { (char*) "Portugal" , 0x0A2781 }, - { (char*) "PRC" , 0x0A3536 }, - { (char*) "PST8PDT" , 0x0A3773 }, - { (char*) "ROC" , 0x0A4085 }, - { (char*) "ROK" , 0x0A438A }, - { (char*) "Singapore" , 0x0A45FF }, - { (char*) "Turkey" , 0x0A479C }, - { (char*) "UCT" , 0x0A4F35 }, - { (char*) "Universal" , 0x0A4FB3 }, - { (char*) "US/Alaska" , 0x0A5031 }, - { (char*) "US/Aleutian" , 0x0A5980 }, - { (char*) "US/Arizona" , 0x0A62C0 }, - { (char*) "US/Central" , 0x0A6434 }, - { (char*) "US/East-Indiana" , 0x0A7248 }, - { (char*) "US/Eastern" , 0x0A78E6 }, - { (char*) "US/Hawaii" , 0x0A86D2 }, - { (char*) "US/Indiana-Starke" , 0x0A8827 }, - { (char*) "US/Michigan" , 0x0A91BF }, - { (char*) "US/Mountain" , 0x0A9A81 }, - { (char*) "US/Pacific" , 0x0AA429 }, - { (char*) "US/Samoa" , 0x0AAF59 }, - { (char*) "UTC" , 0x0AB014 }, - { (char*) "W-SU" , 0x0AB092 }, - { (char*) "WET" , 0x0AB69D }, - { (char*) "Zulu" , 0x0ABE1A }, + { (char*) "Asia/Harbin" , 0x049442 }, + { (char*) "Asia/Hebron" , 0x04967F }, + { (char*) "Asia/Ho_Chi_Minh" , 0x04A5B4 }, + { (char*) "Asia/Hong_Kong" , 0x04A711 }, + { (char*) "Asia/Hovd" , 0x04ABEE }, + { (char*) "Asia/Irkutsk" , 0x04AF92 }, + { (char*) "Asia/Istanbul" , 0x04B485 }, + { (char*) "Asia/Jakarta" , 0x04BC1E }, + { (char*) "Asia/Jayapura" , 0x04BDB6 }, + { (char*) "Asia/Jerusalem" , 0x04BED5 }, + { (char*) "Asia/Kabul" , 0x04C835 }, + { (char*) "Asia/Kamchatka" , 0x04C903 }, + { (char*) "Asia/Karachi" , 0x04CDA1 }, + { (char*) "Asia/Kashgar" , 0x04CF28 }, + { (char*) "Asia/Kathmandu" , 0x04CFCB }, + { (char*) "Asia/Katmandu" , 0x04D09D }, + { (char*) "Asia/Khandyga" , 0x04D16F }, + { (char*) "Asia/Kolkata" , 0x04D682 }, + { (char*) "Asia/Krasnoyarsk" , 0x04D7AB }, + { (char*) "Asia/Kuala_Lumpur" , 0x04DC79 }, + { (char*) "Asia/Kuching" , 0x04DE2A }, + { (char*) "Asia/Kuwait" , 0x04E019 }, + { (char*) "Asia/Macao" , 0x04E0BC }, + { (char*) "Asia/Macau" , 0x04E593 }, + { (char*) "Asia/Magadan" , 0x04EA6A }, + { (char*) "Asia/Makassar" , 0x04EF3E }, + { (char*) "Asia/Manila" , 0x04F091 }, + { (char*) "Asia/Muscat" , 0x04F1E5 }, + { (char*) "Asia/Nicosia" , 0x04F288 }, + { (char*) "Asia/Novokuznetsk" , 0x04FA74 }, + { (char*) "Asia/Novosibirsk" , 0x04FF10 }, + { (char*) "Asia/Omsk" , 0x0503E7 }, + { (char*) "Asia/Oral" , 0x0508A9 }, + { (char*) "Asia/Phnom_Penh" , 0x050CA3 }, + { (char*) "Asia/Pontianak" , 0x050DC8 }, + { (char*) "Asia/Pyongyang" , 0x050F4B }, + { (char*) "Asia/Qatar" , 0x051044 }, + { (char*) "Asia/Qostanay" , 0x051109 }, + { (char*) "Asia/Qyzylorda" , 0x051530 }, + { (char*) "Asia/Rangoon" , 0x05194C }, + { (char*) "Asia/Riyadh" , 0x051A56 }, + { (char*) "Asia/Saigon" , 0x051AF9 }, + { (char*) "Asia/Sakhalin" , 0x051C56 }, + { (char*) "Asia/Samarkand" , 0x05211E }, + { (char*) "Asia/Seoul" , 0x05236E }, + { (char*) "Asia/Shanghai" , 0x0525E3 }, + { (char*) "Asia/Singapore" , 0x05282C }, + { (char*) "Asia/Srednekolymsk" , 0x0529C9 }, + { (char*) "Asia/Taipei" , 0x052E9D }, + { (char*) "Asia/Tashkent" , 0x0531A2 }, + { (char*) "Asia/Tbilisi" , 0x053400 }, + { (char*) "Asia/Tehran" , 0x053809 }, + { (char*) "Asia/Tel_Aviv" , 0x053CF5 }, + { (char*) "Asia/Thimbu" , 0x054655 }, + { (char*) "Asia/Thimphu" , 0x05471E }, + { (char*) "Asia/Tokyo" , 0x0547E7 }, + { (char*) "Asia/Tomsk" , 0x054928 }, + { (char*) "Asia/Ujung_Pandang" , 0x054DF9 }, + { (char*) "Asia/Ulaanbaatar" , 0x054F03 }, + { (char*) "Asia/Ulan_Bator" , 0x05528C }, + { (char*) "Asia/Urumqi" , 0x055605 }, + { (char*) "Asia/Ust-Nera" , 0x0556B5 }, + { (char*) "Asia/Vientiane" , 0x055BAB }, + { (char*) "Asia/Vladivostok" , 0x055CEC }, + { (char*) "Asia/Yakutsk" , 0x0561B5 }, + { (char*) "Asia/Yangon" , 0x05667D }, + { (char*) "Asia/Yekaterinburg" , 0x056787 }, + { (char*) "Asia/Yerevan" , 0x056C6E }, + { (char*) "Atlantic/Azores" , 0x0570EB }, + { (char*) "Atlantic/Bermuda" , 0x057EA7 }, + { (char*) "Atlantic/Canary" , 0x05880F }, + { (char*) "Atlantic/Cape_Verde" , 0x058F92 }, + { (char*) "Atlantic/Faeroe" , 0x05909E }, + { (char*) "Atlantic/Faroe" , 0x0597C1 }, + { (char*) "Atlantic/Jan_Mayen" , 0x059EE4 }, + { (char*) "Atlantic/Madeira" , 0x05A7EA }, + { (char*) "Atlantic/Reykjavik" , 0x05B5B4 }, + { (char*) "Atlantic/South_Georgia" , 0x05BA4A }, + { (char*) "Atlantic/St_Helena" , 0x05BAEC }, + { (char*) "Atlantic/Stanley" , 0x05BBAE }, + { (char*) "Australia/ACT" , 0x05C06A }, + { (char*) "Australia/Adelaide" , 0x05C904 }, + { (char*) "Australia/Brisbane" , 0x05D1BF }, + { (char*) "Australia/Broken_Hill" , 0x05D385 }, + { (char*) "Australia/Canberra" , 0x05DC62 }, + { (char*) "Australia/Currie" , 0x05E4FC }, + { (char*) "Australia/Darwin" , 0x05EE3E }, + { (char*) "Australia/Eucla" , 0x05EFA1 }, + { (char*) "Australia/Hobart" , 0x05F18E }, + { (char*) "Australia/LHI" , 0x05FAD8 }, + { (char*) "Australia/Lindeman" , 0x06021A }, + { (char*) "Australia/Lord_Howe" , 0x060420 }, + { (char*) "Australia/Melbourne" , 0x060B72 }, + { (char*) "Australia/North" , 0x061414 }, + { (char*) "Australia/NSW" , 0x061565 }, + { (char*) "Australia/Perth" , 0x061DFF }, + { (char*) "Australia/Queensland" , 0x061FE7 }, + { (char*) "Australia/South" , 0x062196 }, + { (char*) "Australia/Sydney" , 0x062A42 }, + { (char*) "Australia/Tasmania" , 0x0632F8 }, + { (char*) "Australia/Victoria" , 0x063C3A }, + { (char*) "Australia/West" , 0x0644D4 }, + { (char*) "Australia/Yancowinna" , 0x06469E }, + { (char*) "Brazil/Acre" , 0x064F5F }, + { (char*) "Brazil/DeNoronha" , 0x0651D1 }, + { (char*) "Brazil/East" , 0x06549B }, + { (char*) "Brazil/West" , 0x065A3D }, + { (char*) "Canada/Atlantic" , 0x065C97 }, + { (char*) "Canada/Central" , 0x066A03 }, + { (char*) "Canada/Eastern" , 0x067543 }, + { (char*) "Canada/Mountain" , 0x0682F5 }, + { (char*) "Canada/Newfoundland" , 0x068C1D }, + { (char*) "Canada/Pacific" , 0x069A70 }, + { (char*) "Canada/Saskatchewan" , 0x06A5C8 }, + { (char*) "Canada/Yukon" , 0x06A9A8 }, + { (char*) "CET" , 0x06B002 }, + { (char*) "Chile/Continental" , 0x06B83C }, + { (char*) "Chile/EasterIsland" , 0x06C21B }, + { (char*) "CST6CDT" , 0x06CAD2 }, + { (char*) "Cuba" , 0x06D3E4 }, + { (char*) "EET" , 0x06DD60 }, + { (char*) "Egypt" , 0x06E4E0 }, + { (char*) "Eire" , 0x06EE4B }, + { (char*) "EST" , 0x06FBFB }, + { (char*) "EST5EDT" , 0x06FC79 }, + { (char*) "Etc/GMT" , 0x07058B }, + { (char*) "Etc/GMT+0" , 0x070609 }, + { (char*) "Etc/GMT+1" , 0x070687 }, + { (char*) "Etc/GMT+10" , 0x070707 }, + { (char*) "Etc/GMT+11" , 0x070788 }, + { (char*) "Etc/GMT+12" , 0x070809 }, + { (char*) "Etc/GMT+2" , 0x07088A }, + { (char*) "Etc/GMT+3" , 0x07090A }, + { (char*) "Etc/GMT+4" , 0x07098A }, + { (char*) "Etc/GMT+5" , 0x070A0A }, + { (char*) "Etc/GMT+6" , 0x070A8A }, + { (char*) "Etc/GMT+7" , 0x070B0A }, + { (char*) "Etc/GMT+8" , 0x070B8A }, + { (char*) "Etc/GMT+9" , 0x070C0A }, + { (char*) "Etc/GMT-0" , 0x070C8A }, + { (char*) "Etc/GMT-1" , 0x070D08 }, + { (char*) "Etc/GMT-10" , 0x070D89 }, + { (char*) "Etc/GMT-11" , 0x070E0B }, + { (char*) "Etc/GMT-12" , 0x070E8D }, + { (char*) "Etc/GMT-13" , 0x070F0F }, + { (char*) "Etc/GMT-14" , 0x070F91 }, + { (char*) "Etc/GMT-2" , 0x071013 }, + { (char*) "Etc/GMT-3" , 0x071094 }, + { (char*) "Etc/GMT-4" , 0x071115 }, + { (char*) "Etc/GMT-5" , 0x071196 }, + { (char*) "Etc/GMT-6" , 0x071217 }, + { (char*) "Etc/GMT-7" , 0x071298 }, + { (char*) "Etc/GMT-8" , 0x071319 }, + { (char*) "Etc/GMT-9" , 0x07139A }, + { (char*) "Etc/GMT0" , 0x07141B }, + { (char*) "Etc/Greenwich" , 0x071499 }, + { (char*) "Etc/UCT" , 0x071517 }, + { (char*) "Etc/Universal" , 0x071595 }, + { (char*) "Etc/UTC" , 0x071613 }, + { (char*) "Etc/Zulu" , 0x071691 }, + { (char*) "Europe/Amsterdam" , 0x07170F }, + { (char*) "Europe/Andorra" , 0x072279 }, + { (char*) "Europe/Astrakhan" , 0x072953 }, + { (char*) "Europe/Athens" , 0x072DF0 }, + { (char*) "Europe/Belfast" , 0x0736D2 }, + { (char*) "Europe/Belgrade" , 0x07452E }, + { (char*) "Europe/Berlin" , 0x074CBA }, + { (char*) "Europe/Bratislava" , 0x0755CF }, + { (char*) "Europe/Brussels" , 0x075ED8 }, + { (char*) "Europe/Bucharest" , 0x076A59 }, + { (char*) "Europe/Budapest" , 0x0772ED }, + { (char*) "Europe/Busingen" , 0x077C39 }, + { (char*) "Europe/Chisinau" , 0x0783C2 }, + { (char*) "Europe/Copenhagen" , 0x078D24 }, + { (char*) "Europe/Dublin" , 0x079589 }, + { (char*) "Europe/Gibraltar" , 0x07A339 }, + { (char*) "Europe/Guernsey" , 0x07AF41 }, + { (char*) "Europe/Helsinki" , 0x07BDE1 }, + { (char*) "Europe/Isle_of_Man" , 0x07C559 }, + { (char*) "Europe/Istanbul" , 0x07D3A5 }, + { (char*) "Europe/Jersey" , 0x07DB3E }, + { (char*) "Europe/Kaliningrad" , 0x07E9DE }, + { (char*) "Europe/Kiev" , 0x07EFD3 }, + { (char*) "Europe/Kirov" , 0x07F827 }, + { (char*) "Europe/Kyiv" , 0x07FCE2 }, + { (char*) "Europe/Lisbon" , 0x080545 }, + { (char*) "Europe/Ljubljana" , 0x08130D }, + { (char*) "Europe/London" , 0x081A99 }, + { (char*) "Europe/Luxembourg" , 0x0828F5 }, + { (char*) "Europe/Madrid" , 0x083483 }, + { (char*) "Europe/Malta" , 0x083ED5 }, + { (char*) "Europe/Mariehamn" , 0x08491D }, + { (char*) "Europe/Minsk" , 0x085095 }, + { (char*) "Europe/Monaco" , 0x0855BC }, + { (char*) "Europe/Moscow" , 0x086148 }, + { (char*) "Europe/Nicosia" , 0x086767 }, + { (char*) "Europe/Oslo" , 0x086F45 }, + { (char*) "Europe/Paris" , 0x087805 }, + { (char*) "Europe/Podgorica" , 0x0883A3 }, + { (char*) "Europe/Prague" , 0x088B2F }, + { (char*) "Europe/Riga" , 0x089438 }, + { (char*) "Europe/Rome" , 0x089CDA }, + { (char*) "Europe/Samara" , 0x08A737 }, + { (char*) "Europe/San_Marino" , 0x08AC0D }, + { (char*) "Europe/Sarajevo" , 0x08B66A }, + { (char*) "Europe/Saratov" , 0x08BDF6 }, + { (char*) "Europe/Simferopol" , 0x08C2A3 }, + { (char*) "Europe/Skopje" , 0x08C872 }, + { (char*) "Europe/Sofia" , 0x08CFFE }, + { (char*) "Europe/Stockholm" , 0x08D827 }, + { (char*) "Europe/Tallinn" , 0x08DFA8 }, + { (char*) "Europe/Tirane" , 0x08E818 }, + { (char*) "Europe/Tiraspol" , 0x08F048 }, + { (char*) "Europe/Ulyanovsk" , 0x08F9AA }, + { (char*) "Europe/Uzhgorod" , 0x08FEAD }, + { (char*) "Europe/Vaduz" , 0x090701 }, + { (char*) "Europe/Vatican" , 0x090E6D }, + { (char*) "Europe/Vienna" , 0x0918CA }, + { (char*) "Europe/Vilnius" , 0x09216E }, + { (char*) "Europe/Volgograd" , 0x0929EC }, + { (char*) "Europe/Warsaw" , 0x092EB3 }, + { (char*) "Europe/Zagreb" , 0x09391D }, + { (char*) "Europe/Zaporozhye" , 0x0940A9 }, + { (char*) "Europe/Zurich" , 0x0948FD }, + { (char*) "Factory" , 0x09507E }, + { (char*) "GB" , 0x0950FE }, + { (char*) "GB-Eire" , 0x095F5A }, + { (char*) "GMT" , 0x096DB6 }, + { (char*) "GMT+0" , 0x096E34 }, + { (char*) "GMT-0" , 0x096EB2 }, + { (char*) "GMT0" , 0x096F30 }, + { (char*) "Greenwich" , 0x096FAE }, + { (char*) "Hongkong" , 0x09702C }, + { (char*) "HST" , 0x097509 }, + { (char*) "Iceland" , 0x097588 }, + { (char*) "Indian/Antananarivo" , 0x097628 }, + { (char*) "Indian/Chagos" , 0x09770F }, + { (char*) "Indian/Christmas" , 0x0977D4 }, + { (char*) "Indian/Cocos" , 0x097877 }, + { (char*) "Indian/Comoro" , 0x097923 }, + { (char*) "Indian/Kerguelen" , 0x0979C4 }, + { (char*) "Indian/Mahe" , 0x097A67 }, + { (char*) "Indian/Maldives" , 0x097B0A }, + { (char*) "Indian/Mauritius" , 0x097BCF }, + { (char*) "Indian/Mayotte" , 0x097CBE }, + { (char*) "Indian/Reunion" , 0x097D5F }, + { (char*) "Iran" , 0x097E02 }, + { (char*) "Israel" , 0x0982EE }, + { (char*) "Jamaica" , 0x098C4E }, + { (char*) "Japan" , 0x098E3C }, + { (char*) "Kwajalein" , 0x098F7D }, + { (char*) "Libya" , 0x0990B7 }, + { (char*) "MET" , 0x099334 }, + { (char*) "Mexico/BajaNorte" , 0x099B6E }, + { (char*) "Mexico/BajaSur" , 0x09A4C0 }, + { (char*) "Mexico/General" , 0x09A934 }, + { (char*) "MST" , 0x09AE06 }, + { (char*) "MST7MDT" , 0x09AE84 }, + { (char*) "Navajo" , 0x09B796 }, + { (char*) "NZ" , 0x09C13E }, + { (char*) "NZ-CHAT" , 0x09CACF }, + { (char*) "Pacific/Apia" , 0x09D2E1 }, + { (char*) "Pacific/Auckland" , 0x09D543 }, + { (char*) "Pacific/Bougainville" , 0x09DEE7 }, + { (char*) "Pacific/Chatham" , 0x09DFFD }, + { (char*) "Pacific/Chuuk" , 0x09E81E }, + { (char*) "Pacific/Easter" , 0x09E938 }, + { (char*) "Pacific/Efate" , 0x09F1FC }, + { (char*) "Pacific/Enderbury" , 0x09F414 }, + { (char*) "Pacific/Fakaofo" , 0x09F4FC }, + { (char*) "Pacific/Fiji" , 0x09F5C2 }, + { (char*) "Pacific/Funafuti" , 0x09F802 }, + { (char*) "Pacific/Galapagos" , 0x09F8A6 }, + { (char*) "Pacific/Gambier" , 0x09F9A3 }, + { (char*) "Pacific/Guadalcanal" , 0x09FA54 }, + { (char*) "Pacific/Guam" , 0x09FAF8 }, + { (char*) "Pacific/Honolulu" , 0x09FCF2 }, + { (char*) "Pacific/Johnston" , 0x09FE4D }, + { (char*) "Pacific/Kanton" , 0x09FFA2 }, + { (char*) "Pacific/Kiritimati" , 0x0A0099 }, + { (char*) "Pacific/Kosrae" , 0x0A0191 }, + { (char*) "Pacific/Kwajalein" , 0x0A02F4 }, + { (char*) "Pacific/Majuro" , 0x0A0437 }, + { (char*) "Pacific/Marquesas" , 0x0A0583 }, + { (char*) "Pacific/Midway" , 0x0A063F }, + { (char*) "Pacific/Nauru" , 0x0A0732 }, + { (char*) "Pacific/Niue" , 0x0A082C }, + { (char*) "Pacific/Norfolk" , 0x0A08F5 }, + { (char*) "Pacific/Noumea" , 0x0A0C63 }, + { (char*) "Pacific/Pago_Pago" , 0x0A0D91 }, + { (char*) "Pacific/Palau" , 0x0A0E4C }, + { (char*) "Pacific/Pitcairn" , 0x0A0EFE }, + { (char*) "Pacific/Pohnpei" , 0x0A0FC6 }, + { (char*) "Pacific/Ponape" , 0x0A1101 }, + { (char*) "Pacific/Port_Moresby" , 0x0A11A5 }, + { (char*) "Pacific/Rarotonga" , 0x0A1275 }, + { (char*) "Pacific/Saipan" , 0x0A14CE }, + { (char*) "Pacific/Samoa" , 0x0A16BA }, + { (char*) "Pacific/Tahiti" , 0x0A1775 }, + { (char*) "Pacific/Tarawa" , 0x0A1827 }, + { (char*) "Pacific/Tongatapu" , 0x0A18DA }, + { (char*) "Pacific/Truk" , 0x0A1A4C }, + { (char*) "Pacific/Wake" , 0x0A1B04 }, + { (char*) "Pacific/Wallis" , 0x0A1BB3 }, + { (char*) "Pacific/Yap" , 0x0A1C57 }, + { (char*) "Poland" , 0x0A1D0F }, + { (char*) "Portugal" , 0x0A2779 }, + { (char*) "PRC" , 0x0A352E }, + { (char*) "PST8PDT" , 0x0A376B }, + { (char*) "ROC" , 0x0A407D }, + { (char*) "ROK" , 0x0A4382 }, + { (char*) "Singapore" , 0x0A45F7 }, + { (char*) "Turkey" , 0x0A4794 }, + { (char*) "UCT" , 0x0A4F2D }, + { (char*) "Universal" , 0x0A4FAB }, + { (char*) "US/Alaska" , 0x0A5029 }, + { (char*) "US/Aleutian" , 0x0A5978 }, + { (char*) "US/Arizona" , 0x0A62B8 }, + { (char*) "US/Central" , 0x0A642C }, + { (char*) "US/East-Indiana" , 0x0A7240 }, + { (char*) "US/Eastern" , 0x0A78DE }, + { (char*) "US/Hawaii" , 0x0A86CA }, + { (char*) "US/Indiana-Starke" , 0x0A881F }, + { (char*) "US/Michigan" , 0x0A91B7 }, + { (char*) "US/Mountain" , 0x0A9A79 }, + { (char*) "US/Pacific" , 0x0AA421 }, + { (char*) "US/Samoa" , 0x0AAF51 }, + { (char*) "UTC" , 0x0AB00C }, + { (char*) "W-SU" , 0x0AB08A }, + { (char*) "WET" , 0x0AB695 }, + { (char*) "Zulu" , 0x0ABE12 }, }; -const unsigned char timelib_timezone_db_data_builtin[704152] = { +const unsigned char timelib_timezone_db_data_builtin[704144] = { /* Africa/Abidjan */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -35067,7 +35067,7 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { /* America/Miquelon */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x50, 0x4D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x91, 0xB6, 0x38, 0xA8, +0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x91, 0xDF, 0x17, 0x28, 0x13, 0x6E, 0x63, 0xC0, 0x20, 0x75, 0xE4, 0xD0, 0x21, 0x81, 0x77, 0x40, 0x22, 0x55, 0xC6, 0xD0, 0x23, 0x6A, 0x93, 0xC0, 0x24, 0x35, 0xA8, 0xD0, 0x25, 0x4A, 0x75, 0xC0, 0x26, 0x15, 0x8A, 0xD0, 0x27, 0x2A, 0x57, 0xC0, 0x27, 0xFE, 0xA7, 0x50, 0x29, 0x0A, 0x39, 0xC0, 0x29, 0xDE, 0x89, 0x50, @@ -35105,7 +35105,7 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { 0x41, 0x53, 0x54, 0x00, 0x2D, 0x30, 0x33, 0x00, 0x2D, 0x30, 0x32, 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, 0x68, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0xB6, 0x38, 0xA8, +0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0xDF, 0x17, 0x28, 0x00, 0x00, 0x00, 0x00, 0x13, 0x6E, 0x63, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x20, 0x75, 0xE4, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x21, 0x81, 0x77, 0x40, 0x00, 0x00, 0x00, 0x00, 0x22, 0x55, 0xC6, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x23, 0x6A, 0x93, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x24, 0x35, 0xA8, 0xD0, @@ -35554,8 +35554,8 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { 0xC0, 0xA4, 0x9B, 0xF0, 0xC1, 0x6F, 0x94, 0xE0, 0xC2, 0x84, 0x7D, 0xF0, 0xC3, 0x4F, 0x76, 0xE0, 0xC4, 0x64, 0x5F, 0xF0, 0xC5, 0x2F, 0x58, 0xE0, 0xC6, 0x4D, 0x7C, 0x70, 0xC7, 0x0F, 0x3A, 0xE0, 0xC8, 0x2D, 0x5E, 0x70, 0xCB, 0x88, 0xF0, 0x70, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xFB, 0xE0, -0xD3, 0x75, 0xE4, 0xF0, 0xD4, 0x40, 0xDD, 0xE0, 0xD5, 0x55, 0xAA, 0xD0, 0xD6, 0x20, 0xA3, 0xC0, -0xD7, 0x35, 0x8C, 0xD0, 0xD8, 0x00, 0x85, 0xC0, 0xD9, 0x15, 0x6E, 0xD0, 0xDA, 0x33, 0x76, 0x40, +0xD3, 0x75, 0xE4, 0xF0, 0xD4, 0x40, 0xDD, 0xE0, 0xD5, 0x55, 0xC6, 0xF0, 0xD6, 0x20, 0xBF, 0xE0, +0xD7, 0x35, 0xA8, 0xF0, 0xD8, 0x00, 0xA1, 0xE0, 0xD9, 0x15, 0x8A, 0xF0, 0xDA, 0x33, 0x92, 0x60, 0xDA, 0xFE, 0xA7, 0x70, 0xDC, 0x13, 0x74, 0x60, 0xDC, 0xDE, 0x89, 0x70, 0xDD, 0xA9, 0x82, 0x60, 0xDE, 0xBE, 0x6B, 0x70, 0xDF, 0x89, 0x64, 0x60, 0xE0, 0x9E, 0x4D, 0x70, 0xE1, 0x69, 0x46, 0x60, 0xE2, 0x7E, 0x2F, 0x70, 0xE3, 0x49, 0x28, 0x60, 0xE4, 0x5E, 0x11, 0x70, 0xE5, 0x29, 0x0A, 0x60, @@ -35646,10 +35646,10 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x0F, 0x3A, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x2D, 0x5E, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x88, 0xF0, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xFB, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x75, 0xE4, -0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xAA, -0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xA3, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0x8C, -0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0x85, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x6E, -0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0x33, 0x76, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, +0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xC6, +0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xBF, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0xA8, +0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0xA1, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x8A, +0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0x33, 0x92, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0x13, 0x74, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xDE, 0x89, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xA9, 0x82, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xBE, 0x6B, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0x89, 0x64, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x9E, 0x4D, @@ -36169,8 +36169,8 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { 0xC0, 0xA4, 0x9B, 0xF0, 0xC1, 0x6F, 0x94, 0xE0, 0xC2, 0x84, 0x7D, 0xF0, 0xC3, 0x4F, 0x76, 0xE0, 0xC4, 0x64, 0x5F, 0xF0, 0xC5, 0x2F, 0x58, 0xE0, 0xC6, 0x4D, 0x7C, 0x70, 0xC7, 0x0F, 0x3A, 0xE0, 0xC8, 0x2D, 0x5E, 0x70, 0xCB, 0x88, 0xF0, 0x70, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xFB, 0xE0, -0xD3, 0x75, 0xE4, 0xF0, 0xD4, 0x40, 0xDD, 0xE0, 0xD5, 0x55, 0xAA, 0xD0, 0xD6, 0x20, 0xA3, 0xC0, -0xD7, 0x35, 0x8C, 0xD0, 0xD8, 0x00, 0x85, 0xC0, 0xD9, 0x15, 0x6E, 0xD0, 0xDA, 0x33, 0x76, 0x40, +0xD3, 0x75, 0xE4, 0xF0, 0xD4, 0x40, 0xDD, 0xE0, 0xD5, 0x55, 0xC6, 0xF0, 0xD6, 0x20, 0xBF, 0xE0, +0xD7, 0x35, 0xA8, 0xF0, 0xD8, 0x00, 0xA1, 0xE0, 0xD9, 0x15, 0x8A, 0xF0, 0xDA, 0x33, 0x92, 0x60, 0xDA, 0xFE, 0xA7, 0x70, 0xDC, 0x13, 0x74, 0x60, 0xDC, 0xDE, 0x89, 0x70, 0xDD, 0xA9, 0x82, 0x60, 0xDE, 0xBE, 0x6B, 0x70, 0xDF, 0x89, 0x64, 0x60, 0xE0, 0x9E, 0x4D, 0x70, 0xE1, 0x69, 0x46, 0x60, 0xE2, 0x7E, 0x2F, 0x70, 0xE3, 0x49, 0x28, 0x60, 0xE4, 0x5E, 0x11, 0x70, 0xE5, 0x29, 0x0A, 0x60, @@ -36261,10 +36261,10 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x0F, 0x3A, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x2D, 0x5E, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x88, 0xF0, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xFB, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x75, 0xE4, -0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xAA, -0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xA3, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0x8C, -0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0x85, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x6E, -0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0x33, 0x76, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, +0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xC6, +0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xBF, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0xA8, +0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0xA1, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x8A, +0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0x33, 0x92, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0x13, 0x74, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xDE, 0x89, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xA9, 0x82, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xBE, 0x6B, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0x89, 0x64, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x9E, 0x4D, @@ -39863,8 +39863,8 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { 0xC0, 0xA4, 0x9B, 0xF0, 0xC1, 0x6F, 0x94, 0xE0, 0xC2, 0x84, 0x7D, 0xF0, 0xC3, 0x4F, 0x76, 0xE0, 0xC4, 0x64, 0x5F, 0xF0, 0xC5, 0x2F, 0x58, 0xE0, 0xC6, 0x4D, 0x7C, 0x70, 0xC7, 0x0F, 0x3A, 0xE0, 0xC8, 0x2D, 0x5E, 0x70, 0xCB, 0x88, 0xF0, 0x70, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xFB, 0xE0, -0xD3, 0x75, 0xE4, 0xF0, 0xD4, 0x40, 0xDD, 0xE0, 0xD5, 0x55, 0xAA, 0xD0, 0xD6, 0x20, 0xA3, 0xC0, -0xD7, 0x35, 0x8C, 0xD0, 0xD8, 0x00, 0x85, 0xC0, 0xD9, 0x15, 0x6E, 0xD0, 0xDA, 0x33, 0x76, 0x40, +0xD3, 0x75, 0xE4, 0xF0, 0xD4, 0x40, 0xDD, 0xE0, 0xD5, 0x55, 0xC6, 0xF0, 0xD6, 0x20, 0xBF, 0xE0, +0xD7, 0x35, 0xA8, 0xF0, 0xD8, 0x00, 0xA1, 0xE0, 0xD9, 0x15, 0x8A, 0xF0, 0xDA, 0x33, 0x92, 0x60, 0xDA, 0xFE, 0xA7, 0x70, 0xDC, 0x13, 0x74, 0x60, 0xDC, 0xDE, 0x89, 0x70, 0xDD, 0xA9, 0x82, 0x60, 0xDE, 0xBE, 0x6B, 0x70, 0xDF, 0x89, 0x64, 0x60, 0xE0, 0x9E, 0x4D, 0x70, 0xE1, 0x69, 0x46, 0x60, 0xE2, 0x7E, 0x2F, 0x70, 0xE3, 0x49, 0x28, 0x60, 0xE4, 0x5E, 0x11, 0x70, 0xE5, 0x29, 0x0A, 0x60, @@ -39955,10 +39955,10 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x0F, 0x3A, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x2D, 0x5E, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x88, 0xF0, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xFB, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x75, 0xE4, -0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xAA, -0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xA3, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0x8C, -0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0x85, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x6E, -0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0x33, 0x76, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, +0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xC6, +0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xBF, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0xA8, +0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0xA1, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x8A, +0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0x33, 0x92, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0x13, 0x74, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xDE, 0x89, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xA9, 0x82, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xBE, 0x6B, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0x89, 0x64, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x9E, 0x4D, @@ -40238,8 +40238,8 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { 0xC0, 0xA4, 0x9B, 0xF0, 0xC1, 0x6F, 0x94, 0xE0, 0xC2, 0x84, 0x7D, 0xF0, 0xC3, 0x4F, 0x76, 0xE0, 0xC4, 0x64, 0x5F, 0xF0, 0xC5, 0x2F, 0x58, 0xE0, 0xC6, 0x4D, 0x7C, 0x70, 0xC7, 0x0F, 0x3A, 0xE0, 0xC8, 0x2D, 0x5E, 0x70, 0xCB, 0x88, 0xF0, 0x70, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xFB, 0xE0, -0xD3, 0x75, 0xE4, 0xF0, 0xD4, 0x40, 0xDD, 0xE0, 0xD5, 0x55, 0xAA, 0xD0, 0xD6, 0x20, 0xA3, 0xC0, -0xD7, 0x35, 0x8C, 0xD0, 0xD8, 0x00, 0x85, 0xC0, 0xD9, 0x15, 0x6E, 0xD0, 0xDA, 0x33, 0x76, 0x40, +0xD3, 0x75, 0xE4, 0xF0, 0xD4, 0x40, 0xDD, 0xE0, 0xD5, 0x55, 0xC6, 0xF0, 0xD6, 0x20, 0xBF, 0xE0, +0xD7, 0x35, 0xA8, 0xF0, 0xD8, 0x00, 0xA1, 0xE0, 0xD9, 0x15, 0x8A, 0xF0, 0xDA, 0x33, 0x92, 0x60, 0xDA, 0xFE, 0xA7, 0x70, 0xDC, 0x13, 0x74, 0x60, 0xDC, 0xDE, 0x89, 0x70, 0xDD, 0xA9, 0x82, 0x60, 0xDE, 0xBE, 0x6B, 0x70, 0xDF, 0x89, 0x64, 0x60, 0xE0, 0x9E, 0x4D, 0x70, 0xE1, 0x69, 0x46, 0x60, 0xE2, 0x7E, 0x2F, 0x70, 0xE3, 0x49, 0x28, 0x60, 0xE4, 0x5E, 0x11, 0x70, 0xE5, 0x29, 0x0A, 0x60, @@ -40330,10 +40330,10 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x0F, 0x3A, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x2D, 0x5E, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x88, 0xF0, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xFB, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x75, 0xE4, -0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xAA, -0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xA3, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0x8C, -0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0x85, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x6E, -0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0x33, 0x76, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, +0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xC6, +0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xBF, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0xA8, +0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0xA1, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x8A, +0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0x33, 0x92, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0x13, 0x74, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xDE, 0x89, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xA9, 0x82, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xBE, 0x6B, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0x89, 0x64, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x9E, 0x4D, @@ -42135,8 +42135,8 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { /* Asia/Almaty */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4B, 0x5A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x10, 0xAA, 0x19, 0x7B, 0xDC, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x10, 0xAA, 0x19, 0x7B, 0xDC, 0xB5, 0xA3, 0xEF, 0x30, 0x15, 0x27, 0x7D, 0xA0, 0x16, 0x18, 0xB2, 0x10, 0x17, 0x08, 0xB1, 0x20, 0x17, 0xF9, 0xE5, 0x90, 0x18, 0xE9, 0xE4, 0xA0, 0x19, 0xDB, 0x19, 0x10, 0x1A, 0xCC, 0x69, 0xA0, 0x1B, 0xBC, 0x76, 0xC0, 0x1C, 0xAC, 0x67, 0xC0, 0x1D, 0x9C, 0x58, 0xC0, 0x1E, 0x8C, 0x49, 0xC0, @@ -42149,53 +42149,53 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { 0x35, 0x1D, 0x56, 0xC0, 0x36, 0x32, 0x31, 0xC0, 0x36, 0xFD, 0x38, 0xC0, 0x38, 0x1B, 0x4E, 0x40, 0x38, 0xDD, 0x1A, 0xC0, 0x39, 0xFB, 0x30, 0x40, 0x3A, 0xBC, 0xFC, 0xC0, 0x3B, 0xDB, 0x12, 0x40, 0x3C, 0xA6, 0x19, 0x40, 0x3D, 0xBA, 0xF4, 0x40, 0x3E, 0x85, 0xFB, 0x40, 0x3F, 0x9A, 0xD6, 0x40, -0x40, 0x65, 0xDD, 0x40, 0x41, 0x83, 0xF2, 0xC0, 0x01, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x06, 0x07, -0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, -0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x00, 0x00, 0x48, 0x24, 0x00, -0x00, 0x00, 0x00, 0x46, 0x50, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x01, 0x08, 0x00, 0x00, 0x54, -0x60, 0x00, 0x0C, 0x00, 0x00, 0x54, 0x60, 0x00, 0x0C, 0x00, 0x00, 0x62, 0x70, 0x01, 0x08, 0x00, -0x00, 0x54, 0x60, 0x01, 0x0C, 0x00, 0x00, 0x46, 0x50, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x01, -0x08, 0x00, 0x00, 0x54, 0x60, 0x00, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x35, 0x00, 0x2B, -0x30, 0x37, 0x00, 0x2B, 0x30, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 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, 0x0A, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, -0xFF, 0xAA, 0x19, 0x7B, 0xDC, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, 0xA3, 0xEF, 0x30, 0x00, 0x00, 0x00, -0x00, 0x15, 0x27, 0x7D, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x18, 0xB2, 0x10, 0x00, 0x00, 0x00, -0x00, 0x17, 0x08, 0xB1, 0x20, 0x00, 0x00, 0x00, 0x00, 0x17, 0xF9, 0xE5, 0x90, 0x00, 0x00, 0x00, -0x00, 0x18, 0xE9, 0xE4, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x19, 0xDB, 0x19, 0x10, 0x00, 0x00, 0x00, -0x00, 0x1A, 0xCC, 0x69, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xBC, 0x76, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x1C, 0xAC, 0x67, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x1D, 0x9C, 0x58, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x1E, 0x8C, 0x49, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x7C, 0x3A, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x20, 0x6C, 0x2B, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x21, 0x5C, 0x1C, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x22, 0x4C, 0x0D, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x23, 0x3B, 0xFE, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x24, 0x2B, 0xEF, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x25, 0x1B, 0xE0, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x26, 0x0B, 0xD1, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x27, 0x04, 0xFD, 0x40, 0x00, 0x00, 0x00, -0x00, 0x27, 0xF4, 0xEE, 0x40, 0x00, 0x00, 0x00, 0x00, 0x28, 0xE4, 0xED, 0x50, 0x00, 0x00, 0x00, -0x00, 0x29, 0x78, 0x95, 0x50, 0x00, 0x00, 0x00, 0x00, 0x29, 0xD4, 0xD0, 0x40, 0x00, 0x00, 0x00, -0x00, 0x2A, 0xC4, 0xC1, 0x40, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xB4, 0xB2, 0x40, 0x00, 0x00, 0x00, -0x00, 0x2C, 0xA4, 0xA3, 0x40, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x94, 0x94, 0x40, 0x00, 0x00, 0x00, -0x00, 0x2E, 0x84, 0x85, 0x40, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x74, 0x76, 0x40, 0x00, 0x00, 0x00, -0x00, 0x30, 0x64, 0x67, 0x40, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0x92, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x32, 0x72, 0x6D, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x33, 0x3D, 0x74, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x34, 0x52, 0x4F, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x35, 0x1D, 0x56, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x36, 0x32, 0x31, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x36, 0xFD, 0x38, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x38, 0x1B, 0x4E, 0x40, 0x00, 0x00, 0x00, 0x00, 0x38, 0xDD, 0x1A, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x39, 0xFB, 0x30, 0x40, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xBC, 0xFC, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x3B, 0xDB, 0x12, 0x40, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xA6, 0x19, 0x40, 0x00, 0x00, 0x00, -0x00, 0x3D, 0xBA, 0xF4, 0x40, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x85, 0xFB, 0x40, 0x00, 0x00, 0x00, -0x00, 0x3F, 0x9A, 0xD6, 0x40, 0x00, 0x00, 0x00, 0x00, 0x40, 0x65, 0xDD, 0x40, 0x00, 0x00, 0x00, -0x00, 0x41, 0x83, 0xF2, 0xC0, 0x01, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x04, 0x05, -0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x06, 0x07, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x00, 0x00, 0x48, 0x24, 0x00, 0x00, 0x00, 0x00, -0x46, 0x50, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x01, 0x08, 0x00, 0x00, 0x54, 0x60, 0x00, 0x0C, -0x00, 0x00, 0x54, 0x60, 0x00, 0x0C, 0x00, 0x00, 0x62, 0x70, 0x01, 0x08, 0x00, 0x00, 0x54, 0x60, -0x01, 0x0C, 0x00, 0x00, 0x46, 0x50, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x01, 0x08, 0x00, 0x00, -0x54, 0x60, 0x00, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x35, 0x00, 0x2B, 0x30, 0x37, 0x00, -0x2B, 0x30, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x0A, 0x3C, -0x2B, 0x30, 0x36, 0x3E, 0x2D, 0x36, 0x0A, 0x00, 0xCB, 0x52, 0xC8, 0x01, 0x88, 0x13, 0x18, 0x00, +0x40, 0x65, 0xDD, 0x40, 0x41, 0x83, 0xF2, 0xC0, 0x65, 0xE0, 0xC6, 0x20, 0x01, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, +0x05, 0x04, 0x06, 0x07, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, +0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x01, +0x00, 0x00, 0x48, 0x24, 0x00, 0x00, 0x00, 0x00, 0x46, 0x50, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, +0x01, 0x08, 0x00, 0x00, 0x54, 0x60, 0x00, 0x0C, 0x00, 0x00, 0x54, 0x60, 0x00, 0x0C, 0x00, 0x00, +0x62, 0x70, 0x01, 0x08, 0x00, 0x00, 0x54, 0x60, 0x01, 0x0C, 0x00, 0x00, 0x46, 0x50, 0x00, 0x04, +0x00, 0x00, 0x62, 0x70, 0x01, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x35, 0x00, 0x2B, 0x30, +0x37, 0x00, 0x2B, 0x30, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 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, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, +0x19, 0x7B, 0xDC, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, 0xA3, 0xEF, 0x30, 0x00, 0x00, 0x00, 0x00, 0x15, +0x27, 0x7D, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x18, 0xB2, 0x10, 0x00, 0x00, 0x00, 0x00, 0x17, +0x08, 0xB1, 0x20, 0x00, 0x00, 0x00, 0x00, 0x17, 0xF9, 0xE5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, +0xE9, 0xE4, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x19, 0xDB, 0x19, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1A, +0xCC, 0x69, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xBC, 0x76, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x1C, +0xAC, 0x67, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x1D, 0x9C, 0x58, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x1E, +0x8C, 0x49, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x7C, 0x3A, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x20, +0x6C, 0x2B, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x21, 0x5C, 0x1C, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x22, +0x4C, 0x0D, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x23, 0x3B, 0xFE, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x24, +0x2B, 0xEF, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x25, 0x1B, 0xE0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x26, +0x0B, 0xD1, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x27, 0x04, 0xFD, 0x40, 0x00, 0x00, 0x00, 0x00, 0x27, +0xF4, 0xEE, 0x40, 0x00, 0x00, 0x00, 0x00, 0x28, 0xE4, 0xED, 0x50, 0x00, 0x00, 0x00, 0x00, 0x29, +0x78, 0x95, 0x50, 0x00, 0x00, 0x00, 0x00, 0x29, 0xD4, 0xD0, 0x40, 0x00, 0x00, 0x00, 0x00, 0x2A, +0xC4, 0xC1, 0x40, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xB4, 0xB2, 0x40, 0x00, 0x00, 0x00, 0x00, 0x2C, +0xA4, 0xA3, 0x40, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x94, 0x94, 0x40, 0x00, 0x00, 0x00, 0x00, 0x2E, +0x84, 0x85, 0x40, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x74, 0x76, 0x40, 0x00, 0x00, 0x00, 0x00, 0x30, +0x64, 0x67, 0x40, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0x92, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x32, +0x72, 0x6D, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x33, 0x3D, 0x74, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x34, +0x52, 0x4F, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x35, 0x1D, 0x56, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x36, +0x32, 0x31, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x36, 0xFD, 0x38, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x38, +0x1B, 0x4E, 0x40, 0x00, 0x00, 0x00, 0x00, 0x38, 0xDD, 0x1A, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x39, +0xFB, 0x30, 0x40, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xBC, 0xFC, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x3B, +0xDB, 0x12, 0x40, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xA6, 0x19, 0x40, 0x00, 0x00, 0x00, 0x00, 0x3D, +0xBA, 0xF4, 0x40, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x85, 0xFB, 0x40, 0x00, 0x00, 0x00, 0x00, 0x3F, +0x9A, 0xD6, 0x40, 0x00, 0x00, 0x00, 0x00, 0x40, 0x65, 0xDD, 0x40, 0x00, 0x00, 0x00, 0x00, 0x41, +0x83, 0xF2, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x65, 0xE0, 0xC6, 0x20, 0x01, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, +0x04, 0x06, 0x07, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, +0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x01, 0x00, +0x00, 0x48, 0x24, 0x00, 0x00, 0x00, 0x00, 0x46, 0x50, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x01, +0x08, 0x00, 0x00, 0x54, 0x60, 0x00, 0x0C, 0x00, 0x00, 0x54, 0x60, 0x00, 0x0C, 0x00, 0x00, 0x62, +0x70, 0x01, 0x08, 0x00, 0x00, 0x54, 0x60, 0x01, 0x0C, 0x00, 0x00, 0x46, 0x50, 0x00, 0x04, 0x00, +0x00, 0x62, 0x70, 0x01, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x35, 0x00, 0x2B, 0x30, 0x37, +0x00, 0x2B, 0x30, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x0A, 0x3C, +0x2B, 0x30, 0x35, 0x3E, 0x2D, 0x35, 0x0A, 0x00, 0xCB, 0x52, 0xC8, 0x01, 0x88, 0x13, 0x18, 0x00, 0x00, 0x00, 0x12, 0x6D, 0x6F, 0x73, 0x74, 0x20, 0x6F, 0x66, 0x20, 0x4B, 0x61, 0x7A, 0x61, 0x6B, 0x68, 0x73, 0x74, 0x61, 0x6E, @@ -43787,7 +43787,7 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { 0x59, 0xF3, 0xAC, 0x60, 0x5A, 0xB5, 0x86, 0xF0, 0x5B, 0xD3, 0x8E, 0x60, 0x5C, 0x9D, 0x43, 0xE0, 0x5D, 0xB3, 0x62, 0x50, 0x5E, 0x7E, 0x77, 0x60, 0x5F, 0x93, 0x52, 0x60, 0x60, 0x5E, 0x59, 0x60, 0x61, 0x7B, 0x1D, 0x60, 0x62, 0x3F, 0x8C, 0xE0, 0x63, 0x5C, 0x5E, 0xF0, 0x64, 0x4C, 0x5E, 0x00, -0x65, 0x3C, 0x40, 0xF0, 0x66, 0x19, 0xCB, 0x00, 0x67, 0x1C, 0x22, 0xF0, 0x67, 0xF0, 0x72, 0x80, +0x65, 0x3C, 0x40, 0xF0, 0x66, 0x23, 0x05, 0x80, 0x67, 0x1C, 0x22, 0xF0, 0x67, 0xF9, 0xAD, 0x00, 0x68, 0xFC, 0x04, 0xF0, 0x69, 0xC7, 0x1A, 0x00, 0x6A, 0xDB, 0xE6, 0xF0, 0x6B, 0xA6, 0xFC, 0x00, 0x6C, 0xC5, 0x03, 0x70, 0x6D, 0x86, 0xDE, 0x00, 0x6E, 0xA4, 0xE5, 0x70, 0x6F, 0x66, 0xC0, 0x00, 0x70, 0x84, 0xC7, 0x70, 0x71, 0x4F, 0xDC, 0x80, 0x72, 0x64, 0xA9, 0x70, 0x73, 0x2F, 0xBE, 0x80, @@ -43812,7 +43812,7 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x33, 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, 0x01, 0x36, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x15, 0xFF, 0xFF, 0xFF, 0xFF, 0x7D, +0x00, 0x01, 0x34, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x15, 0xFF, 0xFF, 0xFF, 0xFF, 0x7D, 0xBD, 0x4A, 0xB0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x59, 0xCF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0xFA, 0xA6, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xC9, 0x38, 0x9C, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xE5, 0xEB, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0xAC, 0xFE, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, @@ -43874,8 +43874,8 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { 0x5E, 0x59, 0x60, 0x00, 0x00, 0x00, 0x00, 0x61, 0x7B, 0x1D, 0x60, 0x00, 0x00, 0x00, 0x00, 0x62, 0x3F, 0x8C, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x63, 0x5C, 0x5E, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x64, 0x4C, 0x5E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x65, 0x3C, 0x40, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x66, -0x19, 0xCB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0x1C, 0x22, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x67, -0xF0, 0x72, 0x80, 0x00, 0x00, 0x00, 0x00, 0x68, 0xFC, 0x04, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x69, +0x23, 0x05, 0x80, 0x00, 0x00, 0x00, 0x00, 0x67, 0x1C, 0x22, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x67, +0xF9, 0xAD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0xFC, 0x04, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x69, 0xC7, 0x1A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xDB, 0xE6, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x6B, 0xA6, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xC5, 0x03, 0x70, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x86, 0xDE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6E, 0xA4, 0xE5, 0x70, 0x00, 0x00, 0x00, 0x00, 0x6F, @@ -43889,42 +43889,41 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { 0x98, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7D, 0xA3, 0xF5, 0x70, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x78, 0x45, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x7A, 0x9C, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x80, 0x58, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x81, 0x48, 0x09, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x82, -0x38, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x83, 0x1E, 0xB1, 0x70, 0x00, 0x00, 0x00, 0x00, 0x83, -0x4C, 0xE4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x83, 0x56, 0x10, 0x70, 0x00, 0x00, 0x00, 0x00, 0x84, +0x38, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x83, 0x1E, 0xB1, 0x70, 0x00, 0x00, 0x00, 0x00, 0x84, 0x17, 0xEB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84, 0xEC, 0x1E, 0x70, 0x00, 0x00, 0x00, 0x00, 0x85, -0x23, 0x8B, 0x80, 0x00, 0x00, 0x00, 0x00, 0x85, 0x35, 0xF2, 0x70, 0x00, 0x00, 0x00, 0x00, 0x86, +0x2C, 0xC6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x85, 0x35, 0xF2, 0x70, 0x00, 0x00, 0x00, 0x00, 0x86, 0x01, 0x07, 0x80, 0x00, 0x00, 0x00, 0x00, 0x86, 0xC2, 0xC5, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x86, -0xF0, 0xF8, 0x80, 0x00, 0x00, 0x00, 0x00, 0x87, 0x15, 0xD4, 0x70, 0x00, 0x00, 0x00, 0x00, 0x87, +0xFA, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x87, 0x15, 0xD4, 0x70, 0x00, 0x00, 0x00, 0x00, 0x87, 0xE0, 0xE9, 0x80, 0x00, 0x00, 0x00, 0x00, 0x88, 0x99, 0x6D, 0x70, 0x00, 0x00, 0x00, 0x00, 0x88, -0xC7, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0xF5, 0xB6, 0x70, 0x00, 0x00, 0x00, 0x00, 0x89, +0xD0, 0xDA, 0x80, 0x00, 0x00, 0x00, 0x00, 0x88, 0xF5, 0xB6, 0x70, 0x00, 0x00, 0x00, 0x00, 0x89, 0xC0, 0xCB, 0x80, 0x00, 0x00, 0x00, 0x00, 0x8A, 0x66, 0xDA, 0x70, 0x00, 0x00, 0x00, 0x00, 0x8A, -0x9E, 0x47, 0x80, 0x00, 0x00, 0x00, 0x00, 0x8A, 0xD5, 0x98, 0x70, 0x00, 0x00, 0x00, 0x00, 0x8B, +0xA7, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8A, 0xD5, 0x98, 0x70, 0x00, 0x00, 0x00, 0x00, 0x8B, 0xA0, 0xAD, 0x80, 0x00, 0x00, 0x00, 0x00, 0x8C, 0x3D, 0x81, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x8C, -0x6B, 0xB4, 0x80, 0x00, 0x00, 0x00, 0x00, 0x8C, 0xBE, 0xB4, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x8D, +0x74, 0xEF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8C, 0xBE, 0xB4, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x8D, 0x80, 0x8F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x8E, 0x14, 0x29, 0x70, 0x00, 0x00, 0x00, 0x00, 0x8E, -0x42, 0x5C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8E, 0x9E, 0x96, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x8F, +0x4B, 0x96, 0x80, 0x00, 0x00, 0x00, 0x00, 0x8E, 0x9E, 0x96, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x8F, 0x60, 0x71, 0x80, 0x00, 0x00, 0x00, 0x00, 0x8F, 0xE1, 0x96, 0x70, 0x00, 0x00, 0x00, 0x00, 0x90, -0x19, 0x03, 0x80, 0x00, 0x00, 0x00, 0x00, 0x90, 0x7E, 0x78, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x91, +0x22, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x7E, 0x78, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x91, 0x49, 0x8E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x91, 0xB8, 0x3D, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x91, -0xE6, 0x70, 0x80, 0x00, 0x00, 0x00, 0x00, 0x92, 0x5E, 0x5A, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x93, +0xEF, 0xAB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x92, 0x5E, 0x5A, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x93, 0x29, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x93, 0x85, 0xAA, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x93, -0xBD, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x94, 0x3E, 0x3C, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x95, +0xC6, 0x52, 0x80, 0x00, 0x00, 0x00, 0x00, 0x94, 0x3E, 0x3C, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x95, 0x09, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x95, 0x5C, 0x52, 0x70, 0x00, 0x00, 0x00, 0x00, 0x95, -0x8A, 0x85, 0x00, 0x00, 0x00, 0x00, 0x00, 0x96, 0x27, 0x59, 0x70, 0x00, 0x00, 0x00, 0x00, 0x96, +0x93, 0xBF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x96, 0x27, 0x59, 0x70, 0x00, 0x00, 0x00, 0x00, 0x96, 0xE9, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x97, 0x32, 0xF9, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x97, -0x61, 0x2C, 0x80, 0x00, 0x00, 0x00, 0x00, 0x98, 0x07, 0x3B, 0x70, 0x00, 0x00, 0x00, 0x00, 0x98, +0x6A, 0x67, 0x00, 0x00, 0x00, 0x00, 0x00, 0x98, 0x07, 0x3B, 0x70, 0x00, 0x00, 0x00, 0x00, 0x98, 0xC9, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x99, 0x00, 0x66, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x99, -0x37, 0xD4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x99, 0xE7, 0x1D, 0x70, 0x00, 0x00, 0x00, 0x00, 0x9A, +0x41, 0x0E, 0x80, 0x00, 0x00, 0x00, 0x00, 0x99, 0xE7, 0x1D, 0x70, 0x00, 0x00, 0x00, 0x00, 0x9A, 0xB2, 0x32, 0x80, 0x00, 0x00, 0x00, 0x00, 0x9A, 0xD7, 0x0E, 0x70, 0x00, 0x00, 0x00, 0x00, 0x9B, -0x05, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9B, 0xC6, 0xFF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x9C, +0x0E, 0x7B, 0x80, 0x00, 0x00, 0x00, 0x00, 0x9B, 0xC6, 0xFF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x9C, 0x92, 0x14, 0x80, 0x00, 0x00, 0x00, 0x00, 0x9C, 0xA4, 0x7B, 0x70, 0x00, 0x00, 0x00, 0x00, 0x9C, -0xDB, 0xE8, 0x80, 0x00, 0x00, 0x00, 0x00, 0x9D, 0xA6, 0xE1, 0x70, 0x00, 0x00, 0x00, 0x00, 0x9E, +0xE5, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9D, 0xA6, 0xE1, 0x70, 0x00, 0x00, 0x00, 0x00, 0x9E, 0x71, 0xF6, 0x80, 0x00, 0x00, 0x00, 0x00, 0x9E, 0x7B, 0x22, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x9E, -0xB2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9F, 0x86, 0xC3, 0x70, 0x00, 0x00, 0x00, 0x00, 0xA0, -0x7F, 0xFD, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA1, 0x6F, 0xDF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xA2, -0x56, 0xA4, 0x80, 0x00, 0x00, 0x00, 0x00, 0xA3, 0x4F, 0xC1, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xA4, -0x24, 0x11, 0x80, 0x00, 0x00, 0x00, 0x00, 0xA5, 0x2F, 0xA3, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xA5, -0xFA, 0xB9, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA7, 0x0F, 0x85, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xA7, +0xBB, 0xCA, 0x80, 0x00, 0x00, 0x00, 0x00, 0x9F, 0x86, 0xC3, 0x70, 0x00, 0x00, 0x00, 0x00, 0xA0, +0x89, 0x37, 0x80, 0x00, 0x00, 0x00, 0x00, 0xA1, 0x6F, 0xDF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xA2, +0x5F, 0xDF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA3, 0x4F, 0xC1, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xA4, +0x2D, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA5, 0x2F, 0xA3, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xA6, +0x03, 0xF3, 0x80, 0x00, 0x00, 0x00, 0x00, 0xA7, 0x0F, 0x85, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xA7, 0xDA, 0x9B, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA8, 0xEF, 0x67, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xA9, 0xBA, 0x7D, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAA, 0xD8, 0x84, 0x70, 0x00, 0x00, 0x00, 0x00, 0xAB, 0x9A, 0x5F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAC, 0xB8, 0x66, 0x70, 0x00, 0x00, 0x00, 0x00, 0xAD, @@ -43939,35 +43938,35 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { 0x8B, 0xC6, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBD, 0x84, 0xE3, 0x70, 0x00, 0x00, 0x00, 0x00, 0xBE, 0x6B, 0xA8, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBF, 0x52, 0x50, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x4B, 0x8A, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC1, 0x28, 0xF7, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xC1, -0x57, 0x2A, 0x80, 0x00, 0x00, 0x00, 0x00, 0xC1, 0x69, 0x91, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC2, +0x60, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC1, 0x69, 0x91, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC2, 0x2B, 0x6C, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC2, 0xFF, 0x9F, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC3, -0x2D, 0xD2, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC3, 0x49, 0x73, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC4, +0x37, 0x0C, 0x80, 0x00, 0x00, 0x00, 0x00, 0xC3, 0x49, 0x73, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC4, 0x0B, 0x4E, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC4, 0xCD, 0x0C, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC5, -0x04, 0x79, 0x80, 0x00, 0x00, 0x00, 0x00, 0xC5, 0x29, 0x55, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC5, +0x0D, 0xB4, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC5, 0x29, 0x55, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC5, 0xF4, 0x6A, 0x80, 0x00, 0x00, 0x00, 0x00, 0xC6, 0xA3, 0xB3, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xC6, -0xD1, 0xE6, 0x80, 0x00, 0x00, 0x00, 0x00, 0xC7, 0x09, 0x37, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC7, +0xDB, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC7, 0x09, 0x37, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC7, 0xD4, 0x4C, 0x80, 0x00, 0x00, 0x00, 0x00, 0xC8, 0x71, 0x20, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xC8, -0xA8, 0x8E, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC8, 0xE9, 0x19, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC9, +0xB1, 0xC8, 0x80, 0x00, 0x00, 0x00, 0x00, 0xC8, 0xE9, 0x19, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC9, 0xB4, 0x2E, 0x80, 0x00, 0x00, 0x00, 0x00, 0xCA, 0x47, 0xC8, 0x70, 0x00, 0x00, 0x00, 0x00, 0xCA, -0x7F, 0x35, 0x80, 0x00, 0x00, 0x00, 0x00, 0xCA, 0xD2, 0x35, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xCB, +0x88, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCA, 0xD2, 0x35, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xCB, 0x94, 0x10, 0x80, 0x00, 0x00, 0x00, 0x00, 0xCC, 0x1E, 0x6F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xCC, -0x4C, 0xA2, 0x80, 0x00, 0x00, 0x00, 0x00, 0xCC, 0xB2, 0x17, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xCD, +0x55, 0xDD, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCC, 0xB2, 0x17, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xCD, 0x73, 0xF2, 0x80, 0x00, 0x00, 0x00, 0x00, 0xCD, 0xEB, 0xDC, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xCE, -0x23, 0x4A, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCE, 0x91, 0xF9, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xCF, +0x2C, 0x84, 0x80, 0x00, 0x00, 0x00, 0x00, 0xCE, 0x91, 0xF9, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xCF, 0x5D, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCF, 0xC2, 0x84, 0x70, 0x00, 0x00, 0x00, 0x00, 0xCF, -0xF0, 0xB7, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD0, 0x71, 0xDB, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xD1, +0xF9, 0xF1, 0x80, 0x00, 0x00, 0x00, 0x00, 0xD0, 0x71, 0xDB, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xD1, 0x3C, 0xF1, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD1, 0x99, 0x2B, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xD1, -0xC7, 0x5E, 0x80, 0x00, 0x00, 0x00, 0x00, 0xD2, 0x51, 0xBD, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xD3, +0xD0, 0x99, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD2, 0x51, 0xBD, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xD3, 0x1C, 0xD3, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD3, 0x66, 0x98, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xD3, -0x9E, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD4, 0x31, 0x9F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xD4, +0xA7, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0xD4, 0x31, 0x9F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xD4, 0xFC, 0xB5, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD5, 0x3D, 0x40, 0x70, 0x00, 0x00, 0x00, 0x00, 0xD5, -0x6B, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD6, 0x1A, 0xBC, 0x70, 0x00, 0x00, 0x00, 0x00, 0xD6, +0x74, 0xAD, 0x80, 0x00, 0x00, 0x00, 0x00, 0xD6, 0x1A, 0xBC, 0x70, 0x00, 0x00, 0x00, 0x00, 0xD6, 0xDC, 0x97, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD7, 0x0A, 0xAD, 0x70, 0x00, 0x00, 0x00, 0x00, 0xD7, -0x42, 0x1A, 0x80, 0x00, 0x00, 0x00, 0x00, 0xD7, 0xFA, 0x9E, 0x70, 0x00, 0x00, 0x00, 0x00, 0xD8, +0x4B, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD7, 0xFA, 0x9E, 0x70, 0x00, 0x00, 0x00, 0x00, 0xD8, 0xBC, 0x79, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD8, 0xE1, 0x54, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xD9, -0x18, 0xC2, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD9, 0xDA, 0x80, 0x70, 0x00, 0x00, 0x00, 0x00, 0xDA, +0x21, 0xFC, 0x80, 0x00, 0x00, 0x00, 0x00, 0xD9, 0xDA, 0x80, 0x70, 0x00, 0x00, 0x00, 0x00, 0xDA, 0xA5, 0x95, 0x80, 0x00, 0x00, 0x00, 0x00, 0xDA, 0xB7, 0xFC, 0x70, 0x00, 0x00, 0x00, 0x00, 0xDA, -0xE6, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xDB, 0xBA, 0x62, 0x70, 0x03, 0x01, 0x02, 0x01, 0x02, +0xEF, 0x69, 0x80, 0x00, 0x00, 0x00, 0x00, 0xDB, 0xBA, 0x62, 0x70, 0x03, 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, 0x06, 0x05, 0x06, 0x05, 0x06, 0x07, 0x08, 0x07, 0x08, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, @@ -43986,17 +43985,17 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 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, 0x20, 0x50, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x04, 0x00, 0x00, 0x1C, -0x20, 0x00, 0x09, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x09, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x04, 0x00, -0x00, 0x2A, 0x30, 0x01, 0x0D, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x11, 0x00, 0x00, 0x2A, 0x30, 0x01, -0x0D, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x11, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x09, 0x4C, 0x4D, 0x54, -0x00, 0x45, 0x45, 0x53, 0x54, 0x00, 0x45, 0x45, 0x54, 0x00, 0x49, 0x44, 0x54, 0x00, 0x49, 0x53, -0x54, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x45, 0x45, 0x54, 0x2D, 0x32, 0x45, 0x45, 0x53, 0x54, -0x2C, 0x4D, 0x33, 0x2E, 0x34, 0x2E, 0x34, 0x2F, 0x35, 0x30, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x34, -0x2E, 0x34, 0x2F, 0x35, 0x30, 0x0A, 0x00, 0xB9, 0x64, 0xF0, 0x01, 0x47, 0x40, 0x0A, 0x00, 0x00, -0x00, 0x0A, 0x47, 0x61, 0x7A, 0x61, 0x20, 0x53, 0x74, 0x72, 0x69, 0x70, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x00, +0x00, 0x20, 0x50, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x00, +0x09, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x09, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x04, 0x00, 0x00, 0x2A, +0x30, 0x01, 0x0D, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x11, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x0D, 0x00, +0x00, 0x1C, 0x20, 0x00, 0x11, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x45, +0x45, 0x53, 0x54, 0x00, 0x45, 0x45, 0x54, 0x00, 0x49, 0x44, 0x54, 0x00, 0x49, 0x53, 0x54, 0x00, +0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x0A, 0x45, 0x45, 0x54, 0x2D, 0x32, 0x45, 0x45, 0x53, 0x54, 0x2C, 0x4D, +0x33, 0x2E, 0x34, 0x2E, 0x34, 0x2F, 0x35, 0x30, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x34, 0x2E, 0x34, +0x2F, 0x35, 0x30, 0x0A, 0x00, 0xB9, 0x64, 0xF0, 0x01, 0x47, 0x40, 0x0A, 0x00, 0x00, 0x00, 0x0A, +0x47, 0x61, 0x7A, 0x61, 0x20, 0x53, 0x74, 0x72, 0x69, 0x70, /* Asia/Harbin */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -44070,8 +44069,8 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { 0x58, 0x13, 0xCA, 0x60, 0x58, 0xD5, 0xA4, 0xF0, 0x59, 0xF3, 0xAC, 0x60, 0x5A, 0xB5, 0x86, 0xF0, 0x5B, 0xD3, 0x8E, 0x60, 0x5C, 0x9D, 0x43, 0xE0, 0x5D, 0xB3, 0x62, 0x50, 0x5E, 0x7E, 0x77, 0x60, 0x5F, 0x93, 0x52, 0x60, 0x60, 0x5E, 0x59, 0x60, 0x61, 0x7B, 0x1D, 0x60, 0x62, 0x3F, 0x8C, 0xE0, -0x63, 0x5C, 0x5E, 0xF0, 0x64, 0x4C, 0x5E, 0x00, 0x65, 0x3C, 0x40, 0xF0, 0x66, 0x19, 0xCB, 0x00, -0x67, 0x1C, 0x22, 0xF0, 0x67, 0xF0, 0x72, 0x80, 0x68, 0xFC, 0x04, 0xF0, 0x69, 0xC7, 0x1A, 0x00, +0x63, 0x5C, 0x5E, 0xF0, 0x64, 0x4C, 0x5E, 0x00, 0x65, 0x3C, 0x40, 0xF0, 0x66, 0x23, 0x05, 0x80, +0x67, 0x1C, 0x22, 0xF0, 0x67, 0xF9, 0xAD, 0x00, 0x68, 0xFC, 0x04, 0xF0, 0x69, 0xC7, 0x1A, 0x00, 0x6A, 0xDB, 0xE6, 0xF0, 0x6B, 0xA6, 0xFC, 0x00, 0x6C, 0xC5, 0x03, 0x70, 0x6D, 0x86, 0xDE, 0x00, 0x6E, 0xA4, 0xE5, 0x70, 0x6F, 0x66, 0xC0, 0x00, 0x70, 0x84, 0xC7, 0x70, 0x71, 0x4F, 0xDC, 0x80, 0x72, 0x64, 0xA9, 0x70, 0x73, 0x2F, 0xBE, 0x80, 0x74, 0x44, 0x8B, 0x70, 0x75, 0x0F, 0xA0, 0x80, @@ -44095,7 +44094,7 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { 0x00, 0x49, 0x53, 0x54, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x33, 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, 0x01, 0x38, 0x00, 0x00, 0x00, +0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x36, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x15, 0xFF, 0xFF, 0xFF, 0xFF, 0x7D, 0xBD, 0x4A, 0x19, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x59, 0xCF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0xFA, 0xA6, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xC9, 0x38, 0x9C, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xE5, 0xEB, 0x80, 0xFF, 0xFF, 0xFF, @@ -44158,8 +44157,8 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { 0x00, 0x5F, 0x93, 0x52, 0x60, 0x00, 0x00, 0x00, 0x00, 0x60, 0x5E, 0x59, 0x60, 0x00, 0x00, 0x00, 0x00, 0x61, 0x7B, 0x1D, 0x60, 0x00, 0x00, 0x00, 0x00, 0x62, 0x3F, 0x8C, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x63, 0x5C, 0x5E, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x64, 0x4C, 0x5E, 0x00, 0x00, 0x00, 0x00, -0x00, 0x65, 0x3C, 0x40, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x66, 0x19, 0xCB, 0x00, 0x00, 0x00, 0x00, -0x00, 0x67, 0x1C, 0x22, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x67, 0xF0, 0x72, 0x80, 0x00, 0x00, 0x00, +0x00, 0x65, 0x3C, 0x40, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x66, 0x23, 0x05, 0x80, 0x00, 0x00, 0x00, +0x00, 0x67, 0x1C, 0x22, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x67, 0xF9, 0xAD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0xFC, 0x04, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x69, 0xC7, 0x1A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xDB, 0xE6, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x6B, 0xA6, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xC5, 0x03, 0x70, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x86, 0xDE, 0x00, 0x00, 0x00, 0x00, @@ -44174,41 +44173,40 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { 0x00, 0x7D, 0xA3, 0xF5, 0x70, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x78, 0x45, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x7A, 0x9C, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x80, 0x58, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x81, 0x48, 0x09, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x82, 0x38, 0x09, 0x00, 0x00, 0x00, 0x00, -0x00, 0x83, 0x1E, 0xB1, 0x70, 0x00, 0x00, 0x00, 0x00, 0x83, 0x4C, 0xE4, 0x00, 0x00, 0x00, 0x00, -0x00, 0x83, 0x56, 0x10, 0x70, 0x00, 0x00, 0x00, 0x00, 0x84, 0x17, 0xEB, 0x00, 0x00, 0x00, 0x00, -0x00, 0x84, 0xEC, 0x1E, 0x70, 0x00, 0x00, 0x00, 0x00, 0x85, 0x23, 0x8B, 0x80, 0x00, 0x00, 0x00, +0x00, 0x83, 0x1E, 0xB1, 0x70, 0x00, 0x00, 0x00, 0x00, 0x84, 0x17, 0xEB, 0x00, 0x00, 0x00, 0x00, +0x00, 0x84, 0xEC, 0x1E, 0x70, 0x00, 0x00, 0x00, 0x00, 0x85, 0x2C, 0xC6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x85, 0x35, 0xF2, 0x70, 0x00, 0x00, 0x00, 0x00, 0x86, 0x01, 0x07, 0x80, 0x00, 0x00, 0x00, -0x00, 0x86, 0xC2, 0xC5, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x86, 0xF0, 0xF8, 0x80, 0x00, 0x00, 0x00, +0x00, 0x86, 0xC2, 0xC5, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x86, 0xFA, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x87, 0x15, 0xD4, 0x70, 0x00, 0x00, 0x00, 0x00, 0x87, 0xE0, 0xE9, 0x80, 0x00, 0x00, 0x00, -0x00, 0x88, 0x99, 0x6D, 0x70, 0x00, 0x00, 0x00, 0x00, 0x88, 0xC7, 0xA0, 0x00, 0x00, 0x00, 0x00, +0x00, 0x88, 0x99, 0x6D, 0x70, 0x00, 0x00, 0x00, 0x00, 0x88, 0xD0, 0xDA, 0x80, 0x00, 0x00, 0x00, 0x00, 0x88, 0xF5, 0xB6, 0x70, 0x00, 0x00, 0x00, 0x00, 0x89, 0xC0, 0xCB, 0x80, 0x00, 0x00, 0x00, -0x00, 0x8A, 0x66, 0xDA, 0x70, 0x00, 0x00, 0x00, 0x00, 0x8A, 0x9E, 0x47, 0x80, 0x00, 0x00, 0x00, +0x00, 0x8A, 0x66, 0xDA, 0x70, 0x00, 0x00, 0x00, 0x00, 0x8A, 0xA7, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8A, 0xD5, 0x98, 0x70, 0x00, 0x00, 0x00, 0x00, 0x8B, 0xA0, 0xAD, 0x80, 0x00, 0x00, 0x00, -0x00, 0x8C, 0x3D, 0x81, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x8C, 0x6B, 0xB4, 0x80, 0x00, 0x00, 0x00, +0x00, 0x8C, 0x3D, 0x81, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x8C, 0x74, 0xEF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8C, 0xBE, 0xB4, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x8D, 0x80, 0x8F, 0x80, 0x00, 0x00, 0x00, -0x00, 0x8E, 0x14, 0x29, 0x70, 0x00, 0x00, 0x00, 0x00, 0x8E, 0x42, 0x5C, 0x00, 0x00, 0x00, 0x00, +0x00, 0x8E, 0x14, 0x29, 0x70, 0x00, 0x00, 0x00, 0x00, 0x8E, 0x4B, 0x96, 0x80, 0x00, 0x00, 0x00, 0x00, 0x8E, 0x9E, 0x96, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x8F, 0x60, 0x71, 0x80, 0x00, 0x00, 0x00, -0x00, 0x8F, 0xE1, 0x96, 0x70, 0x00, 0x00, 0x00, 0x00, 0x90, 0x19, 0x03, 0x80, 0x00, 0x00, 0x00, +0x00, 0x8F, 0xE1, 0x96, 0x70, 0x00, 0x00, 0x00, 0x00, 0x90, 0x22, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x7E, 0x78, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x91, 0x49, 0x8E, 0x00, 0x00, 0x00, 0x00, -0x00, 0x91, 0xB8, 0x3D, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x91, 0xE6, 0x70, 0x80, 0x00, 0x00, 0x00, +0x00, 0x91, 0xB8, 0x3D, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x91, 0xEF, 0xAB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x92, 0x5E, 0x5A, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x93, 0x29, 0x70, 0x00, 0x00, 0x00, 0x00, -0x00, 0x93, 0x85, 0xAA, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x93, 0xBD, 0x18, 0x00, 0x00, 0x00, 0x00, +0x00, 0x93, 0x85, 0xAA, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x93, 0xC6, 0x52, 0x80, 0x00, 0x00, 0x00, 0x00, 0x94, 0x3E, 0x3C, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x95, 0x09, 0x52, 0x00, 0x00, 0x00, 0x00, -0x00, 0x95, 0x5C, 0x52, 0x70, 0x00, 0x00, 0x00, 0x00, 0x95, 0x8A, 0x85, 0x00, 0x00, 0x00, 0x00, +0x00, 0x95, 0x5C, 0x52, 0x70, 0x00, 0x00, 0x00, 0x00, 0x95, 0x93, 0xBF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x96, 0x27, 0x59, 0x70, 0x00, 0x00, 0x00, 0x00, 0x96, 0xE9, 0x34, 0x00, 0x00, 0x00, 0x00, -0x00, 0x97, 0x32, 0xF9, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x97, 0x61, 0x2C, 0x80, 0x00, 0x00, 0x00, +0x00, 0x97, 0x32, 0xF9, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x97, 0x6A, 0x67, 0x00, 0x00, 0x00, 0x00, 0x00, 0x98, 0x07, 0x3B, 0x70, 0x00, 0x00, 0x00, 0x00, 0x98, 0xC9, 0x16, 0x00, 0x00, 0x00, 0x00, -0x00, 0x99, 0x00, 0x66, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x99, 0x37, 0xD4, 0x00, 0x00, 0x00, 0x00, +0x00, 0x99, 0x00, 0x66, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x99, 0x41, 0x0E, 0x80, 0x00, 0x00, 0x00, 0x00, 0x99, 0xE7, 0x1D, 0x70, 0x00, 0x00, 0x00, 0x00, 0x9A, 0xB2, 0x32, 0x80, 0x00, 0x00, 0x00, -0x00, 0x9A, 0xD7, 0x0E, 0x70, 0x00, 0x00, 0x00, 0x00, 0x9B, 0x05, 0x41, 0x00, 0x00, 0x00, 0x00, +0x00, 0x9A, 0xD7, 0x0E, 0x70, 0x00, 0x00, 0x00, 0x00, 0x9B, 0x0E, 0x7B, 0x80, 0x00, 0x00, 0x00, 0x00, 0x9B, 0xC6, 0xFF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x9C, 0x92, 0x14, 0x80, 0x00, 0x00, 0x00, -0x00, 0x9C, 0xA4, 0x7B, 0x70, 0x00, 0x00, 0x00, 0x00, 0x9C, 0xDB, 0xE8, 0x80, 0x00, 0x00, 0x00, +0x00, 0x9C, 0xA4, 0x7B, 0x70, 0x00, 0x00, 0x00, 0x00, 0x9C, 0xE5, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9D, 0xA6, 0xE1, 0x70, 0x00, 0x00, 0x00, 0x00, 0x9E, 0x71, 0xF6, 0x80, 0x00, 0x00, 0x00, -0x00, 0x9E, 0x7B, 0x22, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x9E, 0xB2, 0x90, 0x00, 0x00, 0x00, 0x00, -0x00, 0x9F, 0x86, 0xC3, 0x70, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x7F, 0xFD, 0x00, 0x00, 0x00, 0x00, -0x00, 0xA1, 0x6F, 0xDF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xA2, 0x56, 0xA4, 0x80, 0x00, 0x00, 0x00, -0x00, 0xA3, 0x4F, 0xC1, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xA4, 0x24, 0x11, 0x80, 0x00, 0x00, 0x00, -0x00, 0xA5, 0x2F, 0xA3, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xA5, 0xFA, 0xB9, 0x00, 0x00, 0x00, 0x00, +0x00, 0x9E, 0x7B, 0x22, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x9E, 0xBB, 0xCA, 0x80, 0x00, 0x00, 0x00, +0x00, 0x9F, 0x86, 0xC3, 0x70, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x89, 0x37, 0x80, 0x00, 0x00, 0x00, +0x00, 0xA1, 0x6F, 0xDF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xA2, 0x5F, 0xDF, 0x00, 0x00, 0x00, 0x00, +0x00, 0xA3, 0x4F, 0xC1, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xA4, 0x2D, 0x4C, 0x00, 0x00, 0x00, 0x00, +0x00, 0xA5, 0x2F, 0xA3, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xA6, 0x03, 0xF3, 0x80, 0x00, 0x00, 0x00, 0x00, 0xA7, 0x0F, 0x85, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xA7, 0xDA, 0x9B, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA8, 0xEF, 0x67, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xA9, 0xBA, 0x7D, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAA, 0xD8, 0x84, 0x70, 0x00, 0x00, 0x00, 0x00, 0xAB, 0x9A, 0x5F, 0x00, 0x00, 0x00, 0x00, @@ -44223,35 +44221,35 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { 0x00, 0xBB, 0xAE, 0x3B, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xBC, 0x8B, 0xC6, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBD, 0x84, 0xE3, 0x70, 0x00, 0x00, 0x00, 0x00, 0xBE, 0x6B, 0xA8, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBF, 0x52, 0x50, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x4B, 0x8A, 0x00, 0x00, 0x00, 0x00, -0x00, 0xC1, 0x28, 0xF7, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xC1, 0x57, 0x2A, 0x80, 0x00, 0x00, 0x00, +0x00, 0xC1, 0x28, 0xF7, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xC1, 0x60, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC1, 0x69, 0x91, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC2, 0x2B, 0x6C, 0x00, 0x00, 0x00, 0x00, -0x00, 0xC2, 0xFF, 0x9F, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC3, 0x2D, 0xD2, 0x00, 0x00, 0x00, 0x00, +0x00, 0xC2, 0xFF, 0x9F, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC3, 0x37, 0x0C, 0x80, 0x00, 0x00, 0x00, 0x00, 0xC3, 0x49, 0x73, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC4, 0x0B, 0x4E, 0x00, 0x00, 0x00, 0x00, -0x00, 0xC4, 0xCD, 0x0C, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC5, 0x04, 0x79, 0x80, 0x00, 0x00, 0x00, +0x00, 0xC4, 0xCD, 0x0C, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC5, 0x0D, 0xB4, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC5, 0x29, 0x55, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC5, 0xF4, 0x6A, 0x80, 0x00, 0x00, 0x00, -0x00, 0xC6, 0xA3, 0xB3, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xC6, 0xD1, 0xE6, 0x80, 0x00, 0x00, 0x00, +0x00, 0xC6, 0xA3, 0xB3, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xC6, 0xDB, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC7, 0x09, 0x37, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC7, 0xD4, 0x4C, 0x80, 0x00, 0x00, 0x00, -0x00, 0xC8, 0x71, 0x20, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xC8, 0xA8, 0x8E, 0x00, 0x00, 0x00, 0x00, +0x00, 0xC8, 0x71, 0x20, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xC8, 0xB1, 0xC8, 0x80, 0x00, 0x00, 0x00, 0x00, 0xC8, 0xE9, 0x19, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC9, 0xB4, 0x2E, 0x80, 0x00, 0x00, 0x00, -0x00, 0xCA, 0x47, 0xC8, 0x70, 0x00, 0x00, 0x00, 0x00, 0xCA, 0x7F, 0x35, 0x80, 0x00, 0x00, 0x00, +0x00, 0xCA, 0x47, 0xC8, 0x70, 0x00, 0x00, 0x00, 0x00, 0xCA, 0x88, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCA, 0xD2, 0x35, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xCB, 0x94, 0x10, 0x80, 0x00, 0x00, 0x00, -0x00, 0xCC, 0x1E, 0x6F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xCC, 0x4C, 0xA2, 0x80, 0x00, 0x00, 0x00, +0x00, 0xCC, 0x1E, 0x6F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xCC, 0x55, 0xDD, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCC, 0xB2, 0x17, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xCD, 0x73, 0xF2, 0x80, 0x00, 0x00, 0x00, -0x00, 0xCD, 0xEB, 0xDC, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xCE, 0x23, 0x4A, 0x00, 0x00, 0x00, 0x00, +0x00, 0xCD, 0xEB, 0xDC, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xCE, 0x2C, 0x84, 0x80, 0x00, 0x00, 0x00, 0x00, 0xCE, 0x91, 0xF9, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xCF, 0x5D, 0x0F, 0x00, 0x00, 0x00, 0x00, -0x00, 0xCF, 0xC2, 0x84, 0x70, 0x00, 0x00, 0x00, 0x00, 0xCF, 0xF0, 0xB7, 0x00, 0x00, 0x00, 0x00, +0x00, 0xCF, 0xC2, 0x84, 0x70, 0x00, 0x00, 0x00, 0x00, 0xCF, 0xF9, 0xF1, 0x80, 0x00, 0x00, 0x00, 0x00, 0xD0, 0x71, 0xDB, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xD1, 0x3C, 0xF1, 0x00, 0x00, 0x00, 0x00, -0x00, 0xD1, 0x99, 0x2B, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xD1, 0xC7, 0x5E, 0x80, 0x00, 0x00, 0x00, +0x00, 0xD1, 0x99, 0x2B, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xD1, 0xD0, 0x99, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD2, 0x51, 0xBD, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xD3, 0x1C, 0xD3, 0x00, 0x00, 0x00, 0x00, -0x00, 0xD3, 0x66, 0x98, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xD3, 0x9E, 0x06, 0x00, 0x00, 0x00, 0x00, +0x00, 0xD3, 0x66, 0x98, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xD3, 0xA7, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0xD4, 0x31, 0x9F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xD4, 0xFC, 0xB5, 0x00, 0x00, 0x00, 0x00, -0x00, 0xD5, 0x3D, 0x40, 0x70, 0x00, 0x00, 0x00, 0x00, 0xD5, 0x6B, 0x73, 0x00, 0x00, 0x00, 0x00, +0x00, 0xD5, 0x3D, 0x40, 0x70, 0x00, 0x00, 0x00, 0x00, 0xD5, 0x74, 0xAD, 0x80, 0x00, 0x00, 0x00, 0x00, 0xD6, 0x1A, 0xBC, 0x70, 0x00, 0x00, 0x00, 0x00, 0xD6, 0xDC, 0x97, 0x00, 0x00, 0x00, 0x00, -0x00, 0xD7, 0x0A, 0xAD, 0x70, 0x00, 0x00, 0x00, 0x00, 0xD7, 0x42, 0x1A, 0x80, 0x00, 0x00, 0x00, +0x00, 0xD7, 0x0A, 0xAD, 0x70, 0x00, 0x00, 0x00, 0x00, 0xD7, 0x4B, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD7, 0xFA, 0x9E, 0x70, 0x00, 0x00, 0x00, 0x00, 0xD8, 0xBC, 0x79, 0x00, 0x00, 0x00, 0x00, -0x00, 0xD8, 0xE1, 0x54, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xD9, 0x18, 0xC2, 0x00, 0x00, 0x00, 0x00, +0x00, 0xD8, 0xE1, 0x54, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xD9, 0x21, 0xFC, 0x80, 0x00, 0x00, 0x00, 0x00, 0xD9, 0xDA, 0x80, 0x70, 0x00, 0x00, 0x00, 0x00, 0xDA, 0xA5, 0x95, 0x80, 0x00, 0x00, 0x00, -0x00, 0xDA, 0xB7, 0xFC, 0x70, 0x00, 0x00, 0x00, 0x00, 0xDA, 0xE6, 0x2F, 0x00, 0x00, 0x00, 0x00, +0x00, 0xDA, 0xB7, 0xFC, 0x70, 0x00, 0x00, 0x00, 0x00, 0xDA, 0xEF, 0x69, 0x80, 0x00, 0x00, 0x00, 0x00, 0xDB, 0xBA, 0x62, 0x70, 0x03, 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, 0x06, 0x05, 0x06, 0x05, 0x06, 0x07, 0x08, 0x07, 0x08, @@ -44271,24 +44269,24 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 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, 0x20, -0xE7, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x09, 0x00, -0x00, 0x1C, 0x20, 0x00, 0x09, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x04, 0x00, 0x00, 0x2A, 0x30, 0x01, -0x0D, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x11, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x0D, 0x00, 0x00, 0x1C, -0x20, 0x00, 0x11, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x45, 0x53, -0x54, 0x00, 0x45, 0x45, 0x54, 0x00, 0x49, 0x44, 0x54, 0x00, 0x49, 0x53, 0x54, 0x00, 0x00, 0x01, -0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x0A, 0x45, 0x45, 0x54, 0x2D, 0x32, 0x45, 0x45, 0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E, -0x34, 0x2E, 0x34, 0x2F, 0x35, 0x30, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x34, 0x2E, 0x34, 0x2F, 0x35, -0x30, 0x0A, 0x00, 0xB9, 0x71, 0xF5, 0x01, 0x48, 0x35, 0x7C, 0x00, 0x00, 0x00, 0x09, 0x57, 0x65, -0x73, 0x74, 0x20, 0x42, 0x61, 0x6E, 0x6B, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x00, 0x00, 0x20, 0xE7, 0x00, +0x00, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x09, 0x00, 0x00, 0x1C, +0x20, 0x00, 0x09, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x04, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x0D, 0x00, +0x00, 0x1C, 0x20, 0x00, 0x11, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x0D, 0x00, 0x00, 0x1C, 0x20, 0x00, +0x11, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x45, 0x53, 0x54, 0x00, +0x45, 0x45, 0x54, 0x00, 0x49, 0x44, 0x54, 0x00, 0x49, 0x53, 0x54, 0x00, 0x00, 0x01, 0x01, 0x00, +0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x0A, 0x45, 0x45, 0x54, 0x2D, 0x32, 0x45, 0x45, 0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x34, 0x2E, +0x34, 0x2F, 0x35, 0x30, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x34, 0x2E, 0x34, 0x2F, 0x35, 0x30, 0x0A, +0x00, 0xB9, 0x71, 0xF5, 0x01, 0x48, 0x35, 0x7C, 0x00, 0x00, 0x00, 0x09, 0x57, 0x65, 0x73, 0x74, +0x20, 0x42, 0x61, 0x6E, 0x6B, /* Asia/Ho_Chi_Minh */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x56, 0x4E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x15, 0x88, 0x8C, 0x43, 0x8A, 0x91, 0xA3, 0x2B, 0x0A, 0xCD, 0x35, 0xE6, 0x80, 0xD1, 0x59, 0xCE, 0x70, 0xD2, 0x3B, 0x3E, 0xF0, -0xD5, 0x32, 0xBB, 0x10, 0xE4, 0xB6, 0xE4, 0x80, 0xED, 0x2F, 0x98, 0x00, 0x0A, 0x3D, 0xC7, 0x00, +0xD5, 0x32, 0xBB, 0x10, 0xE4, 0xB6, 0xF2, 0x90, 0xED, 0x2F, 0x98, 0x00, 0x0A, 0x3D, 0xC7, 0x00, 0x01, 0x02, 0x03, 0x04, 0x02, 0x03, 0x02, 0x03, 0x02, 0x00, 0x00, 0x63, 0xF6, 0x00, 0x00, 0x00, 0x00, 0x63, 0xF6, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x09, 0x00, 0x00, 0x70, 0x80, 0x00, 0x0D, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x11, 0x00, 0x00, 0x62, 0x70, 0x00, 0x09, 0x4C, 0x4D, 0x54, @@ -44299,7 +44297,7 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { 0xFF, 0xFF, 0x88, 0x8C, 0x43, 0x8A, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0xA3, 0x2B, 0x0A, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0x35, 0xE6, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0x59, 0xCE, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x3B, 0x3E, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x32, 0xBB, 0x10, 0xFF, 0xFF, -0xFF, 0xFF, 0xE4, 0xB6, 0xE4, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0x2F, 0x98, 0x00, 0x00, 0x00, +0xFF, 0xFF, 0xE4, 0xB6, 0xF2, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0x2F, 0x98, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x3D, 0xC7, 0x00, 0x01, 0x02, 0x03, 0x04, 0x02, 0x03, 0x02, 0x03, 0x02, 0x00, 0x00, 0x63, 0xF6, 0x00, 0x00, 0x00, 0x00, 0x63, 0xF6, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x09, 0x00, 0x00, 0x70, 0x80, 0x00, 0x0D, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x11, 0x00, 0x00, 0x62, @@ -46092,8 +46090,8 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { /* Asia/Qostanay */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4B, 0x5A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x10, 0xAA, 0x19, 0x88, 0x5C, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x10, 0xAA, 0x19, 0x88, 0x5C, 0xB5, 0xA3, 0xFD, 0x40, 0x15, 0x27, 0x8B, 0xB0, 0x16, 0x18, 0xC0, 0x20, 0x17, 0x08, 0xB1, 0x20, 0x17, 0xF9, 0xF3, 0xA0, 0x18, 0xE9, 0xF2, 0xB0, 0x19, 0xDB, 0x27, 0x20, 0x1A, 0xCC, 0x77, 0xB0, 0x1B, 0xBC, 0x84, 0xD0, 0x1C, 0xAC, 0x75, 0xD0, 0x1D, 0x9C, 0x66, 0xD0, 0x1E, 0x8C, 0x57, 0xD0, @@ -46106,56 +46104,58 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { 0x35, 0x1D, 0x64, 0xD0, 0x36, 0x32, 0x3F, 0xD0, 0x36, 0xFD, 0x46, 0xD0, 0x38, 0x1B, 0x5C, 0x50, 0x38, 0xDD, 0x28, 0xD0, 0x39, 0xFB, 0x3E, 0x50, 0x3A, 0xBD, 0x0A, 0xD0, 0x3B, 0xDB, 0x20, 0x50, 0x3C, 0xA6, 0x27, 0x50, 0x3D, 0xBB, 0x02, 0x50, 0x3E, 0x86, 0x09, 0x50, 0x3F, 0x9A, 0xE4, 0x50, -0x40, 0x65, 0xEB, 0x50, 0x41, 0x84, 0x00, 0xD0, 0x01, 0x02, 0x03, 0x04, 0x03, 0x02, 0x03, 0x02, -0x03, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x07, 0x08, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x09, 0x00, 0x00, 0x3B, 0xA4, 0x00, -0x00, 0x00, 0x00, 0x38, 0x40, 0x00, 0x04, 0x00, 0x00, 0x46, 0x50, 0x00, 0x08, 0x00, 0x00, 0x54, -0x60, 0x01, 0x0C, 0x00, 0x00, 0x54, 0x60, 0x00, 0x0C, 0x00, 0x00, 0x46, 0x50, 0x00, 0x08, 0x00, -0x00, 0x54, 0x60, 0x01, 0x0C, 0x00, 0x00, 0x46, 0x50, 0x01, 0x08, 0x00, 0x00, 0x38, 0x40, 0x00, -0x04, 0x00, 0x00, 0x54, 0x60, 0x00, 0x0C, 0x00, 0x00, 0x54, 0x60, 0x01, 0x0C, 0x4C, 0x4D, 0x54, -0x00, 0x2B, 0x30, 0x34, 0x00, 0x2B, 0x30, 0x35, 0x00, 0x2B, 0x30, 0x36, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 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, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x0B, -0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0x19, 0x88, 0x5C, 0xFF, 0xFF, 0xFF, 0xFF, -0xB5, 0xA3, 0xFD, 0x40, 0x00, 0x00, 0x00, 0x00, 0x15, 0x27, 0x8B, 0xB0, 0x00, 0x00, 0x00, 0x00, -0x16, 0x18, 0xC0, 0x20, 0x00, 0x00, 0x00, 0x00, 0x17, 0x08, 0xB1, 0x20, 0x00, 0x00, 0x00, 0x00, -0x17, 0xF9, 0xF3, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x18, 0xE9, 0xF2, 0xB0, 0x00, 0x00, 0x00, 0x00, -0x19, 0xDB, 0x27, 0x20, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xCC, 0x77, 0xB0, 0x00, 0x00, 0x00, 0x00, -0x1B, 0xBC, 0x84, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xAC, 0x75, 0xD0, 0x00, 0x00, 0x00, 0x00, -0x1D, 0x9C, 0x66, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x8C, 0x57, 0xD0, 0x00, 0x00, 0x00, 0x00, -0x1F, 0x7C, 0x48, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x20, 0x6C, 0x39, 0xD0, 0x00, 0x00, 0x00, 0x00, -0x21, 0x5C, 0x2A, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x22, 0x4C, 0x1B, 0xD0, 0x00, 0x00, 0x00, 0x00, -0x23, 0x3C, 0x0C, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x24, 0x2B, 0xFD, 0xD0, 0x00, 0x00, 0x00, 0x00, -0x25, 0x1B, 0xEE, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x26, 0x0B, 0xDF, 0xD0, 0x00, 0x00, 0x00, 0x00, -0x27, 0x05, 0x0B, 0x50, 0x00, 0x00, 0x00, 0x00, 0x27, 0xF4, 0xFC, 0x50, 0x00, 0x00, 0x00, 0x00, -0x28, 0xE4, 0xFB, 0x60, 0x00, 0x00, 0x00, 0x00, 0x29, 0x78, 0xA3, 0x60, 0x00, 0x00, 0x00, 0x00, -0x29, 0xD4, 0xDE, 0x50, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xC4, 0xCF, 0x50, 0x00, 0x00, 0x00, 0x00, -0x2B, 0xB4, 0xC0, 0x50, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xA4, 0xB1, 0x50, 0x00, 0x00, 0x00, 0x00, -0x2D, 0x94, 0xA2, 0x50, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x84, 0x93, 0x50, 0x00, 0x00, 0x00, 0x00, -0x2F, 0x74, 0x84, 0x50, 0x00, 0x00, 0x00, 0x00, 0x30, 0x64, 0x75, 0x50, 0x00, 0x00, 0x00, 0x00, -0x31, 0x5D, 0xA0, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x32, 0x72, 0x7B, 0xD0, 0x00, 0x00, 0x00, 0x00, -0x33, 0x3D, 0x82, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0x5D, 0xD0, 0x00, 0x00, 0x00, 0x00, -0x35, 0x1D, 0x64, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0x3F, 0xD0, 0x00, 0x00, 0x00, 0x00, -0x36, 0xFD, 0x46, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0x5C, 0x50, 0x00, 0x00, 0x00, 0x00, -0x38, 0xDD, 0x28, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0x3E, 0x50, 0x00, 0x00, 0x00, 0x00, -0x3A, 0xBD, 0x0A, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0x20, 0x50, 0x00, 0x00, 0x00, 0x00, -0x3C, 0xA6, 0x27, 0x50, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x02, 0x50, 0x00, 0x00, 0x00, 0x00, -0x3E, 0x86, 0x09, 0x50, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9A, 0xE4, 0x50, 0x00, 0x00, 0x00, 0x00, -0x40, 0x65, 0xEB, 0x50, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x00, 0xD0, 0x01, 0x02, 0x03, 0x04, +0x40, 0x65, 0xEB, 0x50, 0x41, 0x84, 0x00, 0xD0, 0x65, 0xE0, 0xC6, 0x20, 0x01, 0x02, 0x03, 0x04, 0x03, 0x02, 0x03, 0x02, 0x03, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x07, 0x08, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x09, 0x00, -0x00, 0x3B, 0xA4, 0x00, 0x00, 0x00, 0x00, 0x38, 0x40, 0x00, 0x04, 0x00, 0x00, 0x46, 0x50, 0x00, -0x08, 0x00, 0x00, 0x54, 0x60, 0x01, 0x0C, 0x00, 0x00, 0x54, 0x60, 0x00, 0x0C, 0x00, 0x00, 0x46, -0x50, 0x00, 0x08, 0x00, 0x00, 0x54, 0x60, 0x01, 0x0C, 0x00, 0x00, 0x46, 0x50, 0x01, 0x08, 0x00, -0x00, 0x38, 0x40, 0x00, 0x04, 0x00, 0x00, 0x54, 0x60, 0x00, 0x0C, 0x00, 0x00, 0x54, 0x60, 0x01, -0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x34, 0x00, 0x2B, 0x30, 0x35, 0x00, 0x2B, 0x30, 0x36, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x0A, 0x3C, 0x2B, 0x30, -0x36, 0x3E, 0x2D, 0x36, 0x0A, 0x00, 0xDA, 0x81, 0x7F, 0x01, 0x73, 0xBA, 0xC2, 0x00, 0x00, 0x00, -0x1A, 0x51, 0x6F, 0x73, 0x74, 0x61, 0x6E, 0x61, 0x79, 0x2F, 0x4B, 0x6F, 0x73, 0x74, 0x61, 0x6E, -0x61, 0x79, 0x2F, 0x4B, 0x75, 0x73, 0x74, 0x61, 0x6E, 0x61, 0x79, +0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x09, 0x02, +0x00, 0x00, 0x3B, 0xA4, 0x00, 0x00, 0x00, 0x00, 0x38, 0x40, 0x00, 0x04, 0x00, 0x00, 0x46, 0x50, +0x00, 0x08, 0x00, 0x00, 0x54, 0x60, 0x01, 0x0C, 0x00, 0x00, 0x54, 0x60, 0x00, 0x0C, 0x00, 0x00, +0x46, 0x50, 0x00, 0x08, 0x00, 0x00, 0x54, 0x60, 0x01, 0x0C, 0x00, 0x00, 0x46, 0x50, 0x01, 0x08, +0x00, 0x00, 0x38, 0x40, 0x00, 0x04, 0x00, 0x00, 0x54, 0x60, 0x00, 0x0C, 0x00, 0x00, 0x54, 0x60, +0x01, 0x0C, 0x00, 0x00, 0x46, 0x50, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x34, 0x00, +0x2B, 0x30, 0x35, 0x00, 0x2B, 0x30, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, +0x01, 0x01, 0x01, 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, 0x0C, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x10, +0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0x19, 0x88, 0x5C, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, 0xA3, 0xFD, 0x40, +0x00, 0x00, 0x00, 0x00, 0x15, 0x27, 0x8B, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x18, 0xC0, 0x20, +0x00, 0x00, 0x00, 0x00, 0x17, 0x08, 0xB1, 0x20, 0x00, 0x00, 0x00, 0x00, 0x17, 0xF9, 0xF3, 0xA0, +0x00, 0x00, 0x00, 0x00, 0x18, 0xE9, 0xF2, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x19, 0xDB, 0x27, 0x20, +0x00, 0x00, 0x00, 0x00, 0x1A, 0xCC, 0x77, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xBC, 0x84, 0xD0, +0x00, 0x00, 0x00, 0x00, 0x1C, 0xAC, 0x75, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x1D, 0x9C, 0x66, 0xD0, +0x00, 0x00, 0x00, 0x00, 0x1E, 0x8C, 0x57, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x7C, 0x48, 0xD0, +0x00, 0x00, 0x00, 0x00, 0x20, 0x6C, 0x39, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x21, 0x5C, 0x2A, 0xD0, +0x00, 0x00, 0x00, 0x00, 0x22, 0x4C, 0x1B, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x23, 0x3C, 0x0C, 0xD0, +0x00, 0x00, 0x00, 0x00, 0x24, 0x2B, 0xFD, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x25, 0x1B, 0xEE, 0xD0, +0x00, 0x00, 0x00, 0x00, 0x26, 0x0B, 0xDF, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x27, 0x05, 0x0B, 0x50, +0x00, 0x00, 0x00, 0x00, 0x27, 0xF4, 0xFC, 0x50, 0x00, 0x00, 0x00, 0x00, 0x28, 0xE4, 0xFB, 0x60, +0x00, 0x00, 0x00, 0x00, 0x29, 0x78, 0xA3, 0x60, 0x00, 0x00, 0x00, 0x00, 0x29, 0xD4, 0xDE, 0x50, +0x00, 0x00, 0x00, 0x00, 0x2A, 0xC4, 0xCF, 0x50, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xB4, 0xC0, 0x50, +0x00, 0x00, 0x00, 0x00, 0x2C, 0xA4, 0xB1, 0x50, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x94, 0xA2, 0x50, +0x00, 0x00, 0x00, 0x00, 0x2E, 0x84, 0x93, 0x50, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x74, 0x84, 0x50, +0x00, 0x00, 0x00, 0x00, 0x30, 0x64, 0x75, 0x50, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0xA0, 0xD0, +0x00, 0x00, 0x00, 0x00, 0x32, 0x72, 0x7B, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x33, 0x3D, 0x82, 0xD0, +0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0x5D, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x35, 0x1D, 0x64, 0xD0, +0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0x3F, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x36, 0xFD, 0x46, 0xD0, +0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0x5C, 0x50, 0x00, 0x00, 0x00, 0x00, 0x38, 0xDD, 0x28, 0xD0, +0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0x3E, 0x50, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xBD, 0x0A, 0xD0, +0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0x20, 0x50, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xA6, 0x27, 0x50, +0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x02, 0x50, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x86, 0x09, 0x50, +0x00, 0x00, 0x00, 0x00, 0x3F, 0x9A, 0xE4, 0x50, 0x00, 0x00, 0x00, 0x00, 0x40, 0x65, 0xEB, 0x50, +0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x00, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x65, 0xE0, 0xC6, 0x20, +0x01, 0x02, 0x03, 0x04, 0x03, 0x02, 0x03, 0x02, 0x03, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, +0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x07, 0x08, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, +0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, +0x05, 0x06, 0x09, 0x02, 0x00, 0x00, 0x3B, 0xA4, 0x00, 0x00, 0x00, 0x00, 0x38, 0x40, 0x00, 0x04, +0x00, 0x00, 0x46, 0x50, 0x00, 0x08, 0x00, 0x00, 0x54, 0x60, 0x01, 0x0C, 0x00, 0x00, 0x54, 0x60, +0x00, 0x0C, 0x00, 0x00, 0x46, 0x50, 0x00, 0x08, 0x00, 0x00, 0x54, 0x60, 0x01, 0x0C, 0x00, 0x00, +0x46, 0x50, 0x01, 0x08, 0x00, 0x00, 0x38, 0x40, 0x00, 0x04, 0x00, 0x00, 0x54, 0x60, 0x00, 0x0C, +0x00, 0x00, 0x54, 0x60, 0x01, 0x0C, 0x00, 0x00, 0x46, 0x50, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, +0x2B, 0x30, 0x34, 0x00, 0x2B, 0x30, 0x35, 0x00, 0x2B, 0x30, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x0A, 0x3C, 0x2B, 0x30, 0x35, 0x3E, 0x2D, 0x35, +0x0A, 0x00, 0xDA, 0x81, 0x7F, 0x01, 0x73, 0xBA, 0xC2, 0x00, 0x00, 0x00, 0x1A, 0x51, 0x6F, 0x73, +0x74, 0x61, 0x6E, 0x61, 0x79, 0x2F, 0x4B, 0x6F, 0x73, 0x74, 0x61, 0x6E, 0x61, 0x79, 0x2F, 0x4B, +0x75, 0x73, 0x74, 0x61, 0x6E, 0x61, 0x79, /* Asia/Qyzylorda */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4B, 0x5A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -46262,7 +46262,7 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x15, 0x88, 0x8C, 0x43, 0x8A, 0x91, 0xA3, 0x2B, 0x0A, 0xCD, 0x35, 0xE6, 0x80, 0xD1, 0x59, 0xCE, 0x70, 0xD2, 0x3B, 0x3E, 0xF0, -0xD5, 0x32, 0xBB, 0x10, 0xE4, 0xB6, 0xE4, 0x80, 0xED, 0x2F, 0x98, 0x00, 0x0A, 0x3D, 0xC7, 0x00, +0xD5, 0x32, 0xBB, 0x10, 0xE4, 0xB6, 0xF2, 0x90, 0xED, 0x2F, 0x98, 0x00, 0x0A, 0x3D, 0xC7, 0x00, 0x01, 0x02, 0x03, 0x04, 0x02, 0x03, 0x02, 0x03, 0x02, 0x00, 0x00, 0x63, 0xF6, 0x00, 0x00, 0x00, 0x00, 0x63, 0xF6, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x09, 0x00, 0x00, 0x70, 0x80, 0x00, 0x0D, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x11, 0x00, 0x00, 0x62, 0x70, 0x00, 0x09, 0x4C, 0x4D, 0x54, @@ -46273,7 +46273,7 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { 0xFF, 0xFF, 0x88, 0x8C, 0x43, 0x8A, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0xA3, 0x2B, 0x0A, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0x35, 0xE6, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0x59, 0xCE, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x3B, 0x3E, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x32, 0xBB, 0x10, 0xFF, 0xFF, -0xFF, 0xFF, 0xE4, 0xB6, 0xE4, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0x2F, 0x98, 0x00, 0x00, 0x00, +0xFF, 0xFF, 0xE4, 0xB6, 0xF2, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0x2F, 0x98, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x3D, 0xC7, 0x00, 0x01, 0x02, 0x03, 0x04, 0x02, 0x03, 0x02, 0x03, 0x02, 0x00, 0x00, 0x63, 0xF6, 0x00, 0x00, 0x00, 0x00, 0x63, 0xF6, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x09, 0x00, 0x00, 0x70, 0x80, 0x00, 0x0D, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x11, 0x00, 0x00, 0x62, @@ -51988,8 +51988,8 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { 0xC0, 0xA4, 0x9B, 0xF0, 0xC1, 0x6F, 0x94, 0xE0, 0xC2, 0x84, 0x7D, 0xF0, 0xC3, 0x4F, 0x76, 0xE0, 0xC4, 0x64, 0x5F, 0xF0, 0xC5, 0x2F, 0x58, 0xE0, 0xC6, 0x4D, 0x7C, 0x70, 0xC7, 0x0F, 0x3A, 0xE0, 0xC8, 0x2D, 0x5E, 0x70, 0xCB, 0x88, 0xF0, 0x70, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xFB, 0xE0, -0xD3, 0x75, 0xE4, 0xF0, 0xD4, 0x40, 0xDD, 0xE0, 0xD5, 0x55, 0xAA, 0xD0, 0xD6, 0x20, 0xA3, 0xC0, -0xD7, 0x35, 0x8C, 0xD0, 0xD8, 0x00, 0x85, 0xC0, 0xD9, 0x15, 0x6E, 0xD0, 0xDA, 0x33, 0x76, 0x40, +0xD3, 0x75, 0xE4, 0xF0, 0xD4, 0x40, 0xDD, 0xE0, 0xD5, 0x55, 0xC6, 0xF0, 0xD6, 0x20, 0xBF, 0xE0, +0xD7, 0x35, 0xA8, 0xF0, 0xD8, 0x00, 0xA1, 0xE0, 0xD9, 0x15, 0x8A, 0xF0, 0xDA, 0x33, 0x92, 0x60, 0xDA, 0xFE, 0xA7, 0x70, 0xDC, 0x13, 0x74, 0x60, 0xDC, 0xDE, 0x89, 0x70, 0xDD, 0xA9, 0x82, 0x60, 0xDE, 0xBE, 0x6B, 0x70, 0xDF, 0x89, 0x64, 0x60, 0xE0, 0x9E, 0x4D, 0x70, 0xE1, 0x69, 0x46, 0x60, 0xE2, 0x7E, 0x2F, 0x70, 0xE3, 0x49, 0x28, 0x60, 0xE4, 0x5E, 0x11, 0x70, 0xE5, 0x29, 0x0A, 0x60, @@ -52080,10 +52080,10 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x0F, 0x3A, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x2D, 0x5E, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x88, 0xF0, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xFB, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x75, 0xE4, -0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xAA, -0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xA3, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0x8C, -0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0x85, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x6E, -0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0x33, 0x76, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, +0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xC6, +0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xBF, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0xA8, +0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0xA1, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x8A, +0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0x33, 0x92, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0x13, 0x74, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xDE, 0x89, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xA9, 0x82, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xBE, 0x6B, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0x89, 0x64, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x9E, 0x4D, @@ -70100,4 +70100,4 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { }; #endif -const timelib_tzdb timezonedb_builtin = { "2023.4", 597, timezonedb_idx_builtin, timelib_timezone_db_data_builtin }; +const timelib_tzdb timezonedb_builtin = { "2024.1", 597, timezonedb_idx_builtin, timelib_timezone_db_data_builtin }; From 0dea244999a415f5c5794e4a03807c6bae7df8af Mon Sep 17 00:00:00 2001 From: Derick Rethans Date: Fri, 2 Feb 2024 10:23:35 +0000 Subject: [PATCH 09/36] Updated to version 2024.1 (2024a) --- ext/date/lib/timezonedb.h | 2128 ++++++++++++++++++------------------- 1 file changed, 1064 insertions(+), 1064 deletions(-) diff --git a/ext/date/lib/timezonedb.h b/ext/date/lib/timezonedb.h index 366c85c7a7786..26c104b2a20e5 100644 --- a/ext/date/lib/timezonedb.h +++ b/ext/date/lib/timezonedb.h @@ -242,370 +242,370 @@ const timelib_tzdb_index_entry timezonedb_idx_builtin[597] = { { (char*) "Arctic/Longyearbyen" , 0x022757 }, { (char*) "Asia/Aden" , 0x022A24 }, { (char*) "Asia/Almaty" , 0x022AB5 }, - { (char*) "Asia/Amman" , 0x022D34 }, - { (char*) "Asia/Anadyr" , 0x0230E0 }, - { (char*) "Asia/Aqtau" , 0x0233E6 }, - { (char*) "Asia/Aqtobe" , 0x023665 }, - { (char*) "Asia/Ashgabat" , 0x0238E5 }, - { (char*) "Asia/Ashkhabad" , 0x023A68 }, - { (char*) "Asia/Atyrau" , 0x023BEB }, - { (char*) "Asia/Baghdad" , 0x023E74 }, - { (char*) "Asia/Bahrain" , 0x0240F6 }, - { (char*) "Asia/Baku" , 0x0241AF }, - { (char*) "Asia/Bangkok" , 0x0244A3 }, - { (char*) "Asia/Barnaul" , 0x024547 }, - { (char*) "Asia/Beirut" , 0x024852 }, - { (char*) "Asia/Bishkek" , 0x024B3A }, - { (char*) "Asia/Brunei" , 0x024DB0 }, - { (char*) "Asia/Calcutta" , 0x024E56 }, - { (char*) "Asia/Chita" , 0x024F3E }, - { (char*) "Asia/Choibalsan" , 0x02524C }, - { (char*) "Asia/Chongqing" , 0x0254D5 }, - { (char*) "Asia/Chungking" , 0x02566A }, - { (char*) "Asia/Colombo" , 0x0257FF }, - { (char*) "Asia/Dacca" , 0x025902 }, - { (char*) "Asia/Damascus" , 0x0259F5 }, - { (char*) "Asia/Dhaka" , 0x025ED3 }, - { (char*) "Asia/Dili" , 0x025FC6 }, - { (char*) "Asia/Dubai" , 0x02607C }, - { (char*) "Asia/Dushanbe" , 0x02610D }, - { (char*) "Asia/Famagusta" , 0x026287 }, - { (char*) "Asia/Gaza" , 0x02664E }, - { (char*) "Asia/Harbin" , 0x0271FC }, - { (char*) "Asia/Hebron" , 0x027391 }, - { (char*) "Asia/Ho_Chi_Minh" , 0x027F50 }, - { (char*) "Asia/Hong_Kong" , 0x028048 }, - { (char*) "Asia/Hovd" , 0x02835B }, - { (char*) "Asia/Irkutsk" , 0x0285E4 }, - { (char*) "Asia/Istanbul" , 0x028902 }, - { (char*) "Asia/Jakarta" , 0x028DBE }, - { (char*) "Asia/Jayapura" , 0x028ECF }, - { (char*) "Asia/Jerusalem" , 0x028FBC }, - { (char*) "Asia/Kabul" , 0x0293FA }, - { (char*) "Asia/Kamchatka" , 0x0294A5 }, - { (char*) "Asia/Karachi" , 0x02979A }, - { (char*) "Asia/Kashgar" , 0x0298B0 }, - { (char*) "Asia/Kathmandu" , 0x029941 }, - { (char*) "Asia/Katmandu" , 0x0299EE }, - { (char*) "Asia/Khandyga" , 0x029A9B }, - { (char*) "Asia/Kolkata" , 0x029DCC }, - { (char*) "Asia/Krasnoyarsk" , 0x029EB4 }, - { (char*) "Asia/Kuala_Lumpur" , 0x02A1BE }, - { (char*) "Asia/Kuching" , 0x02A2DE }, - { (char*) "Asia/Kuwait" , 0x02A438 }, - { (char*) "Asia/Macao" , 0x02A4C9 }, - { (char*) "Asia/Macau" , 0x02A7EC }, - { (char*) "Asia/Magadan" , 0x02AB0F }, - { (char*) "Asia/Makassar" , 0x02AE1A }, - { (char*) "Asia/Manila" , 0x02AF2D }, - { (char*) "Asia/Muscat" , 0x02B027 }, - { (char*) "Asia/Nicosia" , 0x02B0B8 }, - { (char*) "Asia/Novokuznetsk" , 0x02B327 }, - { (char*) "Asia/Novosibirsk" , 0x02B61A }, - { (char*) "Asia/Omsk" , 0x02B92B }, - { (char*) "Asia/Oral" , 0x02BC29 }, - { (char*) "Asia/Phnom_Penh" , 0x02BEB5 }, - { (char*) "Asia/Pontianak" , 0x02BF89 }, - { (char*) "Asia/Pyongyang" , 0x02C0A2 }, - { (char*) "Asia/Qatar" , 0x02C165 }, - { (char*) "Asia/Qostanay" , 0x02C209 }, - { (char*) "Asia/Qyzylorda" , 0x02C496 }, - { (char*) "Asia/Rangoon" , 0x02C72F }, - { (char*) "Asia/Riyadh" , 0x02C7F6 }, - { (char*) "Asia/Saigon" , 0x02C887 }, - { (char*) "Asia/Sakhalin" , 0x02C97F }, - { (char*) "Asia/Samarkand" , 0x02CC96 }, - { (char*) "Asia/Seoul" , 0x02CE21 }, - { (char*) "Asia/Shanghai" , 0x02CFCC }, - { (char*) "Asia/Singapore" , 0x02D16D }, - { (char*) "Asia/Srednekolymsk" , 0x02D279 }, - { (char*) "Asia/Taipei" , 0x02D589 }, - { (char*) "Asia/Tashkent" , 0x02D794 }, - { (char*) "Asia/Tbilisi" , 0x02D91F }, - { (char*) "Asia/Tehran" , 0x02DBA0 }, - { (char*) "Asia/Tel_Aviv" , 0x02DED8 }, - { (char*) "Asia/Thimbu" , 0x02E316 }, - { (char*) "Asia/Thimphu" , 0x02E3BC }, - { (char*) "Asia/Tokyo" , 0x02E462 }, - { (char*) "Asia/Tomsk" , 0x02E543 }, - { (char*) "Asia/Ujung_Pandang" , 0x02E84E }, - { (char*) "Asia/Ulaanbaatar" , 0x02E918 }, - { (char*) "Asia/Ulan_Bator" , 0x02EB86 }, - { (char*) "Asia/Urumqi" , 0x02EDE4 }, - { (char*) "Asia/Ust-Nera" , 0x02EE82 }, - { (char*) "Asia/Vientiane" , 0x02F1A5 }, - { (char*) "Asia/Vladivostok" , 0x02F28B }, - { (char*) "Asia/Yakutsk" , 0x02F590 }, - { (char*) "Asia/Yangon" , 0x02F894 }, - { (char*) "Asia/Yekaterinburg" , 0x02F95B }, - { (char*) "Asia/Yerevan" , 0x02FC6D }, - { (char*) "Atlantic/Azores" , 0x02FF3D }, - { (char*) "Atlantic/Bermuda" , 0x0304FC }, - { (char*) "Atlantic/Canary" , 0x030908 }, - { (char*) "Atlantic/Cape_Verde" , 0x030B00 }, - { (char*) "Atlantic/Faeroe" , 0x030BBB }, - { (char*) "Atlantic/Faroe" , 0x030D80 }, - { (char*) "Atlantic/Jan_Mayen" , 0x030F45 }, - { (char*) "Atlantic/Madeira" , 0x031212 }, - { (char*) "Atlantic/Reykjavik" , 0x0317DA }, - { (char*) "Atlantic/South_Georgia" , 0x031AD7 }, - { (char*) "Atlantic/St_Helena" , 0x031B67 }, - { (char*) "Atlantic/Stanley" , 0x031C08 }, - { (char*) "Australia/ACT" , 0x031F29 }, - { (char*) "Australia/Adelaide" , 0x0322BD }, - { (char*) "Australia/Brisbane" , 0x032671 }, - { (char*) "Australia/Broken_Hill" , 0x0327B5 }, - { (char*) "Australia/Canberra" , 0x032B8A }, - { (char*) "Australia/Currie" , 0x032F1E }, - { (char*) "Australia/Darwin" , 0x033315 }, - { (char*) "Australia/Eucla" , 0x03341D }, - { (char*) "Australia/Hobart" , 0x03357C }, - { (char*) "Australia/LHI" , 0x03397B }, - { (char*) "Australia/Lindeman" , 0x033C3B }, - { (char*) "Australia/Lord_Howe" , 0x033DAB }, - { (char*) "Australia/Melbourne" , 0x03407B }, - { (char*) "Australia/North" , 0x034417 }, - { (char*) "Australia/NSW" , 0x03450D }, - { (char*) "Australia/Perth" , 0x0348A1 }, - { (char*) "Australia/Queensland" , 0x0349FD }, - { (char*) "Australia/South" , 0x034B2A }, - { (char*) "Australia/Sydney" , 0x034ECF }, - { (char*) "Australia/Tasmania" , 0x03527F }, - { (char*) "Australia/Victoria" , 0x035676 }, - { (char*) "Australia/West" , 0x035A0A }, - { (char*) "Australia/Yancowinna" , 0x035B48 }, - { (char*) "Brazil/Acre" , 0x035F01 }, - { (char*) "Brazil/DeNoronha" , 0x0360AF }, - { (char*) "Brazil/East" , 0x03629F }, - { (char*) "Brazil/West" , 0x036663 }, - { (char*) "Canada/Atlantic" , 0x03680B }, - { (char*) "Canada/Central" , 0x036E9F }, - { (char*) "Canada/Eastern" , 0x0373B9 }, - { (char*) "Canada/Mountain" , 0x037A7A }, - { (char*) "Canada/Newfoundland" , 0x037E50 }, - { (char*) "Canada/Pacific" , 0x0385B2 }, - { (char*) "Canada/Saskatchewan" , 0x038AF0 }, - { (char*) "Canada/Yukon" , 0x038D7A }, - { (char*) "CET" , 0x03918B }, - { (char*) "Chile/Continental" , 0x039404 }, - { (char*) "Chile/EasterIsland" , 0x03995A }, - { (char*) "CST6CDT" , 0x039DFC }, - { (char*) "Cuba" , 0x03A1BF }, - { (char*) "EET" , 0x03A628 }, - { (char*) "Egypt" , 0x03A825 }, - { (char*) "Eire" , 0x03AD4E }, - { (char*) "EST" , 0x03B332 }, - { (char*) "EST5EDT" , 0x03B3AD }, - { (char*) "Etc/GMT" , 0x03B770 }, - { (char*) "Etc/GMT+0" , 0x03B7EB }, - { (char*) "Etc/GMT+1" , 0x03B866 }, - { (char*) "Etc/GMT+10" , 0x03B8E3 }, - { (char*) "Etc/GMT+11" , 0x03B961 }, - { (char*) "Etc/GMT+12" , 0x03B9DF }, - { (char*) "Etc/GMT+2" , 0x03BA5D }, - { (char*) "Etc/GMT+3" , 0x03BADA }, - { (char*) "Etc/GMT+4" , 0x03BB57 }, - { (char*) "Etc/GMT+5" , 0x03BBD4 }, - { (char*) "Etc/GMT+6" , 0x03BC51 }, - { (char*) "Etc/GMT+7" , 0x03BCCE }, - { (char*) "Etc/GMT+8" , 0x03BD4B }, - { (char*) "Etc/GMT+9" , 0x03BDC8 }, - { (char*) "Etc/GMT-0" , 0x03BE45 }, - { (char*) "Etc/GMT-1" , 0x03BEC0 }, - { (char*) "Etc/GMT-10" , 0x03BF3E }, - { (char*) "Etc/GMT-11" , 0x03BFBD }, - { (char*) "Etc/GMT-12" , 0x03C03C }, - { (char*) "Etc/GMT-13" , 0x03C0BB }, - { (char*) "Etc/GMT-14" , 0x03C13A }, - { (char*) "Etc/GMT-2" , 0x03C1B9 }, - { (char*) "Etc/GMT-3" , 0x03C237 }, - { (char*) "Etc/GMT-4" , 0x03C2B5 }, - { (char*) "Etc/GMT-5" , 0x03C333 }, - { (char*) "Etc/GMT-6" , 0x03C3B1 }, - { (char*) "Etc/GMT-7" , 0x03C42F }, - { (char*) "Etc/GMT-8" , 0x03C4AD }, - { (char*) "Etc/GMT-9" , 0x03C52B }, - { (char*) "Etc/GMT0" , 0x03C5A9 }, - { (char*) "Etc/Greenwich" , 0x03C624 }, - { (char*) "Etc/UCT" , 0x03C69F }, - { (char*) "Etc/Universal" , 0x03C71A }, - { (char*) "Etc/UTC" , 0x03C795 }, - { (char*) "Etc/Zulu" , 0x03C810 }, - { (char*) "Europe/Amsterdam" , 0x03C88B }, - { (char*) "Europe/Andorra" , 0x03CCC6 }, - { (char*) "Europe/Astrakhan" , 0x03CE57 }, - { (char*) "Europe/Athens" , 0x03D14B }, - { (char*) "Europe/Belfast" , 0x03D401 }, - { (char*) "Europe/Belgrade" , 0x03DA4C }, - { (char*) "Europe/Berlin" , 0x03DC36 }, - { (char*) "Europe/Bratislava" , 0x03DF12 }, - { (char*) "Europe/Brussels" , 0x03E1F1 }, - { (char*) "Europe/Bucharest" , 0x03E64C }, - { (char*) "Europe/Budapest" , 0x03E8ED }, - { (char*) "Europe/Busingen" , 0x03EBF7 }, - { (char*) "Europe/Chisinau" , 0x03EDFC }, - { (char*) "Europe/Copenhagen" , 0x03F0FB }, - { (char*) "Europe/Dublin" , 0x03F376 }, - { (char*) "Europe/Gibraltar" , 0x03F95A }, - { (char*) "Europe/Guernsey" , 0x03FE2A }, - { (char*) "Europe/Helsinki" , 0x040481 }, - { (char*) "Europe/Isle_of_Man" , 0x04066E }, - { (char*) "Europe/Istanbul" , 0x040CB9 }, - { (char*) "Europe/Jersey" , 0x041175 }, - { (char*) "Europe/Kaliningrad" , 0x0417CC }, - { (char*) "Europe/Kiev" , 0x041B74 }, - { (char*) "Europe/Kirov" , 0x041DAE }, - { (char*) "Europe/Kyiv" , 0x0420A7 }, - { (char*) "Europe/Lisbon" , 0x0422F0 }, - { (char*) "Europe/Ljubljana" , 0x0428BD }, - { (char*) "Europe/London" , 0x042AA7 }, - { (char*) "Europe/Luxembourg" , 0x0430F2 }, - { (char*) "Europe/Madrid" , 0x04353D }, - { (char*) "Europe/Malta" , 0x0438DA }, - { (char*) "Europe/Mariehamn" , 0x043C86 }, - { (char*) "Europe/Minsk" , 0x043E73 }, - { (char*) "Europe/Monaco" , 0x0441A7 }, - { (char*) "Europe/Moscow" , 0x04460D }, - { (char*) "Europe/Nicosia" , 0x0449B9 }, - { (char*) "Europe/Oslo" , 0x044C1A }, - { (char*) "Europe/Paris" , 0x044ECA }, - { (char*) "Europe/Podgorica" , 0x045327 }, - { (char*) "Europe/Prague" , 0x045511 }, - { (char*) "Europe/Riga" , 0x0457F0 }, - { (char*) "Europe/Rome" , 0x045AB2 }, - { (char*) "Europe/Samara" , 0x045E71 }, - { (char*) "Europe/San_Marino" , 0x046172 }, - { (char*) "Europe/Sarajevo" , 0x046531 }, - { (char*) "Europe/Saratov" , 0x04671B }, - { (char*) "Europe/Simferopol" , 0x046A0D }, - { (char*) "Europe/Skopje" , 0x046D80 }, - { (char*) "Europe/Sofia" , 0x046F6A }, - { (char*) "Europe/Stockholm" , 0x0471C6 }, - { (char*) "Europe/Tallinn" , 0x0473C3 }, - { (char*) "Europe/Tirane" , 0x047672 }, - { (char*) "Europe/Tiraspol" , 0x0478DA }, - { (char*) "Europe/Ulyanovsk" , 0x047BD9 }, - { (char*) "Europe/Uzhgorod" , 0x047EEF }, - { (char*) "Europe/Vaduz" , 0x048129 }, - { (char*) "Europe/Vatican" , 0x048313 }, - { (char*) "Europe/Vienna" , 0x0486D2 }, - { (char*) "Europe/Vilnius" , 0x048970 }, - { (char*) "Europe/Volgograd" , 0x048C20 }, - { (char*) "Europe/Warsaw" , 0x048F2F }, - { (char*) "Europe/Zagreb" , 0x0492D6 }, - { (char*) "Europe/Zaporozhye" , 0x0494C0 }, - { (char*) "Europe/Zurich" , 0x0496FA }, - { (char*) "Factory" , 0x0498F7 }, - { (char*) "GB" , 0x049974 }, - { (char*) "GB-Eire" , 0x049FBF }, - { (char*) "GMT" , 0x04A60A }, - { (char*) "GMT+0" , 0x04A685 }, - { (char*) "GMT-0" , 0x04A700 }, - { (char*) "GMT0" , 0x04A77B }, - { (char*) "Greenwich" , 0x04A7F6 }, - { (char*) "Hongkong" , 0x04A871 }, - { (char*) "HST" , 0x04AB84 }, - { (char*) "Iceland" , 0x04AC00 }, - { (char*) "Indian/Antananarivo" , 0x04AC8E }, - { (char*) "Indian/Chagos" , 0x04AD3A }, - { (char*) "Indian/Christmas" , 0x04ADDE }, - { (char*) "Indian/Cocos" , 0x04AE6F }, - { (char*) "Indian/Comoro" , 0x04AF07 }, - { (char*) "Indian/Kerguelen" , 0x04AF96 }, - { (char*) "Indian/Mahe" , 0x04B027 }, - { (char*) "Indian/Maldives" , 0x04B0B8 }, - { (char*) "Indian/Mauritius" , 0x04B15C }, - { (char*) "Indian/Mayotte" , 0x04B21B }, - { (char*) "Indian/Reunion" , 0x04B2AA }, - { (char*) "Iran" , 0x04B33B }, - { (char*) "Israel" , 0x04B673 }, - { (char*) "Jamaica" , 0x04BAB1 }, - { (char*) "Japan" , 0x04BC10 }, - { (char*) "Kwajalein" , 0x04BCF1 }, - { (char*) "Libya" , 0x04BDD8 }, - { (char*) "MET" , 0x04BF93 }, - { (char*) "Mexico/BajaNorte" , 0x04C20C }, - { (char*) "Mexico/BajaSur" , 0x04C619 }, - { (char*) "Mexico/General" , 0x04C8F3 }, - { (char*) "MST" , 0x04CC04 }, - { (char*) "MST7MDT" , 0x04CC7F }, - { (char*) "Navajo" , 0x04D042 }, - { (char*) "NZ" , 0x04D460 }, - { (char*) "NZ-CHAT" , 0x04D87F }, - { (char*) "Pacific/Apia" , 0x04DBB3 }, - { (char*) "Pacific/Auckland" , 0x04DD56 }, - { (char*) "Pacific/Bougainville" , 0x04E188 }, - { (char*) "Pacific/Chatham" , 0x04E269 }, - { (char*) "Pacific/Chuuk" , 0x04E5AC }, - { (char*) "Pacific/Easter" , 0x04E68A }, - { (char*) "Pacific/Efate" , 0x04EB39 }, - { (char*) "Pacific/Enderbury" , 0x04EC9B }, - { (char*) "Pacific/Fakaofo" , 0x04ED53 }, - { (char*) "Pacific/Fiji" , 0x04EDF8 }, - { (char*) "Pacific/Funafuti" , 0x04EF90 }, - { (char*) "Pacific/Galapagos" , 0x04F022 }, - { (char*) "Pacific/Gambier" , 0x04F0EE }, - { (char*) "Pacific/Guadalcanal" , 0x04F18D }, - { (char*) "Pacific/Guam" , 0x04F21F }, - { (char*) "Pacific/Honolulu" , 0x04F389 }, - { (char*) "Pacific/Johnston" , 0x04F478 }, - { (char*) "Pacific/Kanton" , 0x04F561 }, - { (char*) "Pacific/Kiritimati" , 0x04F628 }, - { (char*) "Pacific/Kosrae" , 0x04F6EE }, - { (char*) "Pacific/Kwajalein" , 0x04F7F2 }, - { (char*) "Pacific/Majuro" , 0x04F8E2 }, - { (char*) "Pacific/Marquesas" , 0x04F9E0 }, - { (char*) "Pacific/Midway" , 0x04FA88 }, - { (char*) "Pacific/Nauru" , 0x04FB4B }, - { (char*) "Pacific/Niue" , 0x04FC0E }, - { (char*) "Pacific/Norfolk" , 0x04FCB4 }, - { (char*) "Pacific/Noumea" , 0x04FDAD }, - { (char*) "Pacific/Pago_Pago" , 0x04FE7F }, - { (char*) "Pacific/Palau" , 0x04FF1D }, - { (char*) "Pacific/Pitcairn" , 0x04FFBD }, - { (char*) "Pacific/Pohnpei" , 0x050062 }, - { (char*) "Pacific/Ponape" , 0x050152 }, - { (char*) "Pacific/Port_Moresby" , 0x0501E4 }, - { (char*) "Pacific/Rarotonga" , 0x0502A2 }, - { (char*) "Pacific/Saipan" , 0x050444 }, - { (char*) "Pacific/Samoa" , 0x0505A5 }, - { (char*) "Pacific/Tahiti" , 0x050643 }, - { (char*) "Pacific/Tarawa" , 0x0506E3 }, - { (char*) "Pacific/Tongatapu" , 0x050784 }, - { (char*) "Pacific/Truk" , 0x05087D }, - { (char*) "Pacific/Wake" , 0x050923 }, - { (char*) "Pacific/Wallis" , 0x0509C0 }, - { (char*) "Pacific/Yap" , 0x050A52 }, - { (char*) "Poland" , 0x050AF8 }, - { (char*) "Portugal" , 0x050E9F }, - { (char*) "PRC" , 0x051459 }, - { (char*) "PST8PDT" , 0x0515EE }, - { (char*) "ROC" , 0x0519B1 }, - { (char*) "ROK" , 0x051BBC }, - { (char*) "Singapore" , 0x051D67 }, - { (char*) "Turkey" , 0x051E73 }, - { (char*) "UCT" , 0x05232F }, - { (char*) "Universal" , 0x0523AA }, - { (char*) "US/Alaska" , 0x052425 }, - { (char*) "US/Aleutian" , 0x052802 }, - { (char*) "US/Arizona" , 0x052BD7 }, - { (char*) "US/Central" , 0x052CD3 }, - { (char*) "US/East-Indiana" , 0x0533B9 }, - { (char*) "US/Eastern" , 0x0535D8 }, - { (char*) "US/Hawaii" , 0x053CB4 }, - { (char*) "US/Indiana-Starke" , 0x053D9D }, - { (char*) "US/Michigan" , 0x0541A1 }, - { (char*) "US/Mountain" , 0x054530 }, - { (char*) "US/Pacific" , 0x05494E }, - { (char*) "US/Samoa" , 0x054E68 }, - { (char*) "UTC" , 0x054F06 }, - { (char*) "W-SU" , 0x054F81 }, - { (char*) "WET" , 0x055319 }, - { (char*) "Zulu" , 0x055513 }, + { (char*) "Asia/Amman" , 0x022D3D }, + { (char*) "Asia/Anadyr" , 0x0230E9 }, + { (char*) "Asia/Aqtau" , 0x0233EF }, + { (char*) "Asia/Aqtobe" , 0x02366E }, + { (char*) "Asia/Ashgabat" , 0x0238EE }, + { (char*) "Asia/Ashkhabad" , 0x023A71 }, + { (char*) "Asia/Atyrau" , 0x023BF4 }, + { (char*) "Asia/Baghdad" , 0x023E7D }, + { (char*) "Asia/Bahrain" , 0x0240FF }, + { (char*) "Asia/Baku" , 0x0241B8 }, + { (char*) "Asia/Bangkok" , 0x0244AC }, + { (char*) "Asia/Barnaul" , 0x024550 }, + { (char*) "Asia/Beirut" , 0x02485B }, + { (char*) "Asia/Bishkek" , 0x024B43 }, + { (char*) "Asia/Brunei" , 0x024DB9 }, + { (char*) "Asia/Calcutta" , 0x024E5F }, + { (char*) "Asia/Chita" , 0x024F47 }, + { (char*) "Asia/Choibalsan" , 0x025255 }, + { (char*) "Asia/Chongqing" , 0x0254DE }, + { (char*) "Asia/Chungking" , 0x025673 }, + { (char*) "Asia/Colombo" , 0x025808 }, + { (char*) "Asia/Dacca" , 0x02590B }, + { (char*) "Asia/Damascus" , 0x0259FE }, + { (char*) "Asia/Dhaka" , 0x025EDC }, + { (char*) "Asia/Dili" , 0x025FCF }, + { (char*) "Asia/Dubai" , 0x026085 }, + { (char*) "Asia/Dushanbe" , 0x026116 }, + { (char*) "Asia/Famagusta" , 0x026290 }, + { (char*) "Asia/Gaza" , 0x026657 }, + { (char*) "Asia/Harbin" , 0x0271F3 }, + { (char*) "Asia/Hebron" , 0x027388 }, + { (char*) "Asia/Ho_Chi_Minh" , 0x027F35 }, + { (char*) "Asia/Hong_Kong" , 0x02802D }, + { (char*) "Asia/Hovd" , 0x028340 }, + { (char*) "Asia/Irkutsk" , 0x0285C9 }, + { (char*) "Asia/Istanbul" , 0x0288E7 }, + { (char*) "Asia/Jakarta" , 0x028DA3 }, + { (char*) "Asia/Jayapura" , 0x028EB4 }, + { (char*) "Asia/Jerusalem" , 0x028FA1 }, + { (char*) "Asia/Kabul" , 0x0293DF }, + { (char*) "Asia/Kamchatka" , 0x02948A }, + { (char*) "Asia/Karachi" , 0x02977F }, + { (char*) "Asia/Kashgar" , 0x029895 }, + { (char*) "Asia/Kathmandu" , 0x029926 }, + { (char*) "Asia/Katmandu" , 0x0299D3 }, + { (char*) "Asia/Khandyga" , 0x029A80 }, + { (char*) "Asia/Kolkata" , 0x029DB1 }, + { (char*) "Asia/Krasnoyarsk" , 0x029E99 }, + { (char*) "Asia/Kuala_Lumpur" , 0x02A1A3 }, + { (char*) "Asia/Kuching" , 0x02A2C3 }, + { (char*) "Asia/Kuwait" , 0x02A41D }, + { (char*) "Asia/Macao" , 0x02A4AE }, + { (char*) "Asia/Macau" , 0x02A7D1 }, + { (char*) "Asia/Magadan" , 0x02AAF4 }, + { (char*) "Asia/Makassar" , 0x02ADFF }, + { (char*) "Asia/Manila" , 0x02AF12 }, + { (char*) "Asia/Muscat" , 0x02B00C }, + { (char*) "Asia/Nicosia" , 0x02B09D }, + { (char*) "Asia/Novokuznetsk" , 0x02B30C }, + { (char*) "Asia/Novosibirsk" , 0x02B5FF }, + { (char*) "Asia/Omsk" , 0x02B910 }, + { (char*) "Asia/Oral" , 0x02BC0E }, + { (char*) "Asia/Phnom_Penh" , 0x02BE9A }, + { (char*) "Asia/Pontianak" , 0x02BF6E }, + { (char*) "Asia/Pyongyang" , 0x02C087 }, + { (char*) "Asia/Qatar" , 0x02C14A }, + { (char*) "Asia/Qostanay" , 0x02C1EE }, + { (char*) "Asia/Qyzylorda" , 0x02C484 }, + { (char*) "Asia/Rangoon" , 0x02C71D }, + { (char*) "Asia/Riyadh" , 0x02C7E4 }, + { (char*) "Asia/Saigon" , 0x02C875 }, + { (char*) "Asia/Sakhalin" , 0x02C96D }, + { (char*) "Asia/Samarkand" , 0x02CC84 }, + { (char*) "Asia/Seoul" , 0x02CE0F }, + { (char*) "Asia/Shanghai" , 0x02CFBA }, + { (char*) "Asia/Singapore" , 0x02D15B }, + { (char*) "Asia/Srednekolymsk" , 0x02D267 }, + { (char*) "Asia/Taipei" , 0x02D577 }, + { (char*) "Asia/Tashkent" , 0x02D782 }, + { (char*) "Asia/Tbilisi" , 0x02D90D }, + { (char*) "Asia/Tehran" , 0x02DB8E }, + { (char*) "Asia/Tel_Aviv" , 0x02DEC6 }, + { (char*) "Asia/Thimbu" , 0x02E304 }, + { (char*) "Asia/Thimphu" , 0x02E3AA }, + { (char*) "Asia/Tokyo" , 0x02E450 }, + { (char*) "Asia/Tomsk" , 0x02E531 }, + { (char*) "Asia/Ujung_Pandang" , 0x02E83C }, + { (char*) "Asia/Ulaanbaatar" , 0x02E906 }, + { (char*) "Asia/Ulan_Bator" , 0x02EB74 }, + { (char*) "Asia/Urumqi" , 0x02EDD2 }, + { (char*) "Asia/Ust-Nera" , 0x02EE70 }, + { (char*) "Asia/Vientiane" , 0x02F193 }, + { (char*) "Asia/Vladivostok" , 0x02F279 }, + { (char*) "Asia/Yakutsk" , 0x02F57E }, + { (char*) "Asia/Yangon" , 0x02F882 }, + { (char*) "Asia/Yekaterinburg" , 0x02F949 }, + { (char*) "Asia/Yerevan" , 0x02FC5B }, + { (char*) "Atlantic/Azores" , 0x02FF2B }, + { (char*) "Atlantic/Bermuda" , 0x0304EA }, + { (char*) "Atlantic/Canary" , 0x0308F6 }, + { (char*) "Atlantic/Cape_Verde" , 0x030AEE }, + { (char*) "Atlantic/Faeroe" , 0x030BA9 }, + { (char*) "Atlantic/Faroe" , 0x030D6E }, + { (char*) "Atlantic/Jan_Mayen" , 0x030F33 }, + { (char*) "Atlantic/Madeira" , 0x031200 }, + { (char*) "Atlantic/Reykjavik" , 0x0317C8 }, + { (char*) "Atlantic/South_Georgia" , 0x031AC5 }, + { (char*) "Atlantic/St_Helena" , 0x031B55 }, + { (char*) "Atlantic/Stanley" , 0x031BF6 }, + { (char*) "Australia/ACT" , 0x031F17 }, + { (char*) "Australia/Adelaide" , 0x0322AB }, + { (char*) "Australia/Brisbane" , 0x03265F }, + { (char*) "Australia/Broken_Hill" , 0x0327A3 }, + { (char*) "Australia/Canberra" , 0x032B78 }, + { (char*) "Australia/Currie" , 0x032F0C }, + { (char*) "Australia/Darwin" , 0x033303 }, + { (char*) "Australia/Eucla" , 0x03340B }, + { (char*) "Australia/Hobart" , 0x03356A }, + { (char*) "Australia/LHI" , 0x033969 }, + { (char*) "Australia/Lindeman" , 0x033C29 }, + { (char*) "Australia/Lord_Howe" , 0x033D99 }, + { (char*) "Australia/Melbourne" , 0x034069 }, + { (char*) "Australia/North" , 0x034405 }, + { (char*) "Australia/NSW" , 0x0344FB }, + { (char*) "Australia/Perth" , 0x03488F }, + { (char*) "Australia/Queensland" , 0x0349EB }, + { (char*) "Australia/South" , 0x034B18 }, + { (char*) "Australia/Sydney" , 0x034EBD }, + { (char*) "Australia/Tasmania" , 0x03526D }, + { (char*) "Australia/Victoria" , 0x035664 }, + { (char*) "Australia/West" , 0x0359F8 }, + { (char*) "Australia/Yancowinna" , 0x035B36 }, + { (char*) "Brazil/Acre" , 0x035EEF }, + { (char*) "Brazil/DeNoronha" , 0x03609D }, + { (char*) "Brazil/East" , 0x03628D }, + { (char*) "Brazil/West" , 0x036651 }, + { (char*) "Canada/Atlantic" , 0x0367F9 }, + { (char*) "Canada/Central" , 0x036E8D }, + { (char*) "Canada/Eastern" , 0x0373A7 }, + { (char*) "Canada/Mountain" , 0x037A68 }, + { (char*) "Canada/Newfoundland" , 0x037E3E }, + { (char*) "Canada/Pacific" , 0x0385A0 }, + { (char*) "Canada/Saskatchewan" , 0x038ADE }, + { (char*) "Canada/Yukon" , 0x038D68 }, + { (char*) "CET" , 0x039179 }, + { (char*) "Chile/Continental" , 0x0393F2 }, + { (char*) "Chile/EasterIsland" , 0x039948 }, + { (char*) "CST6CDT" , 0x039DEA }, + { (char*) "Cuba" , 0x03A1AD }, + { (char*) "EET" , 0x03A616 }, + { (char*) "Egypt" , 0x03A813 }, + { (char*) "Eire" , 0x03AD3C }, + { (char*) "EST" , 0x03B320 }, + { (char*) "EST5EDT" , 0x03B39B }, + { (char*) "Etc/GMT" , 0x03B75E }, + { (char*) "Etc/GMT+0" , 0x03B7D9 }, + { (char*) "Etc/GMT+1" , 0x03B854 }, + { (char*) "Etc/GMT+10" , 0x03B8D1 }, + { (char*) "Etc/GMT+11" , 0x03B94F }, + { (char*) "Etc/GMT+12" , 0x03B9CD }, + { (char*) "Etc/GMT+2" , 0x03BA4B }, + { (char*) "Etc/GMT+3" , 0x03BAC8 }, + { (char*) "Etc/GMT+4" , 0x03BB45 }, + { (char*) "Etc/GMT+5" , 0x03BBC2 }, + { (char*) "Etc/GMT+6" , 0x03BC3F }, + { (char*) "Etc/GMT+7" , 0x03BCBC }, + { (char*) "Etc/GMT+8" , 0x03BD39 }, + { (char*) "Etc/GMT+9" , 0x03BDB6 }, + { (char*) "Etc/GMT-0" , 0x03BE33 }, + { (char*) "Etc/GMT-1" , 0x03BEAE }, + { (char*) "Etc/GMT-10" , 0x03BF2C }, + { (char*) "Etc/GMT-11" , 0x03BFAB }, + { (char*) "Etc/GMT-12" , 0x03C02A }, + { (char*) "Etc/GMT-13" , 0x03C0A9 }, + { (char*) "Etc/GMT-14" , 0x03C128 }, + { (char*) "Etc/GMT-2" , 0x03C1A7 }, + { (char*) "Etc/GMT-3" , 0x03C225 }, + { (char*) "Etc/GMT-4" , 0x03C2A3 }, + { (char*) "Etc/GMT-5" , 0x03C321 }, + { (char*) "Etc/GMT-6" , 0x03C39F }, + { (char*) "Etc/GMT-7" , 0x03C41D }, + { (char*) "Etc/GMT-8" , 0x03C49B }, + { (char*) "Etc/GMT-9" , 0x03C519 }, + { (char*) "Etc/GMT0" , 0x03C597 }, + { (char*) "Etc/Greenwich" , 0x03C612 }, + { (char*) "Etc/UCT" , 0x03C68D }, + { (char*) "Etc/Universal" , 0x03C708 }, + { (char*) "Etc/UTC" , 0x03C783 }, + { (char*) "Etc/Zulu" , 0x03C7FE }, + { (char*) "Europe/Amsterdam" , 0x03C879 }, + { (char*) "Europe/Andorra" , 0x03CCB4 }, + { (char*) "Europe/Astrakhan" , 0x03CE45 }, + { (char*) "Europe/Athens" , 0x03D139 }, + { (char*) "Europe/Belfast" , 0x03D3EF }, + { (char*) "Europe/Belgrade" , 0x03DA3A }, + { (char*) "Europe/Berlin" , 0x03DC24 }, + { (char*) "Europe/Bratislava" , 0x03DF00 }, + { (char*) "Europe/Brussels" , 0x03E1DF }, + { (char*) "Europe/Bucharest" , 0x03E63A }, + { (char*) "Europe/Budapest" , 0x03E8DB }, + { (char*) "Europe/Busingen" , 0x03EBE5 }, + { (char*) "Europe/Chisinau" , 0x03EDEA }, + { (char*) "Europe/Copenhagen" , 0x03F0E9 }, + { (char*) "Europe/Dublin" , 0x03F364 }, + { (char*) "Europe/Gibraltar" , 0x03F948 }, + { (char*) "Europe/Guernsey" , 0x03FE18 }, + { (char*) "Europe/Helsinki" , 0x04046F }, + { (char*) "Europe/Isle_of_Man" , 0x04065C }, + { (char*) "Europe/Istanbul" , 0x040CA7 }, + { (char*) "Europe/Jersey" , 0x041163 }, + { (char*) "Europe/Kaliningrad" , 0x0417BA }, + { (char*) "Europe/Kiev" , 0x041B62 }, + { (char*) "Europe/Kirov" , 0x041D9C }, + { (char*) "Europe/Kyiv" , 0x042095 }, + { (char*) "Europe/Lisbon" , 0x0422DE }, + { (char*) "Europe/Ljubljana" , 0x0428AB }, + { (char*) "Europe/London" , 0x042A95 }, + { (char*) "Europe/Luxembourg" , 0x0430E0 }, + { (char*) "Europe/Madrid" , 0x04352B }, + { (char*) "Europe/Malta" , 0x0438C8 }, + { (char*) "Europe/Mariehamn" , 0x043C74 }, + { (char*) "Europe/Minsk" , 0x043E61 }, + { (char*) "Europe/Monaco" , 0x044195 }, + { (char*) "Europe/Moscow" , 0x0445FB }, + { (char*) "Europe/Nicosia" , 0x0449A7 }, + { (char*) "Europe/Oslo" , 0x044C08 }, + { (char*) "Europe/Paris" , 0x044EB8 }, + { (char*) "Europe/Podgorica" , 0x045315 }, + { (char*) "Europe/Prague" , 0x0454FF }, + { (char*) "Europe/Riga" , 0x0457DE }, + { (char*) "Europe/Rome" , 0x045AA0 }, + { (char*) "Europe/Samara" , 0x045E5F }, + { (char*) "Europe/San_Marino" , 0x046160 }, + { (char*) "Europe/Sarajevo" , 0x04651F }, + { (char*) "Europe/Saratov" , 0x046709 }, + { (char*) "Europe/Simferopol" , 0x0469FB }, + { (char*) "Europe/Skopje" , 0x046D6E }, + { (char*) "Europe/Sofia" , 0x046F58 }, + { (char*) "Europe/Stockholm" , 0x0471B4 }, + { (char*) "Europe/Tallinn" , 0x0473B1 }, + { (char*) "Europe/Tirane" , 0x047660 }, + { (char*) "Europe/Tiraspol" , 0x0478C8 }, + { (char*) "Europe/Ulyanovsk" , 0x047BC7 }, + { (char*) "Europe/Uzhgorod" , 0x047EDD }, + { (char*) "Europe/Vaduz" , 0x048117 }, + { (char*) "Europe/Vatican" , 0x048301 }, + { (char*) "Europe/Vienna" , 0x0486C0 }, + { (char*) "Europe/Vilnius" , 0x04895E }, + { (char*) "Europe/Volgograd" , 0x048C0E }, + { (char*) "Europe/Warsaw" , 0x048F1D }, + { (char*) "Europe/Zagreb" , 0x0492C4 }, + { (char*) "Europe/Zaporozhye" , 0x0494AE }, + { (char*) "Europe/Zurich" , 0x0496E8 }, + { (char*) "Factory" , 0x0498E5 }, + { (char*) "GB" , 0x049962 }, + { (char*) "GB-Eire" , 0x049FAD }, + { (char*) "GMT" , 0x04A5F8 }, + { (char*) "GMT+0" , 0x04A673 }, + { (char*) "GMT-0" , 0x04A6EE }, + { (char*) "GMT0" , 0x04A769 }, + { (char*) "Greenwich" , 0x04A7E4 }, + { (char*) "Hongkong" , 0x04A85F }, + { (char*) "HST" , 0x04AB72 }, + { (char*) "Iceland" , 0x04ABEE }, + { (char*) "Indian/Antananarivo" , 0x04AC7C }, + { (char*) "Indian/Chagos" , 0x04AD28 }, + { (char*) "Indian/Christmas" , 0x04ADCC }, + { (char*) "Indian/Cocos" , 0x04AE5D }, + { (char*) "Indian/Comoro" , 0x04AEF5 }, + { (char*) "Indian/Kerguelen" , 0x04AF84 }, + { (char*) "Indian/Mahe" , 0x04B015 }, + { (char*) "Indian/Maldives" , 0x04B0A6 }, + { (char*) "Indian/Mauritius" , 0x04B14A }, + { (char*) "Indian/Mayotte" , 0x04B209 }, + { (char*) "Indian/Reunion" , 0x04B298 }, + { (char*) "Iran" , 0x04B329 }, + { (char*) "Israel" , 0x04B661 }, + { (char*) "Jamaica" , 0x04BA9F }, + { (char*) "Japan" , 0x04BBFE }, + { (char*) "Kwajalein" , 0x04BCDF }, + { (char*) "Libya" , 0x04BDC6 }, + { (char*) "MET" , 0x04BF81 }, + { (char*) "Mexico/BajaNorte" , 0x04C1FA }, + { (char*) "Mexico/BajaSur" , 0x04C607 }, + { (char*) "Mexico/General" , 0x04C8E1 }, + { (char*) "MST" , 0x04CBF2 }, + { (char*) "MST7MDT" , 0x04CC6D }, + { (char*) "Navajo" , 0x04D030 }, + { (char*) "NZ" , 0x04D44E }, + { (char*) "NZ-CHAT" , 0x04D86D }, + { (char*) "Pacific/Apia" , 0x04DBA1 }, + { (char*) "Pacific/Auckland" , 0x04DD44 }, + { (char*) "Pacific/Bougainville" , 0x04E176 }, + { (char*) "Pacific/Chatham" , 0x04E257 }, + { (char*) "Pacific/Chuuk" , 0x04E59A }, + { (char*) "Pacific/Easter" , 0x04E678 }, + { (char*) "Pacific/Efate" , 0x04EB27 }, + { (char*) "Pacific/Enderbury" , 0x04EC89 }, + { (char*) "Pacific/Fakaofo" , 0x04ED41 }, + { (char*) "Pacific/Fiji" , 0x04EDE6 }, + { (char*) "Pacific/Funafuti" , 0x04EF7E }, + { (char*) "Pacific/Galapagos" , 0x04F010 }, + { (char*) "Pacific/Gambier" , 0x04F0DC }, + { (char*) "Pacific/Guadalcanal" , 0x04F17B }, + { (char*) "Pacific/Guam" , 0x04F20D }, + { (char*) "Pacific/Honolulu" , 0x04F377 }, + { (char*) "Pacific/Johnston" , 0x04F466 }, + { (char*) "Pacific/Kanton" , 0x04F54F }, + { (char*) "Pacific/Kiritimati" , 0x04F616 }, + { (char*) "Pacific/Kosrae" , 0x04F6DC }, + { (char*) "Pacific/Kwajalein" , 0x04F7E0 }, + { (char*) "Pacific/Majuro" , 0x04F8D0 }, + { (char*) "Pacific/Marquesas" , 0x04F9CE }, + { (char*) "Pacific/Midway" , 0x04FA76 }, + { (char*) "Pacific/Nauru" , 0x04FB39 }, + { (char*) "Pacific/Niue" , 0x04FBFC }, + { (char*) "Pacific/Norfolk" , 0x04FCA2 }, + { (char*) "Pacific/Noumea" , 0x04FD9B }, + { (char*) "Pacific/Pago_Pago" , 0x04FE6D }, + { (char*) "Pacific/Palau" , 0x04FF0B }, + { (char*) "Pacific/Pitcairn" , 0x04FFAB }, + { (char*) "Pacific/Pohnpei" , 0x050050 }, + { (char*) "Pacific/Ponape" , 0x050140 }, + { (char*) "Pacific/Port_Moresby" , 0x0501D2 }, + { (char*) "Pacific/Rarotonga" , 0x050290 }, + { (char*) "Pacific/Saipan" , 0x050432 }, + { (char*) "Pacific/Samoa" , 0x050593 }, + { (char*) "Pacific/Tahiti" , 0x050631 }, + { (char*) "Pacific/Tarawa" , 0x0506D1 }, + { (char*) "Pacific/Tongatapu" , 0x050772 }, + { (char*) "Pacific/Truk" , 0x05086B }, + { (char*) "Pacific/Wake" , 0x050911 }, + { (char*) "Pacific/Wallis" , 0x0509AE }, + { (char*) "Pacific/Yap" , 0x050A40 }, + { (char*) "Poland" , 0x050AE6 }, + { (char*) "Portugal" , 0x050E8D }, + { (char*) "PRC" , 0x051447 }, + { (char*) "PST8PDT" , 0x0515DC }, + { (char*) "ROC" , 0x05199F }, + { (char*) "ROK" , 0x051BAA }, + { (char*) "Singapore" , 0x051D55 }, + { (char*) "Turkey" , 0x051E61 }, + { (char*) "UCT" , 0x05231D }, + { (char*) "Universal" , 0x052398 }, + { (char*) "US/Alaska" , 0x052413 }, + { (char*) "US/Aleutian" , 0x0527F0 }, + { (char*) "US/Arizona" , 0x052BC5 }, + { (char*) "US/Central" , 0x052CC1 }, + { (char*) "US/East-Indiana" , 0x0533A7 }, + { (char*) "US/Eastern" , 0x0535C6 }, + { (char*) "US/Hawaii" , 0x053CA2 }, + { (char*) "US/Indiana-Starke" , 0x053D8B }, + { (char*) "US/Michigan" , 0x05418F }, + { (char*) "US/Mountain" , 0x05451E }, + { (char*) "US/Pacific" , 0x05493C }, + { (char*) "US/Samoa" , 0x054E56 }, + { (char*) "UTC" , 0x054EF4 }, + { (char*) "W-SU" , 0x054F6F }, + { (char*) "WET" , 0x055307 }, + { (char*) "Zulu" , 0x055501 }, }; -const unsigned char timelib_timezone_db_data_builtin[349582] = { +const unsigned char timelib_timezone_db_data_builtin[349564] = { /* Africa/Abidjan */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -6509,7 +6509,7 @@ const unsigned char timelib_timezone_db_data_builtin[349582] = { 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, 0x2B, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0x91, 0xB6, 0x38, 0xA8, 0x00, 0x00, 0x00, 0x00, 0x13, 0x6E, 0x63, 0xC0, 0x00, +0xFF, 0xFF, 0xFF, 0x91, 0xDF, 0x17, 0x28, 0x00, 0x00, 0x00, 0x00, 0x13, 0x6E, 0x63, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x20, 0x75, 0xE4, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x21, 0x81, 0x77, 0x40, 0x00, 0x00, 0x00, 0x00, 0x22, 0x55, 0xC6, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x23, 0x6A, 0x93, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x24, 0x35, 0xA8, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x25, 0x4A, 0x75, 0xC0, 0x00, @@ -6781,10 +6781,10 @@ const unsigned char timelib_timezone_db_data_builtin[349582] = { 0xFF, 0xFF, 0xFF, 0xC7, 0x0F, 0x3A, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x2D, 0x5E, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x88, 0xF0, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xFB, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x75, 0xE4, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xAA, 0xD0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xA3, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0x8C, 0xD0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0x85, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x6E, 0xD0, 0xFF, -0xFF, 0xFF, 0xFF, 0xDA, 0x33, 0x76, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, 0x70, 0xFF, +0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xC6, 0xF0, 0xFF, +0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xBF, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0xA8, 0xF0, 0xFF, +0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0xA1, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x8A, 0xF0, 0xFF, +0xFF, 0xFF, 0xFF, 0xDA, 0x33, 0x92, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0x13, 0x74, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xDE, 0x89, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xA9, 0x82, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xBE, 0x6B, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0x89, 0x64, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x9E, 0x4D, 0x70, 0xFF, @@ -7083,10 +7083,10 @@ const unsigned char timelib_timezone_db_data_builtin[349582] = { 0xFF, 0xFF, 0xFF, 0xC7, 0x0F, 0x3A, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x2D, 0x5E, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x88, 0xF0, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xFB, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x75, 0xE4, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xAA, 0xD0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xA3, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0x8C, 0xD0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0x85, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x6E, 0xD0, 0xFF, -0xFF, 0xFF, 0xFF, 0xDA, 0x33, 0x76, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, 0x70, 0xFF, +0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xC6, 0xF0, 0xFF, +0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xBF, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0xA8, 0xF0, 0xFF, +0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0xA1, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x8A, 0xF0, 0xFF, +0xFF, 0xFF, 0xFF, 0xDA, 0x33, 0x92, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0x13, 0x74, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xDE, 0x89, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xA9, 0x82, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xBE, 0x6B, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0x89, 0x64, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x9E, 0x4D, 0x70, 0xFF, @@ -9002,10 +9002,10 @@ const unsigned char timelib_timezone_db_data_builtin[349582] = { 0xFF, 0xFF, 0xFF, 0xC7, 0x0F, 0x3A, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x2D, 0x5E, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x88, 0xF0, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xFB, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x75, 0xE4, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xAA, 0xD0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xA3, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0x8C, 0xD0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0x85, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x6E, 0xD0, 0xFF, -0xFF, 0xFF, 0xFF, 0xDA, 0x33, 0x76, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, 0x70, 0xFF, +0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xC6, 0xF0, 0xFF, +0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xBF, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0xA8, 0xF0, 0xFF, +0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0xA1, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x8A, 0xF0, 0xFF, +0xFF, 0xFF, 0xFF, 0xDA, 0x33, 0x92, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0x13, 0x74, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xDE, 0x89, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xA9, 0x82, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xBE, 0x6B, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0x89, 0x64, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x9E, 0x4D, 0x70, 0xFF, @@ -9181,10 +9181,10 @@ const unsigned char timelib_timezone_db_data_builtin[349582] = { 0xFF, 0xFF, 0xFF, 0xC7, 0x0F, 0x3A, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x2D, 0x5E, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x88, 0xF0, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xFB, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x75, 0xE4, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xAA, 0xD0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xA3, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0x8C, 0xD0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0x85, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x6E, 0xD0, 0xFF, -0xFF, 0xFF, 0xFF, 0xDA, 0x33, 0x76, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, 0x70, 0xFF, +0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xC6, 0xF0, 0xFF, +0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xBF, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0xA8, 0xF0, 0xFF, +0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0xA1, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x8A, 0xF0, 0xFF, +0xFF, 0xFF, 0xFF, 0xDA, 0x33, 0x92, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0x13, 0x74, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xDE, 0x89, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xA9, 0x82, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xBE, 0x6B, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0x89, 0x64, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x9E, 0x4D, 0x70, 0xFF, @@ -10083,7 +10083,7 @@ const unsigned char timelib_timezone_db_data_builtin[349582] = { 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, 0x33, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x10, 0xFF, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0x19, 0x7B, 0xDC, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, 0xA3, 0xEF, 0x30, 0x00, 0x00, 0x00, 0x00, 0x15, 0x27, 0x7D, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x18, 0xB2, 0x10, 0x00, 0x00, 0x00, 0x00, 0x17, 0x08, 0xB1, 0x20, 0x00, 0x00, 0x00, 0x00, 0x17, 0xF9, 0xE5, 0x90, 0x00, @@ -10109,15 +10109,16 @@ const unsigned char timelib_timezone_db_data_builtin[349582] = { 0x00, 0x00, 0x00, 0x3B, 0xDB, 0x12, 0x40, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xA6, 0x19, 0x40, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBA, 0xF4, 0x40, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x85, 0xFB, 0x40, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9A, 0xD6, 0x40, 0x00, 0x00, 0x00, 0x00, 0x40, 0x65, 0xDD, 0x40, 0x00, -0x00, 0x00, 0x00, 0x41, 0x83, 0xF2, 0xC0, 0x01, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, -0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x04, 0x01, 0x03, +0x00, 0x00, 0x00, 0x41, 0x83, 0xF2, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x65, 0xE0, 0xC6, 0x20, 0x01, +0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x03, 0x04, 0x01, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x00, 0x00, 0x48, 0x24, 0x00, 0x00, -0x00, 0x00, 0x46, 0x50, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x01, 0x08, 0x00, 0x00, 0x54, 0x60, -0x00, 0x0C, 0x00, 0x00, 0x54, 0x60, 0x01, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x35, 0x00, -0x2B, 0x30, 0x37, 0x00, 0x2B, 0x30, 0x36, 0x00, 0x0A, 0x3C, 0x2B, 0x30, 0x36, 0x3E, 0x2D, 0x36, -0x0A, 0x00, 0xCB, 0x52, 0xC8, 0x01, 0x88, 0x13, 0x18, 0x00, 0x00, 0x00, 0x12, 0x6D, 0x6F, 0x73, -0x74, 0x20, 0x6F, 0x66, 0x20, 0x4B, 0x61, 0x7A, 0x61, 0x6B, 0x68, 0x73, 0x74, 0x61, 0x6E, +0x02, 0x03, 0x01, 0x00, 0x00, 0x48, 0x24, 0x00, 0x00, 0x00, 0x00, 0x46, 0x50, 0x00, 0x04, 0x00, +0x00, 0x62, 0x70, 0x01, 0x08, 0x00, 0x00, 0x54, 0x60, 0x00, 0x0C, 0x00, 0x00, 0x54, 0x60, 0x01, +0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x35, 0x00, 0x2B, 0x30, 0x37, 0x00, 0x2B, 0x30, 0x36, +0x00, 0x0A, 0x3C, 0x2B, 0x30, 0x35, 0x3E, 0x2D, 0x35, 0x0A, 0x00, 0xCB, 0x52, 0xC8, 0x01, 0x88, +0x13, 0x18, 0x00, 0x00, 0x00, 0x12, 0x6D, 0x6F, 0x73, 0x74, 0x20, 0x6F, 0x66, 0x20, 0x4B, 0x61, +0x7A, 0x61, 0x6B, 0x68, 0x73, 0x74, 0x61, 0x6E, /* Asia/Amman */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4A, 0x4F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -11111,7 +11112,7 @@ const unsigned char timelib_timezone_db_data_builtin[349582] = { 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x36, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x15, 0xFF, +0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x34, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x15, 0xFF, 0xFF, 0xFF, 0xFF, 0x7D, 0xBD, 0x4A, 0xB0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x59, 0xCF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0xFA, 0xA6, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xC9, 0x38, 0x9C, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xE5, 0xEB, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0xAC, 0xFE, 0x00, 0xFF, @@ -11173,8 +11174,8 @@ const unsigned char timelib_timezone_db_data_builtin[349582] = { 0x00, 0x00, 0x00, 0x60, 0x5E, 0x59, 0x60, 0x00, 0x00, 0x00, 0x00, 0x61, 0x7B, 0x1D, 0x60, 0x00, 0x00, 0x00, 0x00, 0x62, 0x3F, 0x8C, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x63, 0x5C, 0x5E, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x64, 0x4C, 0x5E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x65, 0x3C, 0x40, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x66, 0x19, 0xCB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0x1C, 0x22, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x67, 0xF0, 0x72, 0x80, 0x00, 0x00, 0x00, 0x00, 0x68, 0xFC, 0x04, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x66, 0x23, 0x05, 0x80, 0x00, 0x00, 0x00, 0x00, 0x67, 0x1C, 0x22, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x67, 0xF9, 0xAD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0xFC, 0x04, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x69, 0xC7, 0x1A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xDB, 0xE6, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x6B, 0xA6, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xC5, 0x03, 0x70, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x86, 0xDE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6E, 0xA4, 0xE5, 0x70, 0x00, @@ -11189,41 +11190,40 @@ const unsigned char timelib_timezone_db_data_builtin[349582] = { 0x00, 0x00, 0x00, 0x7E, 0x78, 0x45, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x7A, 0x9C, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x80, 0x58, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x81, 0x48, 0x09, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x82, 0x38, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x83, 0x1E, 0xB1, 0x70, 0x00, -0x00, 0x00, 0x00, 0x83, 0x4C, 0xE4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x83, 0x56, 0x10, 0x70, 0x00, 0x00, 0x00, 0x00, 0x84, 0x17, 0xEB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84, 0xEC, 0x1E, 0x70, 0x00, -0x00, 0x00, 0x00, 0x85, 0x23, 0x8B, 0x80, 0x00, 0x00, 0x00, 0x00, 0x85, 0x35, 0xF2, 0x70, 0x00, +0x00, 0x00, 0x00, 0x85, 0x2C, 0xC6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x85, 0x35, 0xF2, 0x70, 0x00, 0x00, 0x00, 0x00, 0x86, 0x01, 0x07, 0x80, 0x00, 0x00, 0x00, 0x00, 0x86, 0xC2, 0xC5, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x86, 0xF0, 0xF8, 0x80, 0x00, 0x00, 0x00, 0x00, 0x87, 0x15, 0xD4, 0x70, 0x00, +0x00, 0x00, 0x00, 0x86, 0xFA, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x87, 0x15, 0xD4, 0x70, 0x00, 0x00, 0x00, 0x00, 0x87, 0xE0, 0xE9, 0x80, 0x00, 0x00, 0x00, 0x00, 0x88, 0x99, 0x6D, 0x70, 0x00, -0x00, 0x00, 0x00, 0x88, 0xC7, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0xF5, 0xB6, 0x70, 0x00, +0x00, 0x00, 0x00, 0x88, 0xD0, 0xDA, 0x80, 0x00, 0x00, 0x00, 0x00, 0x88, 0xF5, 0xB6, 0x70, 0x00, 0x00, 0x00, 0x00, 0x89, 0xC0, 0xCB, 0x80, 0x00, 0x00, 0x00, 0x00, 0x8A, 0x66, 0xDA, 0x70, 0x00, -0x00, 0x00, 0x00, 0x8A, 0x9E, 0x47, 0x80, 0x00, 0x00, 0x00, 0x00, 0x8A, 0xD5, 0x98, 0x70, 0x00, +0x00, 0x00, 0x00, 0x8A, 0xA7, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8A, 0xD5, 0x98, 0x70, 0x00, 0x00, 0x00, 0x00, 0x8B, 0xA0, 0xAD, 0x80, 0x00, 0x00, 0x00, 0x00, 0x8C, 0x3D, 0x81, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x8C, 0x6B, 0xB4, 0x80, 0x00, 0x00, 0x00, 0x00, 0x8C, 0xBE, 0xB4, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x8C, 0x74, 0xEF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8C, 0xBE, 0xB4, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x8D, 0x80, 0x8F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x8E, 0x14, 0x29, 0x70, 0x00, -0x00, 0x00, 0x00, 0x8E, 0x42, 0x5C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8E, 0x9E, 0x96, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x8E, 0x4B, 0x96, 0x80, 0x00, 0x00, 0x00, 0x00, 0x8E, 0x9E, 0x96, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x8F, 0x60, 0x71, 0x80, 0x00, 0x00, 0x00, 0x00, 0x8F, 0xE1, 0x96, 0x70, 0x00, -0x00, 0x00, 0x00, 0x90, 0x19, 0x03, 0x80, 0x00, 0x00, 0x00, 0x00, 0x90, 0x7E, 0x78, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x90, 0x22, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x7E, 0x78, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x91, 0x49, 0x8E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x91, 0xB8, 0x3D, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x91, 0xE6, 0x70, 0x80, 0x00, 0x00, 0x00, 0x00, 0x92, 0x5E, 0x5A, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x91, 0xEF, 0xAB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x92, 0x5E, 0x5A, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x93, 0x29, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x93, 0x85, 0xAA, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x93, 0xBD, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x94, 0x3E, 0x3C, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x93, 0xC6, 0x52, 0x80, 0x00, 0x00, 0x00, 0x00, 0x94, 0x3E, 0x3C, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x95, 0x09, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x95, 0x5C, 0x52, 0x70, 0x00, -0x00, 0x00, 0x00, 0x95, 0x8A, 0x85, 0x00, 0x00, 0x00, 0x00, 0x00, 0x96, 0x27, 0x59, 0x70, 0x00, +0x00, 0x00, 0x00, 0x95, 0x93, 0xBF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x96, 0x27, 0x59, 0x70, 0x00, 0x00, 0x00, 0x00, 0x96, 0xE9, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x97, 0x32, 0xF9, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x97, 0x61, 0x2C, 0x80, 0x00, 0x00, 0x00, 0x00, 0x98, 0x07, 0x3B, 0x70, 0x00, +0x00, 0x00, 0x00, 0x97, 0x6A, 0x67, 0x00, 0x00, 0x00, 0x00, 0x00, 0x98, 0x07, 0x3B, 0x70, 0x00, 0x00, 0x00, 0x00, 0x98, 0xC9, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x99, 0x00, 0x66, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x99, 0x37, 0xD4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x99, 0xE7, 0x1D, 0x70, 0x00, +0x00, 0x00, 0x00, 0x99, 0x41, 0x0E, 0x80, 0x00, 0x00, 0x00, 0x00, 0x99, 0xE7, 0x1D, 0x70, 0x00, 0x00, 0x00, 0x00, 0x9A, 0xB2, 0x32, 0x80, 0x00, 0x00, 0x00, 0x00, 0x9A, 0xD7, 0x0E, 0x70, 0x00, -0x00, 0x00, 0x00, 0x9B, 0x05, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9B, 0xC6, 0xFF, 0x70, 0x00, +0x00, 0x00, 0x00, 0x9B, 0x0E, 0x7B, 0x80, 0x00, 0x00, 0x00, 0x00, 0x9B, 0xC6, 0xFF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x9C, 0x92, 0x14, 0x80, 0x00, 0x00, 0x00, 0x00, 0x9C, 0xA4, 0x7B, 0x70, 0x00, -0x00, 0x00, 0x00, 0x9C, 0xDB, 0xE8, 0x80, 0x00, 0x00, 0x00, 0x00, 0x9D, 0xA6, 0xE1, 0x70, 0x00, +0x00, 0x00, 0x00, 0x9C, 0xE5, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9D, 0xA6, 0xE1, 0x70, 0x00, 0x00, 0x00, 0x00, 0x9E, 0x71, 0xF6, 0x80, 0x00, 0x00, 0x00, 0x00, 0x9E, 0x7B, 0x22, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x9E, 0xB2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9F, 0x86, 0xC3, 0x70, 0x00, -0x00, 0x00, 0x00, 0xA0, 0x7F, 0xFD, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA1, 0x6F, 0xDF, 0xF0, 0x00, -0x00, 0x00, 0x00, 0xA2, 0x56, 0xA4, 0x80, 0x00, 0x00, 0x00, 0x00, 0xA3, 0x4F, 0xC1, 0xF0, 0x00, -0x00, 0x00, 0x00, 0xA4, 0x24, 0x11, 0x80, 0x00, 0x00, 0x00, 0x00, 0xA5, 0x2F, 0xA3, 0xF0, 0x00, -0x00, 0x00, 0x00, 0xA5, 0xFA, 0xB9, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA7, 0x0F, 0x85, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x9E, 0xBB, 0xCA, 0x80, 0x00, 0x00, 0x00, 0x00, 0x9F, 0x86, 0xC3, 0x70, 0x00, +0x00, 0x00, 0x00, 0xA0, 0x89, 0x37, 0x80, 0x00, 0x00, 0x00, 0x00, 0xA1, 0x6F, 0xDF, 0xF0, 0x00, +0x00, 0x00, 0x00, 0xA2, 0x5F, 0xDF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA3, 0x4F, 0xC1, 0xF0, 0x00, +0x00, 0x00, 0x00, 0xA4, 0x2D, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA5, 0x2F, 0xA3, 0xF0, 0x00, +0x00, 0x00, 0x00, 0xA6, 0x03, 0xF3, 0x80, 0x00, 0x00, 0x00, 0x00, 0xA7, 0x0F, 0x85, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xA7, 0xDA, 0x9B, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA8, 0xEF, 0x67, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xA9, 0xBA, 0x7D, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAA, 0xD8, 0x84, 0x70, 0x00, 0x00, 0x00, 0x00, 0xAB, 0x9A, 0x5F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAC, 0xB8, 0x66, 0x70, 0x00, @@ -11238,35 +11238,35 @@ const unsigned char timelib_timezone_db_data_builtin[349582] = { 0x00, 0x00, 0x00, 0xBC, 0x8B, 0xC6, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBD, 0x84, 0xE3, 0x70, 0x00, 0x00, 0x00, 0x00, 0xBE, 0x6B, 0xA8, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBF, 0x52, 0x50, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x4B, 0x8A, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC1, 0x28, 0xF7, 0xF0, 0x00, -0x00, 0x00, 0x00, 0xC1, 0x57, 0x2A, 0x80, 0x00, 0x00, 0x00, 0x00, 0xC1, 0x69, 0x91, 0x70, 0x00, +0x00, 0x00, 0x00, 0xC1, 0x60, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC1, 0x69, 0x91, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC2, 0x2B, 0x6C, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC2, 0xFF, 0x9F, 0x70, 0x00, -0x00, 0x00, 0x00, 0xC3, 0x2D, 0xD2, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC3, 0x49, 0x73, 0x70, 0x00, +0x00, 0x00, 0x00, 0xC3, 0x37, 0x0C, 0x80, 0x00, 0x00, 0x00, 0x00, 0xC3, 0x49, 0x73, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC4, 0x0B, 0x4E, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC4, 0xCD, 0x0C, 0x70, 0x00, -0x00, 0x00, 0x00, 0xC5, 0x04, 0x79, 0x80, 0x00, 0x00, 0x00, 0x00, 0xC5, 0x29, 0x55, 0x70, 0x00, +0x00, 0x00, 0x00, 0xC5, 0x0D, 0xB4, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC5, 0x29, 0x55, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC5, 0xF4, 0x6A, 0x80, 0x00, 0x00, 0x00, 0x00, 0xC6, 0xA3, 0xB3, 0xF0, 0x00, -0x00, 0x00, 0x00, 0xC6, 0xD1, 0xE6, 0x80, 0x00, 0x00, 0x00, 0x00, 0xC7, 0x09, 0x37, 0x70, 0x00, +0x00, 0x00, 0x00, 0xC6, 0xDB, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC7, 0x09, 0x37, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC7, 0xD4, 0x4C, 0x80, 0x00, 0x00, 0x00, 0x00, 0xC8, 0x71, 0x20, 0xF0, 0x00, -0x00, 0x00, 0x00, 0xC8, 0xA8, 0x8E, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC8, 0xE9, 0x19, 0x70, 0x00, +0x00, 0x00, 0x00, 0xC8, 0xB1, 0xC8, 0x80, 0x00, 0x00, 0x00, 0x00, 0xC8, 0xE9, 0x19, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC9, 0xB4, 0x2E, 0x80, 0x00, 0x00, 0x00, 0x00, 0xCA, 0x47, 0xC8, 0x70, 0x00, -0x00, 0x00, 0x00, 0xCA, 0x7F, 0x35, 0x80, 0x00, 0x00, 0x00, 0x00, 0xCA, 0xD2, 0x35, 0xF0, 0x00, +0x00, 0x00, 0x00, 0xCA, 0x88, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCA, 0xD2, 0x35, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xCB, 0x94, 0x10, 0x80, 0x00, 0x00, 0x00, 0x00, 0xCC, 0x1E, 0x6F, 0xF0, 0x00, -0x00, 0x00, 0x00, 0xCC, 0x4C, 0xA2, 0x80, 0x00, 0x00, 0x00, 0x00, 0xCC, 0xB2, 0x17, 0xF0, 0x00, +0x00, 0x00, 0x00, 0xCC, 0x55, 0xDD, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCC, 0xB2, 0x17, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xCD, 0x73, 0xF2, 0x80, 0x00, 0x00, 0x00, 0x00, 0xCD, 0xEB, 0xDC, 0xF0, 0x00, -0x00, 0x00, 0x00, 0xCE, 0x23, 0x4A, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCE, 0x91, 0xF9, 0xF0, 0x00, +0x00, 0x00, 0x00, 0xCE, 0x2C, 0x84, 0x80, 0x00, 0x00, 0x00, 0x00, 0xCE, 0x91, 0xF9, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xCF, 0x5D, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCF, 0xC2, 0x84, 0x70, 0x00, -0x00, 0x00, 0x00, 0xCF, 0xF0, 0xB7, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD0, 0x71, 0xDB, 0xF0, 0x00, +0x00, 0x00, 0x00, 0xCF, 0xF9, 0xF1, 0x80, 0x00, 0x00, 0x00, 0x00, 0xD0, 0x71, 0xDB, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xD1, 0x3C, 0xF1, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD1, 0x99, 0x2B, 0xF0, 0x00, -0x00, 0x00, 0x00, 0xD1, 0xC7, 0x5E, 0x80, 0x00, 0x00, 0x00, 0x00, 0xD2, 0x51, 0xBD, 0xF0, 0x00, +0x00, 0x00, 0x00, 0xD1, 0xD0, 0x99, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD2, 0x51, 0xBD, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xD3, 0x1C, 0xD3, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD3, 0x66, 0x98, 0xF0, 0x00, -0x00, 0x00, 0x00, 0xD3, 0x9E, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD4, 0x31, 0x9F, 0xF0, 0x00, +0x00, 0x00, 0x00, 0xD3, 0xA7, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0xD4, 0x31, 0x9F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xD4, 0xFC, 0xB5, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD5, 0x3D, 0x40, 0x70, 0x00, -0x00, 0x00, 0x00, 0xD5, 0x6B, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD6, 0x1A, 0xBC, 0x70, 0x00, +0x00, 0x00, 0x00, 0xD5, 0x74, 0xAD, 0x80, 0x00, 0x00, 0x00, 0x00, 0xD6, 0x1A, 0xBC, 0x70, 0x00, 0x00, 0x00, 0x00, 0xD6, 0xDC, 0x97, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD7, 0x0A, 0xAD, 0x70, 0x00, -0x00, 0x00, 0x00, 0xD7, 0x42, 0x1A, 0x80, 0x00, 0x00, 0x00, 0x00, 0xD7, 0xFA, 0x9E, 0x70, 0x00, +0x00, 0x00, 0x00, 0xD7, 0x4B, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD7, 0xFA, 0x9E, 0x70, 0x00, 0x00, 0x00, 0x00, 0xD8, 0xBC, 0x79, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD8, 0xE1, 0x54, 0xF0, 0x00, -0x00, 0x00, 0x00, 0xD9, 0x18, 0xC2, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD9, 0xDA, 0x80, 0x70, 0x00, +0x00, 0x00, 0x00, 0xD9, 0x21, 0xFC, 0x80, 0x00, 0x00, 0x00, 0x00, 0xD9, 0xDA, 0x80, 0x70, 0x00, 0x00, 0x00, 0x00, 0xDA, 0xA5, 0x95, 0x80, 0x00, 0x00, 0x00, 0x00, 0xDA, 0xB7, 0xFC, 0x70, 0x00, -0x00, 0x00, 0x00, 0xDA, 0xE6, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xDB, 0xBA, 0x62, 0x70, 0x02, +0x00, 0x00, 0x00, 0xDA, 0xEF, 0x69, 0x80, 0x00, 0x00, 0x00, 0x00, 0xDB, 0xBA, 0x62, 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, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, @@ -11286,13 +11286,13 @@ const unsigned char timelib_timezone_db_data_builtin[349582] = { 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 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, 0x20, 0x50, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, 0x01, -0x04, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x09, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x0D, 0x00, 0x00, 0x1C, -0x20, 0x00, 0x11, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x45, 0x53, 0x54, 0x00, 0x45, 0x45, 0x54, 0x00, -0x49, 0x44, 0x54, 0x00, 0x49, 0x53, 0x54, 0x00, 0x0A, 0x45, 0x45, 0x54, 0x2D, 0x32, 0x45, 0x45, -0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x34, 0x2E, 0x34, 0x2F, 0x35, 0x30, 0x2C, 0x4D, 0x31, 0x30, -0x2E, 0x34, 0x2E, 0x34, 0x2F, 0x35, 0x30, 0x0A, 0x00, 0xB9, 0x64, 0xF0, 0x01, 0x47, 0x40, 0x0A, -0x00, 0x00, 0x00, 0x0A, 0x47, 0x61, 0x7A, 0x61, 0x20, 0x53, 0x74, 0x72, 0x69, 0x70, +0x02, 0x01, 0x02, 0x00, 0x00, 0x20, 0x50, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x04, 0x00, +0x00, 0x1C, 0x20, 0x00, 0x09, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x0D, 0x00, 0x00, 0x1C, 0x20, 0x00, +0x11, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x45, 0x53, 0x54, 0x00, 0x45, 0x45, 0x54, 0x00, 0x49, 0x44, +0x54, 0x00, 0x49, 0x53, 0x54, 0x00, 0x0A, 0x45, 0x45, 0x54, 0x2D, 0x32, 0x45, 0x45, 0x53, 0x54, +0x2C, 0x4D, 0x33, 0x2E, 0x34, 0x2E, 0x34, 0x2F, 0x35, 0x30, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x34, +0x2E, 0x34, 0x2F, 0x35, 0x30, 0x0A, 0x00, 0xB9, 0x64, 0xF0, 0x01, 0x47, 0x40, 0x0A, 0x00, 0x00, +0x00, 0x0A, 0x47, 0x61, 0x7A, 0x61, 0x20, 0x53, 0x74, 0x72, 0x69, 0x70, /* Asia/Harbin */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -11328,7 +11328,7 @@ const unsigned char timelib_timezone_db_data_builtin[349582] = { 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x38, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x15, 0xFF, +0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x36, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x15, 0xFF, 0xFF, 0xFF, 0xFF, 0x7D, 0xBD, 0x4A, 0x19, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x59, 0xCF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0xFA, 0xA6, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xC9, 0x38, 0x9C, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xE5, 0xEB, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0xAC, 0xFE, 0x00, 0xFF, @@ -11391,8 +11391,8 @@ const unsigned char timelib_timezone_db_data_builtin[349582] = { 0x00, 0x00, 0x00, 0x60, 0x5E, 0x59, 0x60, 0x00, 0x00, 0x00, 0x00, 0x61, 0x7B, 0x1D, 0x60, 0x00, 0x00, 0x00, 0x00, 0x62, 0x3F, 0x8C, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x63, 0x5C, 0x5E, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x64, 0x4C, 0x5E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x65, 0x3C, 0x40, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x66, 0x19, 0xCB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0x1C, 0x22, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x67, 0xF0, 0x72, 0x80, 0x00, 0x00, 0x00, 0x00, 0x68, 0xFC, 0x04, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x66, 0x23, 0x05, 0x80, 0x00, 0x00, 0x00, 0x00, 0x67, 0x1C, 0x22, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x67, 0xF9, 0xAD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0xFC, 0x04, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x69, 0xC7, 0x1A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xDB, 0xE6, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x6B, 0xA6, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xC5, 0x03, 0x70, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x86, 0xDE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6E, 0xA4, 0xE5, 0x70, 0x00, @@ -11407,41 +11407,40 @@ const unsigned char timelib_timezone_db_data_builtin[349582] = { 0x00, 0x00, 0x00, 0x7E, 0x78, 0x45, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x7A, 0x9C, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x80, 0x58, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x81, 0x48, 0x09, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x82, 0x38, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x83, 0x1E, 0xB1, 0x70, 0x00, -0x00, 0x00, 0x00, 0x83, 0x4C, 0xE4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x83, 0x56, 0x10, 0x70, 0x00, 0x00, 0x00, 0x00, 0x84, 0x17, 0xEB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84, 0xEC, 0x1E, 0x70, 0x00, -0x00, 0x00, 0x00, 0x85, 0x23, 0x8B, 0x80, 0x00, 0x00, 0x00, 0x00, 0x85, 0x35, 0xF2, 0x70, 0x00, +0x00, 0x00, 0x00, 0x85, 0x2C, 0xC6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x85, 0x35, 0xF2, 0x70, 0x00, 0x00, 0x00, 0x00, 0x86, 0x01, 0x07, 0x80, 0x00, 0x00, 0x00, 0x00, 0x86, 0xC2, 0xC5, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x86, 0xF0, 0xF8, 0x80, 0x00, 0x00, 0x00, 0x00, 0x87, 0x15, 0xD4, 0x70, 0x00, +0x00, 0x00, 0x00, 0x86, 0xFA, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x87, 0x15, 0xD4, 0x70, 0x00, 0x00, 0x00, 0x00, 0x87, 0xE0, 0xE9, 0x80, 0x00, 0x00, 0x00, 0x00, 0x88, 0x99, 0x6D, 0x70, 0x00, -0x00, 0x00, 0x00, 0x88, 0xC7, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0xF5, 0xB6, 0x70, 0x00, +0x00, 0x00, 0x00, 0x88, 0xD0, 0xDA, 0x80, 0x00, 0x00, 0x00, 0x00, 0x88, 0xF5, 0xB6, 0x70, 0x00, 0x00, 0x00, 0x00, 0x89, 0xC0, 0xCB, 0x80, 0x00, 0x00, 0x00, 0x00, 0x8A, 0x66, 0xDA, 0x70, 0x00, -0x00, 0x00, 0x00, 0x8A, 0x9E, 0x47, 0x80, 0x00, 0x00, 0x00, 0x00, 0x8A, 0xD5, 0x98, 0x70, 0x00, +0x00, 0x00, 0x00, 0x8A, 0xA7, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8A, 0xD5, 0x98, 0x70, 0x00, 0x00, 0x00, 0x00, 0x8B, 0xA0, 0xAD, 0x80, 0x00, 0x00, 0x00, 0x00, 0x8C, 0x3D, 0x81, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x8C, 0x6B, 0xB4, 0x80, 0x00, 0x00, 0x00, 0x00, 0x8C, 0xBE, 0xB4, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x8C, 0x74, 0xEF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8C, 0xBE, 0xB4, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x8D, 0x80, 0x8F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x8E, 0x14, 0x29, 0x70, 0x00, -0x00, 0x00, 0x00, 0x8E, 0x42, 0x5C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8E, 0x9E, 0x96, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x8E, 0x4B, 0x96, 0x80, 0x00, 0x00, 0x00, 0x00, 0x8E, 0x9E, 0x96, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x8F, 0x60, 0x71, 0x80, 0x00, 0x00, 0x00, 0x00, 0x8F, 0xE1, 0x96, 0x70, 0x00, -0x00, 0x00, 0x00, 0x90, 0x19, 0x03, 0x80, 0x00, 0x00, 0x00, 0x00, 0x90, 0x7E, 0x78, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x90, 0x22, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x7E, 0x78, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x91, 0x49, 0x8E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x91, 0xB8, 0x3D, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x91, 0xE6, 0x70, 0x80, 0x00, 0x00, 0x00, 0x00, 0x92, 0x5E, 0x5A, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x91, 0xEF, 0xAB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x92, 0x5E, 0x5A, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x93, 0x29, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x93, 0x85, 0xAA, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x93, 0xBD, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x94, 0x3E, 0x3C, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x93, 0xC6, 0x52, 0x80, 0x00, 0x00, 0x00, 0x00, 0x94, 0x3E, 0x3C, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x95, 0x09, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x95, 0x5C, 0x52, 0x70, 0x00, -0x00, 0x00, 0x00, 0x95, 0x8A, 0x85, 0x00, 0x00, 0x00, 0x00, 0x00, 0x96, 0x27, 0x59, 0x70, 0x00, +0x00, 0x00, 0x00, 0x95, 0x93, 0xBF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x96, 0x27, 0x59, 0x70, 0x00, 0x00, 0x00, 0x00, 0x96, 0xE9, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x97, 0x32, 0xF9, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x97, 0x61, 0x2C, 0x80, 0x00, 0x00, 0x00, 0x00, 0x98, 0x07, 0x3B, 0x70, 0x00, +0x00, 0x00, 0x00, 0x97, 0x6A, 0x67, 0x00, 0x00, 0x00, 0x00, 0x00, 0x98, 0x07, 0x3B, 0x70, 0x00, 0x00, 0x00, 0x00, 0x98, 0xC9, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x99, 0x00, 0x66, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x99, 0x37, 0xD4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x99, 0xE7, 0x1D, 0x70, 0x00, +0x00, 0x00, 0x00, 0x99, 0x41, 0x0E, 0x80, 0x00, 0x00, 0x00, 0x00, 0x99, 0xE7, 0x1D, 0x70, 0x00, 0x00, 0x00, 0x00, 0x9A, 0xB2, 0x32, 0x80, 0x00, 0x00, 0x00, 0x00, 0x9A, 0xD7, 0x0E, 0x70, 0x00, -0x00, 0x00, 0x00, 0x9B, 0x05, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9B, 0xC6, 0xFF, 0x70, 0x00, +0x00, 0x00, 0x00, 0x9B, 0x0E, 0x7B, 0x80, 0x00, 0x00, 0x00, 0x00, 0x9B, 0xC6, 0xFF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x9C, 0x92, 0x14, 0x80, 0x00, 0x00, 0x00, 0x00, 0x9C, 0xA4, 0x7B, 0x70, 0x00, -0x00, 0x00, 0x00, 0x9C, 0xDB, 0xE8, 0x80, 0x00, 0x00, 0x00, 0x00, 0x9D, 0xA6, 0xE1, 0x70, 0x00, +0x00, 0x00, 0x00, 0x9C, 0xE5, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9D, 0xA6, 0xE1, 0x70, 0x00, 0x00, 0x00, 0x00, 0x9E, 0x71, 0xF6, 0x80, 0x00, 0x00, 0x00, 0x00, 0x9E, 0x7B, 0x22, 0xF0, 0x00, -0x00, 0x00, 0x00, 0x9E, 0xB2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9F, 0x86, 0xC3, 0x70, 0x00, -0x00, 0x00, 0x00, 0xA0, 0x7F, 0xFD, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA1, 0x6F, 0xDF, 0xF0, 0x00, -0x00, 0x00, 0x00, 0xA2, 0x56, 0xA4, 0x80, 0x00, 0x00, 0x00, 0x00, 0xA3, 0x4F, 0xC1, 0xF0, 0x00, -0x00, 0x00, 0x00, 0xA4, 0x24, 0x11, 0x80, 0x00, 0x00, 0x00, 0x00, 0xA5, 0x2F, 0xA3, 0xF0, 0x00, -0x00, 0x00, 0x00, 0xA5, 0xFA, 0xB9, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA7, 0x0F, 0x85, 0xF0, 0x00, +0x00, 0x00, 0x00, 0x9E, 0xBB, 0xCA, 0x80, 0x00, 0x00, 0x00, 0x00, 0x9F, 0x86, 0xC3, 0x70, 0x00, +0x00, 0x00, 0x00, 0xA0, 0x89, 0x37, 0x80, 0x00, 0x00, 0x00, 0x00, 0xA1, 0x6F, 0xDF, 0xF0, 0x00, +0x00, 0x00, 0x00, 0xA2, 0x5F, 0xDF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA3, 0x4F, 0xC1, 0xF0, 0x00, +0x00, 0x00, 0x00, 0xA4, 0x2D, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA5, 0x2F, 0xA3, 0xF0, 0x00, +0x00, 0x00, 0x00, 0xA6, 0x03, 0xF3, 0x80, 0x00, 0x00, 0x00, 0x00, 0xA7, 0x0F, 0x85, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xA7, 0xDA, 0x9B, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA8, 0xEF, 0x67, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xA9, 0xBA, 0x7D, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAA, 0xD8, 0x84, 0x70, 0x00, 0x00, 0x00, 0x00, 0xAB, 0x9A, 0x5F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAC, 0xB8, 0x66, 0x70, 0x00, @@ -11456,35 +11455,35 @@ const unsigned char timelib_timezone_db_data_builtin[349582] = { 0x00, 0x00, 0x00, 0xBC, 0x8B, 0xC6, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBD, 0x84, 0xE3, 0x70, 0x00, 0x00, 0x00, 0x00, 0xBE, 0x6B, 0xA8, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBF, 0x52, 0x50, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x4B, 0x8A, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC1, 0x28, 0xF7, 0xF0, 0x00, -0x00, 0x00, 0x00, 0xC1, 0x57, 0x2A, 0x80, 0x00, 0x00, 0x00, 0x00, 0xC1, 0x69, 0x91, 0x70, 0x00, +0x00, 0x00, 0x00, 0xC1, 0x60, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC1, 0x69, 0x91, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC2, 0x2B, 0x6C, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC2, 0xFF, 0x9F, 0x70, 0x00, -0x00, 0x00, 0x00, 0xC3, 0x2D, 0xD2, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC3, 0x49, 0x73, 0x70, 0x00, +0x00, 0x00, 0x00, 0xC3, 0x37, 0x0C, 0x80, 0x00, 0x00, 0x00, 0x00, 0xC3, 0x49, 0x73, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC4, 0x0B, 0x4E, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC4, 0xCD, 0x0C, 0x70, 0x00, -0x00, 0x00, 0x00, 0xC5, 0x04, 0x79, 0x80, 0x00, 0x00, 0x00, 0x00, 0xC5, 0x29, 0x55, 0x70, 0x00, +0x00, 0x00, 0x00, 0xC5, 0x0D, 0xB4, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC5, 0x29, 0x55, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC5, 0xF4, 0x6A, 0x80, 0x00, 0x00, 0x00, 0x00, 0xC6, 0xA3, 0xB3, 0xF0, 0x00, -0x00, 0x00, 0x00, 0xC6, 0xD1, 0xE6, 0x80, 0x00, 0x00, 0x00, 0x00, 0xC7, 0x09, 0x37, 0x70, 0x00, +0x00, 0x00, 0x00, 0xC6, 0xDB, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC7, 0x09, 0x37, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC7, 0xD4, 0x4C, 0x80, 0x00, 0x00, 0x00, 0x00, 0xC8, 0x71, 0x20, 0xF0, 0x00, -0x00, 0x00, 0x00, 0xC8, 0xA8, 0x8E, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC8, 0xE9, 0x19, 0x70, 0x00, +0x00, 0x00, 0x00, 0xC8, 0xB1, 0xC8, 0x80, 0x00, 0x00, 0x00, 0x00, 0xC8, 0xE9, 0x19, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC9, 0xB4, 0x2E, 0x80, 0x00, 0x00, 0x00, 0x00, 0xCA, 0x47, 0xC8, 0x70, 0x00, -0x00, 0x00, 0x00, 0xCA, 0x7F, 0x35, 0x80, 0x00, 0x00, 0x00, 0x00, 0xCA, 0xD2, 0x35, 0xF0, 0x00, +0x00, 0x00, 0x00, 0xCA, 0x88, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCA, 0xD2, 0x35, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xCB, 0x94, 0x10, 0x80, 0x00, 0x00, 0x00, 0x00, 0xCC, 0x1E, 0x6F, 0xF0, 0x00, -0x00, 0x00, 0x00, 0xCC, 0x4C, 0xA2, 0x80, 0x00, 0x00, 0x00, 0x00, 0xCC, 0xB2, 0x17, 0xF0, 0x00, +0x00, 0x00, 0x00, 0xCC, 0x55, 0xDD, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCC, 0xB2, 0x17, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xCD, 0x73, 0xF2, 0x80, 0x00, 0x00, 0x00, 0x00, 0xCD, 0xEB, 0xDC, 0xF0, 0x00, -0x00, 0x00, 0x00, 0xCE, 0x23, 0x4A, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCE, 0x91, 0xF9, 0xF0, 0x00, +0x00, 0x00, 0x00, 0xCE, 0x2C, 0x84, 0x80, 0x00, 0x00, 0x00, 0x00, 0xCE, 0x91, 0xF9, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xCF, 0x5D, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCF, 0xC2, 0x84, 0x70, 0x00, -0x00, 0x00, 0x00, 0xCF, 0xF0, 0xB7, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD0, 0x71, 0xDB, 0xF0, 0x00, +0x00, 0x00, 0x00, 0xCF, 0xF9, 0xF1, 0x80, 0x00, 0x00, 0x00, 0x00, 0xD0, 0x71, 0xDB, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xD1, 0x3C, 0xF1, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD1, 0x99, 0x2B, 0xF0, 0x00, -0x00, 0x00, 0x00, 0xD1, 0xC7, 0x5E, 0x80, 0x00, 0x00, 0x00, 0x00, 0xD2, 0x51, 0xBD, 0xF0, 0x00, +0x00, 0x00, 0x00, 0xD1, 0xD0, 0x99, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD2, 0x51, 0xBD, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xD3, 0x1C, 0xD3, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD3, 0x66, 0x98, 0xF0, 0x00, -0x00, 0x00, 0x00, 0xD3, 0x9E, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD4, 0x31, 0x9F, 0xF0, 0x00, +0x00, 0x00, 0x00, 0xD3, 0xA7, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0xD4, 0x31, 0x9F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xD4, 0xFC, 0xB5, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD5, 0x3D, 0x40, 0x70, 0x00, -0x00, 0x00, 0x00, 0xD5, 0x6B, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD6, 0x1A, 0xBC, 0x70, 0x00, +0x00, 0x00, 0x00, 0xD5, 0x74, 0xAD, 0x80, 0x00, 0x00, 0x00, 0x00, 0xD6, 0x1A, 0xBC, 0x70, 0x00, 0x00, 0x00, 0x00, 0xD6, 0xDC, 0x97, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD7, 0x0A, 0xAD, 0x70, 0x00, -0x00, 0x00, 0x00, 0xD7, 0x42, 0x1A, 0x80, 0x00, 0x00, 0x00, 0x00, 0xD7, 0xFA, 0x9E, 0x70, 0x00, +0x00, 0x00, 0x00, 0xD7, 0x4B, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD7, 0xFA, 0x9E, 0x70, 0x00, 0x00, 0x00, 0x00, 0xD8, 0xBC, 0x79, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD8, 0xE1, 0x54, 0xF0, 0x00, -0x00, 0x00, 0x00, 0xD9, 0x18, 0xC2, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD9, 0xDA, 0x80, 0x70, 0x00, +0x00, 0x00, 0x00, 0xD9, 0x21, 0xFC, 0x80, 0x00, 0x00, 0x00, 0x00, 0xD9, 0xDA, 0x80, 0x70, 0x00, 0x00, 0x00, 0x00, 0xDA, 0xA5, 0x95, 0x80, 0x00, 0x00, 0x00, 0x00, 0xDA, 0xB7, 0xFC, 0x70, 0x00, -0x00, 0x00, 0x00, 0xDA, 0xE6, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xDB, 0xBA, 0x62, 0x70, 0x02, +0x00, 0x00, 0x00, 0xDA, 0xEF, 0x69, 0x80, 0x00, 0x00, 0x00, 0x00, 0xDB, 0xBA, 0x62, 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, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, @@ -11504,13 +11503,13 @@ const unsigned char timelib_timezone_db_data_builtin[349582] = { 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 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, 0x20, 0xE7, 0x00, 0x00, 0x00, 0x00, 0x2A, -0x30, 0x01, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x09, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x0D, 0x00, -0x00, 0x1C, 0x20, 0x00, 0x11, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x45, 0x53, 0x54, 0x00, 0x45, 0x45, -0x54, 0x00, 0x49, 0x44, 0x54, 0x00, 0x49, 0x53, 0x54, 0x00, 0x0A, 0x45, 0x45, 0x54, 0x2D, 0x32, -0x45, 0x45, 0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x34, 0x2E, 0x34, 0x2F, 0x35, 0x30, 0x2C, 0x4D, -0x31, 0x30, 0x2E, 0x34, 0x2E, 0x34, 0x2F, 0x35, 0x30, 0x0A, 0x00, 0xB9, 0x71, 0xF5, 0x01, 0x48, -0x35, 0x7C, 0x00, 0x00, 0x00, 0x09, 0x57, 0x65, 0x73, 0x74, 0x20, 0x42, 0x61, 0x6E, 0x6B, +0x02, 0x01, 0x02, 0x01, 0x02, 0x00, 0x00, 0x20, 0xE7, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, 0x01, +0x04, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x09, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x0D, 0x00, 0x00, 0x1C, +0x20, 0x00, 0x11, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x45, 0x53, 0x54, 0x00, 0x45, 0x45, 0x54, 0x00, +0x49, 0x44, 0x54, 0x00, 0x49, 0x53, 0x54, 0x00, 0x0A, 0x45, 0x45, 0x54, 0x2D, 0x32, 0x45, 0x45, +0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x34, 0x2E, 0x34, 0x2F, 0x35, 0x30, 0x2C, 0x4D, 0x31, 0x30, +0x2E, 0x34, 0x2E, 0x34, 0x2F, 0x35, 0x30, 0x0A, 0x00, 0xB9, 0x71, 0xF5, 0x01, 0x48, 0x35, 0x7C, +0x00, 0x00, 0x00, 0x09, 0x57, 0x65, 0x73, 0x74, 0x20, 0x42, 0x61, 0x6E, 0x6B, /* Asia/Ho_Chi_Minh */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x56, 0x4E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -11522,7 +11521,7 @@ const unsigned char timelib_timezone_db_data_builtin[349582] = { 0xFF, 0xFF, 0xFF, 0x88, 0x8C, 0x43, 0x8A, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0xA3, 0x2B, 0x0A, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0x35, 0xE6, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0x59, 0xCE, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x3B, 0x3E, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x32, 0xBB, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0xE4, 0xB6, 0xE4, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0x2F, 0x98, 0x00, 0x00, +0xFF, 0xFF, 0xFF, 0xE4, 0xB6, 0xF2, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0x2F, 0x98, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x3D, 0xC7, 0x00, 0x01, 0x02, 0x03, 0x04, 0x02, 0x03, 0x02, 0x03, 0x02, 0x00, 0x00, 0x63, 0xF6, 0x00, 0x00, 0x00, 0x00, 0x63, 0xF6, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x09, 0x00, 0x00, 0x70, 0x80, 0x00, 0x0D, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x11, 0x4C, 0x4D, @@ -12675,7 +12674,7 @@ const unsigned char timelib_timezone_db_data_builtin[349582] = { 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, 0x33, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x10, 0xFF, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0x19, 0x88, 0x5C, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, 0xA3, 0xFD, 0x40, 0x00, 0x00, 0x00, 0x00, 0x15, 0x27, 0x8B, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x18, 0xC0, 0x20, 0x00, 0x00, 0x00, 0x00, 0x17, 0x08, 0xB1, 0x20, 0x00, 0x00, 0x00, 0x00, 0x17, 0xF9, 0xF3, 0xA0, 0x00, @@ -12701,16 +12700,17 @@ const unsigned char timelib_timezone_db_data_builtin[349582] = { 0x00, 0x00, 0x00, 0x3B, 0xDB, 0x20, 0x50, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xA6, 0x27, 0x50, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x02, 0x50, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x86, 0x09, 0x50, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9A, 0xE4, 0x50, 0x00, 0x00, 0x00, 0x00, 0x40, 0x65, 0xEB, 0x50, 0x00, -0x00, 0x00, 0x00, 0x41, 0x84, 0x00, 0xD0, 0x01, 0x02, 0x03, 0x04, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x05, 0x01, 0x02, +0x00, 0x00, 0x00, 0x41, 0x84, 0x00, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x65, 0xE0, 0xC6, 0x20, 0x01, +0x02, 0x03, 0x04, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x05, 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, 0x04, 0x00, 0x00, 0x3B, 0xA4, 0x00, 0x00, -0x00, 0x00, 0x38, 0x40, 0x00, 0x04, 0x00, 0x00, 0x46, 0x50, 0x00, 0x08, 0x00, 0x00, 0x54, 0x60, -0x01, 0x0C, 0x00, 0x00, 0x54, 0x60, 0x00, 0x0C, 0x00, 0x00, 0x46, 0x50, 0x01, 0x08, 0x4C, 0x4D, -0x54, 0x00, 0x2B, 0x30, 0x34, 0x00, 0x2B, 0x30, 0x35, 0x00, 0x2B, 0x30, 0x36, 0x00, 0x0A, 0x3C, -0x2B, 0x30, 0x36, 0x3E, 0x2D, 0x36, 0x0A, 0x00, 0xDA, 0x81, 0x7F, 0x01, 0x73, 0xBA, 0xC2, 0x00, -0x00, 0x00, 0x1A, 0x51, 0x6F, 0x73, 0x74, 0x61, 0x6E, 0x61, 0x79, 0x2F, 0x4B, 0x6F, 0x73, 0x74, -0x61, 0x6E, 0x61, 0x79, 0x2F, 0x4B, 0x75, 0x73, 0x74, 0x61, 0x6E, 0x61, 0x79, +0x03, 0x04, 0x02, 0x00, 0x00, 0x3B, 0xA4, 0x00, 0x00, 0x00, 0x00, 0x38, 0x40, 0x00, 0x04, 0x00, +0x00, 0x46, 0x50, 0x00, 0x08, 0x00, 0x00, 0x54, 0x60, 0x01, 0x0C, 0x00, 0x00, 0x54, 0x60, 0x00, +0x0C, 0x00, 0x00, 0x46, 0x50, 0x01, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x34, 0x00, 0x2B, +0x30, 0x35, 0x00, 0x2B, 0x30, 0x36, 0x00, 0x0A, 0x3C, 0x2B, 0x30, 0x35, 0x3E, 0x2D, 0x35, 0x0A, +0x00, 0xDA, 0x81, 0x7F, 0x01, 0x73, 0xBA, 0xC2, 0x00, 0x00, 0x00, 0x1A, 0x51, 0x6F, 0x73, 0x74, +0x61, 0x6E, 0x61, 0x79, 0x2F, 0x4B, 0x6F, 0x73, 0x74, 0x61, 0x6E, 0x61, 0x79, 0x2F, 0x4B, 0x75, +0x73, 0x74, 0x61, 0x6E, 0x61, 0x79, /* Asia/Qyzylorda */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4B, 0x5A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -12793,7 +12793,7 @@ const unsigned char timelib_timezone_db_data_builtin[349582] = { 0xFF, 0xFF, 0xFF, 0x88, 0x8C, 0x43, 0x8A, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0xA3, 0x2B, 0x0A, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0x35, 0xE6, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0x59, 0xCE, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x3B, 0x3E, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x32, 0xBB, 0x10, 0xFF, -0xFF, 0xFF, 0xFF, 0xE4, 0xB6, 0xE4, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0x2F, 0x98, 0x00, 0x00, +0xFF, 0xFF, 0xFF, 0xE4, 0xB6, 0xF2, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0x2F, 0x98, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x3D, 0xC7, 0x00, 0x01, 0x02, 0x03, 0x04, 0x02, 0x03, 0x02, 0x03, 0x02, 0x00, 0x00, 0x63, 0xF6, 0x00, 0x00, 0x00, 0x00, 0x63, 0xF6, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x09, 0x00, 0x00, 0x70, 0x80, 0x00, 0x0D, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x11, 0x4C, 0x4D, @@ -15728,10 +15728,10 @@ const unsigned char timelib_timezone_db_data_builtin[349582] = { 0xFF, 0xFF, 0xFF, 0xC7, 0x0F, 0x3A, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x2D, 0x5E, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x88, 0xF0, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xFB, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x75, 0xE4, 0xF0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xAA, 0xD0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xA3, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0x8C, 0xD0, 0xFF, -0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0x85, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x6E, 0xD0, 0xFF, -0xFF, 0xFF, 0xFF, 0xDA, 0x33, 0x76, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, 0x70, 0xFF, +0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xC6, 0xF0, 0xFF, +0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xBF, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0xA8, 0xF0, 0xFF, +0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0xA1, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x8A, 0xF0, 0xFF, +0xFF, 0xFF, 0xFF, 0xDA, 0x33, 0x92, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0x13, 0x74, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xDE, 0x89, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xA9, 0x82, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xBE, 0x6B, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0x89, 0x64, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x9E, 0x4D, 0x70, 0xFF, @@ -24213,341 +24213,341 @@ const timelib_tzdb_index_entry timezonedb_idx_builtin[597] = { { (char*) "Asia/Dushanbe" , 0x047AD4 }, { (char*) "Asia/Famagusta" , 0x047D21 }, { (char*) "Asia/Gaza" , 0x048528 }, - { (char*) "Asia/Harbin" , 0x049454 }, - { (char*) "Asia/Hebron" , 0x049691 }, - { (char*) "Asia/Ho_Chi_Minh" , 0x04A5D8 }, - { (char*) "Asia/Hong_Kong" , 0x04A735 }, - { (char*) "Asia/Hovd" , 0x04AC12 }, - { (char*) "Asia/Irkutsk" , 0x04AFB6 }, - { (char*) "Asia/Istanbul" , 0x04B4A9 }, - { (char*) "Asia/Jakarta" , 0x04BC42 }, - { (char*) "Asia/Jayapura" , 0x04BDDA }, - { (char*) "Asia/Jerusalem" , 0x04BEF9 }, - { (char*) "Asia/Kabul" , 0x04C859 }, - { (char*) "Asia/Kamchatka" , 0x04C927 }, - { (char*) "Asia/Karachi" , 0x04CDC5 }, - { (char*) "Asia/Kashgar" , 0x04CF4C }, - { (char*) "Asia/Kathmandu" , 0x04CFEF }, - { (char*) "Asia/Katmandu" , 0x04D0C1 }, - { (char*) "Asia/Khandyga" , 0x04D193 }, - { (char*) "Asia/Kolkata" , 0x04D6A6 }, - { (char*) "Asia/Krasnoyarsk" , 0x04D7CF }, - { (char*) "Asia/Kuala_Lumpur" , 0x04DC9D }, - { (char*) "Asia/Kuching" , 0x04DE4E }, - { (char*) "Asia/Kuwait" , 0x04E03D }, - { (char*) "Asia/Macao" , 0x04E0E0 }, - { (char*) "Asia/Macau" , 0x04E5B7 }, - { (char*) "Asia/Magadan" , 0x04EA8E }, - { (char*) "Asia/Makassar" , 0x04EF62 }, - { (char*) "Asia/Manila" , 0x04F0B5 }, - { (char*) "Asia/Muscat" , 0x04F209 }, - { (char*) "Asia/Nicosia" , 0x04F2AC }, - { (char*) "Asia/Novokuznetsk" , 0x04FA98 }, - { (char*) "Asia/Novosibirsk" , 0x04FF34 }, - { (char*) "Asia/Omsk" , 0x05040B }, - { (char*) "Asia/Oral" , 0x0508CD }, - { (char*) "Asia/Phnom_Penh" , 0x050CC7 }, - { (char*) "Asia/Pontianak" , 0x050DEC }, - { (char*) "Asia/Pyongyang" , 0x050F6F }, - { (char*) "Asia/Qatar" , 0x051068 }, - { (char*) "Asia/Qostanay" , 0x05112D }, - { (char*) "Asia/Qyzylorda" , 0x051538 }, - { (char*) "Asia/Rangoon" , 0x051954 }, - { (char*) "Asia/Riyadh" , 0x051A5E }, - { (char*) "Asia/Saigon" , 0x051B01 }, - { (char*) "Asia/Sakhalin" , 0x051C5E }, - { (char*) "Asia/Samarkand" , 0x052126 }, - { (char*) "Asia/Seoul" , 0x052376 }, - { (char*) "Asia/Shanghai" , 0x0525EB }, - { (char*) "Asia/Singapore" , 0x052834 }, - { (char*) "Asia/Srednekolymsk" , 0x0529D1 }, - { (char*) "Asia/Taipei" , 0x052EA5 }, - { (char*) "Asia/Tashkent" , 0x0531AA }, - { (char*) "Asia/Tbilisi" , 0x053408 }, - { (char*) "Asia/Tehran" , 0x053811 }, - { (char*) "Asia/Tel_Aviv" , 0x053CFD }, - { (char*) "Asia/Thimbu" , 0x05465D }, - { (char*) "Asia/Thimphu" , 0x054726 }, - { (char*) "Asia/Tokyo" , 0x0547EF }, - { (char*) "Asia/Tomsk" , 0x054930 }, - { (char*) "Asia/Ujung_Pandang" , 0x054E01 }, - { (char*) "Asia/Ulaanbaatar" , 0x054F0B }, - { (char*) "Asia/Ulan_Bator" , 0x055294 }, - { (char*) "Asia/Urumqi" , 0x05560D }, - { (char*) "Asia/Ust-Nera" , 0x0556BD }, - { (char*) "Asia/Vientiane" , 0x055BB3 }, - { (char*) "Asia/Vladivostok" , 0x055CF4 }, - { (char*) "Asia/Yakutsk" , 0x0561BD }, - { (char*) "Asia/Yangon" , 0x056685 }, - { (char*) "Asia/Yekaterinburg" , 0x05678F }, - { (char*) "Asia/Yerevan" , 0x056C76 }, - { (char*) "Atlantic/Azores" , 0x0570F3 }, - { (char*) "Atlantic/Bermuda" , 0x057EAF }, - { (char*) "Atlantic/Canary" , 0x058817 }, - { (char*) "Atlantic/Cape_Verde" , 0x058F9A }, - { (char*) "Atlantic/Faeroe" , 0x0590A6 }, - { (char*) "Atlantic/Faroe" , 0x0597C9 }, - { (char*) "Atlantic/Jan_Mayen" , 0x059EEC }, - { (char*) "Atlantic/Madeira" , 0x05A7F2 }, - { (char*) "Atlantic/Reykjavik" , 0x05B5BC }, - { (char*) "Atlantic/South_Georgia" , 0x05BA52 }, - { (char*) "Atlantic/St_Helena" , 0x05BAF4 }, - { (char*) "Atlantic/Stanley" , 0x05BBB6 }, - { (char*) "Australia/ACT" , 0x05C072 }, - { (char*) "Australia/Adelaide" , 0x05C90C }, - { (char*) "Australia/Brisbane" , 0x05D1C7 }, - { (char*) "Australia/Broken_Hill" , 0x05D38D }, - { (char*) "Australia/Canberra" , 0x05DC6A }, - { (char*) "Australia/Currie" , 0x05E504 }, - { (char*) "Australia/Darwin" , 0x05EE46 }, - { (char*) "Australia/Eucla" , 0x05EFA9 }, - { (char*) "Australia/Hobart" , 0x05F196 }, - { (char*) "Australia/LHI" , 0x05FAE0 }, - { (char*) "Australia/Lindeman" , 0x060222 }, - { (char*) "Australia/Lord_Howe" , 0x060428 }, - { (char*) "Australia/Melbourne" , 0x060B7A }, - { (char*) "Australia/North" , 0x06141C }, - { (char*) "Australia/NSW" , 0x06156D }, - { (char*) "Australia/Perth" , 0x061E07 }, - { (char*) "Australia/Queensland" , 0x061FEF }, - { (char*) "Australia/South" , 0x06219E }, - { (char*) "Australia/Sydney" , 0x062A4A }, - { (char*) "Australia/Tasmania" , 0x063300 }, - { (char*) "Australia/Victoria" , 0x063C42 }, - { (char*) "Australia/West" , 0x0644DC }, - { (char*) "Australia/Yancowinna" , 0x0646A6 }, - { (char*) "Brazil/Acre" , 0x064F67 }, - { (char*) "Brazil/DeNoronha" , 0x0651D9 }, - { (char*) "Brazil/East" , 0x0654A3 }, - { (char*) "Brazil/West" , 0x065A45 }, - { (char*) "Canada/Atlantic" , 0x065C9F }, - { (char*) "Canada/Central" , 0x066A0B }, - { (char*) "Canada/Eastern" , 0x06754B }, - { (char*) "Canada/Mountain" , 0x0682FD }, - { (char*) "Canada/Newfoundland" , 0x068C25 }, - { (char*) "Canada/Pacific" , 0x069A78 }, - { (char*) "Canada/Saskatchewan" , 0x06A5D0 }, - { (char*) "Canada/Yukon" , 0x06A9B0 }, - { (char*) "CET" , 0x06B00A }, - { (char*) "Chile/Continental" , 0x06B844 }, - { (char*) "Chile/EasterIsland" , 0x06C223 }, - { (char*) "CST6CDT" , 0x06CADA }, - { (char*) "Cuba" , 0x06D3EC }, - { (char*) "EET" , 0x06DD68 }, - { (char*) "Egypt" , 0x06E4E8 }, - { (char*) "Eire" , 0x06EE53 }, - { (char*) "EST" , 0x06FC03 }, - { (char*) "EST5EDT" , 0x06FC81 }, - { (char*) "Etc/GMT" , 0x070593 }, - { (char*) "Etc/GMT+0" , 0x070611 }, - { (char*) "Etc/GMT+1" , 0x07068F }, - { (char*) "Etc/GMT+10" , 0x07070F }, - { (char*) "Etc/GMT+11" , 0x070790 }, - { (char*) "Etc/GMT+12" , 0x070811 }, - { (char*) "Etc/GMT+2" , 0x070892 }, - { (char*) "Etc/GMT+3" , 0x070912 }, - { (char*) "Etc/GMT+4" , 0x070992 }, - { (char*) "Etc/GMT+5" , 0x070A12 }, - { (char*) "Etc/GMT+6" , 0x070A92 }, - { (char*) "Etc/GMT+7" , 0x070B12 }, - { (char*) "Etc/GMT+8" , 0x070B92 }, - { (char*) "Etc/GMT+9" , 0x070C12 }, - { (char*) "Etc/GMT-0" , 0x070C92 }, - { (char*) "Etc/GMT-1" , 0x070D10 }, - { (char*) "Etc/GMT-10" , 0x070D91 }, - { (char*) "Etc/GMT-11" , 0x070E13 }, - { (char*) "Etc/GMT-12" , 0x070E95 }, - { (char*) "Etc/GMT-13" , 0x070F17 }, - { (char*) "Etc/GMT-14" , 0x070F99 }, - { (char*) "Etc/GMT-2" , 0x07101B }, - { (char*) "Etc/GMT-3" , 0x07109C }, - { (char*) "Etc/GMT-4" , 0x07111D }, - { (char*) "Etc/GMT-5" , 0x07119E }, - { (char*) "Etc/GMT-6" , 0x07121F }, - { (char*) "Etc/GMT-7" , 0x0712A0 }, - { (char*) "Etc/GMT-8" , 0x071321 }, - { (char*) "Etc/GMT-9" , 0x0713A2 }, - { (char*) "Etc/GMT0" , 0x071423 }, - { (char*) "Etc/Greenwich" , 0x0714A1 }, - { (char*) "Etc/UCT" , 0x07151F }, - { (char*) "Etc/Universal" , 0x07159D }, - { (char*) "Etc/UTC" , 0x07161B }, - { (char*) "Etc/Zulu" , 0x071699 }, - { (char*) "Europe/Amsterdam" , 0x071717 }, - { (char*) "Europe/Andorra" , 0x072281 }, - { (char*) "Europe/Astrakhan" , 0x07295B }, - { (char*) "Europe/Athens" , 0x072DF8 }, - { (char*) "Europe/Belfast" , 0x0736DA }, - { (char*) "Europe/Belgrade" , 0x074536 }, - { (char*) "Europe/Berlin" , 0x074CC2 }, - { (char*) "Europe/Bratislava" , 0x0755D7 }, - { (char*) "Europe/Brussels" , 0x075EE0 }, - { (char*) "Europe/Bucharest" , 0x076A61 }, - { (char*) "Europe/Budapest" , 0x0772F5 }, - { (char*) "Europe/Busingen" , 0x077C41 }, - { (char*) "Europe/Chisinau" , 0x0783CA }, - { (char*) "Europe/Copenhagen" , 0x078D2C }, - { (char*) "Europe/Dublin" , 0x079591 }, - { (char*) "Europe/Gibraltar" , 0x07A341 }, - { (char*) "Europe/Guernsey" , 0x07AF49 }, - { (char*) "Europe/Helsinki" , 0x07BDE9 }, - { (char*) "Europe/Isle_of_Man" , 0x07C561 }, - { (char*) "Europe/Istanbul" , 0x07D3AD }, - { (char*) "Europe/Jersey" , 0x07DB46 }, - { (char*) "Europe/Kaliningrad" , 0x07E9E6 }, - { (char*) "Europe/Kiev" , 0x07EFDB }, - { (char*) "Europe/Kirov" , 0x07F82F }, - { (char*) "Europe/Kyiv" , 0x07FCEA }, - { (char*) "Europe/Lisbon" , 0x08054D }, - { (char*) "Europe/Ljubljana" , 0x081315 }, - { (char*) "Europe/London" , 0x081AA1 }, - { (char*) "Europe/Luxembourg" , 0x0828FD }, - { (char*) "Europe/Madrid" , 0x08348B }, - { (char*) "Europe/Malta" , 0x083EDD }, - { (char*) "Europe/Mariehamn" , 0x084925 }, - { (char*) "Europe/Minsk" , 0x08509D }, - { (char*) "Europe/Monaco" , 0x0855C4 }, - { (char*) "Europe/Moscow" , 0x086150 }, - { (char*) "Europe/Nicosia" , 0x08676F }, - { (char*) "Europe/Oslo" , 0x086F4D }, - { (char*) "Europe/Paris" , 0x08780D }, - { (char*) "Europe/Podgorica" , 0x0883AB }, - { (char*) "Europe/Prague" , 0x088B37 }, - { (char*) "Europe/Riga" , 0x089440 }, - { (char*) "Europe/Rome" , 0x089CE2 }, - { (char*) "Europe/Samara" , 0x08A73F }, - { (char*) "Europe/San_Marino" , 0x08AC15 }, - { (char*) "Europe/Sarajevo" , 0x08B672 }, - { (char*) "Europe/Saratov" , 0x08BDFE }, - { (char*) "Europe/Simferopol" , 0x08C2AB }, - { (char*) "Europe/Skopje" , 0x08C87A }, - { (char*) "Europe/Sofia" , 0x08D006 }, - { (char*) "Europe/Stockholm" , 0x08D82F }, - { (char*) "Europe/Tallinn" , 0x08DFB0 }, - { (char*) "Europe/Tirane" , 0x08E820 }, - { (char*) "Europe/Tiraspol" , 0x08F050 }, - { (char*) "Europe/Ulyanovsk" , 0x08F9B2 }, - { (char*) "Europe/Uzhgorod" , 0x08FEB5 }, - { (char*) "Europe/Vaduz" , 0x090709 }, - { (char*) "Europe/Vatican" , 0x090E75 }, - { (char*) "Europe/Vienna" , 0x0918D2 }, - { (char*) "Europe/Vilnius" , 0x092176 }, - { (char*) "Europe/Volgograd" , 0x0929F4 }, - { (char*) "Europe/Warsaw" , 0x092EBB }, - { (char*) "Europe/Zagreb" , 0x093925 }, - { (char*) "Europe/Zaporozhye" , 0x0940B1 }, - { (char*) "Europe/Zurich" , 0x094905 }, - { (char*) "Factory" , 0x095086 }, - { (char*) "GB" , 0x095106 }, - { (char*) "GB-Eire" , 0x095F62 }, - { (char*) "GMT" , 0x096DBE }, - { (char*) "GMT+0" , 0x096E3C }, - { (char*) "GMT-0" , 0x096EBA }, - { (char*) "GMT0" , 0x096F38 }, - { (char*) "Greenwich" , 0x096FB6 }, - { (char*) "Hongkong" , 0x097034 }, - { (char*) "HST" , 0x097511 }, - { (char*) "Iceland" , 0x097590 }, - { (char*) "Indian/Antananarivo" , 0x097630 }, - { (char*) "Indian/Chagos" , 0x097717 }, - { (char*) "Indian/Christmas" , 0x0977DC }, - { (char*) "Indian/Cocos" , 0x09787F }, - { (char*) "Indian/Comoro" , 0x09792B }, - { (char*) "Indian/Kerguelen" , 0x0979CC }, - { (char*) "Indian/Mahe" , 0x097A6F }, - { (char*) "Indian/Maldives" , 0x097B12 }, - { (char*) "Indian/Mauritius" , 0x097BD7 }, - { (char*) "Indian/Mayotte" , 0x097CC6 }, - { (char*) "Indian/Reunion" , 0x097D67 }, - { (char*) "Iran" , 0x097E0A }, - { (char*) "Israel" , 0x0982F6 }, - { (char*) "Jamaica" , 0x098C56 }, - { (char*) "Japan" , 0x098E44 }, - { (char*) "Kwajalein" , 0x098F85 }, - { (char*) "Libya" , 0x0990BF }, - { (char*) "MET" , 0x09933C }, - { (char*) "Mexico/BajaNorte" , 0x099B76 }, - { (char*) "Mexico/BajaSur" , 0x09A4C8 }, - { (char*) "Mexico/General" , 0x09A93C }, - { (char*) "MST" , 0x09AE0E }, - { (char*) "MST7MDT" , 0x09AE8C }, - { (char*) "Navajo" , 0x09B79E }, - { (char*) "NZ" , 0x09C146 }, - { (char*) "NZ-CHAT" , 0x09CAD7 }, - { (char*) "Pacific/Apia" , 0x09D2E9 }, - { (char*) "Pacific/Auckland" , 0x09D54B }, - { (char*) "Pacific/Bougainville" , 0x09DEEF }, - { (char*) "Pacific/Chatham" , 0x09E005 }, - { (char*) "Pacific/Chuuk" , 0x09E826 }, - { (char*) "Pacific/Easter" , 0x09E940 }, - { (char*) "Pacific/Efate" , 0x09F204 }, - { (char*) "Pacific/Enderbury" , 0x09F41C }, - { (char*) "Pacific/Fakaofo" , 0x09F504 }, - { (char*) "Pacific/Fiji" , 0x09F5CA }, - { (char*) "Pacific/Funafuti" , 0x09F80A }, - { (char*) "Pacific/Galapagos" , 0x09F8AE }, - { (char*) "Pacific/Gambier" , 0x09F9AB }, - { (char*) "Pacific/Guadalcanal" , 0x09FA5C }, - { (char*) "Pacific/Guam" , 0x09FB00 }, - { (char*) "Pacific/Honolulu" , 0x09FCFA }, - { (char*) "Pacific/Johnston" , 0x09FE55 }, - { (char*) "Pacific/Kanton" , 0x09FFAA }, - { (char*) "Pacific/Kiritimati" , 0x0A00A1 }, - { (char*) "Pacific/Kosrae" , 0x0A0199 }, - { (char*) "Pacific/Kwajalein" , 0x0A02FC }, - { (char*) "Pacific/Majuro" , 0x0A043F }, - { (char*) "Pacific/Marquesas" , 0x0A058B }, - { (char*) "Pacific/Midway" , 0x0A0647 }, - { (char*) "Pacific/Nauru" , 0x0A073A }, - { (char*) "Pacific/Niue" , 0x0A0834 }, - { (char*) "Pacific/Norfolk" , 0x0A08FD }, - { (char*) "Pacific/Noumea" , 0x0A0C6B }, - { (char*) "Pacific/Pago_Pago" , 0x0A0D99 }, - { (char*) "Pacific/Palau" , 0x0A0E54 }, - { (char*) "Pacific/Pitcairn" , 0x0A0F06 }, - { (char*) "Pacific/Pohnpei" , 0x0A0FCE }, - { (char*) "Pacific/Ponape" , 0x0A1109 }, - { (char*) "Pacific/Port_Moresby" , 0x0A11AD }, - { (char*) "Pacific/Rarotonga" , 0x0A127D }, - { (char*) "Pacific/Saipan" , 0x0A14D6 }, - { (char*) "Pacific/Samoa" , 0x0A16C2 }, - { (char*) "Pacific/Tahiti" , 0x0A177D }, - { (char*) "Pacific/Tarawa" , 0x0A182F }, - { (char*) "Pacific/Tongatapu" , 0x0A18E2 }, - { (char*) "Pacific/Truk" , 0x0A1A54 }, - { (char*) "Pacific/Wake" , 0x0A1B0C }, - { (char*) "Pacific/Wallis" , 0x0A1BBB }, - { (char*) "Pacific/Yap" , 0x0A1C5F }, - { (char*) "Poland" , 0x0A1D17 }, - { (char*) "Portugal" , 0x0A2781 }, - { (char*) "PRC" , 0x0A3536 }, - { (char*) "PST8PDT" , 0x0A3773 }, - { (char*) "ROC" , 0x0A4085 }, - { (char*) "ROK" , 0x0A438A }, - { (char*) "Singapore" , 0x0A45FF }, - { (char*) "Turkey" , 0x0A479C }, - { (char*) "UCT" , 0x0A4F35 }, - { (char*) "Universal" , 0x0A4FB3 }, - { (char*) "US/Alaska" , 0x0A5031 }, - { (char*) "US/Aleutian" , 0x0A5980 }, - { (char*) "US/Arizona" , 0x0A62C0 }, - { (char*) "US/Central" , 0x0A6434 }, - { (char*) "US/East-Indiana" , 0x0A7248 }, - { (char*) "US/Eastern" , 0x0A78E6 }, - { (char*) "US/Hawaii" , 0x0A86D2 }, - { (char*) "US/Indiana-Starke" , 0x0A8827 }, - { (char*) "US/Michigan" , 0x0A91BF }, - { (char*) "US/Mountain" , 0x0A9A81 }, - { (char*) "US/Pacific" , 0x0AA429 }, - { (char*) "US/Samoa" , 0x0AAF59 }, - { (char*) "UTC" , 0x0AB014 }, - { (char*) "W-SU" , 0x0AB092 }, - { (char*) "WET" , 0x0AB69D }, - { (char*) "Zulu" , 0x0ABE1A }, + { (char*) "Asia/Harbin" , 0x049442 }, + { (char*) "Asia/Hebron" , 0x04967F }, + { (char*) "Asia/Ho_Chi_Minh" , 0x04A5B4 }, + { (char*) "Asia/Hong_Kong" , 0x04A711 }, + { (char*) "Asia/Hovd" , 0x04ABEE }, + { (char*) "Asia/Irkutsk" , 0x04AF92 }, + { (char*) "Asia/Istanbul" , 0x04B485 }, + { (char*) "Asia/Jakarta" , 0x04BC1E }, + { (char*) "Asia/Jayapura" , 0x04BDB6 }, + { (char*) "Asia/Jerusalem" , 0x04BED5 }, + { (char*) "Asia/Kabul" , 0x04C835 }, + { (char*) "Asia/Kamchatka" , 0x04C903 }, + { (char*) "Asia/Karachi" , 0x04CDA1 }, + { (char*) "Asia/Kashgar" , 0x04CF28 }, + { (char*) "Asia/Kathmandu" , 0x04CFCB }, + { (char*) "Asia/Katmandu" , 0x04D09D }, + { (char*) "Asia/Khandyga" , 0x04D16F }, + { (char*) "Asia/Kolkata" , 0x04D682 }, + { (char*) "Asia/Krasnoyarsk" , 0x04D7AB }, + { (char*) "Asia/Kuala_Lumpur" , 0x04DC79 }, + { (char*) "Asia/Kuching" , 0x04DE2A }, + { (char*) "Asia/Kuwait" , 0x04E019 }, + { (char*) "Asia/Macao" , 0x04E0BC }, + { (char*) "Asia/Macau" , 0x04E593 }, + { (char*) "Asia/Magadan" , 0x04EA6A }, + { (char*) "Asia/Makassar" , 0x04EF3E }, + { (char*) "Asia/Manila" , 0x04F091 }, + { (char*) "Asia/Muscat" , 0x04F1E5 }, + { (char*) "Asia/Nicosia" , 0x04F288 }, + { (char*) "Asia/Novokuznetsk" , 0x04FA74 }, + { (char*) "Asia/Novosibirsk" , 0x04FF10 }, + { (char*) "Asia/Omsk" , 0x0503E7 }, + { (char*) "Asia/Oral" , 0x0508A9 }, + { (char*) "Asia/Phnom_Penh" , 0x050CA3 }, + { (char*) "Asia/Pontianak" , 0x050DC8 }, + { (char*) "Asia/Pyongyang" , 0x050F4B }, + { (char*) "Asia/Qatar" , 0x051044 }, + { (char*) "Asia/Qostanay" , 0x051109 }, + { (char*) "Asia/Qyzylorda" , 0x051530 }, + { (char*) "Asia/Rangoon" , 0x05194C }, + { (char*) "Asia/Riyadh" , 0x051A56 }, + { (char*) "Asia/Saigon" , 0x051AF9 }, + { (char*) "Asia/Sakhalin" , 0x051C56 }, + { (char*) "Asia/Samarkand" , 0x05211E }, + { (char*) "Asia/Seoul" , 0x05236E }, + { (char*) "Asia/Shanghai" , 0x0525E3 }, + { (char*) "Asia/Singapore" , 0x05282C }, + { (char*) "Asia/Srednekolymsk" , 0x0529C9 }, + { (char*) "Asia/Taipei" , 0x052E9D }, + { (char*) "Asia/Tashkent" , 0x0531A2 }, + { (char*) "Asia/Tbilisi" , 0x053400 }, + { (char*) "Asia/Tehran" , 0x053809 }, + { (char*) "Asia/Tel_Aviv" , 0x053CF5 }, + { (char*) "Asia/Thimbu" , 0x054655 }, + { (char*) "Asia/Thimphu" , 0x05471E }, + { (char*) "Asia/Tokyo" , 0x0547E7 }, + { (char*) "Asia/Tomsk" , 0x054928 }, + { (char*) "Asia/Ujung_Pandang" , 0x054DF9 }, + { (char*) "Asia/Ulaanbaatar" , 0x054F03 }, + { (char*) "Asia/Ulan_Bator" , 0x05528C }, + { (char*) "Asia/Urumqi" , 0x055605 }, + { (char*) "Asia/Ust-Nera" , 0x0556B5 }, + { (char*) "Asia/Vientiane" , 0x055BAB }, + { (char*) "Asia/Vladivostok" , 0x055CEC }, + { (char*) "Asia/Yakutsk" , 0x0561B5 }, + { (char*) "Asia/Yangon" , 0x05667D }, + { (char*) "Asia/Yekaterinburg" , 0x056787 }, + { (char*) "Asia/Yerevan" , 0x056C6E }, + { (char*) "Atlantic/Azores" , 0x0570EB }, + { (char*) "Atlantic/Bermuda" , 0x057EA7 }, + { (char*) "Atlantic/Canary" , 0x05880F }, + { (char*) "Atlantic/Cape_Verde" , 0x058F92 }, + { (char*) "Atlantic/Faeroe" , 0x05909E }, + { (char*) "Atlantic/Faroe" , 0x0597C1 }, + { (char*) "Atlantic/Jan_Mayen" , 0x059EE4 }, + { (char*) "Atlantic/Madeira" , 0x05A7EA }, + { (char*) "Atlantic/Reykjavik" , 0x05B5B4 }, + { (char*) "Atlantic/South_Georgia" , 0x05BA4A }, + { (char*) "Atlantic/St_Helena" , 0x05BAEC }, + { (char*) "Atlantic/Stanley" , 0x05BBAE }, + { (char*) "Australia/ACT" , 0x05C06A }, + { (char*) "Australia/Adelaide" , 0x05C904 }, + { (char*) "Australia/Brisbane" , 0x05D1BF }, + { (char*) "Australia/Broken_Hill" , 0x05D385 }, + { (char*) "Australia/Canberra" , 0x05DC62 }, + { (char*) "Australia/Currie" , 0x05E4FC }, + { (char*) "Australia/Darwin" , 0x05EE3E }, + { (char*) "Australia/Eucla" , 0x05EFA1 }, + { (char*) "Australia/Hobart" , 0x05F18E }, + { (char*) "Australia/LHI" , 0x05FAD8 }, + { (char*) "Australia/Lindeman" , 0x06021A }, + { (char*) "Australia/Lord_Howe" , 0x060420 }, + { (char*) "Australia/Melbourne" , 0x060B72 }, + { (char*) "Australia/North" , 0x061414 }, + { (char*) "Australia/NSW" , 0x061565 }, + { (char*) "Australia/Perth" , 0x061DFF }, + { (char*) "Australia/Queensland" , 0x061FE7 }, + { (char*) "Australia/South" , 0x062196 }, + { (char*) "Australia/Sydney" , 0x062A42 }, + { (char*) "Australia/Tasmania" , 0x0632F8 }, + { (char*) "Australia/Victoria" , 0x063C3A }, + { (char*) "Australia/West" , 0x0644D4 }, + { (char*) "Australia/Yancowinna" , 0x06469E }, + { (char*) "Brazil/Acre" , 0x064F5F }, + { (char*) "Brazil/DeNoronha" , 0x0651D1 }, + { (char*) "Brazil/East" , 0x06549B }, + { (char*) "Brazil/West" , 0x065A3D }, + { (char*) "Canada/Atlantic" , 0x065C97 }, + { (char*) "Canada/Central" , 0x066A03 }, + { (char*) "Canada/Eastern" , 0x067543 }, + { (char*) "Canada/Mountain" , 0x0682F5 }, + { (char*) "Canada/Newfoundland" , 0x068C1D }, + { (char*) "Canada/Pacific" , 0x069A70 }, + { (char*) "Canada/Saskatchewan" , 0x06A5C8 }, + { (char*) "Canada/Yukon" , 0x06A9A8 }, + { (char*) "CET" , 0x06B002 }, + { (char*) "Chile/Continental" , 0x06B83C }, + { (char*) "Chile/EasterIsland" , 0x06C21B }, + { (char*) "CST6CDT" , 0x06CAD2 }, + { (char*) "Cuba" , 0x06D3E4 }, + { (char*) "EET" , 0x06DD60 }, + { (char*) "Egypt" , 0x06E4E0 }, + { (char*) "Eire" , 0x06EE4B }, + { (char*) "EST" , 0x06FBFB }, + { (char*) "EST5EDT" , 0x06FC79 }, + { (char*) "Etc/GMT" , 0x07058B }, + { (char*) "Etc/GMT+0" , 0x070609 }, + { (char*) "Etc/GMT+1" , 0x070687 }, + { (char*) "Etc/GMT+10" , 0x070707 }, + { (char*) "Etc/GMT+11" , 0x070788 }, + { (char*) "Etc/GMT+12" , 0x070809 }, + { (char*) "Etc/GMT+2" , 0x07088A }, + { (char*) "Etc/GMT+3" , 0x07090A }, + { (char*) "Etc/GMT+4" , 0x07098A }, + { (char*) "Etc/GMT+5" , 0x070A0A }, + { (char*) "Etc/GMT+6" , 0x070A8A }, + { (char*) "Etc/GMT+7" , 0x070B0A }, + { (char*) "Etc/GMT+8" , 0x070B8A }, + { (char*) "Etc/GMT+9" , 0x070C0A }, + { (char*) "Etc/GMT-0" , 0x070C8A }, + { (char*) "Etc/GMT-1" , 0x070D08 }, + { (char*) "Etc/GMT-10" , 0x070D89 }, + { (char*) "Etc/GMT-11" , 0x070E0B }, + { (char*) "Etc/GMT-12" , 0x070E8D }, + { (char*) "Etc/GMT-13" , 0x070F0F }, + { (char*) "Etc/GMT-14" , 0x070F91 }, + { (char*) "Etc/GMT-2" , 0x071013 }, + { (char*) "Etc/GMT-3" , 0x071094 }, + { (char*) "Etc/GMT-4" , 0x071115 }, + { (char*) "Etc/GMT-5" , 0x071196 }, + { (char*) "Etc/GMT-6" , 0x071217 }, + { (char*) "Etc/GMT-7" , 0x071298 }, + { (char*) "Etc/GMT-8" , 0x071319 }, + { (char*) "Etc/GMT-9" , 0x07139A }, + { (char*) "Etc/GMT0" , 0x07141B }, + { (char*) "Etc/Greenwich" , 0x071499 }, + { (char*) "Etc/UCT" , 0x071517 }, + { (char*) "Etc/Universal" , 0x071595 }, + { (char*) "Etc/UTC" , 0x071613 }, + { (char*) "Etc/Zulu" , 0x071691 }, + { (char*) "Europe/Amsterdam" , 0x07170F }, + { (char*) "Europe/Andorra" , 0x072279 }, + { (char*) "Europe/Astrakhan" , 0x072953 }, + { (char*) "Europe/Athens" , 0x072DF0 }, + { (char*) "Europe/Belfast" , 0x0736D2 }, + { (char*) "Europe/Belgrade" , 0x07452E }, + { (char*) "Europe/Berlin" , 0x074CBA }, + { (char*) "Europe/Bratislava" , 0x0755CF }, + { (char*) "Europe/Brussels" , 0x075ED8 }, + { (char*) "Europe/Bucharest" , 0x076A59 }, + { (char*) "Europe/Budapest" , 0x0772ED }, + { (char*) "Europe/Busingen" , 0x077C39 }, + { (char*) "Europe/Chisinau" , 0x0783C2 }, + { (char*) "Europe/Copenhagen" , 0x078D24 }, + { (char*) "Europe/Dublin" , 0x079589 }, + { (char*) "Europe/Gibraltar" , 0x07A339 }, + { (char*) "Europe/Guernsey" , 0x07AF41 }, + { (char*) "Europe/Helsinki" , 0x07BDE1 }, + { (char*) "Europe/Isle_of_Man" , 0x07C559 }, + { (char*) "Europe/Istanbul" , 0x07D3A5 }, + { (char*) "Europe/Jersey" , 0x07DB3E }, + { (char*) "Europe/Kaliningrad" , 0x07E9DE }, + { (char*) "Europe/Kiev" , 0x07EFD3 }, + { (char*) "Europe/Kirov" , 0x07F827 }, + { (char*) "Europe/Kyiv" , 0x07FCE2 }, + { (char*) "Europe/Lisbon" , 0x080545 }, + { (char*) "Europe/Ljubljana" , 0x08130D }, + { (char*) "Europe/London" , 0x081A99 }, + { (char*) "Europe/Luxembourg" , 0x0828F5 }, + { (char*) "Europe/Madrid" , 0x083483 }, + { (char*) "Europe/Malta" , 0x083ED5 }, + { (char*) "Europe/Mariehamn" , 0x08491D }, + { (char*) "Europe/Minsk" , 0x085095 }, + { (char*) "Europe/Monaco" , 0x0855BC }, + { (char*) "Europe/Moscow" , 0x086148 }, + { (char*) "Europe/Nicosia" , 0x086767 }, + { (char*) "Europe/Oslo" , 0x086F45 }, + { (char*) "Europe/Paris" , 0x087805 }, + { (char*) "Europe/Podgorica" , 0x0883A3 }, + { (char*) "Europe/Prague" , 0x088B2F }, + { (char*) "Europe/Riga" , 0x089438 }, + { (char*) "Europe/Rome" , 0x089CDA }, + { (char*) "Europe/Samara" , 0x08A737 }, + { (char*) "Europe/San_Marino" , 0x08AC0D }, + { (char*) "Europe/Sarajevo" , 0x08B66A }, + { (char*) "Europe/Saratov" , 0x08BDF6 }, + { (char*) "Europe/Simferopol" , 0x08C2A3 }, + { (char*) "Europe/Skopje" , 0x08C872 }, + { (char*) "Europe/Sofia" , 0x08CFFE }, + { (char*) "Europe/Stockholm" , 0x08D827 }, + { (char*) "Europe/Tallinn" , 0x08DFA8 }, + { (char*) "Europe/Tirane" , 0x08E818 }, + { (char*) "Europe/Tiraspol" , 0x08F048 }, + { (char*) "Europe/Ulyanovsk" , 0x08F9AA }, + { (char*) "Europe/Uzhgorod" , 0x08FEAD }, + { (char*) "Europe/Vaduz" , 0x090701 }, + { (char*) "Europe/Vatican" , 0x090E6D }, + { (char*) "Europe/Vienna" , 0x0918CA }, + { (char*) "Europe/Vilnius" , 0x09216E }, + { (char*) "Europe/Volgograd" , 0x0929EC }, + { (char*) "Europe/Warsaw" , 0x092EB3 }, + { (char*) "Europe/Zagreb" , 0x09391D }, + { (char*) "Europe/Zaporozhye" , 0x0940A9 }, + { (char*) "Europe/Zurich" , 0x0948FD }, + { (char*) "Factory" , 0x09507E }, + { (char*) "GB" , 0x0950FE }, + { (char*) "GB-Eire" , 0x095F5A }, + { (char*) "GMT" , 0x096DB6 }, + { (char*) "GMT+0" , 0x096E34 }, + { (char*) "GMT-0" , 0x096EB2 }, + { (char*) "GMT0" , 0x096F30 }, + { (char*) "Greenwich" , 0x096FAE }, + { (char*) "Hongkong" , 0x09702C }, + { (char*) "HST" , 0x097509 }, + { (char*) "Iceland" , 0x097588 }, + { (char*) "Indian/Antananarivo" , 0x097628 }, + { (char*) "Indian/Chagos" , 0x09770F }, + { (char*) "Indian/Christmas" , 0x0977D4 }, + { (char*) "Indian/Cocos" , 0x097877 }, + { (char*) "Indian/Comoro" , 0x097923 }, + { (char*) "Indian/Kerguelen" , 0x0979C4 }, + { (char*) "Indian/Mahe" , 0x097A67 }, + { (char*) "Indian/Maldives" , 0x097B0A }, + { (char*) "Indian/Mauritius" , 0x097BCF }, + { (char*) "Indian/Mayotte" , 0x097CBE }, + { (char*) "Indian/Reunion" , 0x097D5F }, + { (char*) "Iran" , 0x097E02 }, + { (char*) "Israel" , 0x0982EE }, + { (char*) "Jamaica" , 0x098C4E }, + { (char*) "Japan" , 0x098E3C }, + { (char*) "Kwajalein" , 0x098F7D }, + { (char*) "Libya" , 0x0990B7 }, + { (char*) "MET" , 0x099334 }, + { (char*) "Mexico/BajaNorte" , 0x099B6E }, + { (char*) "Mexico/BajaSur" , 0x09A4C0 }, + { (char*) "Mexico/General" , 0x09A934 }, + { (char*) "MST" , 0x09AE06 }, + { (char*) "MST7MDT" , 0x09AE84 }, + { (char*) "Navajo" , 0x09B796 }, + { (char*) "NZ" , 0x09C13E }, + { (char*) "NZ-CHAT" , 0x09CACF }, + { (char*) "Pacific/Apia" , 0x09D2E1 }, + { (char*) "Pacific/Auckland" , 0x09D543 }, + { (char*) "Pacific/Bougainville" , 0x09DEE7 }, + { (char*) "Pacific/Chatham" , 0x09DFFD }, + { (char*) "Pacific/Chuuk" , 0x09E81E }, + { (char*) "Pacific/Easter" , 0x09E938 }, + { (char*) "Pacific/Efate" , 0x09F1FC }, + { (char*) "Pacific/Enderbury" , 0x09F414 }, + { (char*) "Pacific/Fakaofo" , 0x09F4FC }, + { (char*) "Pacific/Fiji" , 0x09F5C2 }, + { (char*) "Pacific/Funafuti" , 0x09F802 }, + { (char*) "Pacific/Galapagos" , 0x09F8A6 }, + { (char*) "Pacific/Gambier" , 0x09F9A3 }, + { (char*) "Pacific/Guadalcanal" , 0x09FA54 }, + { (char*) "Pacific/Guam" , 0x09FAF8 }, + { (char*) "Pacific/Honolulu" , 0x09FCF2 }, + { (char*) "Pacific/Johnston" , 0x09FE4D }, + { (char*) "Pacific/Kanton" , 0x09FFA2 }, + { (char*) "Pacific/Kiritimati" , 0x0A0099 }, + { (char*) "Pacific/Kosrae" , 0x0A0191 }, + { (char*) "Pacific/Kwajalein" , 0x0A02F4 }, + { (char*) "Pacific/Majuro" , 0x0A0437 }, + { (char*) "Pacific/Marquesas" , 0x0A0583 }, + { (char*) "Pacific/Midway" , 0x0A063F }, + { (char*) "Pacific/Nauru" , 0x0A0732 }, + { (char*) "Pacific/Niue" , 0x0A082C }, + { (char*) "Pacific/Norfolk" , 0x0A08F5 }, + { (char*) "Pacific/Noumea" , 0x0A0C63 }, + { (char*) "Pacific/Pago_Pago" , 0x0A0D91 }, + { (char*) "Pacific/Palau" , 0x0A0E4C }, + { (char*) "Pacific/Pitcairn" , 0x0A0EFE }, + { (char*) "Pacific/Pohnpei" , 0x0A0FC6 }, + { (char*) "Pacific/Ponape" , 0x0A1101 }, + { (char*) "Pacific/Port_Moresby" , 0x0A11A5 }, + { (char*) "Pacific/Rarotonga" , 0x0A1275 }, + { (char*) "Pacific/Saipan" , 0x0A14CE }, + { (char*) "Pacific/Samoa" , 0x0A16BA }, + { (char*) "Pacific/Tahiti" , 0x0A1775 }, + { (char*) "Pacific/Tarawa" , 0x0A1827 }, + { (char*) "Pacific/Tongatapu" , 0x0A18DA }, + { (char*) "Pacific/Truk" , 0x0A1A4C }, + { (char*) "Pacific/Wake" , 0x0A1B04 }, + { (char*) "Pacific/Wallis" , 0x0A1BB3 }, + { (char*) "Pacific/Yap" , 0x0A1C57 }, + { (char*) "Poland" , 0x0A1D0F }, + { (char*) "Portugal" , 0x0A2779 }, + { (char*) "PRC" , 0x0A352E }, + { (char*) "PST8PDT" , 0x0A376B }, + { (char*) "ROC" , 0x0A407D }, + { (char*) "ROK" , 0x0A4382 }, + { (char*) "Singapore" , 0x0A45F7 }, + { (char*) "Turkey" , 0x0A4794 }, + { (char*) "UCT" , 0x0A4F2D }, + { (char*) "Universal" , 0x0A4FAB }, + { (char*) "US/Alaska" , 0x0A5029 }, + { (char*) "US/Aleutian" , 0x0A5978 }, + { (char*) "US/Arizona" , 0x0A62B8 }, + { (char*) "US/Central" , 0x0A642C }, + { (char*) "US/East-Indiana" , 0x0A7240 }, + { (char*) "US/Eastern" , 0x0A78DE }, + { (char*) "US/Hawaii" , 0x0A86CA }, + { (char*) "US/Indiana-Starke" , 0x0A881F }, + { (char*) "US/Michigan" , 0x0A91B7 }, + { (char*) "US/Mountain" , 0x0A9A79 }, + { (char*) "US/Pacific" , 0x0AA421 }, + { (char*) "US/Samoa" , 0x0AAF51 }, + { (char*) "UTC" , 0x0AB00C }, + { (char*) "W-SU" , 0x0AB08A }, + { (char*) "WET" , 0x0AB695 }, + { (char*) "Zulu" , 0x0ABE12 }, }; -const unsigned char timelib_timezone_db_data_builtin[704152] = { +const unsigned char timelib_timezone_db_data_builtin[704144] = { /* Africa/Abidjan */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x43, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -35067,7 +35067,7 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { /* America/Miquelon */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x50, 0x4D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x91, 0xB6, 0x38, 0xA8, +0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x91, 0xDF, 0x17, 0x28, 0x13, 0x6E, 0x63, 0xC0, 0x20, 0x75, 0xE4, 0xD0, 0x21, 0x81, 0x77, 0x40, 0x22, 0x55, 0xC6, 0xD0, 0x23, 0x6A, 0x93, 0xC0, 0x24, 0x35, 0xA8, 0xD0, 0x25, 0x4A, 0x75, 0xC0, 0x26, 0x15, 0x8A, 0xD0, 0x27, 0x2A, 0x57, 0xC0, 0x27, 0xFE, 0xA7, 0x50, 0x29, 0x0A, 0x39, 0xC0, 0x29, 0xDE, 0x89, 0x50, @@ -35105,7 +35105,7 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { 0x41, 0x53, 0x54, 0x00, 0x2D, 0x30, 0x33, 0x00, 0x2D, 0x30, 0x32, 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, 0x68, -0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0xB6, 0x38, 0xA8, +0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0xDF, 0x17, 0x28, 0x00, 0x00, 0x00, 0x00, 0x13, 0x6E, 0x63, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x20, 0x75, 0xE4, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x21, 0x81, 0x77, 0x40, 0x00, 0x00, 0x00, 0x00, 0x22, 0x55, 0xC6, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x23, 0x6A, 0x93, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x24, 0x35, 0xA8, 0xD0, @@ -35554,8 +35554,8 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { 0xC0, 0xA4, 0x9B, 0xF0, 0xC1, 0x6F, 0x94, 0xE0, 0xC2, 0x84, 0x7D, 0xF0, 0xC3, 0x4F, 0x76, 0xE0, 0xC4, 0x64, 0x5F, 0xF0, 0xC5, 0x2F, 0x58, 0xE0, 0xC6, 0x4D, 0x7C, 0x70, 0xC7, 0x0F, 0x3A, 0xE0, 0xC8, 0x2D, 0x5E, 0x70, 0xCB, 0x88, 0xF0, 0x70, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xFB, 0xE0, -0xD3, 0x75, 0xE4, 0xF0, 0xD4, 0x40, 0xDD, 0xE0, 0xD5, 0x55, 0xAA, 0xD0, 0xD6, 0x20, 0xA3, 0xC0, -0xD7, 0x35, 0x8C, 0xD0, 0xD8, 0x00, 0x85, 0xC0, 0xD9, 0x15, 0x6E, 0xD0, 0xDA, 0x33, 0x76, 0x40, +0xD3, 0x75, 0xE4, 0xF0, 0xD4, 0x40, 0xDD, 0xE0, 0xD5, 0x55, 0xC6, 0xF0, 0xD6, 0x20, 0xBF, 0xE0, +0xD7, 0x35, 0xA8, 0xF0, 0xD8, 0x00, 0xA1, 0xE0, 0xD9, 0x15, 0x8A, 0xF0, 0xDA, 0x33, 0x92, 0x60, 0xDA, 0xFE, 0xA7, 0x70, 0xDC, 0x13, 0x74, 0x60, 0xDC, 0xDE, 0x89, 0x70, 0xDD, 0xA9, 0x82, 0x60, 0xDE, 0xBE, 0x6B, 0x70, 0xDF, 0x89, 0x64, 0x60, 0xE0, 0x9E, 0x4D, 0x70, 0xE1, 0x69, 0x46, 0x60, 0xE2, 0x7E, 0x2F, 0x70, 0xE3, 0x49, 0x28, 0x60, 0xE4, 0x5E, 0x11, 0x70, 0xE5, 0x29, 0x0A, 0x60, @@ -35646,10 +35646,10 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x0F, 0x3A, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x2D, 0x5E, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x88, 0xF0, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xFB, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x75, 0xE4, -0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xAA, -0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xA3, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0x8C, -0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0x85, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x6E, -0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0x33, 0x76, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, +0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xC6, +0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xBF, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0xA8, +0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0xA1, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x8A, +0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0x33, 0x92, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0x13, 0x74, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xDE, 0x89, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xA9, 0x82, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xBE, 0x6B, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0x89, 0x64, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x9E, 0x4D, @@ -36169,8 +36169,8 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { 0xC0, 0xA4, 0x9B, 0xF0, 0xC1, 0x6F, 0x94, 0xE0, 0xC2, 0x84, 0x7D, 0xF0, 0xC3, 0x4F, 0x76, 0xE0, 0xC4, 0x64, 0x5F, 0xF0, 0xC5, 0x2F, 0x58, 0xE0, 0xC6, 0x4D, 0x7C, 0x70, 0xC7, 0x0F, 0x3A, 0xE0, 0xC8, 0x2D, 0x5E, 0x70, 0xCB, 0x88, 0xF0, 0x70, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xFB, 0xE0, -0xD3, 0x75, 0xE4, 0xF0, 0xD4, 0x40, 0xDD, 0xE0, 0xD5, 0x55, 0xAA, 0xD0, 0xD6, 0x20, 0xA3, 0xC0, -0xD7, 0x35, 0x8C, 0xD0, 0xD8, 0x00, 0x85, 0xC0, 0xD9, 0x15, 0x6E, 0xD0, 0xDA, 0x33, 0x76, 0x40, +0xD3, 0x75, 0xE4, 0xF0, 0xD4, 0x40, 0xDD, 0xE0, 0xD5, 0x55, 0xC6, 0xF0, 0xD6, 0x20, 0xBF, 0xE0, +0xD7, 0x35, 0xA8, 0xF0, 0xD8, 0x00, 0xA1, 0xE0, 0xD9, 0x15, 0x8A, 0xF0, 0xDA, 0x33, 0x92, 0x60, 0xDA, 0xFE, 0xA7, 0x70, 0xDC, 0x13, 0x74, 0x60, 0xDC, 0xDE, 0x89, 0x70, 0xDD, 0xA9, 0x82, 0x60, 0xDE, 0xBE, 0x6B, 0x70, 0xDF, 0x89, 0x64, 0x60, 0xE0, 0x9E, 0x4D, 0x70, 0xE1, 0x69, 0x46, 0x60, 0xE2, 0x7E, 0x2F, 0x70, 0xE3, 0x49, 0x28, 0x60, 0xE4, 0x5E, 0x11, 0x70, 0xE5, 0x29, 0x0A, 0x60, @@ -36261,10 +36261,10 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x0F, 0x3A, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x2D, 0x5E, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x88, 0xF0, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xFB, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x75, 0xE4, -0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xAA, -0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xA3, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0x8C, -0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0x85, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x6E, -0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0x33, 0x76, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, +0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xC6, +0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xBF, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0xA8, +0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0xA1, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x8A, +0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0x33, 0x92, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0x13, 0x74, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xDE, 0x89, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xA9, 0x82, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xBE, 0x6B, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0x89, 0x64, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x9E, 0x4D, @@ -39863,8 +39863,8 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { 0xC0, 0xA4, 0x9B, 0xF0, 0xC1, 0x6F, 0x94, 0xE0, 0xC2, 0x84, 0x7D, 0xF0, 0xC3, 0x4F, 0x76, 0xE0, 0xC4, 0x64, 0x5F, 0xF0, 0xC5, 0x2F, 0x58, 0xE0, 0xC6, 0x4D, 0x7C, 0x70, 0xC7, 0x0F, 0x3A, 0xE0, 0xC8, 0x2D, 0x5E, 0x70, 0xCB, 0x88, 0xF0, 0x70, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xFB, 0xE0, -0xD3, 0x75, 0xE4, 0xF0, 0xD4, 0x40, 0xDD, 0xE0, 0xD5, 0x55, 0xAA, 0xD0, 0xD6, 0x20, 0xA3, 0xC0, -0xD7, 0x35, 0x8C, 0xD0, 0xD8, 0x00, 0x85, 0xC0, 0xD9, 0x15, 0x6E, 0xD0, 0xDA, 0x33, 0x76, 0x40, +0xD3, 0x75, 0xE4, 0xF0, 0xD4, 0x40, 0xDD, 0xE0, 0xD5, 0x55, 0xC6, 0xF0, 0xD6, 0x20, 0xBF, 0xE0, +0xD7, 0x35, 0xA8, 0xF0, 0xD8, 0x00, 0xA1, 0xE0, 0xD9, 0x15, 0x8A, 0xF0, 0xDA, 0x33, 0x92, 0x60, 0xDA, 0xFE, 0xA7, 0x70, 0xDC, 0x13, 0x74, 0x60, 0xDC, 0xDE, 0x89, 0x70, 0xDD, 0xA9, 0x82, 0x60, 0xDE, 0xBE, 0x6B, 0x70, 0xDF, 0x89, 0x64, 0x60, 0xE0, 0x9E, 0x4D, 0x70, 0xE1, 0x69, 0x46, 0x60, 0xE2, 0x7E, 0x2F, 0x70, 0xE3, 0x49, 0x28, 0x60, 0xE4, 0x5E, 0x11, 0x70, 0xE5, 0x29, 0x0A, 0x60, @@ -39955,10 +39955,10 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x0F, 0x3A, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x2D, 0x5E, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x88, 0xF0, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xFB, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x75, 0xE4, -0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xAA, -0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xA3, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0x8C, -0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0x85, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x6E, -0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0x33, 0x76, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, +0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xC6, +0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xBF, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0xA8, +0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0xA1, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x8A, +0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0x33, 0x92, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0x13, 0x74, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xDE, 0x89, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xA9, 0x82, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xBE, 0x6B, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0x89, 0x64, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x9E, 0x4D, @@ -40238,8 +40238,8 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { 0xC0, 0xA4, 0x9B, 0xF0, 0xC1, 0x6F, 0x94, 0xE0, 0xC2, 0x84, 0x7D, 0xF0, 0xC3, 0x4F, 0x76, 0xE0, 0xC4, 0x64, 0x5F, 0xF0, 0xC5, 0x2F, 0x58, 0xE0, 0xC6, 0x4D, 0x7C, 0x70, 0xC7, 0x0F, 0x3A, 0xE0, 0xC8, 0x2D, 0x5E, 0x70, 0xCB, 0x88, 0xF0, 0x70, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xFB, 0xE0, -0xD3, 0x75, 0xE4, 0xF0, 0xD4, 0x40, 0xDD, 0xE0, 0xD5, 0x55, 0xAA, 0xD0, 0xD6, 0x20, 0xA3, 0xC0, -0xD7, 0x35, 0x8C, 0xD0, 0xD8, 0x00, 0x85, 0xC0, 0xD9, 0x15, 0x6E, 0xD0, 0xDA, 0x33, 0x76, 0x40, +0xD3, 0x75, 0xE4, 0xF0, 0xD4, 0x40, 0xDD, 0xE0, 0xD5, 0x55, 0xC6, 0xF0, 0xD6, 0x20, 0xBF, 0xE0, +0xD7, 0x35, 0xA8, 0xF0, 0xD8, 0x00, 0xA1, 0xE0, 0xD9, 0x15, 0x8A, 0xF0, 0xDA, 0x33, 0x92, 0x60, 0xDA, 0xFE, 0xA7, 0x70, 0xDC, 0x13, 0x74, 0x60, 0xDC, 0xDE, 0x89, 0x70, 0xDD, 0xA9, 0x82, 0x60, 0xDE, 0xBE, 0x6B, 0x70, 0xDF, 0x89, 0x64, 0x60, 0xE0, 0x9E, 0x4D, 0x70, 0xE1, 0x69, 0x46, 0x60, 0xE2, 0x7E, 0x2F, 0x70, 0xE3, 0x49, 0x28, 0x60, 0xE4, 0x5E, 0x11, 0x70, 0xE5, 0x29, 0x0A, 0x60, @@ -40330,10 +40330,10 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x0F, 0x3A, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x2D, 0x5E, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x88, 0xF0, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xFB, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x75, 0xE4, -0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xAA, -0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xA3, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0x8C, -0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0x85, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x6E, -0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0x33, 0x76, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, +0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xC6, +0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xBF, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0xA8, +0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0xA1, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x8A, +0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0x33, 0x92, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0x13, 0x74, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xDE, 0x89, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xA9, 0x82, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xBE, 0x6B, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0x89, 0x64, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x9E, 0x4D, @@ -42135,8 +42135,8 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { /* Asia/Almaty */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4B, 0x5A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x10, 0xAA, 0x19, 0x7B, 0xDC, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x10, 0xAA, 0x19, 0x7B, 0xDC, 0xB5, 0xA3, 0xEF, 0x30, 0x15, 0x27, 0x7D, 0xA0, 0x16, 0x18, 0xB2, 0x10, 0x17, 0x08, 0xB1, 0x20, 0x17, 0xF9, 0xE5, 0x90, 0x18, 0xE9, 0xE4, 0xA0, 0x19, 0xDB, 0x19, 0x10, 0x1A, 0xCC, 0x69, 0xA0, 0x1B, 0xBC, 0x76, 0xC0, 0x1C, 0xAC, 0x67, 0xC0, 0x1D, 0x9C, 0x58, 0xC0, 0x1E, 0x8C, 0x49, 0xC0, @@ -42149,53 +42149,53 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { 0x35, 0x1D, 0x56, 0xC0, 0x36, 0x32, 0x31, 0xC0, 0x36, 0xFD, 0x38, 0xC0, 0x38, 0x1B, 0x4E, 0x40, 0x38, 0xDD, 0x1A, 0xC0, 0x39, 0xFB, 0x30, 0x40, 0x3A, 0xBC, 0xFC, 0xC0, 0x3B, 0xDB, 0x12, 0x40, 0x3C, 0xA6, 0x19, 0x40, 0x3D, 0xBA, 0xF4, 0x40, 0x3E, 0x85, 0xFB, 0x40, 0x3F, 0x9A, 0xD6, 0x40, -0x40, 0x65, 0xDD, 0x40, 0x41, 0x83, 0xF2, 0xC0, 0x01, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, -0x02, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x06, 0x07, -0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, -0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x00, 0x00, 0x48, 0x24, 0x00, -0x00, 0x00, 0x00, 0x46, 0x50, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x01, 0x08, 0x00, 0x00, 0x54, -0x60, 0x00, 0x0C, 0x00, 0x00, 0x54, 0x60, 0x00, 0x0C, 0x00, 0x00, 0x62, 0x70, 0x01, 0x08, 0x00, -0x00, 0x54, 0x60, 0x01, 0x0C, 0x00, 0x00, 0x46, 0x50, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x01, -0x08, 0x00, 0x00, 0x54, 0x60, 0x00, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x35, 0x00, 0x2B, -0x30, 0x37, 0x00, 0x2B, 0x30, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 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, 0x0A, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, -0xFF, 0xAA, 0x19, 0x7B, 0xDC, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, 0xA3, 0xEF, 0x30, 0x00, 0x00, 0x00, -0x00, 0x15, 0x27, 0x7D, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x18, 0xB2, 0x10, 0x00, 0x00, 0x00, -0x00, 0x17, 0x08, 0xB1, 0x20, 0x00, 0x00, 0x00, 0x00, 0x17, 0xF9, 0xE5, 0x90, 0x00, 0x00, 0x00, -0x00, 0x18, 0xE9, 0xE4, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x19, 0xDB, 0x19, 0x10, 0x00, 0x00, 0x00, -0x00, 0x1A, 0xCC, 0x69, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xBC, 0x76, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x1C, 0xAC, 0x67, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x1D, 0x9C, 0x58, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x1E, 0x8C, 0x49, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x7C, 0x3A, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x20, 0x6C, 0x2B, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x21, 0x5C, 0x1C, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x22, 0x4C, 0x0D, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x23, 0x3B, 0xFE, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x24, 0x2B, 0xEF, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x25, 0x1B, 0xE0, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x26, 0x0B, 0xD1, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x27, 0x04, 0xFD, 0x40, 0x00, 0x00, 0x00, -0x00, 0x27, 0xF4, 0xEE, 0x40, 0x00, 0x00, 0x00, 0x00, 0x28, 0xE4, 0xED, 0x50, 0x00, 0x00, 0x00, -0x00, 0x29, 0x78, 0x95, 0x50, 0x00, 0x00, 0x00, 0x00, 0x29, 0xD4, 0xD0, 0x40, 0x00, 0x00, 0x00, -0x00, 0x2A, 0xC4, 0xC1, 0x40, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xB4, 0xB2, 0x40, 0x00, 0x00, 0x00, -0x00, 0x2C, 0xA4, 0xA3, 0x40, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x94, 0x94, 0x40, 0x00, 0x00, 0x00, -0x00, 0x2E, 0x84, 0x85, 0x40, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x74, 0x76, 0x40, 0x00, 0x00, 0x00, -0x00, 0x30, 0x64, 0x67, 0x40, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0x92, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x32, 0x72, 0x6D, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x33, 0x3D, 0x74, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x34, 0x52, 0x4F, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x35, 0x1D, 0x56, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x36, 0x32, 0x31, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x36, 0xFD, 0x38, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x38, 0x1B, 0x4E, 0x40, 0x00, 0x00, 0x00, 0x00, 0x38, 0xDD, 0x1A, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x39, 0xFB, 0x30, 0x40, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xBC, 0xFC, 0xC0, 0x00, 0x00, 0x00, -0x00, 0x3B, 0xDB, 0x12, 0x40, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xA6, 0x19, 0x40, 0x00, 0x00, 0x00, -0x00, 0x3D, 0xBA, 0xF4, 0x40, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x85, 0xFB, 0x40, 0x00, 0x00, 0x00, -0x00, 0x3F, 0x9A, 0xD6, 0x40, 0x00, 0x00, 0x00, 0x00, 0x40, 0x65, 0xDD, 0x40, 0x00, 0x00, 0x00, -0x00, 0x41, 0x83, 0xF2, 0xC0, 0x01, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x04, 0x05, -0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x06, 0x07, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, -0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x00, 0x00, 0x48, 0x24, 0x00, 0x00, 0x00, 0x00, -0x46, 0x50, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x01, 0x08, 0x00, 0x00, 0x54, 0x60, 0x00, 0x0C, -0x00, 0x00, 0x54, 0x60, 0x00, 0x0C, 0x00, 0x00, 0x62, 0x70, 0x01, 0x08, 0x00, 0x00, 0x54, 0x60, -0x01, 0x0C, 0x00, 0x00, 0x46, 0x50, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x01, 0x08, 0x00, 0x00, -0x54, 0x60, 0x00, 0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x35, 0x00, 0x2B, 0x30, 0x37, 0x00, -0x2B, 0x30, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x0A, 0x3C, -0x2B, 0x30, 0x36, 0x3E, 0x2D, 0x36, 0x0A, 0x00, 0xCB, 0x52, 0xC8, 0x01, 0x88, 0x13, 0x18, 0x00, +0x40, 0x65, 0xDD, 0x40, 0x41, 0x83, 0xF2, 0xC0, 0x65, 0xE0, 0xC6, 0x20, 0x01, 0x03, 0x02, 0x03, +0x02, 0x03, 0x02, 0x03, 0x02, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, +0x05, 0x04, 0x06, 0x07, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, +0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x01, +0x00, 0x00, 0x48, 0x24, 0x00, 0x00, 0x00, 0x00, 0x46, 0x50, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, +0x01, 0x08, 0x00, 0x00, 0x54, 0x60, 0x00, 0x0C, 0x00, 0x00, 0x54, 0x60, 0x00, 0x0C, 0x00, 0x00, +0x62, 0x70, 0x01, 0x08, 0x00, 0x00, 0x54, 0x60, 0x01, 0x0C, 0x00, 0x00, 0x46, 0x50, 0x00, 0x04, +0x00, 0x00, 0x62, 0x70, 0x01, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x35, 0x00, 0x2B, 0x30, +0x37, 0x00, 0x2B, 0x30, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 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, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, +0x19, 0x7B, 0xDC, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, 0xA3, 0xEF, 0x30, 0x00, 0x00, 0x00, 0x00, 0x15, +0x27, 0x7D, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x18, 0xB2, 0x10, 0x00, 0x00, 0x00, 0x00, 0x17, +0x08, 0xB1, 0x20, 0x00, 0x00, 0x00, 0x00, 0x17, 0xF9, 0xE5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x18, +0xE9, 0xE4, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x19, 0xDB, 0x19, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1A, +0xCC, 0x69, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xBC, 0x76, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x1C, +0xAC, 0x67, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x1D, 0x9C, 0x58, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x1E, +0x8C, 0x49, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x7C, 0x3A, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x20, +0x6C, 0x2B, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x21, 0x5C, 0x1C, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x22, +0x4C, 0x0D, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x23, 0x3B, 0xFE, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x24, +0x2B, 0xEF, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x25, 0x1B, 0xE0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x26, +0x0B, 0xD1, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x27, 0x04, 0xFD, 0x40, 0x00, 0x00, 0x00, 0x00, 0x27, +0xF4, 0xEE, 0x40, 0x00, 0x00, 0x00, 0x00, 0x28, 0xE4, 0xED, 0x50, 0x00, 0x00, 0x00, 0x00, 0x29, +0x78, 0x95, 0x50, 0x00, 0x00, 0x00, 0x00, 0x29, 0xD4, 0xD0, 0x40, 0x00, 0x00, 0x00, 0x00, 0x2A, +0xC4, 0xC1, 0x40, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xB4, 0xB2, 0x40, 0x00, 0x00, 0x00, 0x00, 0x2C, +0xA4, 0xA3, 0x40, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x94, 0x94, 0x40, 0x00, 0x00, 0x00, 0x00, 0x2E, +0x84, 0x85, 0x40, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x74, 0x76, 0x40, 0x00, 0x00, 0x00, 0x00, 0x30, +0x64, 0x67, 0x40, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0x92, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x32, +0x72, 0x6D, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x33, 0x3D, 0x74, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x34, +0x52, 0x4F, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x35, 0x1D, 0x56, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x36, +0x32, 0x31, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x36, 0xFD, 0x38, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x38, +0x1B, 0x4E, 0x40, 0x00, 0x00, 0x00, 0x00, 0x38, 0xDD, 0x1A, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x39, +0xFB, 0x30, 0x40, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xBC, 0xFC, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x3B, +0xDB, 0x12, 0x40, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xA6, 0x19, 0x40, 0x00, 0x00, 0x00, 0x00, 0x3D, +0xBA, 0xF4, 0x40, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x85, 0xFB, 0x40, 0x00, 0x00, 0x00, 0x00, 0x3F, +0x9A, 0xD6, 0x40, 0x00, 0x00, 0x00, 0x00, 0x40, 0x65, 0xDD, 0x40, 0x00, 0x00, 0x00, 0x00, 0x41, +0x83, 0xF2, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x65, 0xE0, 0xC6, 0x20, 0x01, 0x03, 0x02, 0x03, 0x02, +0x03, 0x02, 0x03, 0x02, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, +0x04, 0x06, 0x07, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, +0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x01, 0x00, +0x00, 0x48, 0x24, 0x00, 0x00, 0x00, 0x00, 0x46, 0x50, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x01, +0x08, 0x00, 0x00, 0x54, 0x60, 0x00, 0x0C, 0x00, 0x00, 0x54, 0x60, 0x00, 0x0C, 0x00, 0x00, 0x62, +0x70, 0x01, 0x08, 0x00, 0x00, 0x54, 0x60, 0x01, 0x0C, 0x00, 0x00, 0x46, 0x50, 0x00, 0x04, 0x00, +0x00, 0x62, 0x70, 0x01, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x35, 0x00, 0x2B, 0x30, 0x37, +0x00, 0x2B, 0x30, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x0A, 0x3C, +0x2B, 0x30, 0x35, 0x3E, 0x2D, 0x35, 0x0A, 0x00, 0xCB, 0x52, 0xC8, 0x01, 0x88, 0x13, 0x18, 0x00, 0x00, 0x00, 0x12, 0x6D, 0x6F, 0x73, 0x74, 0x20, 0x6F, 0x66, 0x20, 0x4B, 0x61, 0x7A, 0x61, 0x6B, 0x68, 0x73, 0x74, 0x61, 0x6E, @@ -43787,7 +43787,7 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { 0x59, 0xF3, 0xAC, 0x60, 0x5A, 0xB5, 0x86, 0xF0, 0x5B, 0xD3, 0x8E, 0x60, 0x5C, 0x9D, 0x43, 0xE0, 0x5D, 0xB3, 0x62, 0x50, 0x5E, 0x7E, 0x77, 0x60, 0x5F, 0x93, 0x52, 0x60, 0x60, 0x5E, 0x59, 0x60, 0x61, 0x7B, 0x1D, 0x60, 0x62, 0x3F, 0x8C, 0xE0, 0x63, 0x5C, 0x5E, 0xF0, 0x64, 0x4C, 0x5E, 0x00, -0x65, 0x3C, 0x40, 0xF0, 0x66, 0x19, 0xCB, 0x00, 0x67, 0x1C, 0x22, 0xF0, 0x67, 0xF0, 0x72, 0x80, +0x65, 0x3C, 0x40, 0xF0, 0x66, 0x23, 0x05, 0x80, 0x67, 0x1C, 0x22, 0xF0, 0x67, 0xF9, 0xAD, 0x00, 0x68, 0xFC, 0x04, 0xF0, 0x69, 0xC7, 0x1A, 0x00, 0x6A, 0xDB, 0xE6, 0xF0, 0x6B, 0xA6, 0xFC, 0x00, 0x6C, 0xC5, 0x03, 0x70, 0x6D, 0x86, 0xDE, 0x00, 0x6E, 0xA4, 0xE5, 0x70, 0x6F, 0x66, 0xC0, 0x00, 0x70, 0x84, 0xC7, 0x70, 0x71, 0x4F, 0xDC, 0x80, 0x72, 0x64, 0xA9, 0x70, 0x73, 0x2F, 0xBE, 0x80, @@ -43812,7 +43812,7 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x33, 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, 0x01, 0x36, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x15, 0xFF, 0xFF, 0xFF, 0xFF, 0x7D, +0x00, 0x01, 0x34, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x15, 0xFF, 0xFF, 0xFF, 0xFF, 0x7D, 0xBD, 0x4A, 0xB0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x59, 0xCF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0xFA, 0xA6, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xC9, 0x38, 0x9C, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xE5, 0xEB, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0xAC, 0xFE, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xCE, @@ -43874,8 +43874,8 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { 0x5E, 0x59, 0x60, 0x00, 0x00, 0x00, 0x00, 0x61, 0x7B, 0x1D, 0x60, 0x00, 0x00, 0x00, 0x00, 0x62, 0x3F, 0x8C, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x63, 0x5C, 0x5E, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x64, 0x4C, 0x5E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x65, 0x3C, 0x40, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x66, -0x19, 0xCB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0x1C, 0x22, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x67, -0xF0, 0x72, 0x80, 0x00, 0x00, 0x00, 0x00, 0x68, 0xFC, 0x04, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x69, +0x23, 0x05, 0x80, 0x00, 0x00, 0x00, 0x00, 0x67, 0x1C, 0x22, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x67, +0xF9, 0xAD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0xFC, 0x04, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x69, 0xC7, 0x1A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xDB, 0xE6, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x6B, 0xA6, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xC5, 0x03, 0x70, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x86, 0xDE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6E, 0xA4, 0xE5, 0x70, 0x00, 0x00, 0x00, 0x00, 0x6F, @@ -43889,42 +43889,41 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { 0x98, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7D, 0xA3, 0xF5, 0x70, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x78, 0x45, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x7A, 0x9C, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x80, 0x58, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x81, 0x48, 0x09, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x82, -0x38, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x83, 0x1E, 0xB1, 0x70, 0x00, 0x00, 0x00, 0x00, 0x83, -0x4C, 0xE4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x83, 0x56, 0x10, 0x70, 0x00, 0x00, 0x00, 0x00, 0x84, +0x38, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x83, 0x1E, 0xB1, 0x70, 0x00, 0x00, 0x00, 0x00, 0x84, 0x17, 0xEB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84, 0xEC, 0x1E, 0x70, 0x00, 0x00, 0x00, 0x00, 0x85, -0x23, 0x8B, 0x80, 0x00, 0x00, 0x00, 0x00, 0x85, 0x35, 0xF2, 0x70, 0x00, 0x00, 0x00, 0x00, 0x86, +0x2C, 0xC6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x85, 0x35, 0xF2, 0x70, 0x00, 0x00, 0x00, 0x00, 0x86, 0x01, 0x07, 0x80, 0x00, 0x00, 0x00, 0x00, 0x86, 0xC2, 0xC5, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x86, -0xF0, 0xF8, 0x80, 0x00, 0x00, 0x00, 0x00, 0x87, 0x15, 0xD4, 0x70, 0x00, 0x00, 0x00, 0x00, 0x87, +0xFA, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x87, 0x15, 0xD4, 0x70, 0x00, 0x00, 0x00, 0x00, 0x87, 0xE0, 0xE9, 0x80, 0x00, 0x00, 0x00, 0x00, 0x88, 0x99, 0x6D, 0x70, 0x00, 0x00, 0x00, 0x00, 0x88, -0xC7, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0xF5, 0xB6, 0x70, 0x00, 0x00, 0x00, 0x00, 0x89, +0xD0, 0xDA, 0x80, 0x00, 0x00, 0x00, 0x00, 0x88, 0xF5, 0xB6, 0x70, 0x00, 0x00, 0x00, 0x00, 0x89, 0xC0, 0xCB, 0x80, 0x00, 0x00, 0x00, 0x00, 0x8A, 0x66, 0xDA, 0x70, 0x00, 0x00, 0x00, 0x00, 0x8A, -0x9E, 0x47, 0x80, 0x00, 0x00, 0x00, 0x00, 0x8A, 0xD5, 0x98, 0x70, 0x00, 0x00, 0x00, 0x00, 0x8B, +0xA7, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8A, 0xD5, 0x98, 0x70, 0x00, 0x00, 0x00, 0x00, 0x8B, 0xA0, 0xAD, 0x80, 0x00, 0x00, 0x00, 0x00, 0x8C, 0x3D, 0x81, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x8C, -0x6B, 0xB4, 0x80, 0x00, 0x00, 0x00, 0x00, 0x8C, 0xBE, 0xB4, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x8D, +0x74, 0xEF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8C, 0xBE, 0xB4, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x8D, 0x80, 0x8F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x8E, 0x14, 0x29, 0x70, 0x00, 0x00, 0x00, 0x00, 0x8E, -0x42, 0x5C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8E, 0x9E, 0x96, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x8F, +0x4B, 0x96, 0x80, 0x00, 0x00, 0x00, 0x00, 0x8E, 0x9E, 0x96, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x8F, 0x60, 0x71, 0x80, 0x00, 0x00, 0x00, 0x00, 0x8F, 0xE1, 0x96, 0x70, 0x00, 0x00, 0x00, 0x00, 0x90, -0x19, 0x03, 0x80, 0x00, 0x00, 0x00, 0x00, 0x90, 0x7E, 0x78, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x91, +0x22, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x7E, 0x78, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x91, 0x49, 0x8E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x91, 0xB8, 0x3D, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x91, -0xE6, 0x70, 0x80, 0x00, 0x00, 0x00, 0x00, 0x92, 0x5E, 0x5A, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x93, +0xEF, 0xAB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x92, 0x5E, 0x5A, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x93, 0x29, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x93, 0x85, 0xAA, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x93, -0xBD, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x94, 0x3E, 0x3C, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x95, +0xC6, 0x52, 0x80, 0x00, 0x00, 0x00, 0x00, 0x94, 0x3E, 0x3C, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x95, 0x09, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x95, 0x5C, 0x52, 0x70, 0x00, 0x00, 0x00, 0x00, 0x95, -0x8A, 0x85, 0x00, 0x00, 0x00, 0x00, 0x00, 0x96, 0x27, 0x59, 0x70, 0x00, 0x00, 0x00, 0x00, 0x96, +0x93, 0xBF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x96, 0x27, 0x59, 0x70, 0x00, 0x00, 0x00, 0x00, 0x96, 0xE9, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x97, 0x32, 0xF9, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x97, -0x61, 0x2C, 0x80, 0x00, 0x00, 0x00, 0x00, 0x98, 0x07, 0x3B, 0x70, 0x00, 0x00, 0x00, 0x00, 0x98, +0x6A, 0x67, 0x00, 0x00, 0x00, 0x00, 0x00, 0x98, 0x07, 0x3B, 0x70, 0x00, 0x00, 0x00, 0x00, 0x98, 0xC9, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x99, 0x00, 0x66, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x99, -0x37, 0xD4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x99, 0xE7, 0x1D, 0x70, 0x00, 0x00, 0x00, 0x00, 0x9A, +0x41, 0x0E, 0x80, 0x00, 0x00, 0x00, 0x00, 0x99, 0xE7, 0x1D, 0x70, 0x00, 0x00, 0x00, 0x00, 0x9A, 0xB2, 0x32, 0x80, 0x00, 0x00, 0x00, 0x00, 0x9A, 0xD7, 0x0E, 0x70, 0x00, 0x00, 0x00, 0x00, 0x9B, -0x05, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9B, 0xC6, 0xFF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x9C, +0x0E, 0x7B, 0x80, 0x00, 0x00, 0x00, 0x00, 0x9B, 0xC6, 0xFF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x9C, 0x92, 0x14, 0x80, 0x00, 0x00, 0x00, 0x00, 0x9C, 0xA4, 0x7B, 0x70, 0x00, 0x00, 0x00, 0x00, 0x9C, -0xDB, 0xE8, 0x80, 0x00, 0x00, 0x00, 0x00, 0x9D, 0xA6, 0xE1, 0x70, 0x00, 0x00, 0x00, 0x00, 0x9E, +0xE5, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9D, 0xA6, 0xE1, 0x70, 0x00, 0x00, 0x00, 0x00, 0x9E, 0x71, 0xF6, 0x80, 0x00, 0x00, 0x00, 0x00, 0x9E, 0x7B, 0x22, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x9E, -0xB2, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9F, 0x86, 0xC3, 0x70, 0x00, 0x00, 0x00, 0x00, 0xA0, -0x7F, 0xFD, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA1, 0x6F, 0xDF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xA2, -0x56, 0xA4, 0x80, 0x00, 0x00, 0x00, 0x00, 0xA3, 0x4F, 0xC1, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xA4, -0x24, 0x11, 0x80, 0x00, 0x00, 0x00, 0x00, 0xA5, 0x2F, 0xA3, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xA5, -0xFA, 0xB9, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA7, 0x0F, 0x85, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xA7, +0xBB, 0xCA, 0x80, 0x00, 0x00, 0x00, 0x00, 0x9F, 0x86, 0xC3, 0x70, 0x00, 0x00, 0x00, 0x00, 0xA0, +0x89, 0x37, 0x80, 0x00, 0x00, 0x00, 0x00, 0xA1, 0x6F, 0xDF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xA2, +0x5F, 0xDF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA3, 0x4F, 0xC1, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xA4, +0x2D, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA5, 0x2F, 0xA3, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xA6, +0x03, 0xF3, 0x80, 0x00, 0x00, 0x00, 0x00, 0xA7, 0x0F, 0x85, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xA7, 0xDA, 0x9B, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA8, 0xEF, 0x67, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xA9, 0xBA, 0x7D, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAA, 0xD8, 0x84, 0x70, 0x00, 0x00, 0x00, 0x00, 0xAB, 0x9A, 0x5F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAC, 0xB8, 0x66, 0x70, 0x00, 0x00, 0x00, 0x00, 0xAD, @@ -43939,35 +43938,35 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { 0x8B, 0xC6, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBD, 0x84, 0xE3, 0x70, 0x00, 0x00, 0x00, 0x00, 0xBE, 0x6B, 0xA8, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBF, 0x52, 0x50, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x4B, 0x8A, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC1, 0x28, 0xF7, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xC1, -0x57, 0x2A, 0x80, 0x00, 0x00, 0x00, 0x00, 0xC1, 0x69, 0x91, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC2, +0x60, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC1, 0x69, 0x91, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC2, 0x2B, 0x6C, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC2, 0xFF, 0x9F, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC3, -0x2D, 0xD2, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC3, 0x49, 0x73, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC4, +0x37, 0x0C, 0x80, 0x00, 0x00, 0x00, 0x00, 0xC3, 0x49, 0x73, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC4, 0x0B, 0x4E, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC4, 0xCD, 0x0C, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC5, -0x04, 0x79, 0x80, 0x00, 0x00, 0x00, 0x00, 0xC5, 0x29, 0x55, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC5, +0x0D, 0xB4, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC5, 0x29, 0x55, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC5, 0xF4, 0x6A, 0x80, 0x00, 0x00, 0x00, 0x00, 0xC6, 0xA3, 0xB3, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xC6, -0xD1, 0xE6, 0x80, 0x00, 0x00, 0x00, 0x00, 0xC7, 0x09, 0x37, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC7, +0xDB, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC7, 0x09, 0x37, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC7, 0xD4, 0x4C, 0x80, 0x00, 0x00, 0x00, 0x00, 0xC8, 0x71, 0x20, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xC8, -0xA8, 0x8E, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC8, 0xE9, 0x19, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC9, +0xB1, 0xC8, 0x80, 0x00, 0x00, 0x00, 0x00, 0xC8, 0xE9, 0x19, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC9, 0xB4, 0x2E, 0x80, 0x00, 0x00, 0x00, 0x00, 0xCA, 0x47, 0xC8, 0x70, 0x00, 0x00, 0x00, 0x00, 0xCA, -0x7F, 0x35, 0x80, 0x00, 0x00, 0x00, 0x00, 0xCA, 0xD2, 0x35, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xCB, +0x88, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCA, 0xD2, 0x35, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xCB, 0x94, 0x10, 0x80, 0x00, 0x00, 0x00, 0x00, 0xCC, 0x1E, 0x6F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xCC, -0x4C, 0xA2, 0x80, 0x00, 0x00, 0x00, 0x00, 0xCC, 0xB2, 0x17, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xCD, +0x55, 0xDD, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCC, 0xB2, 0x17, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xCD, 0x73, 0xF2, 0x80, 0x00, 0x00, 0x00, 0x00, 0xCD, 0xEB, 0xDC, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xCE, -0x23, 0x4A, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCE, 0x91, 0xF9, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xCF, +0x2C, 0x84, 0x80, 0x00, 0x00, 0x00, 0x00, 0xCE, 0x91, 0xF9, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xCF, 0x5D, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCF, 0xC2, 0x84, 0x70, 0x00, 0x00, 0x00, 0x00, 0xCF, -0xF0, 0xB7, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD0, 0x71, 0xDB, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xD1, +0xF9, 0xF1, 0x80, 0x00, 0x00, 0x00, 0x00, 0xD0, 0x71, 0xDB, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xD1, 0x3C, 0xF1, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD1, 0x99, 0x2B, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xD1, -0xC7, 0x5E, 0x80, 0x00, 0x00, 0x00, 0x00, 0xD2, 0x51, 0xBD, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xD3, +0xD0, 0x99, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD2, 0x51, 0xBD, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xD3, 0x1C, 0xD3, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD3, 0x66, 0x98, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xD3, -0x9E, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD4, 0x31, 0x9F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xD4, +0xA7, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0xD4, 0x31, 0x9F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xD4, 0xFC, 0xB5, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD5, 0x3D, 0x40, 0x70, 0x00, 0x00, 0x00, 0x00, 0xD5, -0x6B, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD6, 0x1A, 0xBC, 0x70, 0x00, 0x00, 0x00, 0x00, 0xD6, +0x74, 0xAD, 0x80, 0x00, 0x00, 0x00, 0x00, 0xD6, 0x1A, 0xBC, 0x70, 0x00, 0x00, 0x00, 0x00, 0xD6, 0xDC, 0x97, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD7, 0x0A, 0xAD, 0x70, 0x00, 0x00, 0x00, 0x00, 0xD7, -0x42, 0x1A, 0x80, 0x00, 0x00, 0x00, 0x00, 0xD7, 0xFA, 0x9E, 0x70, 0x00, 0x00, 0x00, 0x00, 0xD8, +0x4B, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD7, 0xFA, 0x9E, 0x70, 0x00, 0x00, 0x00, 0x00, 0xD8, 0xBC, 0x79, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD8, 0xE1, 0x54, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xD9, -0x18, 0xC2, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD9, 0xDA, 0x80, 0x70, 0x00, 0x00, 0x00, 0x00, 0xDA, +0x21, 0xFC, 0x80, 0x00, 0x00, 0x00, 0x00, 0xD9, 0xDA, 0x80, 0x70, 0x00, 0x00, 0x00, 0x00, 0xDA, 0xA5, 0x95, 0x80, 0x00, 0x00, 0x00, 0x00, 0xDA, 0xB7, 0xFC, 0x70, 0x00, 0x00, 0x00, 0x00, 0xDA, -0xE6, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xDB, 0xBA, 0x62, 0x70, 0x03, 0x01, 0x02, 0x01, 0x02, +0xEF, 0x69, 0x80, 0x00, 0x00, 0x00, 0x00, 0xDB, 0xBA, 0x62, 0x70, 0x03, 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, 0x06, 0x05, 0x06, 0x05, 0x06, 0x07, 0x08, 0x07, 0x08, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, @@ -43986,17 +43985,17 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 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, 0x20, 0x50, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x04, 0x00, 0x00, 0x1C, -0x20, 0x00, 0x09, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x09, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x04, 0x00, -0x00, 0x2A, 0x30, 0x01, 0x0D, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x11, 0x00, 0x00, 0x2A, 0x30, 0x01, -0x0D, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x11, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x09, 0x4C, 0x4D, 0x54, -0x00, 0x45, 0x45, 0x53, 0x54, 0x00, 0x45, 0x45, 0x54, 0x00, 0x49, 0x44, 0x54, 0x00, 0x49, 0x53, -0x54, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x45, 0x45, 0x54, 0x2D, 0x32, 0x45, 0x45, 0x53, 0x54, -0x2C, 0x4D, 0x33, 0x2E, 0x34, 0x2E, 0x34, 0x2F, 0x35, 0x30, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x34, -0x2E, 0x34, 0x2F, 0x35, 0x30, 0x0A, 0x00, 0xB9, 0x64, 0xF0, 0x01, 0x47, 0x40, 0x0A, 0x00, 0x00, -0x00, 0x0A, 0x47, 0x61, 0x7A, 0x61, 0x20, 0x53, 0x74, 0x72, 0x69, 0x70, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x00, +0x00, 0x20, 0x50, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x00, +0x09, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x09, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x04, 0x00, 0x00, 0x2A, +0x30, 0x01, 0x0D, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x11, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x0D, 0x00, +0x00, 0x1C, 0x20, 0x00, 0x11, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x45, +0x45, 0x53, 0x54, 0x00, 0x45, 0x45, 0x54, 0x00, 0x49, 0x44, 0x54, 0x00, 0x49, 0x53, 0x54, 0x00, +0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x0A, 0x45, 0x45, 0x54, 0x2D, 0x32, 0x45, 0x45, 0x53, 0x54, 0x2C, 0x4D, +0x33, 0x2E, 0x34, 0x2E, 0x34, 0x2F, 0x35, 0x30, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x34, 0x2E, 0x34, +0x2F, 0x35, 0x30, 0x0A, 0x00, 0xB9, 0x64, 0xF0, 0x01, 0x47, 0x40, 0x0A, 0x00, 0x00, 0x00, 0x0A, +0x47, 0x61, 0x7A, 0x61, 0x20, 0x53, 0x74, 0x72, 0x69, 0x70, /* Asia/Harbin */ 0x50, 0x48, 0x50, 0x32, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -44070,8 +44069,8 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { 0x58, 0x13, 0xCA, 0x60, 0x58, 0xD5, 0xA4, 0xF0, 0x59, 0xF3, 0xAC, 0x60, 0x5A, 0xB5, 0x86, 0xF0, 0x5B, 0xD3, 0x8E, 0x60, 0x5C, 0x9D, 0x43, 0xE0, 0x5D, 0xB3, 0x62, 0x50, 0x5E, 0x7E, 0x77, 0x60, 0x5F, 0x93, 0x52, 0x60, 0x60, 0x5E, 0x59, 0x60, 0x61, 0x7B, 0x1D, 0x60, 0x62, 0x3F, 0x8C, 0xE0, -0x63, 0x5C, 0x5E, 0xF0, 0x64, 0x4C, 0x5E, 0x00, 0x65, 0x3C, 0x40, 0xF0, 0x66, 0x19, 0xCB, 0x00, -0x67, 0x1C, 0x22, 0xF0, 0x67, 0xF0, 0x72, 0x80, 0x68, 0xFC, 0x04, 0xF0, 0x69, 0xC7, 0x1A, 0x00, +0x63, 0x5C, 0x5E, 0xF0, 0x64, 0x4C, 0x5E, 0x00, 0x65, 0x3C, 0x40, 0xF0, 0x66, 0x23, 0x05, 0x80, +0x67, 0x1C, 0x22, 0xF0, 0x67, 0xF9, 0xAD, 0x00, 0x68, 0xFC, 0x04, 0xF0, 0x69, 0xC7, 0x1A, 0x00, 0x6A, 0xDB, 0xE6, 0xF0, 0x6B, 0xA6, 0xFC, 0x00, 0x6C, 0xC5, 0x03, 0x70, 0x6D, 0x86, 0xDE, 0x00, 0x6E, 0xA4, 0xE5, 0x70, 0x6F, 0x66, 0xC0, 0x00, 0x70, 0x84, 0xC7, 0x70, 0x71, 0x4F, 0xDC, 0x80, 0x72, 0x64, 0xA9, 0x70, 0x73, 0x2F, 0xBE, 0x80, 0x74, 0x44, 0x8B, 0x70, 0x75, 0x0F, 0xA0, 0x80, @@ -44095,7 +44094,7 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { 0x00, 0x49, 0x53, 0x54, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x5A, 0x69, 0x66, 0x33, 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, 0x01, 0x38, 0x00, 0x00, 0x00, +0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x36, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x15, 0xFF, 0xFF, 0xFF, 0xFF, 0x7D, 0xBD, 0x4A, 0x19, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x59, 0xCF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0xFA, 0xA6, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xC9, 0x38, 0x9C, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xE5, 0xEB, 0x80, 0xFF, 0xFF, 0xFF, @@ -44158,8 +44157,8 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { 0x00, 0x5F, 0x93, 0x52, 0x60, 0x00, 0x00, 0x00, 0x00, 0x60, 0x5E, 0x59, 0x60, 0x00, 0x00, 0x00, 0x00, 0x61, 0x7B, 0x1D, 0x60, 0x00, 0x00, 0x00, 0x00, 0x62, 0x3F, 0x8C, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x63, 0x5C, 0x5E, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x64, 0x4C, 0x5E, 0x00, 0x00, 0x00, 0x00, -0x00, 0x65, 0x3C, 0x40, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x66, 0x19, 0xCB, 0x00, 0x00, 0x00, 0x00, -0x00, 0x67, 0x1C, 0x22, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x67, 0xF0, 0x72, 0x80, 0x00, 0x00, 0x00, +0x00, 0x65, 0x3C, 0x40, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x66, 0x23, 0x05, 0x80, 0x00, 0x00, 0x00, +0x00, 0x67, 0x1C, 0x22, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x67, 0xF9, 0xAD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0xFC, 0x04, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x69, 0xC7, 0x1A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6A, 0xDB, 0xE6, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x6B, 0xA6, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xC5, 0x03, 0x70, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x86, 0xDE, 0x00, 0x00, 0x00, 0x00, @@ -44174,41 +44173,40 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { 0x00, 0x7D, 0xA3, 0xF5, 0x70, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x78, 0x45, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x7A, 0x9C, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x80, 0x58, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x81, 0x48, 0x09, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x82, 0x38, 0x09, 0x00, 0x00, 0x00, 0x00, -0x00, 0x83, 0x1E, 0xB1, 0x70, 0x00, 0x00, 0x00, 0x00, 0x83, 0x4C, 0xE4, 0x00, 0x00, 0x00, 0x00, -0x00, 0x83, 0x56, 0x10, 0x70, 0x00, 0x00, 0x00, 0x00, 0x84, 0x17, 0xEB, 0x00, 0x00, 0x00, 0x00, -0x00, 0x84, 0xEC, 0x1E, 0x70, 0x00, 0x00, 0x00, 0x00, 0x85, 0x23, 0x8B, 0x80, 0x00, 0x00, 0x00, +0x00, 0x83, 0x1E, 0xB1, 0x70, 0x00, 0x00, 0x00, 0x00, 0x84, 0x17, 0xEB, 0x00, 0x00, 0x00, 0x00, +0x00, 0x84, 0xEC, 0x1E, 0x70, 0x00, 0x00, 0x00, 0x00, 0x85, 0x2C, 0xC6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x85, 0x35, 0xF2, 0x70, 0x00, 0x00, 0x00, 0x00, 0x86, 0x01, 0x07, 0x80, 0x00, 0x00, 0x00, -0x00, 0x86, 0xC2, 0xC5, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x86, 0xF0, 0xF8, 0x80, 0x00, 0x00, 0x00, +0x00, 0x86, 0xC2, 0xC5, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x86, 0xFA, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x87, 0x15, 0xD4, 0x70, 0x00, 0x00, 0x00, 0x00, 0x87, 0xE0, 0xE9, 0x80, 0x00, 0x00, 0x00, -0x00, 0x88, 0x99, 0x6D, 0x70, 0x00, 0x00, 0x00, 0x00, 0x88, 0xC7, 0xA0, 0x00, 0x00, 0x00, 0x00, +0x00, 0x88, 0x99, 0x6D, 0x70, 0x00, 0x00, 0x00, 0x00, 0x88, 0xD0, 0xDA, 0x80, 0x00, 0x00, 0x00, 0x00, 0x88, 0xF5, 0xB6, 0x70, 0x00, 0x00, 0x00, 0x00, 0x89, 0xC0, 0xCB, 0x80, 0x00, 0x00, 0x00, -0x00, 0x8A, 0x66, 0xDA, 0x70, 0x00, 0x00, 0x00, 0x00, 0x8A, 0x9E, 0x47, 0x80, 0x00, 0x00, 0x00, +0x00, 0x8A, 0x66, 0xDA, 0x70, 0x00, 0x00, 0x00, 0x00, 0x8A, 0xA7, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8A, 0xD5, 0x98, 0x70, 0x00, 0x00, 0x00, 0x00, 0x8B, 0xA0, 0xAD, 0x80, 0x00, 0x00, 0x00, -0x00, 0x8C, 0x3D, 0x81, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x8C, 0x6B, 0xB4, 0x80, 0x00, 0x00, 0x00, +0x00, 0x8C, 0x3D, 0x81, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x8C, 0x74, 0xEF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8C, 0xBE, 0xB4, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x8D, 0x80, 0x8F, 0x80, 0x00, 0x00, 0x00, -0x00, 0x8E, 0x14, 0x29, 0x70, 0x00, 0x00, 0x00, 0x00, 0x8E, 0x42, 0x5C, 0x00, 0x00, 0x00, 0x00, +0x00, 0x8E, 0x14, 0x29, 0x70, 0x00, 0x00, 0x00, 0x00, 0x8E, 0x4B, 0x96, 0x80, 0x00, 0x00, 0x00, 0x00, 0x8E, 0x9E, 0x96, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x8F, 0x60, 0x71, 0x80, 0x00, 0x00, 0x00, -0x00, 0x8F, 0xE1, 0x96, 0x70, 0x00, 0x00, 0x00, 0x00, 0x90, 0x19, 0x03, 0x80, 0x00, 0x00, 0x00, +0x00, 0x8F, 0xE1, 0x96, 0x70, 0x00, 0x00, 0x00, 0x00, 0x90, 0x22, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x7E, 0x78, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x91, 0x49, 0x8E, 0x00, 0x00, 0x00, 0x00, -0x00, 0x91, 0xB8, 0x3D, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x91, 0xE6, 0x70, 0x80, 0x00, 0x00, 0x00, +0x00, 0x91, 0xB8, 0x3D, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x91, 0xEF, 0xAB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x92, 0x5E, 0x5A, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x93, 0x29, 0x70, 0x00, 0x00, 0x00, 0x00, -0x00, 0x93, 0x85, 0xAA, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x93, 0xBD, 0x18, 0x00, 0x00, 0x00, 0x00, +0x00, 0x93, 0x85, 0xAA, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x93, 0xC6, 0x52, 0x80, 0x00, 0x00, 0x00, 0x00, 0x94, 0x3E, 0x3C, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x95, 0x09, 0x52, 0x00, 0x00, 0x00, 0x00, -0x00, 0x95, 0x5C, 0x52, 0x70, 0x00, 0x00, 0x00, 0x00, 0x95, 0x8A, 0x85, 0x00, 0x00, 0x00, 0x00, +0x00, 0x95, 0x5C, 0x52, 0x70, 0x00, 0x00, 0x00, 0x00, 0x95, 0x93, 0xBF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x96, 0x27, 0x59, 0x70, 0x00, 0x00, 0x00, 0x00, 0x96, 0xE9, 0x34, 0x00, 0x00, 0x00, 0x00, -0x00, 0x97, 0x32, 0xF9, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x97, 0x61, 0x2C, 0x80, 0x00, 0x00, 0x00, +0x00, 0x97, 0x32, 0xF9, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x97, 0x6A, 0x67, 0x00, 0x00, 0x00, 0x00, 0x00, 0x98, 0x07, 0x3B, 0x70, 0x00, 0x00, 0x00, 0x00, 0x98, 0xC9, 0x16, 0x00, 0x00, 0x00, 0x00, -0x00, 0x99, 0x00, 0x66, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x99, 0x37, 0xD4, 0x00, 0x00, 0x00, 0x00, +0x00, 0x99, 0x00, 0x66, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x99, 0x41, 0x0E, 0x80, 0x00, 0x00, 0x00, 0x00, 0x99, 0xE7, 0x1D, 0x70, 0x00, 0x00, 0x00, 0x00, 0x9A, 0xB2, 0x32, 0x80, 0x00, 0x00, 0x00, -0x00, 0x9A, 0xD7, 0x0E, 0x70, 0x00, 0x00, 0x00, 0x00, 0x9B, 0x05, 0x41, 0x00, 0x00, 0x00, 0x00, +0x00, 0x9A, 0xD7, 0x0E, 0x70, 0x00, 0x00, 0x00, 0x00, 0x9B, 0x0E, 0x7B, 0x80, 0x00, 0x00, 0x00, 0x00, 0x9B, 0xC6, 0xFF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x9C, 0x92, 0x14, 0x80, 0x00, 0x00, 0x00, -0x00, 0x9C, 0xA4, 0x7B, 0x70, 0x00, 0x00, 0x00, 0x00, 0x9C, 0xDB, 0xE8, 0x80, 0x00, 0x00, 0x00, +0x00, 0x9C, 0xA4, 0x7B, 0x70, 0x00, 0x00, 0x00, 0x00, 0x9C, 0xE5, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9D, 0xA6, 0xE1, 0x70, 0x00, 0x00, 0x00, 0x00, 0x9E, 0x71, 0xF6, 0x80, 0x00, 0x00, 0x00, -0x00, 0x9E, 0x7B, 0x22, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x9E, 0xB2, 0x90, 0x00, 0x00, 0x00, 0x00, -0x00, 0x9F, 0x86, 0xC3, 0x70, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x7F, 0xFD, 0x00, 0x00, 0x00, 0x00, -0x00, 0xA1, 0x6F, 0xDF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xA2, 0x56, 0xA4, 0x80, 0x00, 0x00, 0x00, -0x00, 0xA3, 0x4F, 0xC1, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xA4, 0x24, 0x11, 0x80, 0x00, 0x00, 0x00, -0x00, 0xA5, 0x2F, 0xA3, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xA5, 0xFA, 0xB9, 0x00, 0x00, 0x00, 0x00, +0x00, 0x9E, 0x7B, 0x22, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x9E, 0xBB, 0xCA, 0x80, 0x00, 0x00, 0x00, +0x00, 0x9F, 0x86, 0xC3, 0x70, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x89, 0x37, 0x80, 0x00, 0x00, 0x00, +0x00, 0xA1, 0x6F, 0xDF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xA2, 0x5F, 0xDF, 0x00, 0x00, 0x00, 0x00, +0x00, 0xA3, 0x4F, 0xC1, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xA4, 0x2D, 0x4C, 0x00, 0x00, 0x00, 0x00, +0x00, 0xA5, 0x2F, 0xA3, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xA6, 0x03, 0xF3, 0x80, 0x00, 0x00, 0x00, 0x00, 0xA7, 0x0F, 0x85, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xA7, 0xDA, 0x9B, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA8, 0xEF, 0x67, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xA9, 0xBA, 0x7D, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAA, 0xD8, 0x84, 0x70, 0x00, 0x00, 0x00, 0x00, 0xAB, 0x9A, 0x5F, 0x00, 0x00, 0x00, 0x00, @@ -44223,35 +44221,35 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { 0x00, 0xBB, 0xAE, 0x3B, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xBC, 0x8B, 0xC6, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBD, 0x84, 0xE3, 0x70, 0x00, 0x00, 0x00, 0x00, 0xBE, 0x6B, 0xA8, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBF, 0x52, 0x50, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x4B, 0x8A, 0x00, 0x00, 0x00, 0x00, -0x00, 0xC1, 0x28, 0xF7, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xC1, 0x57, 0x2A, 0x80, 0x00, 0x00, 0x00, +0x00, 0xC1, 0x28, 0xF7, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xC1, 0x60, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC1, 0x69, 0x91, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC2, 0x2B, 0x6C, 0x00, 0x00, 0x00, 0x00, -0x00, 0xC2, 0xFF, 0x9F, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC3, 0x2D, 0xD2, 0x00, 0x00, 0x00, 0x00, +0x00, 0xC2, 0xFF, 0x9F, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC3, 0x37, 0x0C, 0x80, 0x00, 0x00, 0x00, 0x00, 0xC3, 0x49, 0x73, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC4, 0x0B, 0x4E, 0x00, 0x00, 0x00, 0x00, -0x00, 0xC4, 0xCD, 0x0C, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC5, 0x04, 0x79, 0x80, 0x00, 0x00, 0x00, +0x00, 0xC4, 0xCD, 0x0C, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC5, 0x0D, 0xB4, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC5, 0x29, 0x55, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC5, 0xF4, 0x6A, 0x80, 0x00, 0x00, 0x00, -0x00, 0xC6, 0xA3, 0xB3, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xC6, 0xD1, 0xE6, 0x80, 0x00, 0x00, 0x00, +0x00, 0xC6, 0xA3, 0xB3, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xC6, 0xDB, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC7, 0x09, 0x37, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC7, 0xD4, 0x4C, 0x80, 0x00, 0x00, 0x00, -0x00, 0xC8, 0x71, 0x20, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xC8, 0xA8, 0x8E, 0x00, 0x00, 0x00, 0x00, +0x00, 0xC8, 0x71, 0x20, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xC8, 0xB1, 0xC8, 0x80, 0x00, 0x00, 0x00, 0x00, 0xC8, 0xE9, 0x19, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC9, 0xB4, 0x2E, 0x80, 0x00, 0x00, 0x00, -0x00, 0xCA, 0x47, 0xC8, 0x70, 0x00, 0x00, 0x00, 0x00, 0xCA, 0x7F, 0x35, 0x80, 0x00, 0x00, 0x00, +0x00, 0xCA, 0x47, 0xC8, 0x70, 0x00, 0x00, 0x00, 0x00, 0xCA, 0x88, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCA, 0xD2, 0x35, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xCB, 0x94, 0x10, 0x80, 0x00, 0x00, 0x00, -0x00, 0xCC, 0x1E, 0x6F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xCC, 0x4C, 0xA2, 0x80, 0x00, 0x00, 0x00, +0x00, 0xCC, 0x1E, 0x6F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xCC, 0x55, 0xDD, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCC, 0xB2, 0x17, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xCD, 0x73, 0xF2, 0x80, 0x00, 0x00, 0x00, -0x00, 0xCD, 0xEB, 0xDC, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xCE, 0x23, 0x4A, 0x00, 0x00, 0x00, 0x00, +0x00, 0xCD, 0xEB, 0xDC, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xCE, 0x2C, 0x84, 0x80, 0x00, 0x00, 0x00, 0x00, 0xCE, 0x91, 0xF9, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xCF, 0x5D, 0x0F, 0x00, 0x00, 0x00, 0x00, -0x00, 0xCF, 0xC2, 0x84, 0x70, 0x00, 0x00, 0x00, 0x00, 0xCF, 0xF0, 0xB7, 0x00, 0x00, 0x00, 0x00, +0x00, 0xCF, 0xC2, 0x84, 0x70, 0x00, 0x00, 0x00, 0x00, 0xCF, 0xF9, 0xF1, 0x80, 0x00, 0x00, 0x00, 0x00, 0xD0, 0x71, 0xDB, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xD1, 0x3C, 0xF1, 0x00, 0x00, 0x00, 0x00, -0x00, 0xD1, 0x99, 0x2B, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xD1, 0xC7, 0x5E, 0x80, 0x00, 0x00, 0x00, +0x00, 0xD1, 0x99, 0x2B, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xD1, 0xD0, 0x99, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD2, 0x51, 0xBD, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xD3, 0x1C, 0xD3, 0x00, 0x00, 0x00, 0x00, -0x00, 0xD3, 0x66, 0x98, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xD3, 0x9E, 0x06, 0x00, 0x00, 0x00, 0x00, +0x00, 0xD3, 0x66, 0x98, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xD3, 0xA7, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0xD4, 0x31, 0x9F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xD4, 0xFC, 0xB5, 0x00, 0x00, 0x00, 0x00, -0x00, 0xD5, 0x3D, 0x40, 0x70, 0x00, 0x00, 0x00, 0x00, 0xD5, 0x6B, 0x73, 0x00, 0x00, 0x00, 0x00, +0x00, 0xD5, 0x3D, 0x40, 0x70, 0x00, 0x00, 0x00, 0x00, 0xD5, 0x74, 0xAD, 0x80, 0x00, 0x00, 0x00, 0x00, 0xD6, 0x1A, 0xBC, 0x70, 0x00, 0x00, 0x00, 0x00, 0xD6, 0xDC, 0x97, 0x00, 0x00, 0x00, 0x00, -0x00, 0xD7, 0x0A, 0xAD, 0x70, 0x00, 0x00, 0x00, 0x00, 0xD7, 0x42, 0x1A, 0x80, 0x00, 0x00, 0x00, +0x00, 0xD7, 0x0A, 0xAD, 0x70, 0x00, 0x00, 0x00, 0x00, 0xD7, 0x4B, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD7, 0xFA, 0x9E, 0x70, 0x00, 0x00, 0x00, 0x00, 0xD8, 0xBC, 0x79, 0x00, 0x00, 0x00, 0x00, -0x00, 0xD8, 0xE1, 0x54, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xD9, 0x18, 0xC2, 0x00, 0x00, 0x00, 0x00, +0x00, 0xD8, 0xE1, 0x54, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xD9, 0x21, 0xFC, 0x80, 0x00, 0x00, 0x00, 0x00, 0xD9, 0xDA, 0x80, 0x70, 0x00, 0x00, 0x00, 0x00, 0xDA, 0xA5, 0x95, 0x80, 0x00, 0x00, 0x00, -0x00, 0xDA, 0xB7, 0xFC, 0x70, 0x00, 0x00, 0x00, 0x00, 0xDA, 0xE6, 0x2F, 0x00, 0x00, 0x00, 0x00, +0x00, 0xDA, 0xB7, 0xFC, 0x70, 0x00, 0x00, 0x00, 0x00, 0xDA, 0xEF, 0x69, 0x80, 0x00, 0x00, 0x00, 0x00, 0xDB, 0xBA, 0x62, 0x70, 0x03, 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, 0x06, 0x05, 0x06, 0x05, 0x06, 0x07, 0x08, 0x07, 0x08, @@ -44271,24 +44269,24 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 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, 0x20, -0xE7, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x09, 0x00, -0x00, 0x1C, 0x20, 0x00, 0x09, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x04, 0x00, 0x00, 0x2A, 0x30, 0x01, -0x0D, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x11, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x0D, 0x00, 0x00, 0x1C, -0x20, 0x00, 0x11, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x45, 0x53, -0x54, 0x00, 0x45, 0x45, 0x54, 0x00, 0x49, 0x44, 0x54, 0x00, 0x49, 0x53, 0x54, 0x00, 0x00, 0x01, -0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x0A, 0x45, 0x45, 0x54, 0x2D, 0x32, 0x45, 0x45, 0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E, -0x34, 0x2E, 0x34, 0x2F, 0x35, 0x30, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x34, 0x2E, 0x34, 0x2F, 0x35, -0x30, 0x0A, 0x00, 0xB9, 0x71, 0xF5, 0x01, 0x48, 0x35, 0x7C, 0x00, 0x00, 0x00, 0x09, 0x57, 0x65, -0x73, 0x74, 0x20, 0x42, 0x61, 0x6E, 0x6B, +0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x04, 0x03, 0x00, 0x00, 0x20, 0xE7, 0x00, +0x00, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x04, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x09, 0x00, 0x00, 0x1C, +0x20, 0x00, 0x09, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x04, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x0D, 0x00, +0x00, 0x1C, 0x20, 0x00, 0x11, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x0D, 0x00, 0x00, 0x1C, 0x20, 0x00, +0x11, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x09, 0x4C, 0x4D, 0x54, 0x00, 0x45, 0x45, 0x53, 0x54, 0x00, +0x45, 0x45, 0x54, 0x00, 0x49, 0x44, 0x54, 0x00, 0x49, 0x53, 0x54, 0x00, 0x00, 0x01, 0x01, 0x00, +0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x0A, 0x45, 0x45, 0x54, 0x2D, 0x32, 0x45, 0x45, 0x53, 0x54, 0x2C, 0x4D, 0x33, 0x2E, 0x34, 0x2E, +0x34, 0x2F, 0x35, 0x30, 0x2C, 0x4D, 0x31, 0x30, 0x2E, 0x34, 0x2E, 0x34, 0x2F, 0x35, 0x30, 0x0A, +0x00, 0xB9, 0x71, 0xF5, 0x01, 0x48, 0x35, 0x7C, 0x00, 0x00, 0x00, 0x09, 0x57, 0x65, 0x73, 0x74, +0x20, 0x42, 0x61, 0x6E, 0x6B, /* Asia/Ho_Chi_Minh */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x56, 0x4E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x15, 0x88, 0x8C, 0x43, 0x8A, 0x91, 0xA3, 0x2B, 0x0A, 0xCD, 0x35, 0xE6, 0x80, 0xD1, 0x59, 0xCE, 0x70, 0xD2, 0x3B, 0x3E, 0xF0, -0xD5, 0x32, 0xBB, 0x10, 0xE4, 0xB6, 0xE4, 0x80, 0xED, 0x2F, 0x98, 0x00, 0x0A, 0x3D, 0xC7, 0x00, +0xD5, 0x32, 0xBB, 0x10, 0xE4, 0xB6, 0xF2, 0x90, 0xED, 0x2F, 0x98, 0x00, 0x0A, 0x3D, 0xC7, 0x00, 0x01, 0x02, 0x03, 0x04, 0x02, 0x03, 0x02, 0x03, 0x02, 0x00, 0x00, 0x63, 0xF6, 0x00, 0x00, 0x00, 0x00, 0x63, 0xF6, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x09, 0x00, 0x00, 0x70, 0x80, 0x00, 0x0D, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x11, 0x00, 0x00, 0x62, 0x70, 0x00, 0x09, 0x4C, 0x4D, 0x54, @@ -44299,7 +44297,7 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { 0xFF, 0xFF, 0x88, 0x8C, 0x43, 0x8A, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0xA3, 0x2B, 0x0A, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0x35, 0xE6, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0x59, 0xCE, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x3B, 0x3E, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x32, 0xBB, 0x10, 0xFF, 0xFF, -0xFF, 0xFF, 0xE4, 0xB6, 0xE4, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0x2F, 0x98, 0x00, 0x00, 0x00, +0xFF, 0xFF, 0xE4, 0xB6, 0xF2, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0x2F, 0x98, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x3D, 0xC7, 0x00, 0x01, 0x02, 0x03, 0x04, 0x02, 0x03, 0x02, 0x03, 0x02, 0x00, 0x00, 0x63, 0xF6, 0x00, 0x00, 0x00, 0x00, 0x63, 0xF6, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x09, 0x00, 0x00, 0x70, 0x80, 0x00, 0x0D, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x11, 0x00, 0x00, 0x62, @@ -46092,8 +46090,8 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { /* Asia/Qostanay */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4B, 0x5A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x10, 0xAA, 0x19, 0x88, 0x5C, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x10, 0xAA, 0x19, 0x88, 0x5C, 0xB5, 0xA3, 0xFD, 0x40, 0x15, 0x27, 0x8B, 0xB0, 0x16, 0x18, 0xC0, 0x20, 0x17, 0x08, 0xB1, 0x20, 0x17, 0xF9, 0xF3, 0xA0, 0x18, 0xE9, 0xF2, 0xB0, 0x19, 0xDB, 0x27, 0x20, 0x1A, 0xCC, 0x77, 0xB0, 0x1B, 0xBC, 0x84, 0xD0, 0x1C, 0xAC, 0x75, 0xD0, 0x1D, 0x9C, 0x66, 0xD0, 0x1E, 0x8C, 0x57, 0xD0, @@ -46106,56 +46104,58 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { 0x35, 0x1D, 0x64, 0xD0, 0x36, 0x32, 0x3F, 0xD0, 0x36, 0xFD, 0x46, 0xD0, 0x38, 0x1B, 0x5C, 0x50, 0x38, 0xDD, 0x28, 0xD0, 0x39, 0xFB, 0x3E, 0x50, 0x3A, 0xBD, 0x0A, 0xD0, 0x3B, 0xDB, 0x20, 0x50, 0x3C, 0xA6, 0x27, 0x50, 0x3D, 0xBB, 0x02, 0x50, 0x3E, 0x86, 0x09, 0x50, 0x3F, 0x9A, 0xE4, 0x50, -0x40, 0x65, 0xEB, 0x50, 0x41, 0x84, 0x00, 0xD0, 0x01, 0x02, 0x03, 0x04, 0x03, 0x02, 0x03, 0x02, -0x03, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x07, 0x08, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x09, 0x00, 0x00, 0x3B, 0xA4, 0x00, -0x00, 0x00, 0x00, 0x38, 0x40, 0x00, 0x04, 0x00, 0x00, 0x46, 0x50, 0x00, 0x08, 0x00, 0x00, 0x54, -0x60, 0x01, 0x0C, 0x00, 0x00, 0x54, 0x60, 0x00, 0x0C, 0x00, 0x00, 0x46, 0x50, 0x00, 0x08, 0x00, -0x00, 0x54, 0x60, 0x01, 0x0C, 0x00, 0x00, 0x46, 0x50, 0x01, 0x08, 0x00, 0x00, 0x38, 0x40, 0x00, -0x04, 0x00, 0x00, 0x54, 0x60, 0x00, 0x0C, 0x00, 0x00, 0x54, 0x60, 0x01, 0x0C, 0x4C, 0x4D, 0x54, -0x00, 0x2B, 0x30, 0x34, 0x00, 0x2B, 0x30, 0x35, 0x00, 0x2B, 0x30, 0x36, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 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, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x0B, -0x00, 0x00, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0x19, 0x88, 0x5C, 0xFF, 0xFF, 0xFF, 0xFF, -0xB5, 0xA3, 0xFD, 0x40, 0x00, 0x00, 0x00, 0x00, 0x15, 0x27, 0x8B, 0xB0, 0x00, 0x00, 0x00, 0x00, -0x16, 0x18, 0xC0, 0x20, 0x00, 0x00, 0x00, 0x00, 0x17, 0x08, 0xB1, 0x20, 0x00, 0x00, 0x00, 0x00, -0x17, 0xF9, 0xF3, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x18, 0xE9, 0xF2, 0xB0, 0x00, 0x00, 0x00, 0x00, -0x19, 0xDB, 0x27, 0x20, 0x00, 0x00, 0x00, 0x00, 0x1A, 0xCC, 0x77, 0xB0, 0x00, 0x00, 0x00, 0x00, -0x1B, 0xBC, 0x84, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xAC, 0x75, 0xD0, 0x00, 0x00, 0x00, 0x00, -0x1D, 0x9C, 0x66, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x8C, 0x57, 0xD0, 0x00, 0x00, 0x00, 0x00, -0x1F, 0x7C, 0x48, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x20, 0x6C, 0x39, 0xD0, 0x00, 0x00, 0x00, 0x00, -0x21, 0x5C, 0x2A, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x22, 0x4C, 0x1B, 0xD0, 0x00, 0x00, 0x00, 0x00, -0x23, 0x3C, 0x0C, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x24, 0x2B, 0xFD, 0xD0, 0x00, 0x00, 0x00, 0x00, -0x25, 0x1B, 0xEE, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x26, 0x0B, 0xDF, 0xD0, 0x00, 0x00, 0x00, 0x00, -0x27, 0x05, 0x0B, 0x50, 0x00, 0x00, 0x00, 0x00, 0x27, 0xF4, 0xFC, 0x50, 0x00, 0x00, 0x00, 0x00, -0x28, 0xE4, 0xFB, 0x60, 0x00, 0x00, 0x00, 0x00, 0x29, 0x78, 0xA3, 0x60, 0x00, 0x00, 0x00, 0x00, -0x29, 0xD4, 0xDE, 0x50, 0x00, 0x00, 0x00, 0x00, 0x2A, 0xC4, 0xCF, 0x50, 0x00, 0x00, 0x00, 0x00, -0x2B, 0xB4, 0xC0, 0x50, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xA4, 0xB1, 0x50, 0x00, 0x00, 0x00, 0x00, -0x2D, 0x94, 0xA2, 0x50, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x84, 0x93, 0x50, 0x00, 0x00, 0x00, 0x00, -0x2F, 0x74, 0x84, 0x50, 0x00, 0x00, 0x00, 0x00, 0x30, 0x64, 0x75, 0x50, 0x00, 0x00, 0x00, 0x00, -0x31, 0x5D, 0xA0, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x32, 0x72, 0x7B, 0xD0, 0x00, 0x00, 0x00, 0x00, -0x33, 0x3D, 0x82, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0x5D, 0xD0, 0x00, 0x00, 0x00, 0x00, -0x35, 0x1D, 0x64, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0x3F, 0xD0, 0x00, 0x00, 0x00, 0x00, -0x36, 0xFD, 0x46, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0x5C, 0x50, 0x00, 0x00, 0x00, 0x00, -0x38, 0xDD, 0x28, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0x3E, 0x50, 0x00, 0x00, 0x00, 0x00, -0x3A, 0xBD, 0x0A, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0x20, 0x50, 0x00, 0x00, 0x00, 0x00, -0x3C, 0xA6, 0x27, 0x50, 0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x02, 0x50, 0x00, 0x00, 0x00, 0x00, -0x3E, 0x86, 0x09, 0x50, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x9A, 0xE4, 0x50, 0x00, 0x00, 0x00, 0x00, -0x40, 0x65, 0xEB, 0x50, 0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x00, 0xD0, 0x01, 0x02, 0x03, 0x04, +0x40, 0x65, 0xEB, 0x50, 0x41, 0x84, 0x00, 0xD0, 0x65, 0xE0, 0xC6, 0x20, 0x01, 0x02, 0x03, 0x04, 0x03, 0x02, 0x03, 0x02, 0x03, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x07, 0x08, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, -0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x09, 0x00, -0x00, 0x3B, 0xA4, 0x00, 0x00, 0x00, 0x00, 0x38, 0x40, 0x00, 0x04, 0x00, 0x00, 0x46, 0x50, 0x00, -0x08, 0x00, 0x00, 0x54, 0x60, 0x01, 0x0C, 0x00, 0x00, 0x54, 0x60, 0x00, 0x0C, 0x00, 0x00, 0x46, -0x50, 0x00, 0x08, 0x00, 0x00, 0x54, 0x60, 0x01, 0x0C, 0x00, 0x00, 0x46, 0x50, 0x01, 0x08, 0x00, -0x00, 0x38, 0x40, 0x00, 0x04, 0x00, 0x00, 0x54, 0x60, 0x00, 0x0C, 0x00, 0x00, 0x54, 0x60, 0x01, -0x0C, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x34, 0x00, 0x2B, 0x30, 0x35, 0x00, 0x2B, 0x30, 0x36, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x0A, 0x3C, 0x2B, 0x30, -0x36, 0x3E, 0x2D, 0x36, 0x0A, 0x00, 0xDA, 0x81, 0x7F, 0x01, 0x73, 0xBA, 0xC2, 0x00, 0x00, 0x00, -0x1A, 0x51, 0x6F, 0x73, 0x74, 0x61, 0x6E, 0x61, 0x79, 0x2F, 0x4B, 0x6F, 0x73, 0x74, 0x61, 0x6E, -0x61, 0x79, 0x2F, 0x4B, 0x75, 0x73, 0x74, 0x61, 0x6E, 0x61, 0x79, +0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x09, 0x02, +0x00, 0x00, 0x3B, 0xA4, 0x00, 0x00, 0x00, 0x00, 0x38, 0x40, 0x00, 0x04, 0x00, 0x00, 0x46, 0x50, +0x00, 0x08, 0x00, 0x00, 0x54, 0x60, 0x01, 0x0C, 0x00, 0x00, 0x54, 0x60, 0x00, 0x0C, 0x00, 0x00, +0x46, 0x50, 0x00, 0x08, 0x00, 0x00, 0x54, 0x60, 0x01, 0x0C, 0x00, 0x00, 0x46, 0x50, 0x01, 0x08, +0x00, 0x00, 0x38, 0x40, 0x00, 0x04, 0x00, 0x00, 0x54, 0x60, 0x00, 0x0C, 0x00, 0x00, 0x54, 0x60, +0x01, 0x0C, 0x00, 0x00, 0x46, 0x50, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, 0x2B, 0x30, 0x34, 0x00, +0x2B, 0x30, 0x35, 0x00, 0x2B, 0x30, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, +0x01, 0x01, 0x01, 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, 0x0C, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x10, +0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0x19, 0x88, 0x5C, 0xFF, 0xFF, 0xFF, 0xFF, 0xB5, 0xA3, 0xFD, 0x40, +0x00, 0x00, 0x00, 0x00, 0x15, 0x27, 0x8B, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x18, 0xC0, 0x20, +0x00, 0x00, 0x00, 0x00, 0x17, 0x08, 0xB1, 0x20, 0x00, 0x00, 0x00, 0x00, 0x17, 0xF9, 0xF3, 0xA0, +0x00, 0x00, 0x00, 0x00, 0x18, 0xE9, 0xF2, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x19, 0xDB, 0x27, 0x20, +0x00, 0x00, 0x00, 0x00, 0x1A, 0xCC, 0x77, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x1B, 0xBC, 0x84, 0xD0, +0x00, 0x00, 0x00, 0x00, 0x1C, 0xAC, 0x75, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x1D, 0x9C, 0x66, 0xD0, +0x00, 0x00, 0x00, 0x00, 0x1E, 0x8C, 0x57, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x7C, 0x48, 0xD0, +0x00, 0x00, 0x00, 0x00, 0x20, 0x6C, 0x39, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x21, 0x5C, 0x2A, 0xD0, +0x00, 0x00, 0x00, 0x00, 0x22, 0x4C, 0x1B, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x23, 0x3C, 0x0C, 0xD0, +0x00, 0x00, 0x00, 0x00, 0x24, 0x2B, 0xFD, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x25, 0x1B, 0xEE, 0xD0, +0x00, 0x00, 0x00, 0x00, 0x26, 0x0B, 0xDF, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x27, 0x05, 0x0B, 0x50, +0x00, 0x00, 0x00, 0x00, 0x27, 0xF4, 0xFC, 0x50, 0x00, 0x00, 0x00, 0x00, 0x28, 0xE4, 0xFB, 0x60, +0x00, 0x00, 0x00, 0x00, 0x29, 0x78, 0xA3, 0x60, 0x00, 0x00, 0x00, 0x00, 0x29, 0xD4, 0xDE, 0x50, +0x00, 0x00, 0x00, 0x00, 0x2A, 0xC4, 0xCF, 0x50, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xB4, 0xC0, 0x50, +0x00, 0x00, 0x00, 0x00, 0x2C, 0xA4, 0xB1, 0x50, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x94, 0xA2, 0x50, +0x00, 0x00, 0x00, 0x00, 0x2E, 0x84, 0x93, 0x50, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x74, 0x84, 0x50, +0x00, 0x00, 0x00, 0x00, 0x30, 0x64, 0x75, 0x50, 0x00, 0x00, 0x00, 0x00, 0x31, 0x5D, 0xA0, 0xD0, +0x00, 0x00, 0x00, 0x00, 0x32, 0x72, 0x7B, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x33, 0x3D, 0x82, 0xD0, +0x00, 0x00, 0x00, 0x00, 0x34, 0x52, 0x5D, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x35, 0x1D, 0x64, 0xD0, +0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0x3F, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x36, 0xFD, 0x46, 0xD0, +0x00, 0x00, 0x00, 0x00, 0x38, 0x1B, 0x5C, 0x50, 0x00, 0x00, 0x00, 0x00, 0x38, 0xDD, 0x28, 0xD0, +0x00, 0x00, 0x00, 0x00, 0x39, 0xFB, 0x3E, 0x50, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xBD, 0x0A, 0xD0, +0x00, 0x00, 0x00, 0x00, 0x3B, 0xDB, 0x20, 0x50, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xA6, 0x27, 0x50, +0x00, 0x00, 0x00, 0x00, 0x3D, 0xBB, 0x02, 0x50, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x86, 0x09, 0x50, +0x00, 0x00, 0x00, 0x00, 0x3F, 0x9A, 0xE4, 0x50, 0x00, 0x00, 0x00, 0x00, 0x40, 0x65, 0xEB, 0x50, +0x00, 0x00, 0x00, 0x00, 0x41, 0x84, 0x00, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x65, 0xE0, 0xC6, 0x20, +0x01, 0x02, 0x03, 0x04, 0x03, 0x02, 0x03, 0x02, 0x03, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, +0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x07, 0x08, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, +0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, 0x05, 0x06, +0x05, 0x06, 0x09, 0x02, 0x00, 0x00, 0x3B, 0xA4, 0x00, 0x00, 0x00, 0x00, 0x38, 0x40, 0x00, 0x04, +0x00, 0x00, 0x46, 0x50, 0x00, 0x08, 0x00, 0x00, 0x54, 0x60, 0x01, 0x0C, 0x00, 0x00, 0x54, 0x60, +0x00, 0x0C, 0x00, 0x00, 0x46, 0x50, 0x00, 0x08, 0x00, 0x00, 0x54, 0x60, 0x01, 0x0C, 0x00, 0x00, +0x46, 0x50, 0x01, 0x08, 0x00, 0x00, 0x38, 0x40, 0x00, 0x04, 0x00, 0x00, 0x54, 0x60, 0x00, 0x0C, +0x00, 0x00, 0x54, 0x60, 0x01, 0x0C, 0x00, 0x00, 0x46, 0x50, 0x00, 0x08, 0x4C, 0x4D, 0x54, 0x00, +0x2B, 0x30, 0x34, 0x00, 0x2B, 0x30, 0x35, 0x00, 0x2B, 0x30, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x0A, 0x3C, 0x2B, 0x30, 0x35, 0x3E, 0x2D, 0x35, +0x0A, 0x00, 0xDA, 0x81, 0x7F, 0x01, 0x73, 0xBA, 0xC2, 0x00, 0x00, 0x00, 0x1A, 0x51, 0x6F, 0x73, +0x74, 0x61, 0x6E, 0x61, 0x79, 0x2F, 0x4B, 0x6F, 0x73, 0x74, 0x61, 0x6E, 0x61, 0x79, 0x2F, 0x4B, +0x75, 0x73, 0x74, 0x61, 0x6E, 0x61, 0x79, /* Asia/Qyzylorda */ 0x50, 0x48, 0x50, 0x32, 0x01, 0x4B, 0x5A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -46262,7 +46262,7 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x15, 0x88, 0x8C, 0x43, 0x8A, 0x91, 0xA3, 0x2B, 0x0A, 0xCD, 0x35, 0xE6, 0x80, 0xD1, 0x59, 0xCE, 0x70, 0xD2, 0x3B, 0x3E, 0xF0, -0xD5, 0x32, 0xBB, 0x10, 0xE4, 0xB6, 0xE4, 0x80, 0xED, 0x2F, 0x98, 0x00, 0x0A, 0x3D, 0xC7, 0x00, +0xD5, 0x32, 0xBB, 0x10, 0xE4, 0xB6, 0xF2, 0x90, 0xED, 0x2F, 0x98, 0x00, 0x0A, 0x3D, 0xC7, 0x00, 0x01, 0x02, 0x03, 0x04, 0x02, 0x03, 0x02, 0x03, 0x02, 0x00, 0x00, 0x63, 0xF6, 0x00, 0x00, 0x00, 0x00, 0x63, 0xF6, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x09, 0x00, 0x00, 0x70, 0x80, 0x00, 0x0D, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x11, 0x00, 0x00, 0x62, 0x70, 0x00, 0x09, 0x4C, 0x4D, 0x54, @@ -46273,7 +46273,7 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { 0xFF, 0xFF, 0x88, 0x8C, 0x43, 0x8A, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0xA3, 0x2B, 0x0A, 0xFF, 0xFF, 0xFF, 0xFF, 0xCD, 0x35, 0xE6, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xD1, 0x59, 0xCE, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x3B, 0x3E, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x32, 0xBB, 0x10, 0xFF, 0xFF, -0xFF, 0xFF, 0xE4, 0xB6, 0xE4, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0x2F, 0x98, 0x00, 0x00, 0x00, +0xFF, 0xFF, 0xE4, 0xB6, 0xF2, 0x90, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0x2F, 0x98, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x3D, 0xC7, 0x00, 0x01, 0x02, 0x03, 0x04, 0x02, 0x03, 0x02, 0x03, 0x02, 0x00, 0x00, 0x63, 0xF6, 0x00, 0x00, 0x00, 0x00, 0x63, 0xF6, 0x00, 0x04, 0x00, 0x00, 0x62, 0x70, 0x00, 0x09, 0x00, 0x00, 0x70, 0x80, 0x00, 0x0D, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x11, 0x00, 0x00, 0x62, @@ -51988,8 +51988,8 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { 0xC0, 0xA4, 0x9B, 0xF0, 0xC1, 0x6F, 0x94, 0xE0, 0xC2, 0x84, 0x7D, 0xF0, 0xC3, 0x4F, 0x76, 0xE0, 0xC4, 0x64, 0x5F, 0xF0, 0xC5, 0x2F, 0x58, 0xE0, 0xC6, 0x4D, 0x7C, 0x70, 0xC7, 0x0F, 0x3A, 0xE0, 0xC8, 0x2D, 0x5E, 0x70, 0xCB, 0x88, 0xF0, 0x70, 0xD2, 0x23, 0xF4, 0x70, 0xD2, 0x60, 0xFB, 0xE0, -0xD3, 0x75, 0xE4, 0xF0, 0xD4, 0x40, 0xDD, 0xE0, 0xD5, 0x55, 0xAA, 0xD0, 0xD6, 0x20, 0xA3, 0xC0, -0xD7, 0x35, 0x8C, 0xD0, 0xD8, 0x00, 0x85, 0xC0, 0xD9, 0x15, 0x6E, 0xD0, 0xDA, 0x33, 0x76, 0x40, +0xD3, 0x75, 0xE4, 0xF0, 0xD4, 0x40, 0xDD, 0xE0, 0xD5, 0x55, 0xC6, 0xF0, 0xD6, 0x20, 0xBF, 0xE0, +0xD7, 0x35, 0xA8, 0xF0, 0xD8, 0x00, 0xA1, 0xE0, 0xD9, 0x15, 0x8A, 0xF0, 0xDA, 0x33, 0x92, 0x60, 0xDA, 0xFE, 0xA7, 0x70, 0xDC, 0x13, 0x74, 0x60, 0xDC, 0xDE, 0x89, 0x70, 0xDD, 0xA9, 0x82, 0x60, 0xDE, 0xBE, 0x6B, 0x70, 0xDF, 0x89, 0x64, 0x60, 0xE0, 0x9E, 0x4D, 0x70, 0xE1, 0x69, 0x46, 0x60, 0xE2, 0x7E, 0x2F, 0x70, 0xE3, 0x49, 0x28, 0x60, 0xE4, 0x5E, 0x11, 0x70, 0xE5, 0x29, 0x0A, 0x60, @@ -52080,10 +52080,10 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x0F, 0x3A, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x2D, 0x5E, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xCB, 0x88, 0xF0, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x23, 0xF4, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xD2, 0x60, 0xFB, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD3, 0x75, 0xE4, -0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xAA, -0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xA3, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0x8C, -0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0x85, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x6E, -0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0x33, 0x76, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, +0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD4, 0x40, 0xDD, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD5, 0x55, 0xC6, +0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD6, 0x20, 0xBF, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD7, 0x35, 0xA8, +0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD8, 0x00, 0xA1, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xD9, 0x15, 0x8A, +0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0x33, 0x92, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDA, 0xFE, 0xA7, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0x13, 0x74, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0xDE, 0x89, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0xA9, 0x82, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0xBE, 0x6B, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0x89, 0x64, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x9E, 0x4D, @@ -70100,4 +70100,4 @@ const unsigned char timelib_timezone_db_data_builtin[704152] = { }; #endif -const timelib_tzdb timezonedb_builtin = { "2023.4", 597, timezonedb_idx_builtin, timelib_timezone_db_data_builtin }; +const timelib_tzdb timezonedb_builtin = { "2024.1", 597, timezonedb_idx_builtin, timelib_timezone_db_data_builtin }; From d91224cd2f71594e1551a91bf48d220432de6514 Mon Sep 17 00:00:00 2001 From: David Carlier Date: Sat, 3 Feb 2024 11:42:09 +0000 Subject: [PATCH 10/36] Fix GH-13309 and GH-13310: array hashes comparison, wrong buffer len calculation. php_array_key_compare_string_case_unstable_i has a typo for the second operand resulting in a wrong buffer size calculation. Issue reported by @AlexRudyuk Close GH-13315 --- NEWS | 4 ++++ ext/standard/array.c | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/NEWS b/NEWS index 78ecae17e4b4d..6c5bedab838db 100644 --- a/NEWS +++ b/NEWS @@ -2,6 +2,10 @@ PHP NEWS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ?? ??? ????, PHP 8.2.17 +- Core: + . Fixed array key as string (case insensitive) comparison typo + for the second operand buffer size. (A. Slepykh) + - Curl: . Fix failing tests due to string changes in libcurl 8.6.0. (Ayesh) diff --git a/ext/standard/array.c b/ext/standard/array.c index 361d83b10df41..cbe0279f7e584 100644 --- a/ext/standard/array.c +++ b/ext/standard/array.c @@ -188,7 +188,7 @@ static zend_always_inline int php_array_key_compare_string_case_unstable_i(Bucke l2 = s->key->len; } else { s2 = zend_print_long_to_buf(buf2 + sizeof(buf2) - 1, s->h); - l2 = buf2 + sizeof(buf2) - 1 - s1; + l2 = buf2 + sizeof(buf2) - 1 - s2; } return zend_binary_strcasecmp_l(s1, l1, s2, l2); } From b06d6dba4feb3489816d72b705724580bceda174 Mon Sep 17 00:00:00 2001 From: David Carlier Date: Sat, 3 Feb 2024 13:22:45 +0000 Subject: [PATCH 11/36] Forgotten piece of GH-13309/GH-13310 previous PR --- ext/standard/array.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ext/standard/array.c b/ext/standard/array.c index cbe0279f7e584..c61ca010a670d 100644 --- a/ext/standard/array.c +++ b/ext/standard/array.c @@ -238,7 +238,7 @@ static int php_array_key_compare_string_natural_general(Bucket *f, Bucket *s, in l2 = s->key->len; } else { s2 = zend_print_long_to_buf(buf2 + sizeof(buf2) - 1, s->h); - l2 = buf2 + sizeof(buf2) - 1 - s1; + l2 = buf2 + sizeof(buf2) - 1 - s2; } return strnatcmp_ex(s1, l1, s2, l2, fold_case); } From bc30ae4f04a2c7282f00ff1d978c0e54e23128e3 Mon Sep 17 00:00:00 2001 From: Jakub Zelenka Date: Fri, 19 Jan 2024 14:41:46 +0000 Subject: [PATCH 12/36] Fix bug #75712: getenv in php-fpm should not read $_ENV, $_SERVER Closes GH-13195 --- NEWS | 4 ++ ext/standard/basic_functions.c | 2 +- main/php_variables.c | 7 +++ main/php_variables.h | 1 + sapi/fpm/fpm/fpm_main.c | 18 +++++- .../tests/bug75712-getenv-server-vars.phpt | 62 +++++++++++++++++++ 6 files changed, 91 insertions(+), 3 deletions(-) create mode 100644 sapi/fpm/tests/bug75712-getenv-server-vars.phpt diff --git a/NEWS b/NEWS index 6c5bedab838db..0a4e03618f590 100644 --- a/NEWS +++ b/NEWS @@ -9,6 +9,10 @@ PHP NEWS - Curl: . Fix failing tests due to string changes in libcurl 8.6.0. (Ayesh) +- FPM: + . Fixed bug #75712 (getenv in php-fpm should not read $_ENV, $_SERVER). + (Jakub Zelenka) + 15 Feb 2024, PHP 8.2.16 - Core: diff --git a/ext/standard/basic_functions.c b/ext/standard/basic_functions.c index 3517b514420d5..b4a723a546818 100755 --- a/ext/standard/basic_functions.c +++ b/ext/standard/basic_functions.c @@ -743,7 +743,7 @@ PHP_FUNCTION(getenv) if (!str) { array_init(return_value); - php_import_environment_variables(return_value); + php_load_environment_variables(return_value); return; } diff --git a/main/php_variables.c b/main/php_variables.c index 3d7d904a47d7f..730c6d9458ddc 100644 --- a/main/php_variables.c +++ b/main/php_variables.c @@ -28,7 +28,9 @@ /* for systems that need to override reading of environment variables */ void _php_import_environment_variables(zval *array_ptr); +void _php_load_environment_variables(zval *array_ptr); PHPAPI void (*php_import_environment_variables)(zval *array_ptr) = _php_import_environment_variables; +PHPAPI void (*php_load_environment_variables)(zval *array_ptr) = _php_load_environment_variables; PHPAPI void php_register_variable(const char *var, const char *strval, zval *track_vars_array) { @@ -632,6 +634,11 @@ void _php_import_environment_variables(zval *array_ptr) tsrm_env_unlock(); } +void _php_load_environment_variables(zval *array_ptr) +{ + php_import_environment_variables(array_ptr); +} + bool php_std_auto_global_callback(char *name, uint32_t name_len) { zend_printf("%s\n", name); diff --git a/main/php_variables.h b/main/php_variables.h index 52d26aa5064a2..598de70f03598 100644 --- a/main/php_variables.h +++ b/main/php_variables.h @@ -32,6 +32,7 @@ BEGIN_EXTERN_C() void php_startup_auto_globals(void); extern PHPAPI void (*php_import_environment_variables)(zval *array_ptr); +extern PHPAPI void (*php_load_environment_variables)(zval *array_ptr); PHPAPI void php_register_variable(const char *var, const char *val, zval *track_vars_array); /* binary-safe version */ PHPAPI void php_register_variable_safe(const char *var, const char *val, size_t val_len, zval *track_vars_array); diff --git a/sapi/fpm/fpm/fpm_main.c b/sapi/fpm/fpm/fpm_main.c index 94a9ca6c7e604..a4b11627789ee 100644 --- a/sapi/fpm/fpm/fpm_main.c +++ b/sapi/fpm/fpm/fpm_main.c @@ -516,7 +516,21 @@ static void cgi_php_load_env_var(const char *var, unsigned int var_len, char *va } /* }}} */ -void cgi_php_import_environment_variables(zval *array_ptr) /* {{{ */ +static void cgi_php_load_env_var_unfilterd(const char *var, unsigned int var_len, char *val, unsigned int val_len, void *arg) +{ + zval *array_ptr = (zval *) arg; + php_register_variable_safe(var, val, val_len, array_ptr); +} + +static void cgi_php_load_environment_variables(zval *array_ptr) +{ + php_php_import_environment_variables(array_ptr); + + fcgi_request *request = (fcgi_request*) SG(server_context); + fcgi_loadenv(request, cgi_php_load_env_var_unfilterd, array_ptr); +} + +static void cgi_php_import_environment_variables(zval *array_ptr) { fcgi_request *request = NULL; @@ -542,7 +556,6 @@ void cgi_php_import_environment_variables(zval *array_ptr) /* {{{ */ request = (fcgi_request*) SG(server_context); fcgi_loadenv(request, cgi_php_load_env_var, array_ptr); } -/* }}} */ static void sapi_cgi_register_variables(zval *track_vars_array) /* {{{ */ { @@ -1840,6 +1853,7 @@ consult the installation file that came with this distribution, or visit \n\ /* make php call us to get _ENV vars */ php_php_import_environment_variables = php_import_environment_variables; php_import_environment_variables = cgi_php_import_environment_variables; + php_load_environment_variables = cgi_php_load_environment_variables; /* library is already initialized, now init our request */ request = fpm_init_request(fcgi_fd); diff --git a/sapi/fpm/tests/bug75712-getenv-server-vars.phpt b/sapi/fpm/tests/bug75712-getenv-server-vars.phpt new file mode 100644 index 0000000000000..49d9535a6b03a --- /dev/null +++ b/sapi/fpm/tests/bug75712-getenv-server-vars.phpt @@ -0,0 +1,62 @@ +--TEST-- +FPM: bug75712 - getenv should not read from $_ENV and $_SERVER +--SKIPIF-- + +--FILE-- +start(); +$tester->expectLogStartNotices(); +$tester->request()->expectBody([ + 'bool(false)', + 'bool(true)', + 'string(4) "test"', + 'bool(false)', + 'bool(false)', + 'string(2) "dt"', + 'string(2) "dt"', +]); +$tester->terminate(); +$tester->close(); + +?> +Done +--EXPECT-- +Done +--CLEAN-- + From 7096eff91def642e3f6fbe10d70cf8a891dcf2b7 Mon Sep 17 00:00:00 2001 From: David Carlier Date: Sun, 4 Feb 2024 16:17:36 +0000 Subject: [PATCH 13/36] Fix NEWS entry for GH-13315. Close GH-13325 --- NEWS | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/NEWS b/NEWS index 0a4e03618f590..ee043d7b20939 100644 --- a/NEWS +++ b/NEWS @@ -2,10 +2,6 @@ PHP NEWS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ?? ??? ????, PHP 8.2.17 -- Core: - . Fixed array key as string (case insensitive) comparison typo - for the second operand buffer size. (A. Slepykh) - - Curl: . Fix failing tests due to string changes in libcurl 8.6.0. (Ayesh) @@ -13,6 +9,10 @@ PHP NEWS . Fixed bug #75712 (getenv in php-fpm should not read $_ENV, $_SERVER). (Jakub Zelenka) +- Standard: + . Fixed array key as hash to string (case insensitive) comparison typo + for the second operand buffer size (albeit unused for now). (A. Slepykh) + 15 Feb 2024, PHP 8.2.16 - Core: From ab508c98b382bfe1627e3436997e7ac59f95fd46 Mon Sep 17 00:00:00 2001 From: Niels Dossche <7771979+nielsdos@users.noreply.github.com> Date: Mon, 5 Feb 2024 22:48:00 +0100 Subject: [PATCH 14/36] Fix unlikely memory leak in case of namespace removal with extremely deep trees --- NEWS | 6 ++++++ ext/dom/element.c | 3 ++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/NEWS b/NEWS index f70a3adcd5b32..4495a951f4739 100644 --- a/NEWS +++ b/NEWS @@ -5,6 +5,10 @@ PHP NEWS - Curl: . Fix failing tests due to string changes in libcurl 8.6.0. (Ayesh) +- DOM: + . Fix unlikely memory leak in case of namespace removal with extremely deep + trees. (nielsdos) + - FPM: . Fixed bug #75712 (getenv in php-fpm should not read $_ENV, $_SERVER). (Jakub Zelenka) @@ -15,6 +19,8 @@ PHP NEWS . Fixed array key as hash to string (case insensitive) comparison typo for the second operand buffer size (albeit unused for now). (A. Slepykh) +5 Feb 2024, PHP 8.3.3 + - Core: . Fixed timer leak in zend-max-execution-timers builds. (withinboredom) . Fixed bug GH-12349 (linking failure on ARM with mold). (Jan Palus) diff --git a/ext/dom/element.c b/ext/dom/element.c index f87fbcccfef98..46f1100a767da 100644 --- a/ext/dom/element.c +++ b/ext/dom/element.c @@ -461,7 +461,7 @@ static void dom_deep_ns_redef(xmlNodePtr node, xmlNsPtr ns_to_redefine) if (worklist_size == worklist_capacity) { if (UNEXPECTED(worklist_capacity >= SIZE_MAX / 3 * 2 / sizeof(dom_deep_ns_redef_item))) { /* Shouldn't be possible to hit, but checked for safety anyway */ - return; + goto out; } worklist_capacity = worklist_capacity * 3 / 2; worklist = erealloc(worklist, sizeof(dom_deep_ns_redef_item) * worklist_capacity); @@ -472,6 +472,7 @@ static void dom_deep_ns_redef(xmlNodePtr node, xmlNsPtr ns_to_redefine) } } +out: efree(worklist); } From 7319ca479e1c6a7964bc105bd9e582a42b9d642d Mon Sep 17 00:00:00 2001 From: Niels Dossche <7771979+nielsdos@users.noreply.github.com> Date: Mon, 5 Feb 2024 22:55:52 +0100 Subject: [PATCH 15/36] [ci skip] Fix NEWS date again --- NEWS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/NEWS b/NEWS index 4495a951f4739..cca0372de4136 100644 --- a/NEWS +++ b/NEWS @@ -19,7 +19,7 @@ PHP NEWS . Fixed array key as hash to string (case insensitive) comparison typo for the second operand buffer size (albeit unused for now). (A. Slepykh) -5 Feb 2024, PHP 8.3.3 +15 Feb 2024, PHP 8.3.3 - Core: . Fixed timer leak in zend-max-execution-timers builds. (withinboredom) From 452e008f4f82af24d9690ed21c7a84f236f984aa Mon Sep 17 00:00:00 2001 From: George Barbarosie Date: Thu, 8 Feb 2024 18:16:57 +0000 Subject: [PATCH 16/36] Fix GH-13354: ext/pgsql: pg_execute, pg_send_query_params and_send_execute null value by reference. For these, when passing null values by refence, queries return erroneous values unlike pg_query_params behaving as expected. close GH-13355. --- NEWS | 4 ++ ext/pgsql/pgsql.c | 6 +-- ext/pgsql/tests/gh13354.phpt | 80 ++++++++++++++++++++++++++++++++++++ 3 files changed, 87 insertions(+), 3 deletions(-) create mode 100644 ext/pgsql/tests/gh13354.phpt diff --git a/NEWS b/NEWS index ee043d7b20939..999fc1a25b596 100644 --- a/NEWS +++ b/NEWS @@ -9,6 +9,10 @@ PHP NEWS . Fixed bug #75712 (getenv in php-fpm should not read $_ENV, $_SERVER). (Jakub Zelenka) +- PGSQL: + . Fixed bug GH-13354 (pg_execute/pg_send_query_params/pg_send_execute + with null value passed by reference). (George Barbarosie) + - Standard: . Fixed array key as hash to string (case insensitive) comparison typo for the second operand buffer size (albeit unused for now). (A. Slepykh) diff --git a/ext/pgsql/pgsql.c b/ext/pgsql/pgsql.c index 8b9da44a5b193..6e04848bdea0b 100644 --- a/ext/pgsql/pgsql.c +++ b/ext/pgsql/pgsql.c @@ -1288,7 +1288,7 @@ PHP_FUNCTION(pg_execute) params = (char **)safe_emalloc(sizeof(char *), num_params, 0); ZEND_HASH_FOREACH_VAL(Z_ARRVAL_P(pv_param_arr), tmp) { - + ZVAL_DEREF(tmp); if (Z_TYPE_P(tmp) == IS_NULL) { params[i] = NULL; } else { @@ -3653,7 +3653,7 @@ PHP_FUNCTION(pg_send_query_params) params = (char **)safe_emalloc(sizeof(char *), num_params, 0); ZEND_HASH_FOREACH_VAL(Z_ARRVAL_P(pv_param_arr), tmp) { - + ZVAL_DEREF(tmp); if (Z_TYPE_P(tmp) == IS_NULL) { params[i] = NULL; } else { @@ -3820,7 +3820,7 @@ PHP_FUNCTION(pg_send_execute) params = (char **)safe_emalloc(sizeof(char *), num_params, 0); ZEND_HASH_FOREACH_VAL(Z_ARRVAL_P(pv_param_arr), tmp) { - + ZVAL_DEREF(tmp); if (Z_TYPE_P(tmp) == IS_NULL) { params[i] = NULL; } else { diff --git a/ext/pgsql/tests/gh13354.phpt b/ext/pgsql/tests/gh13354.phpt new file mode 100644 index 0000000000000..1de84acae847d --- /dev/null +++ b/ext/pgsql/tests/gh13354.phpt @@ -0,0 +1,80 @@ +--TEST-- +GH-13354 (null-by-reference handling in pg_execute, pg_send_query_params, pg_send_execute) +--EXTENSIONS-- +pgsql +--SKIPIF-- + +--FILE-- + +--EXPECT-- +pg_execute, null value: t +pg_execute, null value by reference: t +pg_query_params, null value: t +pg_query_params, null value by reference: t +pg_send_query_params, null value: t +pg_send_query_params, null value by reference: t +pg_send_execute, null value: t +pg_send_execute, null value by reference: t From 199e48b5672bf4ad4f6a970aae2993ed1229114e Mon Sep 17 00:00:00 2001 From: Saki Takamachi Date: Sat, 10 Feb 2024 10:26:52 +0900 Subject: [PATCH 17/36] Fixed not to set CR_MALFORMED_PACKET to error if CR_SERVER_GONE_ERROR is already set Closes GH-11951. --- NEWS | 4 ++++ ext/mysqlnd/mysqlnd_wireprotocol.c | 6 ++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/NEWS b/NEWS index 999fc1a25b596..2a7ebd0f970a3 100644 --- a/NEWS +++ b/NEWS @@ -9,6 +9,10 @@ PHP NEWS . Fixed bug #75712 (getenv in php-fpm should not read $_ENV, $_SERVER). (Jakub Zelenka) +- MySQLnd: + . Fixed bug GH-11950 ([mysqlnd] Fixed not to set CR_MALFORMED_PACKET to error + if CR_SERVER_GONE_ERROR is already set). (Saki Takamachi) + - PGSQL: . Fixed bug GH-13354 (pg_execute/pg_send_query_params/pg_send_execute with null value passed by reference). (George Barbarosie) diff --git a/ext/mysqlnd/mysqlnd_wireprotocol.c b/ext/mysqlnd/mysqlnd_wireprotocol.c index 30d7415d88567..fed191c74fa52 100644 --- a/ext/mysqlnd/mysqlnd_wireprotocol.c +++ b/ext/mysqlnd/mysqlnd_wireprotocol.c @@ -2488,8 +2488,10 @@ MYSQLND_METHOD(mysqlnd_protocol, send_command_handle_OK)( payload_decoder_factory->m.init_ok_packet(&ok_response); DBG_ENTER("mysqlnd_protocol::send_command_handle_OK"); if (FAIL == (ret = PACKET_READ(payload_decoder_factory->conn, &ok_response))) { - DBG_INF("Error while reading OK packet"); - SET_CLIENT_ERROR(error_info, CR_MALFORMED_PACKET, UNKNOWN_SQLSTATE, "Malformed packet"); + if (error_info->error_no != CR_SERVER_GONE_ERROR) { + DBG_INF("Error while reading OK packet"); + SET_CLIENT_ERROR(error_info, CR_MALFORMED_PACKET, UNKNOWN_SQLSTATE, "Malformed packet"); + } goto end; } DBG_INF_FMT("OK from server"); From 94ba883e195613d5a01be07b6ca9a73024b5575b Mon Sep 17 00:00:00 2001 From: Dmitry Stogov Date: Mon, 12 Feb 2024 08:13:23 +0300 Subject: [PATCH 18/36] Fix TLS access in JIT with MUSL (#13329) --- ext/opcache/jit/zend_jit_x86.dasc | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/ext/opcache/jit/zend_jit_x86.dasc b/ext/opcache/jit/zend_jit_x86.dasc index 6d92a32d570e6..d1cbbd6391c53 100644 --- a/ext/opcache/jit/zend_jit_x86.dasc +++ b/ext/opcache/jit/zend_jit_x86.dasc @@ -2901,6 +2901,14 @@ static int zend_jit_setup(void) asm ("movq _tsrm_ls_cache@gottpoff(%%rip),%0" : "=r" (ret)); tsrm_ls_cache_tcb_offset = ret; +#elif defined(__MUSL__) + size_t *ti; + + __asm__( + "leaq _tsrm_ls_cache@tlsgd(%%rip), %0\n" + : "=a" (ti)); + tsrm_tls_offset = ti[1]; + tsrm_tls_index = ti[0] * 8; #else size_t *ti; From c2b671cb1bc61305013aa449e3cd04253f32f52a Mon Sep 17 00:00:00 2001 From: Niels Dossche <7771979+nielsdos@users.noreply.github.com> Date: Sun, 11 Feb 2024 01:02:57 +0100 Subject: [PATCH 19/36] Fix GH-13344: finfo::buffer(): Failed identify data 0:(null) Credits to ranvis for finding the upstream commit that fixes the issue. This backports https://github.com/file/file/commit/029b82459eff7074425cfcbda7c3ce07bb9ce32d Closes GH-13370. --- NEWS | 4 ++ ext/fileinfo/libmagic.patch | 89 ++++++++++++++++++-------------- ext/fileinfo/libmagic/ascmagic.c | 4 +- ext/fileinfo/tests/gh13344.phpt | 12 +++++ 4 files changed, 68 insertions(+), 41 deletions(-) create mode 100644 ext/fileinfo/tests/gh13344.phpt diff --git a/NEWS b/NEWS index 2a7ebd0f970a3..86fdebdb9affd 100644 --- a/NEWS +++ b/NEWS @@ -5,6 +5,10 @@ PHP NEWS - Curl: . Fix failing tests due to string changes in libcurl 8.6.0. (Ayesh) +- Fileinfo: + . Fixed bug GH-13344 (finfo::buffer(): Failed identify data 0:(null), + backport). (nielsdos) + - FPM: . Fixed bug #75712 (getenv in php-fpm should not read $_ENV, $_SERVER). (Jakub Zelenka) diff --git a/ext/fileinfo/libmagic.patch b/ext/fileinfo/libmagic.patch index 85170a92d424b..ccd5985c6ef01 100644 --- a/ext/fileinfo/libmagic.patch +++ b/ext/fileinfo/libmagic.patch @@ -1,6 +1,6 @@ diff -u libmagic.orig/apprentice.c libmagic/apprentice.c ---- libmagic.orig/apprentice.c 2021-02-22 17:51:11.000000000 -0700 -+++ libmagic/apprentice.c 2022-06-06 00:36:46.758464267 -0600 +--- libmagic.orig/apprentice.c 2021-02-23 01:51:11.000000000 +0100 ++++ libmagic/apprentice.c 2023-12-09 11:51:31.700896278 +0100 @@ -29,6 +29,8 @@ * apprentice - make one pass through /etc/magic, learning its secrets. */ @@ -944,8 +944,8 @@ diff -u libmagic.orig/apprentice.c libmagic/apprentice.c m->str_flags = swap4(m->str_flags); } diff -u libmagic.orig/ascmagic.c libmagic/ascmagic.c ---- libmagic.orig/ascmagic.c 2021-02-22 17:49:06.000000000 -0700 -+++ libmagic/ascmagic.c 2021-10-24 17:03:48.529884451 -0600 +--- libmagic.orig/ascmagic.c 2021-02-23 01:49:06.000000000 +0100 ++++ libmagic/ascmagic.c 2024-02-11 00:59:23.954358532 +0100 @@ -96,7 +96,7 @@ rv = file_ascmagic_with_encoding(ms, &bb, ubuf, ulen, code, type, text); @@ -955,7 +955,7 @@ diff -u libmagic.orig/ascmagic.c libmagic/ascmagic.c return rv; } -@@ -143,7 +143,7 @@ +@@ -143,13 +143,15 @@ /* malloc size is a conservative overestimate; could be improved, or at least realloced after conversion. */ mlen = ulen * 6; @@ -964,7 +964,16 @@ diff -u libmagic.orig/ascmagic.c libmagic/ascmagic.c file_oomem(ms, mlen); goto done; } -@@ -330,7 +330,8 @@ + if ((utf8_end = encode_utf8(utf8_buf, mlen, ubuf, ulen)) +- == NULL) ++ == NULL) { ++ rv = 0; + goto done; ++ } + buffer_init(&bb, b->fd, &b->st, utf8_buf, + CAST(size_t, utf8_end - utf8_buf)); + +@@ -330,7 +332,8 @@ } rv = 1; done: @@ -975,8 +984,8 @@ diff -u libmagic.orig/ascmagic.c libmagic/ascmagic.c return rv; } diff -u libmagic.orig/buffer.c libmagic/buffer.c ---- libmagic.orig/buffer.c 2021-02-22 17:49:26.000000000 -0700 -+++ libmagic/buffer.c 2021-10-24 17:03:45.681791493 -0600 +--- libmagic.orig/buffer.c 2021-02-23 01:49:26.000000000 +0100 ++++ libmagic/buffer.c 2023-12-09 11:51:31.700896278 +0100 @@ -31,19 +31,23 @@ #endif /* lint */ @@ -1031,8 +1040,8 @@ diff -u libmagic.orig/buffer.c libmagic/buffer.c goto out; } diff -u libmagic.orig/cdf.c libmagic/cdf.c ---- libmagic.orig/cdf.c 2021-02-22 17:49:06.000000000 -0700 -+++ libmagic/cdf.c 2021-10-24 17:03:45.681791493 -0600 +--- libmagic.orig/cdf.c 2021-02-23 01:49:06.000000000 +0100 ++++ libmagic/cdf.c 2023-12-09 11:51:31.704229532 +0100 @@ -43,7 +43,17 @@ #include #endif @@ -1266,8 +1275,8 @@ diff -u libmagic.orig/cdf.c libmagic/cdf.c #endif diff -u libmagic.orig/cdf.h libmagic/cdf.h ---- libmagic.orig/cdf.h 2021-02-22 17:49:06.000000000 -0700 -+++ libmagic/cdf.h 2021-10-24 17:03:40.741632734 -0600 +--- libmagic.orig/cdf.h 2021-02-23 01:49:06.000000000 +0100 ++++ libmagic/cdf.h 2023-12-09 11:51:31.704229532 +0100 @@ -35,10 +35,10 @@ #ifndef _H_CDF_ #define _H_CDF_ @@ -1283,8 +1292,8 @@ diff -u libmagic.orig/cdf.h libmagic/cdf.h #ifdef __DJGPP__ #define timespec timeval diff -u libmagic.orig/cdf_time.c libmagic/cdf_time.c ---- libmagic.orig/cdf_time.c 2021-02-22 17:49:06.000000000 -0700 -+++ libmagic/cdf_time.c 2021-10-24 17:03:40.741632734 -0600 +--- libmagic.orig/cdf_time.c 2021-02-23 01:49:06.000000000 +0100 ++++ libmagic/cdf_time.c 2023-12-09 11:51:31.704229532 +0100 @@ -23,6 +23,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. @@ -1312,8 +1321,8 @@ diff -u libmagic.orig/cdf_time.c libmagic/cdf_time.c return buf; (void)snprintf(buf, 26, "*Bad* %#16.16" INT64_T_FORMAT "x\n", diff -u libmagic.orig/compress.c libmagic/compress.c ---- libmagic.orig/compress.c 2021-02-22 17:49:07.000000000 -0700 -+++ libmagic/compress.c 2021-10-24 17:03:48.529884451 -0600 +--- libmagic.orig/compress.c 2021-02-23 01:49:07.000000000 +0100 ++++ libmagic/compress.c 2023-12-09 11:51:31.704229532 +0100 @@ -51,7 +51,7 @@ #ifndef HAVE_SIG_T typedef void (*sig_t)(int); @@ -1449,8 +1458,8 @@ diff -u libmagic.orig/compress.c libmagic/compress.c #endif +#endif diff -u libmagic.orig/der.c libmagic/der.c ---- libmagic.orig/der.c 2021-02-22 17:49:06.000000000 -0700 -+++ libmagic/der.c 2021-10-24 17:03:48.529884451 -0600 +--- libmagic.orig/der.c 2021-02-23 01:49:06.000000000 +0100 ++++ libmagic/der.c 2023-12-09 11:51:31.704229532 +0100 @@ -54,7 +54,9 @@ #include "magic.h" #include "der.h" @@ -1462,8 +1471,8 @@ diff -u libmagic.orig/der.c libmagic/der.c #include #endif diff -u libmagic.orig/elfclass.h libmagic/elfclass.h ---- libmagic.orig/elfclass.h 2021-02-22 17:49:06.000000000 -0700 -+++ libmagic/elfclass.h 2021-10-24 17:03:40.741632734 -0600 +--- libmagic.orig/elfclass.h 2021-02-23 01:49:06.000000000 +0100 ++++ libmagic/elfclass.h 2023-12-09 11:51:31.704229532 +0100 @@ -41,7 +41,7 @@ return toomany(ms, "program headers", phnum); flags |= FLAGS_IS_CORE; @@ -1492,8 +1501,8 @@ diff -u libmagic.orig/elfclass.h libmagic/elfclass.h fsize, elf_getu16(swap, elfhdr.e_machine), CAST(int, elf_getu16(swap, elfhdr.e_shstrndx)), diff -u libmagic.orig/encoding.c libmagic/encoding.c ---- libmagic.orig/encoding.c 2021-02-22 17:49:06.000000000 -0700 -+++ libmagic/encoding.c 2021-10-24 17:03:48.529884451 -0600 +--- libmagic.orig/encoding.c 2021-02-23 01:49:06.000000000 +0100 ++++ libmagic/encoding.c 2023-12-09 11:51:31.704229532 +0100 @@ -98,14 +98,14 @@ nbytes = ms->encoding_max; @@ -1533,8 +1542,8 @@ diff -u libmagic.orig/encoding.c libmagic/encoding.c if (u < 3) \ return 0; \ diff -u libmagic.orig/file.h libmagic/file.h ---- libmagic.orig/file.h 2021-02-22 17:49:06.000000000 -0700 -+++ libmagic/file.h 2021-10-24 17:03:48.529884451 -0600 +--- libmagic.orig/file.h 2021-02-23 01:49:06.000000000 +0100 ++++ libmagic/file.h 2023-12-09 11:51:31.704229532 +0100 @@ -33,17 +33,14 @@ #ifndef __file_h__ #define __file_h__ @@ -1794,8 +1803,8 @@ diff -u libmagic.orig/file.h libmagic/file.h + #endif /* __file_h__ */ diff -u libmagic.orig/fsmagic.c libmagic/fsmagic.c ---- libmagic.orig/fsmagic.c 2021-02-22 17:49:06.000000000 -0700 -+++ libmagic/fsmagic.c 2021-10-24 17:03:45.681791493 -0600 +--- libmagic.orig/fsmagic.c 2021-02-23 01:49:06.000000000 +0100 ++++ libmagic/fsmagic.c 2023-12-09 11:51:31.704229532 +0100 @@ -66,26 +66,10 @@ # define minor(dev) ((dev) & 0xff) #endif @@ -2087,8 +2096,8 @@ diff -u libmagic.orig/fsmagic.c libmagic/fsmagic.c #ifndef __COHERENT__ case S_IFSOCK: diff -u libmagic.orig/funcs.c libmagic/funcs.c ---- libmagic.orig/funcs.c 2021-02-22 17:49:06.000000000 -0700 -+++ libmagic/funcs.c 2021-10-24 17:03:48.529884451 -0600 +--- libmagic.orig/funcs.c 2021-02-23 01:49:06.000000000 +0100 ++++ libmagic/funcs.c 2023-12-09 11:51:31.704229532 +0100 @@ -51,6 +51,13 @@ #define SIZE_MAX ((size_t)~0) #endif @@ -2407,8 +2416,8 @@ diff -u libmagic.orig/funcs.c libmagic/funcs.c protected char * file_strtrim(char *str) diff -u libmagic.orig/magic.c libmagic/magic.c ---- libmagic.orig/magic.c 2021-02-22 17:49:06.000000000 -0700 -+++ libmagic/magic.c 2022-06-06 00:36:46.758464267 -0600 +--- libmagic.orig/magic.c 2021-02-23 01:49:06.000000000 +0100 ++++ libmagic/magic.c 2023-12-09 11:51:31.704229532 +0100 @@ -25,11 +25,6 @@ * SUCH DAMAGE. */ @@ -2886,8 +2895,8 @@ diff -u libmagic.orig/magic.c libmagic/magic.c } return file_getbuffer(ms); diff -u libmagic.orig/magic.h libmagic/magic.h ---- libmagic.orig/magic.h 2022-07-05 00:56:31.213294537 -0600 -+++ libmagic/magic.h 2021-10-24 17:03:48.529884451 -0600 +--- libmagic.orig/magic.h 2024-02-11 01:00:54.982008274 +0100 ++++ libmagic/magic.h 2023-12-09 11:51:31.704229532 +0100 @@ -126,6 +126,7 @@ const char *magic_getpath(const char *, int); @@ -2897,8 +2906,8 @@ diff -u libmagic.orig/magic.h libmagic/magic.h const char *magic_buffer(magic_t, const void *, size_t); diff -u libmagic.orig/print.c libmagic/print.c ---- libmagic.orig/print.c 2021-02-22 17:49:07.000000000 -0700 -+++ libmagic/print.c 2021-10-24 17:03:45.681791493 -0600 +--- libmagic.orig/print.c 2021-02-23 01:49:07.000000000 +0100 ++++ libmagic/print.c 2023-12-09 11:51:31.704229532 +0100 @@ -28,6 +28,7 @@ /* * print.c - debugging printout routines @@ -2962,8 +2971,8 @@ diff -u libmagic.orig/print.c libmagic/print.c if (pp == NULL) goto out; diff -u libmagic.orig/readcdf.c libmagic/readcdf.c ---- libmagic.orig/readcdf.c 2021-02-22 17:49:08.000000000 -0700 -+++ libmagic/readcdf.c 2021-10-24 17:03:45.681791493 -0600 +--- libmagic.orig/readcdf.c 2021-02-23 01:49:08.000000000 +0100 ++++ libmagic/readcdf.c 2023-12-09 11:51:31.704229532 +0100 @@ -31,7 +31,11 @@ #include @@ -3086,8 +3095,8 @@ diff -u libmagic.orig/readcdf.c libmagic/readcdf.c /* If we handled it already, return */ if (i != -1) diff -u libmagic.orig/softmagic.c libmagic/softmagic.c ---- libmagic.orig/softmagic.c 2021-02-22 17:49:06.000000000 -0700 -+++ libmagic/softmagic.c 2022-07-05 00:49:26.658974406 -0600 +--- libmagic.orig/softmagic.c 2021-02-23 01:49:06.000000000 +0100 ++++ libmagic/softmagic.c 2023-12-09 11:51:31.704229532 +0100 @@ -43,6 +43,10 @@ #include #include "der.h" @@ -3537,8 +3546,8 @@ diff -u libmagic.orig/softmagic.c libmagic/softmagic.c } case FILE_USE: diff -u libmagic.orig/strcasestr.c libmagic/strcasestr.c ---- libmagic.orig/strcasestr.c 2021-02-22 17:49:12.000000000 -0700 -+++ libmagic/strcasestr.c 2022-06-06 00:36:46.758464267 -0600 +--- libmagic.orig/strcasestr.c 2021-02-23 01:49:12.000000000 +0100 ++++ libmagic/strcasestr.c 2023-12-09 11:51:31.704229532 +0100 @@ -39,6 +39,8 @@ #include "file.h" diff --git a/ext/fileinfo/libmagic/ascmagic.c b/ext/fileinfo/libmagic/ascmagic.c index 631823113bf3d..f667560d81607 100644 --- a/ext/fileinfo/libmagic/ascmagic.c +++ b/ext/fileinfo/libmagic/ascmagic.c @@ -148,8 +148,10 @@ file_ascmagic_with_encoding(struct magic_set *ms, const struct buffer *b, goto done; } if ((utf8_end = encode_utf8(utf8_buf, mlen, ubuf, ulen)) - == NULL) + == NULL) { + rv = 0; goto done; + } buffer_init(&bb, b->fd, &b->st, utf8_buf, CAST(size_t, utf8_end - utf8_buf)); diff --git a/ext/fileinfo/tests/gh13344.phpt b/ext/fileinfo/tests/gh13344.phpt new file mode 100644 index 0000000000000..a2074af8a0bf1 --- /dev/null +++ b/ext/fileinfo/tests/gh13344.phpt @@ -0,0 +1,12 @@ +--TEST-- +GH-13344 (finfo::buffer(): Failed identify data 0:(null)) +--EXTENSIONS-- +fileinfo +--FILE-- +buffer($data); +echo $mime_type; +?> +--EXPECT-- +application/octet-stream; charset=utf-32le From 51591ab7c7719efae47c7c13bc1872ae4454a8d9 Mon Sep 17 00:00:00 2001 From: Arnaud Le Blanc Date: Fri, 16 Feb 2024 13:00:42 +0100 Subject: [PATCH 20/36] [ci skip] Adding myself as reviewer --- CODEOWNERS | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/CODEOWNERS b/CODEOWNERS index dc79939aeae13..69984738e1331 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -37,12 +37,14 @@ /Zend/zend.* @dstogov /Zend/zend_alloc.* @dstogov /Zend/zend_API.* @dstogov +/Zend/zend_call_stack.* @arnaud_lb /Zend/zend_closures.* @dstogov /Zend/zend_execute.* @dstogov /Zend/zend_execute_API.c @dstogov -/Zend/zend_gc.* @dstogov +/Zend/zend_gc.* @dstogov @arnaud_lb /Zend/zend_hash.* @dstogov /Zend/zend_inheritance.* @dstogov +/Zend/zend_max_execution_timer.* @arnaud_lb /Zend/zend_object_handlers.* @dstogov /Zend/zend_objects.* @dstogov /Zend/zend_objects_API.* @dstogov From 9a034c9edbc33cb402893f08855933d374175434 Mon Sep 17 00:00:00 2001 From: Arnaud Le Blanc Date: Fri, 16 Feb 2024 13:02:12 +0100 Subject: [PATCH 21/36] [ci skip] Adding myself as reviewer --- CODEOWNERS | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/CODEOWNERS b/CODEOWNERS index 69984738e1331..40ec5651f1c59 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -37,14 +37,14 @@ /Zend/zend.* @dstogov /Zend/zend_alloc.* @dstogov /Zend/zend_API.* @dstogov -/Zend/zend_call_stack.* @arnaud_lb +/Zend/zend_call_stack.* @arnaud-lb /Zend/zend_closures.* @dstogov /Zend/zend_execute.* @dstogov /Zend/zend_execute_API.c @dstogov -/Zend/zend_gc.* @dstogov @arnaud_lb +/Zend/zend_gc.* @dstogov @arnaud-lb /Zend/zend_hash.* @dstogov /Zend/zend_inheritance.* @dstogov -/Zend/zend_max_execution_timer.* @arnaud_lb +/Zend/zend_max_execution_timer.* @arnaud-lb /Zend/zend_object_handlers.* @dstogov /Zend/zend_objects.* @dstogov /Zend/zend_objects_API.* @dstogov From 6db95512b4c5335e8eaaa9c050dfac756a3d31a2 Mon Sep 17 00:00:00 2001 From: Ilija Tovilo Date: Thu, 15 Feb 2024 10:24:41 +0100 Subject: [PATCH 22/36] Disable JIT on Apple Silicon + ZTS Apple Silicon has stricter rules about rwx mmap regions. They need to be created using the MAP_JIT flag. However, the MAP_JIT seems to be incompatible with MAP_SHARED. ZTS requires MAP_SHARED so that some threads may execute code from a page while another writes/appends to it. We did not find another solution, other than completely disabling JIT for Apple Silicon + ZTS. See discussion in https://github.com/php/php-src/pull/13351. Co-authored-by: Peter Kokot Fixes GH-13400 Closes GH-13396 --- ext/opcache/config.m4 | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ext/opcache/config.m4 b/ext/opcache/config.m4 index 0b923206282c4..d35efbc689ed9 100644 --- a/ext/opcache/config.m4 +++ b/ext/opcache/config.m4 @@ -36,6 +36,10 @@ if test "$PHP_OPCACHE" != "no"; then PHP_OPCACHE_JIT=no ;; esac + if test "$host_vendor" = "apple" && test "$host_cpu" = "aarch64" && test "$PHP_THREAD_SAFETY" = "yes"; then + AC_MSG_WARN([JIT not supported on Apple Silicon with ZTS]) + PHP_OPCACHE_JIT=no + fi fi if test "$PHP_OPCACHE_JIT" = "yes"; then From a18cf333baafe37304d01f8b2b20b95d8185b2de Mon Sep 17 00:00:00 2001 From: Ilija Tovilo Date: Sun, 18 Feb 2024 20:37:26 +0100 Subject: [PATCH 23/36] [skip ci] Fix paths-ignore glob pattern * does not work for nested files. --- .github/workflows/push.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml index 96e721749f834..e08b2539bb70e 100644 --- a/.github/workflows/push.yml +++ b/.github/workflows/push.yml @@ -2,7 +2,7 @@ name: Push on: push: paths-ignore: - - docs/* + - docs/** - NEWS - UPGRADING - UPGRADING.INTERNALS @@ -11,8 +11,8 @@ on: - CODING_STANDARDS.md - .cirrus.yml - .travis.yml - - travis/* - - .circleci/* + - travis/** + - .circleci/** branches: - PHP-7.4 - PHP-8.0 @@ -21,7 +21,7 @@ on: - master pull_request: paths-ignore: - - docs/* + - docs/** - NEWS - UPGRADING - UPGRADING.INTERNALS @@ -30,8 +30,8 @@ on: - CODING_STANDARDS.md - .cirrus.yml - .travis.yml - - travis/* - - .circleci/* + - travis/** + - .circleci/** branches: - '**' concurrency: From 728b81d92e659c0fed0a2704490ea4ed69e0e9dd Mon Sep 17 00:00:00 2001 From: Dmitry Stogov Date: Mon, 19 Feb 2024 13:22:30 +0300 Subject: [PATCH 24/36] Prevent recording traces started from usupported VM instruction --- ext/opcache/jit/zend_jit_vm_helpers.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/ext/opcache/jit/zend_jit_vm_helpers.c b/ext/opcache/jit/zend_jit_vm_helpers.c index fe9d5fdaa8da5..e37a0ef3af892 100644 --- a/ext/opcache/jit/zend_jit_vm_helpers.c +++ b/ext/opcache/jit/zend_jit_vm_helpers.c @@ -643,6 +643,16 @@ zend_jit_trace_stop ZEND_FASTCALL zend_jit_trace_execute(zend_execute_data *ex, return ZEND_JIT_TRACE_STOP_EXCEPTION; } + trace_flags = ZEND_OP_TRACE_INFO(opline, offset)->trace_flags; + if (trace_flags & ZEND_JIT_TRACE_UNSUPPORTED) { + TRACE_END(ZEND_JIT_TRACE_END, ZEND_JIT_TRACE_STOP_NOT_SUPPORTED, opline); +#ifdef HAVE_GCC_GLOBAL_REGS + execute_data = save_execute_data; + opline = save_opline; +#endif + return ZEND_JIT_TRACE_STOP_NOT_SUPPORTED; + } + if (prev_call) { int ret = zend_jit_trace_record_fake_init_call(prev_call, trace_buffer, idx, is_megamorphic); if (ret < 0) { From 5373f5dd9d1e97ac4bcf5c2160b3091b4c65e068 Mon Sep 17 00:00:00 2001 From: Matteo Beccati Date: Mon, 19 Feb 2024 15:18:48 +0100 Subject: [PATCH 25/36] Fix test on non-UTC environments --- ext/date/tests/gh10747-1.phpt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ext/date/tests/gh10747-1.phpt b/ext/date/tests/gh10747-1.phpt index e02d84b0886c8..6976422cdf206 100644 --- a/ext/date/tests/gh10747-1.phpt +++ b/ext/date/tests/gh10747-1.phpt @@ -1,5 +1,7 @@ --TEST-- Bug GH-10747 (Private fields in serialized DateTimeImmutable objects throw) +--INI-- +date.timezone=UTC --FILE-- Date: Tue, 13 Feb 2024 21:55:24 +0100 Subject: [PATCH 26/36] Workaround ZTS persistent resource crashes (PHP 8.3 and lower) For master (8.4-dev) I merged GH-13381. But that PR changes public API of TSRM, so cannot be used on lower branches. This patch is a safe workaround for the issue, in combination with a pre-existing fix using `ifdef ZTS + if (module_started)` inside pgsql and odbc. The idea is to delay unloading modules until the persistent resources are destroyed. This will keep the destructor code accessible in memory. This is not a proper fix on its own, because we still need the workaround of not accessing globals after module destruction. The proper fix is in master. Closes GH-13388. --- NEWS | 3 +++ Zend/zend.c | 2 ++ Zend/zend.h | 1 + Zend/zend_API.c | 43 +++++++++++++++++++++++++++++++++++++------ Zend/zend_modules.h | 2 +- 5 files changed, 44 insertions(+), 7 deletions(-) diff --git a/NEWS b/NEWS index 86fdebdb9affd..07410268121b6 100644 --- a/NEWS +++ b/NEWS @@ -2,6 +2,9 @@ PHP NEWS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ?? ??? ????, PHP 8.2.17 +- Core: + . Fix ZTS persistent resource crashes on shutdown. (nielsdos) + - Curl: . Fix failing tests due to string changes in libcurl 8.6.0. (Ayesh) diff --git a/Zend/zend.c b/Zend/zend.c index b222467393e94..fc092b66b9e2a 100644 --- a/Zend/zend.c +++ b/Zend/zend.c @@ -1141,6 +1141,8 @@ void zend_shutdown(void) /* {{{ */ #endif zend_destroy_rsrc_list_dtors(); + zend_unload_modules(); + zend_optimizer_shutdown(); startup_done = false; } diff --git a/Zend/zend.h b/Zend/zend.h index 1c3ba9157d067..f57ce27adff9c 100644 --- a/Zend/zend.h +++ b/Zend/zend.h @@ -277,6 +277,7 @@ void zend_shutdown(void); void zend_register_standard_ini_entries(void); zend_result zend_post_startup(void); void zend_set_utility_values(zend_utility_values *utility_values); +void zend_unload_modules(void); ZEND_API ZEND_COLD ZEND_NORETURN void _zend_bailout(const char *filename, uint32_t lineno); ZEND_API size_t zend_get_page_size(void); diff --git a/Zend/zend_API.c b/Zend/zend_API.c index ece58b1dfab53..4c447845e5474 100644 --- a/Zend/zend_API.c +++ b/Zend/zend_API.c @@ -41,6 +41,7 @@ ZEND_API HashTable module_registry; static zend_module_entry **module_request_startup_handlers; static zend_module_entry **module_request_shutdown_handlers; static zend_module_entry **module_post_deactivate_handlers; +static zend_module_entry **modules_dl_loaded; static zend_class_entry **class_cleanup_handlers; @@ -2292,6 +2293,7 @@ ZEND_API void zend_collect_module_handlers(void) /* {{{ */ int startup_count = 0; int shutdown_count = 0; int post_deactivate_count = 0; + int dl_loaded_count = 0; zend_class_entry *ce; int class_count = 0; @@ -2306,6 +2308,9 @@ ZEND_API void zend_collect_module_handlers(void) /* {{{ */ if (module->post_deactivate_func) { post_deactivate_count++; } + if (module->handle) { + dl_loaded_count++; + } } ZEND_HASH_FOREACH_END(); module_request_startup_handlers = (zend_module_entry**)realloc( module_request_startup_handlers, @@ -2318,6 +2323,9 @@ ZEND_API void zend_collect_module_handlers(void) /* {{{ */ module_request_shutdown_handlers[shutdown_count] = NULL; module_post_deactivate_handlers = module_request_shutdown_handlers + shutdown_count + 1; module_post_deactivate_handlers[post_deactivate_count] = NULL; + /* Cannot reuse module_request_startup_handlers because it is freed in zend_destroy_modules, which happens before zend_unload_modules. */ + modules_dl_loaded = realloc(modules_dl_loaded, sizeof(zend_module_entry*) * (dl_loaded_count + 1)); + modules_dl_loaded[dl_loaded_count] = NULL; startup_count = 0; ZEND_HASH_MAP_FOREACH_PTR(&module_registry, module) { @@ -2330,6 +2338,9 @@ ZEND_API void zend_collect_module_handlers(void) /* {{{ */ if (module->post_deactivate_func) { module_post_deactivate_handlers[--post_deactivate_count] = module; } + if (module->handle) { + modules_dl_loaded[--dl_loaded_count] = module; + } } ZEND_HASH_FOREACH_END(); /* Collect internal classes with static members */ @@ -3073,18 +3084,23 @@ void module_destructor(zend_module_entry *module) /* {{{ */ clean_module_functions(module); } -#if HAVE_LIBDL - if (module->handle && !getenv("ZEND_DONT_UNLOAD_MODULES")) { - DL_UNLOAD(module->handle); - } -#endif - #if ZEND_RC_DEBUG zend_rc_debug = orig_rc_debug; #endif } /* }}} */ +void module_registry_unload(const zend_module_entry *module) +{ +#if HAVE_LIBDL + if (!getenv("ZEND_DONT_UNLOAD_MODULES")) { + DL_UNLOAD(module->handle); + } +#else + ZEND_IGNORE_VALUE(module); +#endif +} + ZEND_API void zend_activate_modules(void) /* {{{ */ { zend_module_entry **p = module_request_startup_handlers; @@ -3129,6 +3145,18 @@ ZEND_API void zend_deactivate_modules(void) /* {{{ */ } /* }}} */ +void zend_unload_modules(void) /* {{{ */ +{ + zend_module_entry **modules = modules_dl_loaded; + while (*modules) { + module_registry_unload(*modules); + modules++; + } + free(modules_dl_loaded); + modules_dl_loaded = NULL; +} +/* }}} */ + ZEND_API void zend_post_deactivate_modules(void) /* {{{ */ { if (EG(full_tables_cleanup)) { @@ -3147,6 +3175,9 @@ ZEND_API void zend_post_deactivate_modules(void) /* {{{ */ break; } module_destructor(module); + if (module->handle) { + module_registry_unload(module); + } zend_string_release_ex(key, 0); } ZEND_HASH_MAP_FOREACH_END_DEL(); } else { diff --git a/Zend/zend_modules.h b/Zend/zend_modules.h index 7d80ad4c0608e..43999e5ee4245 100644 --- a/Zend/zend_modules.h +++ b/Zend/zend_modules.h @@ -125,7 +125,7 @@ extern ZEND_API HashTable module_registry; void module_destructor(zend_module_entry *module); int module_registry_request_startup(zend_module_entry *module); -int module_registry_unload_temp(const zend_module_entry *module); +void module_registry_unload(const zend_module_entry *module); END_EXTERN_C() #endif From f732ab8b3e060fde4bce7893ec2c85e336b3b1c6 Mon Sep 17 00:00:00 2001 From: Michael Orlitzky Date: Mon, 26 Feb 2024 13:59:21 +0100 Subject: [PATCH 27/36] Fix detection of image formats in system gd library - Use gdFontCacheShutdown() to detect freetype Currently we look for gdImageStringFT() to determine whether or not gd has freetype support... but that function always exists. This leads PHP to believe that gd has freetype support when it does not, and can lead to build failures. The gdFontCacheShutdown() function, on the other hand, is only present when gd was built with freetype support. Let's use that instead. - Fix GD image format detection We currently check for, say, AVIF support by attempting to link a program that calls libgd's gdImageCreateFromAvif() function. But perversely, that function always exists in libgd; moreover when AVIF support is missing it emits a warning and returns normally. Thus our straightforward link test becomes not so straightforward. This commit adds a new macro PHP_GD_CHECK_FORMAT that compiles, links, and runs a test program instead. The test program overrides that "emit a warning" handler so that the program actually fails if the format we're looking for is not supported. This fixes detection of AVIF and the other formats we check for in an external libgd. - ext/gd/tests/bug77391.phpt: skip if gd lacks BMP support I don't actually know how to remove BMP support from libgd, but PHP has a ./configure test for it, so we should probably treat it as optional. Closes GH-12019 --- NEWS | 4 ++++ ext/gd/config.m4 | 61 +++++++++++++++++++++++++++++++++++++++++------- 2 files changed, 57 insertions(+), 8 deletions(-) diff --git a/NEWS b/NEWS index 07410268121b6..d28d31e1efab6 100644 --- a/NEWS +++ b/NEWS @@ -16,6 +16,10 @@ PHP NEWS . Fixed bug #75712 (getenv in php-fpm should not read $_ENV, $_SERVER). (Jakub Zelenka) +- GD: + . Fixed bug GH-12019 (detection of image formats in system gd library). + (Michael Orlitzky) + - MySQLnd: . Fixed bug GH-11950 ([mysqlnd] Fixed not to set CR_MALFORMED_PACKET to error if CR_SERVER_GONE_ERROR is already set). (Saki Takamachi) diff --git a/ext/gd/config.m4 b/ext/gd/config.m4 index 0a175d11d52e7..9bdd6bb11c04d 100644 --- a/ext/gd/config.m4 +++ b/ext/gd/config.m4 @@ -138,15 +138,60 @@ AC_DEFUN([PHP_GD_JISX0208],[ fi ]) +dnl Build and run a program to determine if GD has support for the given +dnl format. The first argument is the proper-noun-capitalized name of the +dnl format -- basically the word Foo in gdImageCreateFromFoo -- such as +dnl Png. If support for format Foo exists, the second argument (the name +dnl of a constant) will be defined to 1. The reason for this charade is +dnl that gd defines "junk" versions of each gdImageCreateFromFoo function +dnl even when it does not support the Foo format. Those junk functions +dnl display a warning but eventually return normally, making a simple link +dnl or run test insufficient. +AC_DEFUN([PHP_GD_CHECK_FORMAT],[ + old_LIBS="${LIBS}" + LIBS="${LIBS} ${GD_SHARED_LIBADD}" + AC_MSG_CHECKING([for working gdImageCreateFrom$1 in libgd]) + AC_LANG_PUSH([C]) + AC_RUN_IFELSE([AC_LANG_SOURCE([ +#include +#include +#include + +/* A custom gdErrorMethod */ +void exit1(int priority, const char *format, va_list args) { + _exit(1); +} + +/* Override the default gd_error_method with one that + actually causes the program to return an error. */ +int main(int argc, char** argv) { + m4_if([$1],[Xpm], + [char* f = "test.xpm"], + [FILE* f = NULL]); + gdSetErrorMethod(exit1); + gdImagePtr p = gdImageCreateFrom$1(f); + return 0; +}])],[ + AC_MSG_RESULT([yes]) + AC_DEFINE($2, 1, [Does gdImageCreateFrom$1 work?]) + ],[ + AC_MSG_RESULT([no]) + ],[ + AC_MSG_RESULT([no]) + ]) + AC_LANG_POP([C]) + LIBS="${old_LIBS}" +]) + AC_DEFUN([PHP_GD_CHECK_VERSION],[ - PHP_CHECK_LIBRARY(gd, gdImageCreateFromPng, [AC_DEFINE(HAVE_GD_PNG, 1, [ ])], [], [ $GD_SHARED_LIBADD ]) - PHP_CHECK_LIBRARY(gd, gdImageCreateFromAvif, [AC_DEFINE(HAVE_GD_AVIF, 1, [ ])], [], [ $GD_SHARED_LIBADD ]) - PHP_CHECK_LIBRARY(gd, gdImageCreateFromWebp, [AC_DEFINE(HAVE_GD_WEBP, 1, [ ])], [], [ $GD_SHARED_LIBADD ]) - PHP_CHECK_LIBRARY(gd, gdImageCreateFromJpeg, [AC_DEFINE(HAVE_GD_JPG, 1, [ ])], [], [ $GD_SHARED_LIBADD ]) - PHP_CHECK_LIBRARY(gd, gdImageCreateFromXpm, [AC_DEFINE(HAVE_GD_XPM, 1, [ ])], [], [ $GD_SHARED_LIBADD ]) - PHP_CHECK_LIBRARY(gd, gdImageCreateFromBmp, [AC_DEFINE(HAVE_GD_BMP, 1, [ ])], [], [ $GD_SHARED_LIBADD ]) - PHP_CHECK_LIBRARY(gd, gdImageCreateFromTga, [AC_DEFINE(HAVE_GD_TGA, 1, [ ])], [], [ $GD_SHARED_LIBADD ]) - PHP_CHECK_LIBRARY(gd, gdImageStringFT, [AC_DEFINE(HAVE_GD_FREETYPE, 1, [ ])], [], [ $GD_SHARED_LIBADD ]) + PHP_GD_CHECK_FORMAT([Png], [HAVE_GD_PNG]) + PHP_GD_CHECK_FORMAT([Avif], [HAVE_GD_AVIF]) + PHP_GD_CHECK_FORMAT([Webp], [HAVE_GD_WEBP]) + PHP_GD_CHECK_FORMAT([Jpeg], [HAVE_GD_JPG]) + PHP_GD_CHECK_FORMAT([Xpm], [HAVE_GD_XPM]) + PHP_GD_CHECK_FORMAT([Bmp], [HAVE_GD_BMP]) + PHP_GD_CHECK_FORMAT([Tga], [HAVE_GD_TGA]) + PHP_CHECK_LIBRARY(gd, gdFontCacheShutdown, [AC_DEFINE(HAVE_GD_FREETYPE, 1, [ ])], [], [ $GD_SHARED_LIBADD ]) PHP_CHECK_LIBRARY(gd, gdVersionString, [AC_DEFINE(HAVE_GD_LIBVERSION, 1, [ ])], [], [ $GD_SHARED_LIBADD ]) PHP_CHECK_LIBRARY(gd, gdImageGetInterpolationMethod, [AC_DEFINE(HAVE_GD_GET_INTERPOLATION, 1, [ ])], [], [ $GD_SHARED_LIBADD ]) ]) From b8a1041fd29c7fa2b29625933021efcc3992a045 Mon Sep 17 00:00:00 2001 From: Niels Dossche <7771979+nielsdos@users.noreply.github.com> Date: Sun, 25 Feb 2024 22:59:20 +0100 Subject: [PATCH 28/36] Fix reference access in dimensions for DOMNodeList and DOMNodeMap Closes GH-13511. --- NEWS | 4 ++ ext/dom/php_dom.c | 8 +++ .../DOMNamedNodeMap_string_references.phpt | 64 +++++++++++++++++++ ext/dom/tests/bug67949.phpt | 51 +++++++-------- 4 files changed, 102 insertions(+), 25 deletions(-) create mode 100644 ext/dom/tests/DOMNamedNodeMap_string_references.phpt diff --git a/NEWS b/NEWS index d28d31e1efab6..4e95d7e576aef 100644 --- a/NEWS +++ b/NEWS @@ -8,6 +8,10 @@ PHP NEWS - Curl: . Fix failing tests due to string changes in libcurl 8.6.0. (Ayesh) +- DOM: + . Fix reference access in dimensions for DOMNodeList and DOMNodeMap. + (nielsdos) + - Fileinfo: . Fixed bug GH-13344 (finfo::buffer(): Failed identify data 0:(null), backport). (nielsdos) diff --git a/ext/dom/php_dom.c b/ext/dom/php_dom.c index 6610a504e4fda..c86cab99c6c79 100644 --- a/ext/dom/php_dom.c +++ b/ext/dom/php_dom.c @@ -1643,6 +1643,8 @@ static zval *dom_nodelist_read_dimension(zend_object *object, zval *offset, int return NULL; } + ZVAL_DEREF(offset); + zend_long lval; if (dom_nodemap_or_nodelist_process_offset_as_named(offset, &lval)) { /* does not support named lookup */ @@ -1656,6 +1658,8 @@ static zval *dom_nodelist_read_dimension(zend_object *object, zval *offset, int static int dom_nodelist_has_dimension(zend_object *object, zval *member, int check_empty) { + ZVAL_DEREF(member); + zend_long offset; if (dom_nodemap_or_nodelist_process_offset_as_named(member, &offset)) { /* does not support named lookup */ @@ -1672,6 +1676,8 @@ static zval *dom_nodemap_read_dimension(zend_object *object, zval *offset, int t return NULL; } + ZVAL_DEREF(offset); + zend_long lval; if (dom_nodemap_or_nodelist_process_offset_as_named(offset, &lval)) { /* exceptional case, switch to named lookup */ @@ -1691,6 +1697,8 @@ static zval *dom_nodemap_read_dimension(zend_object *object, zval *offset, int t static int dom_nodemap_has_dimension(zend_object *object, zval *member, int check_empty) { + ZVAL_DEREF(member); + zend_long offset; if (dom_nodemap_or_nodelist_process_offset_as_named(member, &offset)) { /* exceptional case, switch to named lookup */ diff --git a/ext/dom/tests/DOMNamedNodeMap_string_references.phpt b/ext/dom/tests/DOMNamedNodeMap_string_references.phpt new file mode 100644 index 0000000000000..f6a79286b9132 --- /dev/null +++ b/ext/dom/tests/DOMNamedNodeMap_string_references.phpt @@ -0,0 +1,64 @@ +--TEST-- +DOMNamedNodeMap string references +--EXTENSIONS-- +dom +--FILE-- +loadXML(''); + +$attributes = $dom->documentElement->attributes; + +var_dump(isset($attributes['href']), $attributes['href']->value); + +var_dump(isset($attributes['foo']), $attributes['foo']->value); + +$str = 'href'; +$ref =& $str; +var_dump(isset($attributes[$ref]), $attributes[$ref]->value); + +$str = 'foo'; +$ref =& $str; +var_dump(isset($attributes[$ref]), $attributes[$ref]->value); + +$str = 'this does not exist'; +$ref =& $str; +var_dump(isset($attributes[$ref]), $attributes[$ref]); + +$str = '0'; +$ref =& $str; +var_dump(isset($attributes[$ref]), $attributes[$ref]->value); + +$str = '1'; +$ref =& $str; +var_dump(isset($attributes[$ref]), $attributes[$ref]->value); + +$int = 0; +$ref =& $int; +var_dump(isset($attributes[$ref]), $attributes[$ref]->value); + +$int = 1; +$ref =& $int; +var_dump(isset($attributes[$ref]), $attributes[$ref]->value); + +?> +--EXPECT-- +bool(true) +string(2) "hi" +bool(true) +string(3) "bar" +bool(true) +string(2) "hi" +bool(true) +string(3) "bar" +bool(false) +NULL +bool(true) +string(2) "hi" +bool(true) +string(3) "bar" +bool(true) +string(2) "hi" +bool(true) +string(3) "bar" diff --git a/ext/dom/tests/bug67949.phpt b/ext/dom/tests/bug67949.phpt index 270beb02b494c..f087633bdfe6f 100644 --- a/ext/dom/tests/bug67949.phpt +++ b/ext/dom/tests/bug67949.phpt @@ -5,6 +5,8 @@ dom --FILE-- data hello world @@ -14,57 +16,56 @@ $doc->loadHTML($html); $nodes = $doc->getElementsByTagName('div'); -echo "testing has_dimension\n"; +echo "--- testing has_dimension ---\n"; var_dump(isset($nodes[0])); var_dump(isset($nodes[1])); var_dump(isset($nodes[-1])); -echo "testing property access\n"; +echo "--- testing property access ---\n"; var_dump($nodes[0]->textContent); var_dump($nodes[1]->textContent); -echo "testing offset not a long\n"; +echo "--- testing offset not a long: array ---\n"; $offset = ['test']; var_dump($offset); var_dump(isset($nodes[$offset]), $nodes[$offset]->textContent); -var_dump($offset); -$something = 'test'; +echo "--- testing offset not a long: Reference to string ---\n"; +$something = 'href'; $offset = &$something; var_dump($offset); var_dump(isset($nodes[$offset]), $nodes[$offset]->textContent); -var_dump($offset); +echo "--- testing offset not a long: string ---\n"; $offset = 'test'; var_dump($offset); var_dump(isset($nodes[$offset]), $nodes[$offset]->textContent); -var_dump($offset); -echo "testing read_dimension with null offset\n"; +echo "--- testing read_dimension with null offset ---\n"; try { var_dump($nodes[][] = 1); } catch (Error $e) { echo $e->getMessage(), "\n"; } -echo "testing attribute access\n"; +echo "--- testing attribute access ---\n"; $anchor = $doc->getElementsByTagName('a')[0]; var_dump($anchor->attributes[0]->name); echo "==DONE==\n"; ?> --EXPECTF-- -testing has_dimension +--- testing has_dimension --- bool(true) bool(false) bool(false) -testing property access +--- testing property access --- string(4) "data" Warning: Attempt to read property "textContent" on null in %s on line %d NULL -testing offset not a long +--- testing offset not a long: array --- array(1) { [0]=> string(4) "test" @@ -73,20 +74,20 @@ array(1) { Warning: Attempt to read property "textContent" on null in %s on line %d bool(false) NULL -array(1) { - [0]=> - string(4) "test" -} -string(4) "test" -bool(true) -string(4) "data" -string(4) "test" -string(4) "test" -bool(true) -string(4) "data" +--- testing offset not a long: Reference to string --- +string(4) "href" + +Warning: Attempt to read property "textContent" on null in %s on line %d +bool(false) +NULL +--- testing offset not a long: string --- string(4) "test" -testing read_dimension with null offset + +Warning: Attempt to read property "textContent" on null in %s on line %d +bool(false) +NULL +--- testing read_dimension with null offset --- Cannot access DOMNodeList without offset -testing attribute access +--- testing attribute access --- string(4) "href" ==DONE== From b9a9790be0657249fa5e6687883b43570b0a3f1f Mon Sep 17 00:00:00 2001 From: David Carlier Date: Mon, 26 Feb 2024 19:36:42 +0000 Subject: [PATCH 29/36] Fix GH-13519: PGSQL_CONNECT_FORCE_RENEW with persistent connections. persistent connections did not take in account this flag, after the usual link sanity checks, we remove its entry. Close GH-13519 --- NEWS | 2 ++ ext/pgsql/pgsql.c | 7 +++++++ ext/pgsql/tests/gh13519.phpt | 30 ++++++++++++++++++++++++++++++ 3 files changed, 39 insertions(+) create mode 100644 ext/pgsql/tests/gh13519.phpt diff --git a/NEWS b/NEWS index 4e95d7e576aef..12857e90cdc78 100644 --- a/NEWS +++ b/NEWS @@ -31,6 +31,8 @@ PHP NEWS - PGSQL: . Fixed bug GH-13354 (pg_execute/pg_send_query_params/pg_send_execute with null value passed by reference). (George Barbarosie) + . Fixed bug GH-13519 (PGSQL_CONNECT_FORCE_RENEW not working with persistent + connections. (David Carlier) - Standard: . Fixed array key as hash to string (case insensitive) comparison typo diff --git a/ext/pgsql/pgsql.c b/ext/pgsql/pgsql.c index 6e04848bdea0b..9b2488a5eb889 100644 --- a/ext/pgsql/pgsql.c +++ b/ext/pgsql/pgsql.c @@ -562,6 +562,7 @@ static void php_pgsql_do_connect(INTERNAL_FUNCTION_PARAMETERS, int persistent) /* try to find if we already have this link in our persistent list */ if ((le = zend_hash_find_ptr(&EG(persistent_list), str.s)) == NULL) { /* we don't */ +newpconn: if (PGG(max_links) != -1 && PGG(num_links) >= PGG(max_links)) { php_error_docref(NULL, E_WARNING, "Cannot create new link. Too many open links (" ZEND_LONG_FMT ")", PGG(num_links)); @@ -590,6 +591,12 @@ static void php_pgsql_do_connect(INTERNAL_FUNCTION_PARAMETERS, int persistent) PGG(num_links)++; PGG(num_persistent)++; } else { /* we do */ + if ((connect_type & PGSQL_CONNECT_FORCE_NEW)) { + if (zend_hash_del(&EG(persistent_list), str.s) != SUCCESS) { + goto err; + } + goto newpconn; + } if (le->type != le_plink) { goto err; } diff --git a/ext/pgsql/tests/gh13519.phpt b/ext/pgsql/tests/gh13519.phpt new file mode 100644 index 0000000000000..17379cdacce71 --- /dev/null +++ b/ext/pgsql/tests/gh13519.phpt @@ -0,0 +1,30 @@ +--TEST-- +GH-13519 - PGSQL_CONNECT_FORCE_NEW with persistent connections. +--EXTENSIONS-- +pgsql +--SKIPIF-- + +--FILE-- + +--EXPECT-- +bool(true) +bool(true) +bool(true) +bool(false) +bool(false) +bool(false) From e1a8ebd61b053aa9a2837e0c6718586f752b279a Mon Sep 17 00:00:00 2001 From: Sergey Panteleev Date: Tue, 27 Feb 2024 17:26:44 +0300 Subject: [PATCH 30/36] PHP-8.2 is now for PHP 8.2.18-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 12857e90cdc78..d8ffce0018d49 100644 --- a/NEWS +++ b/NEWS @@ -1,6 +1,9 @@ PHP NEWS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| -?? ??? ????, PHP 8.2.17 +?? ??? ????, PHP 8.2.18 + + +14 Mar 2024, PHP 8.2.17 - Core: . Fix ZTS persistent resource crashes on shutdown. (nielsdos) diff --git a/Zend/zend.h b/Zend/zend.h index f57ce27adff9c..12a467ee8a44e 100644 --- a/Zend/zend.h +++ b/Zend/zend.h @@ -20,7 +20,7 @@ #ifndef ZEND_H #define ZEND_H -#define ZEND_VERSION "4.2.17-dev" +#define ZEND_VERSION "4.2.18-dev" #define ZEND_ENGINE_3 diff --git a/configure.ac b/configure.ac index 365ce64875f36..701e6d5b966a2 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.17-dev],[https://github.com/php/php-src/issues],[php],[https://www.php.net]) +AC_INIT([PHP],[8.2.18-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 f5d0211ee65a9..c5491beea546d 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 17 +#define PHP_RELEASE_VERSION 18 #define PHP_EXTRA_VERSION "-dev" -#define PHP_VERSION "8.2.17-dev" -#define PHP_VERSION_ID 80217 +#define PHP_VERSION "8.2.18-dev" +#define PHP_VERSION_ID 80218 From b4e272c56ad5d4130754e9a024f9e4304dd60da2 Mon Sep 17 00:00:00 2001 From: Gina Peter Banyard Date: Tue, 27 Feb 2024 15:25:00 +0000 Subject: [PATCH 31/36] ext/pdo: Fix various PDORow bugs - Add tests - NULL derefencing in read_dimension handler - Fix isset() - Fix empty() with column numbers as offsets - Refactoring to use common functions --- NEWS | 3 + ext/pdo/pdo_stmt.c | 192 +++++++++++----------- ext/pdo/tests/pdo_035.phpt | 262 ++++++++++++++++++++++++++++++ ext/pdo_sqlite/tests/pdo_035.phpt | 46 ------ 4 files changed, 362 insertions(+), 141 deletions(-) create mode 100644 ext/pdo/tests/pdo_035.phpt delete mode 100644 ext/pdo_sqlite/tests/pdo_035.phpt diff --git a/NEWS b/NEWS index d8ffce0018d49..1564f031f0b2a 100644 --- a/NEWS +++ b/NEWS @@ -2,6 +2,9 @@ PHP NEWS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ?? ??? ????, PHP 8.2.18 +- PDO: + . Fix various PDORow bugs. (Girgias) + 14 Mar 2024, PHP 8.2.17 diff --git a/ext/pdo/pdo_stmt.c b/ext/pdo/pdo_stmt.c index 453933607f38e..e11d0f4288cfb 100644 --- a/ext/pdo/pdo_stmt.c +++ b/ext/pdo/pdo_stmt.c @@ -2257,74 +2257,84 @@ zend_object_iterator *pdo_stmt_iter_get(zend_class_entry *ce, zval *object, int /* }}} */ /* {{{ overloaded handlers for PDORow class (used by PDO_FETCH_LAZY) */ +static zval *row_read_column_name(pdo_stmt_t *stmt, zend_string *name, zval *rv) +{ + /* TODO: replace this with a hash of available column names to column numbers */ + for (int colno = 0; colno < stmt->column_count; colno++) { + if (zend_string_equals(stmt->columns[colno].name, name)) { + fetch_value(stmt, rv, colno, NULL); + return rv; + } + } + return NULL; +} + +static zval *row_read_column_number(pdo_stmt_t *stmt, zend_long column, zval *rv) +{ + if (column >= 0 && column < stmt->column_count) { + fetch_value(stmt, rv, column, NULL); + return rv; + } + return NULL; +} static zval *row_prop_read(zend_object *object, zend_string *name, int type, void **cache_slot, zval *rv) { pdo_row_t *row = (pdo_row_t *)object; pdo_stmt_t *stmt = row->stmt; - int colno = -1; zend_long lval; + zval *retval; ZEND_ASSERT(stmt); ZVAL_NULL(rv); if (zend_string_equals_literal(name, "queryString")) { return zend_std_read_property(&stmt->std, name, type, cache_slot, rv); - } else if (is_numeric_string(ZSTR_VAL(name), ZSTR_LEN(name), &lval, NULL, 0) == IS_LONG) { - if (lval >= 0 && lval < stmt->column_count) { - fetch_value(stmt, rv, lval, NULL); - } + } else if (is_numeric_str_function(name, &lval, /* dval */ NULL) == IS_LONG) { + retval = row_read_column_number(stmt, lval, rv); } else { - /* TODO: replace this with a hash of available column names to column - * numbers */ - for (colno = 0; colno < stmt->column_count; colno++) { - if (zend_string_equals(stmt->columns[colno].name, name)) { - fetch_value(stmt, rv, colno, NULL); - return rv; - } - } + retval = row_read_column_name(stmt, name, rv); } - - return rv; + if (UNEXPECTED(!retval)) { + // TODO throw an error on master + //if (type != BP_VAR_IS) { + // if (is_numeric) { + // zend_value_error("Invalid column index"); + // } else { + // zend_throw_error(NULL, "No column named \"%s\" exists", ZSTR_VAL(name)); + // } + //} + //return &EG(uninitialized_zval); + ZVAL_NULL(rv); + return rv; + } + return retval; } -static zval *row_dim_read(zend_object *object, zval *member, int type, zval *rv) +static zval *row_dim_read(zend_object *object, zval *offset, int type, zval *rv) { - pdo_row_t *row = (pdo_row_t *)object; - pdo_stmt_t *stmt = row->stmt; - int colno = -1; - zend_long lval; - ZEND_ASSERT(stmt); + if (UNEXPECTED(!offset)) { + zend_throw_error(NULL, "Cannot append to PDORow offset"); + return NULL; + } + if (Z_TYPE_P(offset) == IS_LONG) { + pdo_row_t *row = (pdo_row_t *)object; + pdo_stmt_t *stmt = row->stmt; + ZEND_ASSERT(stmt); - ZVAL_NULL(rv); - if (Z_TYPE_P(member) == IS_LONG) { - if (Z_LVAL_P(member) >= 0 && Z_LVAL_P(member) < stmt->column_count) { - fetch_value(stmt, rv, Z_LVAL_P(member), NULL); - } - } else if (Z_TYPE_P(member) == IS_STRING - && is_numeric_string(Z_STRVAL_P(member), Z_STRLEN_P(member), &lval, NULL, 0) == IS_LONG) { - if (lval >= 0 && lval < stmt->column_count) { - fetch_value(stmt, rv, lval, NULL); + ZVAL_NULL(rv); + if (Z_LVAL_P(offset) >= 0 && Z_LVAL_P(offset) < stmt->column_count) { + fetch_value(stmt, rv, Z_LVAL_P(offset), NULL); } + return rv; } else { - if (!try_convert_to_string(member)) { - return &EG(uninitialized_zval); - } - - if (zend_string_equals_literal(Z_STR_P(member), "queryString")) { - return zend_std_read_property(&stmt->std, Z_STR_P(member), type, NULL, rv); - } - - /* TODO: replace this with a hash of available column names to column - * numbers */ - for (colno = 0; colno < stmt->column_count; colno++) { - if (zend_string_equals(stmt->columns[colno].name, Z_STR_P(member))) { - fetch_value(stmt, rv, colno, NULL); - return rv; - } + zend_string *member = zval_try_get_string(offset); + if (!member) { + return NULL; } + zval *result = row_prop_read(object, member, type, NULL, rv); + zend_string_release_ex(member, false); + return result; } - - return rv; } static zval *row_prop_write(zend_object *object, zend_string *name, zval *value, void **cache_slot) @@ -2335,75 +2345,67 @@ static zval *row_prop_write(zend_object *object, zend_string *name, zval *value, static void row_dim_write(zend_object *object, zval *member, zval *value) { - zend_throw_error(NULL, "Cannot write to PDORow offset"); + if (!member) { + zend_throw_error(NULL, "Cannot append to PDORow offset"); + } else { + zend_throw_error(NULL, "Cannot write to PDORow offset"); + } } static int row_prop_exists(zend_object *object, zend_string *name, int check_empty, void **cache_slot) { pdo_row_t *row = (pdo_row_t *)object; pdo_stmt_t *stmt = row->stmt; - int colno = -1; zend_long lval; + zval tmp_val; + zval *retval = NULL; ZEND_ASSERT(stmt); - if (is_numeric_string(ZSTR_VAL(name), ZSTR_LEN(name), &lval, NULL, 0) == IS_LONG) { - return lval >=0 && lval < stmt->column_count; + if (is_numeric_str_function(name, &lval, /* dval */ NULL) == IS_LONG) { + retval = row_read_column_number(stmt, lval, &tmp_val); + } else { + retval = row_read_column_name(stmt, name, &tmp_val); } - /* TODO: replace this with a hash of available column names to column - * numbers */ - for (colno = 0; colno < stmt->column_count; colno++) { - if (zend_string_equals(stmt->columns[colno].name, name)) { - int res; - zval val; - - fetch_value(stmt, &val, colno, NULL); - res = check_empty ? i_zend_is_true(&val) : Z_TYPE(val) != IS_NULL; - zval_ptr_dtor_nogc(&val); - - return res; - } + if (!retval) { + return false; } - - return 0; + ZEND_ASSERT(retval == &tmp_val); + int res = check_empty ? i_zend_is_true(retval) : Z_TYPE(tmp_val) != IS_NULL; + zval_ptr_dtor_nogc(retval); + return res; } -static int row_dim_exists(zend_object *object, zval *member, int check_empty) +static int row_dim_exists(zend_object *object, zval *offset, int check_empty) { - pdo_row_t *row = (pdo_row_t *)object; - pdo_stmt_t *stmt = row->stmt; - int colno = -1; - zend_long lval; - ZEND_ASSERT(stmt); + if (Z_TYPE_P(offset) == IS_LONG) { + pdo_row_t *row = (pdo_row_t *)object; + pdo_stmt_t *stmt = row->stmt; + ZEND_ASSERT(stmt); + zend_long column = Z_LVAL_P(offset); - if (Z_TYPE_P(member) == IS_LONG) { - return Z_LVAL_P(member) >= 0 && Z_LVAL_P(member) < stmt->column_count; - } else if (Z_TYPE_P(member) == IS_STRING) { - if (is_numeric_string(Z_STRVAL_P(member), Z_STRLEN_P(member), &lval, NULL, 0) == IS_LONG) { - return lval >=0 && lval < stmt->column_count; + if (!check_empty) { + return column >= 0 && column < stmt->column_count; } + + zval tmp_val; + zval *retval = row_read_column_number(stmt, column, &tmp_val); + if (!retval) { + return false; + } + ZEND_ASSERT(retval == &tmp_val); + int res = check_empty ? i_zend_is_true(retval) : Z_TYPE(tmp_val) != IS_NULL; + zval_ptr_dtor_nogc(retval); + return res; } else { - if (!try_convert_to_string(member)) { + zend_string *member = zval_try_get_string(offset); + if (!member) { return 0; } + int result = row_prop_exists(object, member, check_empty, NULL); + zend_string_release_ex(member, false); + return result; } - - /* TODO: replace this with a hash of available column names to column - * numbers */ - for (colno = 0; colno < stmt->column_count; colno++) { - if (zend_string_equals(stmt->columns[colno].name, Z_STR_P(member))) { - int res; - zval val; - - fetch_value(stmt, &val, colno, NULL); - res = check_empty ? i_zend_is_true(&val) : Z_TYPE(val) != IS_NULL; - zval_ptr_dtor_nogc(&val); - - return res; - } - } - - return 0; } static void row_prop_delete(zend_object *object, zend_string *offset, void **cache_slot) diff --git a/ext/pdo/tests/pdo_035.phpt b/ext/pdo/tests/pdo_035.phpt new file mode 100644 index 0000000000000..05bf32ba9afb1 --- /dev/null +++ b/ext/pdo/tests/pdo_035.phpt @@ -0,0 +1,262 @@ +--TEST-- +PDO Common: PDORow + get_parent_class() +--EXTENSIONS-- +pdo +--SKIPIF-- + +--FILE-- +exec('CREATE TABLE ' . TABLE_NAME .' (id int, name varchar(10))'); +$db->exec('INSERT INTO ' . TABLE_NAME .' VALUES (23, \'0\')'); + +$stmt = $db->prepare('SELECT id, name FROM ' . TABLE_NAME); +$stmt->execute(); +$result = $stmt->fetch(PDO::FETCH_LAZY); + +var_dump($result); +var_dump(get_parent_class($result)); + +foreach ([0, "0", "id", "name", 1] as $offset) { + echo 'Offset: ', var_export($offset), PHP_EOL; + $offsetRef = &$offset; + + echo 'Dimension:', PHP_EOL; + echo 'Isset:', PHP_EOL; + var_dump(isset($result[$offset])); + var_dump(isset($result[$offsetRef])); + echo 'Empty:', PHP_EOL; + var_dump(empty($result[$offset])); + var_dump(empty($result[$offsetRef])); + echo 'Null coalesce:', PHP_EOL; + var_dump($result[$offset] ?? "default"); + var_dump($result[$offsetRef] ?? "default"); + echo 'Read:', PHP_EOL; + var_dump($result[$offset]); + var_dump($result[$offsetRef]); + echo 'Property:', PHP_EOL; + echo 'Isset:', PHP_EOL; + var_dump(isset($result->{$offset})); + var_dump(isset($result->{$offsetRef})); + echo 'Empty:', PHP_EOL; + var_dump(empty($result->{$offset})); + var_dump(empty($result->{$offsetRef})); + echo 'Null coalesce:', PHP_EOL; + var_dump($result->{$offset} ?? "default"); + var_dump($result->{$offsetRef} ?? "default"); + echo 'Read:', PHP_EOL; + var_dump($result->{$offset}); + var_dump($result->{$offsetRef}); +} + +echo 'Errors:', PHP_EOL; +try { + $result[0] = 1; +} catch (Error $e) { + echo $e->getMessage(), "\n"; +} +try { + $result[] = 1; +} catch (Error $e) { + echo $e->getMessage(), "\n"; +} +try { + $refResult = &$result[0]; +} catch (Error $e) { + echo $e->getMessage(), "\n"; +} +try { + $refResult = &$result[]; +} catch (Error $e) { + echo $e->getMessage(), "\n"; +} +try { + unset($result[0]); +} catch (Error $e) { + echo $e->getMessage(), "\n"; +} +try { + $result->foo = 1; +} catch (Error $e) { + echo $e->getMessage(), "\n"; +} +try { + unset($result->foo); +} catch (Error $e) { + echo $e->getMessage(), "\n"; +} + +?> +--CLEAN-- +setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_SILENT); + +const TABLE_NAME = 'test_pdo_35_pdo_row'; +$db->exec("DROP TABLE " . TABLE_NAME); +?> +--EXPECTF-- +object(PDORow)#3 (3) { + ["queryString"]=> + string(40) "SELECT id, name FROM test_pdo_35_pdo_row" + ["id"]=> + string(2) "23" + ["name"]=> + string(1) "0" +} +bool(false) +Offset: 0 +Dimension: +Isset: +bool(true) +bool(true) +Empty: +bool(false) +bool(false) +Null coalesce: +string(2) "23" +string(2) "23" +Read: +string(2) "23" +string(2) "23" +Property: +Isset: +bool(true) +bool(true) +Empty: +bool(false) +bool(false) +Null coalesce: +string(2) "23" +string(2) "23" +Read: +string(2) "23" +string(2) "23" +Offset: '0' +Dimension: +Isset: +bool(true) +bool(true) +Empty: +bool(false) +bool(false) +Null coalesce: +string(2) "23" +string(2) "23" +Read: +string(2) "23" +string(2) "23" +Property: +Isset: +bool(true) +bool(true) +Empty: +bool(false) +bool(false) +Null coalesce: +string(2) "23" +string(2) "23" +Read: +string(2) "23" +string(2) "23" +Offset: 'id' +Dimension: +Isset: +bool(true) +bool(true) +Empty: +bool(false) +bool(false) +Null coalesce: +string(2) "23" +string(2) "23" +Read: +string(2) "23" +string(2) "23" +Property: +Isset: +bool(true) +bool(true) +Empty: +bool(false) +bool(false) +Null coalesce: +string(2) "23" +string(2) "23" +Read: +string(2) "23" +string(2) "23" +Offset: 'name' +Dimension: +Isset: +bool(true) +bool(true) +Empty: +bool(true) +bool(true) +Null coalesce: +string(1) "0" +string(1) "0" +Read: +string(1) "0" +string(1) "0" +Property: +Isset: +bool(true) +bool(true) +Empty: +bool(true) +bool(true) +Null coalesce: +string(1) "0" +string(1) "0" +Read: +string(1) "0" +string(1) "0" +Offset: 1 +Dimension: +Isset: +bool(true) +bool(true) +Empty: +bool(true) +bool(true) +Null coalesce: +string(1) "0" +string(1) "0" +Read: +string(1) "0" +string(1) "0" +Property: +Isset: +bool(true) +bool(true) +Empty: +bool(true) +bool(true) +Null coalesce: +string(1) "0" +string(1) "0" +Read: +string(1) "0" +string(1) "0" +Errors: +Cannot write to PDORow offset +Cannot append to PDORow offset + +Notice: Indirect modification of overloaded element of PDORow has no effect in %s on line %d +Cannot append to PDORow offset +Cannot unset PDORow offset +Cannot write to PDORow property +Cannot unset PDORow property diff --git a/ext/pdo_sqlite/tests/pdo_035.phpt b/ext/pdo_sqlite/tests/pdo_035.phpt deleted file mode 100644 index ec723842f03bd..0000000000000 --- a/ext/pdo_sqlite/tests/pdo_035.phpt +++ /dev/null @@ -1,46 +0,0 @@ ---TEST-- -PDO Common: PDORow + get_parent_class() ---EXTENSIONS-- -pdo_sqlite ---FILE-- -exec('CREATE TABLE test (id int)'); -$db->exec('INSERT INTO test VALUES (23)'); - -$stmt = $db->prepare('SELECT id FROM test'); -$stmt->execute(); -$result = $stmt->fetch(PDO::FETCH_LAZY); - -echo get_class($result), "\n"; -var_dump(get_parent_class($result)); - -try { - $result->foo = 1; -} catch (Error $e) { - echo $e->getMessage(), "\n"; -} -try { - $result[0] = 1; -} catch (Error $e) { - echo $e->getMessage(), "\n"; -} -try { - unset($result->foo); -} catch (Error $e) { - echo $e->getMessage(), "\n"; -} -try { - unset($result[0]); -} catch (Error $e) { - echo $e->getMessage(), "\n"; -} - -?> ---EXPECT-- -PDORow -bool(false) -Cannot write to PDORow property -Cannot write to PDORow offset -Cannot unset PDORow property -Cannot unset PDORow offset From 552ea62e1f88ad09b8838992f332b3eccbef3ba4 Mon Sep 17 00:00:00 2001 From: Niels Dossche <7771979+nielsdos@users.noreply.github.com> Date: Mon, 26 Feb 2024 20:34:27 +0100 Subject: [PATCH 32/36] Fix GH-13517: Multiple test failures when building with --with-expat The reflection failure is because the XML extension is used to check the module dependency information, but that extension can be configured to not depend on ext/libxml, resulting in a different output. The solution is to check another extension instead. The test failures in ext/xml/tests are because of different behaviour between libxml2 and Expat error handling. These are expected differences and the solution is to split the tests. Closes GH-13522. --- NEWS | 3 + ext/reflection/tests/016.phpt | 8 +- ext/xml/tests/bug26614.inc | 73 ++++++++++++++++ ext/xml/tests/bug26614.phpt | 83 ++----------------- ext/xml/tests/bug26614_libxml_gte2_11.phpt | 77 +---------------- ext/xml/tests/bug26614_libxml_pre2_11.phpt | 77 +---------------- ext/xml/tests/bug46699.phpt | 4 +- ext/xml/tests/bug81351.phpt | 4 +- ext/xml/tests/libxml_expat_skipif.inc | 9 ++ ..._basic.phpt => xml_error_string_basic.inc} | 19 +---- .../tests/xml_error_string_basic_expat.phpt | 24 ++++++ .../tests/xml_error_string_basic_libxml.phpt | 24 ++++++ ...et_start_namespace_decl_handler_basic.inc} | 18 +--- ...rt_namespace_decl_handler_basic_expat.phpt | 29 +++++++ ...t_namespace_decl_handler_basic_libxml.phpt | 24 ++++++ 15 files changed, 209 insertions(+), 267 deletions(-) create mode 100644 ext/xml/tests/bug26614.inc create mode 100644 ext/xml/tests/libxml_expat_skipif.inc rename ext/xml/tests/{xml_error_string_basic.phpt => xml_error_string_basic.inc} (55%) create mode 100644 ext/xml/tests/xml_error_string_basic_expat.phpt create mode 100644 ext/xml/tests/xml_error_string_basic_libxml.phpt rename ext/xml/tests/{xml_set_start_namespace_decl_handler_basic.phpt => xml_set_start_namespace_decl_handler_basic.inc} (75%) create mode 100644 ext/xml/tests/xml_set_start_namespace_decl_handler_basic_expat.phpt create mode 100644 ext/xml/tests/xml_set_start_namespace_decl_handler_basic_libxml.phpt diff --git a/NEWS b/NEWS index 1564f031f0b2a..ab1364e0d330a 100644 --- a/NEWS +++ b/NEWS @@ -5,6 +5,9 @@ PHP NEWS - PDO: . Fix various PDORow bugs. (Girgias) +- XML: + . Fixed bug GH-13517 (Multiple test failures when building with + --with-expat). (nielsdos) 14 Mar 2024, PHP 8.2.17 diff --git a/ext/reflection/tests/016.phpt b/ext/reflection/tests/016.phpt index a606576708bd9..a1f7ca1a8aa3b 100644 --- a/ext/reflection/tests/016.phpt +++ b/ext/reflection/tests/016.phpt @@ -1,15 +1,17 @@ --TEST-- ReflectionExtension::getDependencies() --EXTENSIONS-- -xml +dom --FILE-- getDependencies(); var_dump($deps); ?> --EXPECT-- -array(1) { +array(2) { ["libxml"]=> string(8) "Required" + ["domxml"]=> + string(9) "Conflicts" } diff --git a/ext/xml/tests/bug26614.inc b/ext/xml/tests/bug26614.inc new file mode 100644 index 0000000000000..1b0c94edb9fbe --- /dev/null +++ b/ext/xml/tests/bug26614.inc @@ -0,0 +1,73 @@ + + + +'; + +// Case 2: replace some characters so that we get comments instead +$xmls["Comment"] =' + + +'; + +// Case 3: replace even more characters so that only textual data is left +$xmls["Text"] =' + +-!-- ATA[ +multi +line +CDATA +block +--- +'; + +function startElement($parser, $name, $attrs) { + printf("<$name> at line %d, col %d (byte %d)\n", + xml_get_current_line_number($parser), + xml_get_current_column_number($parser), + xml_get_current_byte_index($parser)); +} + +function endElement($parser, $name) { + printf(" at line %d, col %d (byte %d)\n", + xml_get_current_line_number($parser), + xml_get_current_column_number($parser), + xml_get_current_byte_index($parser)); +} + +function characterData($parser, $data) { + // dummy +} + +foreach ($xmls as $desc => $xml) { + echo "$desc\n"; + $xml_parser = xml_parser_create(); + xml_set_element_handler($xml_parser, "startElement", "endElement"); + xml_set_character_data_handler($xml_parser, "characterData"); + if (!xml_parse($xml_parser, $xml, true)) + echo "Error: ".xml_error_string(xml_get_error_code($xml_parser))."\n"; + xml_parser_free($xml_parser); +} diff --git a/ext/xml/tests/bug26614.phpt b/ext/xml/tests/bug26614.phpt index 846d9fc65317e..5fb9f9da4ccec 100644 --- a/ext/xml/tests/bug26614.phpt +++ b/ext/xml/tests/bug26614.phpt @@ -4,91 +4,20 @@ Bug #26614 (CDATA sections skipped on line count) xml --SKIPIF-- --FILE-- - - -'; - -// Case 2: replace some characters so that we get comments instead -$xmls["Comment"] =' - - -'; - -// Case 3: replace even more characters so that only textual data is left -$xmls["Text"] =' - --!-- ATA[ -multi -line -CDATA -block ---- -'; - -function startElement($parser, $name, $attrs) { - printf("<$name> at line %d, col %d (byte %d)\n", - xml_get_current_line_number($parser), - xml_get_current_column_number($parser), - xml_get_current_byte_index($parser)); -} - -function endElement($parser, $name) { - printf(" at line %d, col %d (byte %d)\n", - xml_get_current_line_number($parser), - xml_get_current_column_number($parser), - xml_get_current_byte_index($parser)); -} - -function characterData($parser, $data) { - // dummy -} - -foreach ($xmls as $desc => $xml) { - echo "$desc\n"; - $xml_parser = xml_parser_create(); - xml_set_element_handler($xml_parser, "startElement", "endElement"); - xml_set_character_data_handler($xml_parser, "characterData"); - if (!xml_parse($xml_parser, $xml, true)) - echo "Error: ".xml_error_string(xml_get_error_code($xml_parser))."\n"; - xml_parser_free($xml_parser); -} +require __DIR__ . '/bug26614.inc'; ?> --EXPECT-- CDATA at line 2, col 0 (byte 45) - at line 9, col 0 (byte 90) + at line 9, col 0 (byte 89) Comment at line 2, col 0 (byte 45) - at line 9, col 0 (byte 90) + at line 9, col 0 (byte 89) Text at line 2, col 0 (byte 45) - at line 9, col 0 (byte 90) + at line 9, col 0 (byte 89) diff --git a/ext/xml/tests/bug26614_libxml_gte2_11.phpt b/ext/xml/tests/bug26614_libxml_gte2_11.phpt index 9a81b67686d14..f494ddc4c50f9 100644 --- a/ext/xml/tests/bug26614_libxml_gte2_11.phpt +++ b/ext/xml/tests/bug26614_libxml_gte2_11.phpt @@ -4,84 +4,13 @@ Bug #26614 (CDATA sections skipped on line count) xml --SKIPIF-- = 2.11'); ?> --FILE-- - - -'; - -// Case 2: replace some characters so that we get comments instead -$xmls["Comment"] =' - - -'; - -// Case 3: replace even more characters so that only textual data is left -$xmls["Text"] =' - --!-- ATA[ -multi -line -CDATA -block ---- -'; - -function startElement($parser, $name, $attrs) { - printf("<$name> at line %d, col %d (byte %d)\n", - xml_get_current_line_number($parser), - xml_get_current_column_number($parser), - xml_get_current_byte_index($parser)); -} - -function endElement($parser, $name) { - printf(" at line %d, col %d (byte %d)\n", - xml_get_current_line_number($parser), - xml_get_current_column_number($parser), - xml_get_current_byte_index($parser)); -} - -function characterData($parser, $data) { - // dummy -} - -foreach ($xmls as $desc => $xml) { - echo "$desc\n"; - $xml_parser = xml_parser_create(); - xml_set_element_handler($xml_parser, "startElement", "endElement"); - xml_set_character_data_handler($xml_parser, "characterData"); - if (!xml_parse($xml_parser, $xml, true)) - echo "Error: ".xml_error_string(xml_get_error_code($xml_parser))."\n"; - xml_parser_free($xml_parser); -} +require __DIR__ . '/bug26614.inc'; ?> --EXPECTF-- CDATA diff --git a/ext/xml/tests/bug26614_libxml_pre2_11.phpt b/ext/xml/tests/bug26614_libxml_pre2_11.phpt index c581a08e9b8fb..c78f7088e7052 100644 --- a/ext/xml/tests/bug26614_libxml_pre2_11.phpt +++ b/ext/xml/tests/bug26614_libxml_pre2_11.phpt @@ -4,84 +4,13 @@ Bug #26614 (CDATA sections skipped on line count) xml --SKIPIF-- = 21100) die('skip libxml2 test variant for version < 2.11'); ?> --FILE-- - - -'; - -// Case 2: replace some characters so that we get comments instead -$xmls["Comment"] =' - - -'; - -// Case 3: replace even more characters so that only textual data is left -$xmls["Text"] =' - --!-- ATA[ -multi -line -CDATA -block ---- -'; - -function startElement($parser, $name, $attrs) { - printf("<$name> at line %d, col %d (byte %d)\n", - xml_get_current_line_number($parser), - xml_get_current_column_number($parser), - xml_get_current_byte_index($parser)); -} - -function endElement($parser, $name) { - printf(" at line %d, col %d (byte %d)\n", - xml_get_current_line_number($parser), - xml_get_current_column_number($parser), - xml_get_current_byte_index($parser)); -} - -function characterData($parser, $data) { - // dummy -} - -foreach ($xmls as $desc => $xml) { - echo "$desc\n"; - $xml_parser = xml_parser_create(); - xml_set_element_handler($xml_parser, "startElement", "endElement"); - xml_set_character_data_handler($xml_parser, "characterData"); - if (!xml_parse($xml_parser, $xml, true)) - echo "Error: ".xml_error_string(xml_get_error_code($xml_parser))."\n"; - xml_parser_free($xml_parser); -} +require __DIR__ . '/bug26614.inc'; ?> --EXPECTF-- CDATA diff --git a/ext/xml/tests/bug46699.phpt b/ext/xml/tests/bug46699.phpt index 9570ad9231d2e..b921ab39b7d31 100644 --- a/ext/xml/tests/bug46699.phpt +++ b/ext/xml/tests/bug46699.phpt @@ -27,8 +27,8 @@ xml_parser_set_option($parser,XML_OPTION_CASE_FOLDING,0); xml_parse($parser, $xml); xml_parser_free($parser); ?> ---EXPECT-- - +--EXPECTF-- + 1 2 diff --git a/ext/xml/tests/bug81351.phpt b/ext/xml/tests/bug81351.phpt index 7380a9a937008..319db2ee6877b 100644 --- a/ext/xml/tests/bug81351.phpt +++ b/ext/xml/tests/bug81351.phpt @@ -22,5 +22,5 @@ $error = xml_error_string($code); echo "xml_parse returned $success, xml_get_error_code = $code, xml_error_string = $error\r\n"; ?> --EXPECTF-- -xml_parse returned 1, xml_get_error_code = 0, xml_error_string = No error -%rxml_parse returned 0, xml_get_error_code = 5, xml_error_string = Invalid document end|xml_parse returned 0, xml_get_error_code = 77, xml_error_string = Tag not finished%r +xml_parse returned 1, xml_get_error_code = 0, xml_error_string = %S +%rxml_parse returned 0, xml_get_error_code = 5, xml_error_string = Invalid document end|xml_parse returned 0, xml_get_error_code = 3, xml_error_string = no element found|xml_parse returned 0, xml_get_error_code = 77, xml_error_string = Tag not finished%r diff --git a/ext/xml/tests/libxml_expat_skipif.inc b/ext/xml/tests/libxml_expat_skipif.inc new file mode 100644 index 0000000000000..f8c5ef83db0ad --- /dev/null +++ b/ext/xml/tests/libxml_expat_skipif.inc @@ -0,0 +1,9 @@ +', @@ -19,16 +14,4 @@ foreach ($xmls as $xml) { var_dump(xml_error_string(xml_get_error_code($xml_parser))); } xml_parser_free($xml_parser); -} -?> ---EXPECTF-- -int(%r5|77%r) -string(%d) %r"Invalid document end"|"Tag not finished"%r -int(47) -string(35) "Processing Instruction not finished" -int(57) -string(28) "XML declaration not finished" -int(64) -string(17) "Reserved XML Name" -int(76) -string(14) "Mismatched tag" +} \ No newline at end of file diff --git a/ext/xml/tests/xml_error_string_basic_expat.phpt b/ext/xml/tests/xml_error_string_basic_expat.phpt new file mode 100644 index 0000000000000..c095efa8e844e --- /dev/null +++ b/ext/xml/tests/xml_error_string_basic_expat.phpt @@ -0,0 +1,24 @@ +--TEST-- +xml_error_string() - Basic test on 5 error codes +--EXTENSIONS-- +xml +--SKIPIF-- + +--FILE-- + +--EXPECT-- +int(3) +string(16) "no element found" +int(4) +string(31) "not well-formed (invalid token)" +int(5) +string(14) "unclosed token" +int(30) +string(31) "XML declaration not well-formed" +int(7) +string(14) "mismatched tag" diff --git a/ext/xml/tests/xml_error_string_basic_libxml.phpt b/ext/xml/tests/xml_error_string_basic_libxml.phpt new file mode 100644 index 0000000000000..aafd005cb4a3c --- /dev/null +++ b/ext/xml/tests/xml_error_string_basic_libxml.phpt @@ -0,0 +1,24 @@ +--TEST-- +xml_error_string() - Basic test on 5 error codes +--EXTENSIONS-- +xml +--SKIPIF-- + +--FILE-- + +--EXPECTF-- +int(%r5|77%r) +string(%d) %r"Invalid document end"|"Tag not finished"%r +int(47) +string(35) "Processing Instruction not finished" +int(57) +string(28) "XML declaration not finished" +int(64) +string(17) "Reserved XML Name" +int(76) +string(14) "Mismatched tag" diff --git a/ext/xml/tests/xml_set_start_namespace_decl_handler_basic.phpt b/ext/xml/tests/xml_set_start_namespace_decl_handler_basic.inc similarity index 75% rename from ext/xml/tests/xml_set_start_namespace_decl_handler_basic.phpt rename to ext/xml/tests/xml_set_start_namespace_decl_handler_basic.inc index a13e0c22939b8..b27b5c0efeb48 100644 --- a/ext/xml/tests/xml_set_start_namespace_decl_handler_basic.phpt +++ b/ext/xml/tests/xml_set_start_namespace_decl_handler_basic.inc @@ -1,8 +1,3 @@ ---TEST-- -Test xml_set_start_namespace_decl_handler function: basic ---EXTENSIONS-- -xml ---FILE-- ' ); -} -?> ---EXPECT-- -bool(true) -bool(true) -Namespace_Start_Handler called -...Prefix: aw1 -...Uri: http://www.somewhere.com/namespace1 -Namespace_Start_Handler called -...Prefix: aw2 -...Uri: file:/DTD/somewhere.dtd -Done +} \ No newline at end of file diff --git a/ext/xml/tests/xml_set_start_namespace_decl_handler_basic_expat.phpt b/ext/xml/tests/xml_set_start_namespace_decl_handler_basic_expat.phpt new file mode 100644 index 0000000000000..34babe4d30f67 --- /dev/null +++ b/ext/xml/tests/xml_set_start_namespace_decl_handler_basic_expat.phpt @@ -0,0 +1,29 @@ +--TEST-- +Test xml_set_start_namespace_decl_handler function: basic +--EXTENSIONS-- +xml +--SKIPIF-- + +--FILE-- + +--EXPECT-- +bool(true) +bool(true) +Namespace_Start_Handler called +...Prefix: aw1 +...Uri: http://www.somewhere.com/namespace1 +Namespace_Start_Handler called +...Prefix: aw2 +...Uri: file:/DTD/somewhere.dtd +Namespace_End_Handler called +...Prefix: aw2 + +Namespace_End_Handler called +...Prefix: aw1 + +Done diff --git a/ext/xml/tests/xml_set_start_namespace_decl_handler_basic_libxml.phpt b/ext/xml/tests/xml_set_start_namespace_decl_handler_basic_libxml.phpt new file mode 100644 index 0000000000000..ff6057c075d55 --- /dev/null +++ b/ext/xml/tests/xml_set_start_namespace_decl_handler_basic_libxml.phpt @@ -0,0 +1,24 @@ +--TEST-- +Test xml_set_start_namespace_decl_handler function: basic +--EXTENSIONS-- +xml +--SKIPIF-- + +--FILE-- + +--EXPECT-- +bool(true) +bool(true) +Namespace_Start_Handler called +...Prefix: aw1 +...Uri: http://www.somewhere.com/namespace1 +Namespace_Start_Handler called +...Prefix: aw2 +...Uri: file:/DTD/somewhere.dtd +Done From 3d4b36fc9c172e3fb1e48fc3cf2df5f4757816c0 Mon Sep 17 00:00:00 2001 From: Jakub Zelenka Date: Tue, 27 Feb 2024 20:56:55 +0000 Subject: [PATCH 33/36] CI: Continue on error if Caddy download fails Closes GH-13542 --- .github/actions/setup-caddy/action.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/actions/setup-caddy/action.yml b/.github/actions/setup-caddy/action.yml index e2a52c44b36e0..ba89cae4ecc54 100644 --- a/.github/actions/setup-caddy/action.yml +++ b/.github/actions/setup-caddy/action.yml @@ -10,3 +10,4 @@ runs: gh release -R caddyserver/caddy download --pattern 'caddy_*_linux_amd64.tar.gz' -O - | sudo tar -xz -C /usr/bin caddy sudo chmod +x /usr/bin/caddy sudo caddy start --config ext/curl/tests/Caddyfile + continue-on-error: true From 8494058a1f09bba8a1984b2e9d2e34ac2da01c70 Mon Sep 17 00:00:00 2001 From: Niels Dossche <7771979+nielsdos@users.noreply.github.com> Date: Tue, 27 Feb 2024 22:09:06 +0100 Subject: [PATCH 34/36] Fix GH-13531: Unable to resize SplfixedArray after being unserialized in PHP 8.2.15 When unserializing, the cached_resize field was not reset to -1 correctly, causing the setSize() method to think we were inside of a resize operation. Closes GH-13543. --- NEWS | 4 ++++ ext/spl/spl_fixedarray.c | 3 ++- ext/spl/tests/gh13531.phpt | 28 ++++++++++++++++++++++++++++ 3 files changed, 34 insertions(+), 1 deletion(-) create mode 100644 ext/spl/tests/gh13531.phpt diff --git a/NEWS b/NEWS index ab1364e0d330a..ad388c3562339 100644 --- a/NEWS +++ b/NEWS @@ -5,6 +5,10 @@ PHP NEWS - PDO: . Fix various PDORow bugs. (Girgias) +- SPL: + . Fixed bug GH-13531 (Unable to resize SplfixedArray after being unserialized + in PHP 8.2.15). (nielsdos) + - XML: . Fixed bug GH-13517 (Multiple test failures when building with --with-expat). (nielsdos) diff --git a/ext/spl/spl_fixedarray.c b/ext/spl/spl_fixedarray.c index 14ae7032568a7..7c08a189c6fcf 100644 --- a/ext/spl/spl_fixedarray.c +++ b/ext/spl/spl_fixedarray.c @@ -91,6 +91,7 @@ static void spl_fixedarray_default_ctor(spl_fixedarray *array) { array->size = 0; array->elements = NULL; + array->cached_resize = -1; } /* Initializes the range [from, to) to null. Does not dtor existing elements. */ @@ -110,6 +111,7 @@ static void spl_fixedarray_init_non_empty_struct(spl_fixedarray *array, zend_lon array->elements = size ? safe_emalloc(size, sizeof(zval), 0) : NULL; array->size = size; array->should_rebuild_properties = true; + array->cached_resize = -1; } static void spl_fixedarray_init(spl_fixedarray *array, zend_long size) @@ -120,7 +122,6 @@ static void spl_fixedarray_init(spl_fixedarray *array, zend_long size) } else { spl_fixedarray_default_ctor(array); } - array->cached_resize = -1; } /* Copies the range [begin, end) into the fixedarray, beginning at `offset`. diff --git a/ext/spl/tests/gh13531.phpt b/ext/spl/tests/gh13531.phpt new file mode 100644 index 0000000000000..46503ccf22a63 --- /dev/null +++ b/ext/spl/tests/gh13531.phpt @@ -0,0 +1,28 @@ +--TEST-- +GH-13531 (Unable to resize SplfixedArray after being unserialized in PHP 8.2.15) +--FILE-- +setSize(6); +var_dump($unserialized); + +?> +--EXPECT-- +object(SplFixedArray)#2 (6) { + [0]=> + NULL + [1]=> + NULL + [2]=> + NULL + [3]=> + NULL + [4]=> + int(1) + [5]=> + NULL +} From 330b26e04c12373610bb16472807447f55779a2e Mon Sep 17 00:00:00 2001 From: Jakub Zelenka Date: Tue, 27 Feb 2024 23:03:19 +0000 Subject: [PATCH 35/36] Revert "Fix GH-13519: PGSQL_CONNECT_FORCE_RENEW with persistent connections." This reverts commit b9a9790be0657249fa5e6687883b43570b0a3f1f. --- NEWS | 2 -- ext/pgsql/pgsql.c | 7 ------- ext/pgsql/tests/gh13519.phpt | 30 ------------------------------ 3 files changed, 39 deletions(-) delete mode 100644 ext/pgsql/tests/gh13519.phpt diff --git a/NEWS b/NEWS index ad388c3562339..fa1a89dd1b063 100644 --- a/NEWS +++ b/NEWS @@ -44,8 +44,6 @@ PHP NEWS - PGSQL: . Fixed bug GH-13354 (pg_execute/pg_send_query_params/pg_send_execute with null value passed by reference). (George Barbarosie) - . Fixed bug GH-13519 (PGSQL_CONNECT_FORCE_RENEW not working with persistent - connections. (David Carlier) - Standard: . Fixed array key as hash to string (case insensitive) comparison typo diff --git a/ext/pgsql/pgsql.c b/ext/pgsql/pgsql.c index 9b2488a5eb889..6e04848bdea0b 100644 --- a/ext/pgsql/pgsql.c +++ b/ext/pgsql/pgsql.c @@ -562,7 +562,6 @@ static void php_pgsql_do_connect(INTERNAL_FUNCTION_PARAMETERS, int persistent) /* try to find if we already have this link in our persistent list */ if ((le = zend_hash_find_ptr(&EG(persistent_list), str.s)) == NULL) { /* we don't */ -newpconn: if (PGG(max_links) != -1 && PGG(num_links) >= PGG(max_links)) { php_error_docref(NULL, E_WARNING, "Cannot create new link. Too many open links (" ZEND_LONG_FMT ")", PGG(num_links)); @@ -591,12 +590,6 @@ static void php_pgsql_do_connect(INTERNAL_FUNCTION_PARAMETERS, int persistent) PGG(num_links)++; PGG(num_persistent)++; } else { /* we do */ - if ((connect_type & PGSQL_CONNECT_FORCE_NEW)) { - if (zend_hash_del(&EG(persistent_list), str.s) != SUCCESS) { - goto err; - } - goto newpconn; - } if (le->type != le_plink) { goto err; } diff --git a/ext/pgsql/tests/gh13519.phpt b/ext/pgsql/tests/gh13519.phpt deleted file mode 100644 index 17379cdacce71..0000000000000 --- a/ext/pgsql/tests/gh13519.phpt +++ /dev/null @@ -1,30 +0,0 @@ ---TEST-- -GH-13519 - PGSQL_CONNECT_FORCE_NEW with persistent connections. ---EXTENSIONS-- -pgsql ---SKIPIF-- - ---FILE-- - ---EXPECT-- -bool(true) -bool(true) -bool(true) -bool(false) -bool(false) -bool(false) From 5cba2a3dc59ef2a0e432b05ab27f2b3ab4da48d0 Mon Sep 17 00:00:00 2001 From: Jakub Zelenka Date: Tue, 12 Mar 2024 23:41:13 +0000 Subject: [PATCH 36/36] Update versions for PHP 8.3.4 --- NEWS | 2 +- Zend/zend.h | 2 +- configure.ac | 2 +- main/php_version.h | 4 ++-- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/NEWS b/NEWS index 70894828371bd..9269a9b96fcba 100644 --- a/NEWS +++ b/NEWS @@ -1,6 +1,6 @@ PHP NEWS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| -?? ??? ????, PHP 8.3.4 +14 Mar 2024, PHP 8.3.4 - Core: . Fix ZTS persistent resource crashes on shutdown. (nielsdos) diff --git a/Zend/zend.h b/Zend/zend.h index 0d574976542bf..4331889ac1883 100644 --- a/Zend/zend.h +++ b/Zend/zend.h @@ -20,7 +20,7 @@ #ifndef ZEND_H #define ZEND_H -#define ZEND_VERSION "4.3.4-dev" +#define ZEND_VERSION "4.3.4" #define ZEND_ENGINE_3 diff --git a/configure.ac b/configure.ac index 12383bfea1a9c..17213efe30799 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.3.4-dev],[https://github.com/php/php-src/issues],[php],[https://www.php.net]) +AC_INIT([PHP],[8.3.4],[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 2093b37395a45..fd2f1973a4c29 100644 --- a/main/php_version.h +++ b/main/php_version.h @@ -3,6 +3,6 @@ #define PHP_MAJOR_VERSION 8 #define PHP_MINOR_VERSION 3 #define PHP_RELEASE_VERSION 4 -#define PHP_EXTRA_VERSION "-dev" -#define PHP_VERSION "8.3.4-dev" +#define PHP_EXTRA_VERSION "" +#define PHP_VERSION "8.3.4" #define PHP_VERSION_ID 80304