summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@zend.com>2014-06-18 17:50:27 +0400
committerDmitry Stogov <dmitry@zend.com>2014-06-18 17:50:27 +0400
commitb108267f2c5c09bd153cfb1d4e580d5fc9c52d51 (patch)
treebbd4314f096a68cf4ce3a37e35f36ab1b0e641f5
parenta4f38192ecbbc7ece3a6070b8bac4468e890f476 (diff)
parenteba7c7768553d67d37488f844847d51ec358efff (diff)
downloadphp-git-b108267f2c5c09bd153cfb1d4e580d5fc9c52d51.tar.gz
Merge branch 'master' into phpng
* master: (41 commits) Update copyright year to 2014 Update copyright year to 2014 Update copyright year to 2014 Update copyright year to 2014 Update copyright year to 2014 Update copyright year to 2014 Update copyright year to 2014 NEWS Fix Request #67453 Allow to unserialize empty data. Update copyright year to 2014 Update copyright year for re2c generated files Update copyright year to 2014 Update copyright year for re2c files as well Fix patch for bug #67436 fix failed test Fix test on modern distro where old unsecure algo are disabled in openssl config. Testing recent algo should be enough to check this function. Added tests for bug 67436 Fixed wrong XFAIL test - already fixed Fix typo in Bug #67406 NEWS entry Fix typo in Bug #67406 NEWS entry ... Conflicts: Zend/zend_compile.c ext/session/session.c ext/standard/array.c ext/standard/http_fopen_wrapper.c tests/classes/bug63462.phpt
-rw-r--r--LICENSE2
-rw-r--r--Zend/tests/bug67436/a.php10
-rw-r--r--Zend/tests/bug67436/b.php8
-rw-r--r--Zend/tests/bug67436/bug67436.phpt26
-rw-r--r--Zend/tests/bug67436/bug67436_nohandler.phpt24
-rw-r--r--Zend/tests/bug67436/c.php5
-rw-r--r--Zend/zend_compile.c32
-rw-r--r--ext/date/lib/parse_date.c2
-rw-r--r--ext/date/lib/timezonedb.h1310
-rw-r--r--ext/date/tests/bug41523.phpt2
-rw-r--r--ext/oci8/LICENSE2
-rw-r--r--ext/openssl/tests/openssl_spki_verify.phpt16
-rw-r--r--ext/pdo/pdo_sql_parser.c2
-rw-r--r--ext/pdo/pdo_sql_parser.re2
-rw-r--r--ext/session/session.c11
-rw-r--r--ext/sockets/sendrecvmsg.c2
-rw-r--r--ext/sockets/windows_common.h2
-rw-r--r--ext/spl/spl_array.c1
-rw-r--r--ext/spl/spl_dllist.c1
-rw-r--r--ext/spl/spl_observer.c1
-rw-r--r--ext/spl/tests/ArrayObject_unserialize_empty_string.phpt9
-rw-r--r--ext/spl/tests/SplObjectStorage_unserialize_invalid_parameter3.phpt6
-rw-r--r--ext/standard/array.c2
-rw-r--r--ext/standard/head.c12
-rw-r--r--ext/standard/head.h7
-rw-r--r--ext/standard/http_fopen_wrapper.c5
-rw-r--r--ext/standard/tests/general_functions/header_redirection_001.phpt11
-rw-r--r--ext/standard/tests/general_functions/header_redirection_002.phpt12
-rw-r--r--ext/standard/tests/general_functions/header_redirection_003.phpt11
-rw-r--r--ext/standard/tests/general_functions/header_redirection_004.phpt11
-rw-r--r--ext/standard/tests/general_functions/header_redirection_005.phpt12
-rw-r--r--ext/standard/tests/general_functions/header_redirection_006.phpt12
-rw-r--r--ext/standard/tests/general_functions/header_redirection_007.phpt12
-rw-r--r--ext/standard/tests/general_functions/header_redirection_008.phpt12
-rw-r--r--ext/standard/tests/general_functions/header_redirection_009.phpt12
-rw-r--r--ext/standard/tests/general_functions/header_redirection_010.phpt12
-rw-r--r--ext/standard/tests/general_functions/header_redirection_011.phpt12
-rw-r--r--ext/standard/tests/general_functions/header_redirection_012.phpt12
-rw-r--r--ext/standard/tests/general_functions/header_redirection_013.phpt12
-rw-r--r--ext/standard/tests/general_functions/header_redirection_014.phpt12
-rw-r--r--ext/standard/tests/http/bug67430.phpt49
-rw-r--r--ext/standard/tests/network/setcookie.phpt2
-rw-r--r--ext/standard/url_scanner_ex.c2
-rw-r--r--ext/standard/url_scanner_ex.re2
-rw-r--r--ext/standard/var_unserializer.c2
-rw-r--r--ext/standard/var_unserializer.re2
-rw-r--r--header2
-rw-r--r--main/SAPI.c2
-rw-r--r--sapi/cli/php.1.in4
-rw-r--r--sapi/cli/php_cli_server.c2
-rw-r--r--sapi/cli/tests/bug67429.phpt49
-rw-r--r--sapi/continuity/capi.c2
-rw-r--r--sapi/phpdbg/.travis.yml11
-rw-r--r--sapi/phpdbg/config.m41
-rw-r--r--sapi/phpdbg/phpdbg_btree.c2
-rw-r--r--sapi/phpdbg/phpdbg_btree.h2
-rw-r--r--sapi/phpdbg/phpdbg_utils.c9
-rw-r--r--sapi/phpdbg/phpdbg_utils.h20
-rw-r--r--sapi/phpdbg/tests/run-tests.php22
-rwxr-xr-xsapi/phpdbg/travis/ci.sh5
-rw-r--r--tests/classes/bug63462.phpt6
-rw-r--r--win32/build/template.rc2
62 files changed, 1111 insertions, 756 deletions
diff --git a/LICENSE b/LICENSE
index 42536af320..6059c80e12 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,6 +1,6 @@
--------------------------------------------------------------------
The PHP License, version 3.01
-Copyright (c) 1999 - 2012 The PHP Group. All rights reserved.
+Copyright (c) 1999 - 2014 The PHP Group. All rights reserved.
--------------------------------------------------------------------
Redistribution and use in source and binary forms, with or without
diff --git a/Zend/tests/bug67436/a.php b/Zend/tests/bug67436/a.php
new file mode 100644
index 0000000000..c560c2db7d
--- /dev/null
+++ b/Zend/tests/bug67436/a.php
@@ -0,0 +1,10 @@
+<?php
+
+class a {
+ public function test($arg = c::TESTCONSTANT) {
+ echo __METHOD__ . "($arg)\n";
+ }
+
+ static public function staticTest() {
+ }
+}
diff --git a/Zend/tests/bug67436/b.php b/Zend/tests/bug67436/b.php
new file mode 100644
index 0000000000..793a1394d6
--- /dev/null
+++ b/Zend/tests/bug67436/b.php
@@ -0,0 +1,8 @@
+<?php
+
+class b extends a {
+ public function test() {
+ echo __METHOD__ . "()\n";
+ parent::test();
+ }
+}
diff --git a/Zend/tests/bug67436/bug67436.phpt b/Zend/tests/bug67436/bug67436.phpt
new file mode 100644
index 0000000000..49b8b491d2
--- /dev/null
+++ b/Zend/tests/bug67436/bug67436.phpt
@@ -0,0 +1,26 @@
+--TEST--
+bug67436: Autoloader isn't called if user defined error handler is present
+
+--INI--
+error_reporting=
+
+--FILE--
+<?php
+
+spl_autoload_register(function($classname) {
+ if (in_array($classname, array('a','b','c'))) {
+ require_once ($classname . '.php');
+ }
+});
+
+set_error_handler(function ($errno, $errstr, $errfile, $errline) {
+}, error_reporting());
+
+a::staticTest();
+
+$b = new b();
+$b->test();
+
+--EXPECT--
+b::test()
+a::test(c::TESTCONSTANT)
diff --git a/Zend/tests/bug67436/bug67436_nohandler.phpt b/Zend/tests/bug67436/bug67436_nohandler.phpt
new file mode 100644
index 0000000000..464f711532
--- /dev/null
+++ b/Zend/tests/bug67436/bug67436_nohandler.phpt
@@ -0,0 +1,24 @@
+--TEST--
+bug67436: E_STRICT instead of custom error handler
+
+--INI--
+error_reporting=-1
+
+--FILE--
+<?php
+
+spl_autoload_register(function($classname) {
+ if (in_array($classname, array('a','b','c'))) {
+ require_once ($classname . '.php');
+ }
+});
+
+a::staticTest();
+
+$b = new b();
+$b->test();
+
+--EXPECTF--
+Strict Standards: Declaration of b::test() should be compatible with a::test($arg = c::TESTCONSTANT) in %s/bug67436/b.php on line %d
+b::test()
+a::test(c::TESTCONSTANT)
diff --git a/Zend/tests/bug67436/c.php b/Zend/tests/bug67436/c.php
new file mode 100644
index 0000000000..47c848bfa0
--- /dev/null
+++ b/Zend/tests/bug67436/c.php
@@ -0,0 +1,5 @@
+<?php
+
+class c {
+ const TESTCONSTANT = "c::TESTCONSTANT";
+}
diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c
index d414a46a5c..c6116693b7 100644
--- a/Zend/zend_compile.c
+++ b/Zend/zend_compile.c
@@ -3461,41 +3461,45 @@ static char * zend_get_function_declaration(zend_function *fptr TSRMLS_DC) /* {{
}
}
if (precv && precv->opcode == ZEND_RECV_INIT && precv->op2_type != IS_UNUSED) {
- zval zv;
+ zval *zv = precv->op2.zv;
- ZVAL_DUP(&zv, precv->op2.zv);
- zval_update_constant_ex(&zv, 1, fptr->common.scope TSRMLS_CC);
- if (Z_TYPE(zv) == IS_FALSE) {
+ if (Z_TYPE_P(zv) == IS_CONSTANT) {
+ REALLOC_BUF_IF_EXCEED(buf, offset, length, Z_STRLEN_P(zv));
+ memcpy(offset, Z_STRVAL_P(zv), Z_STRLEN_P(zv));
+ offset += Z_STRLEN_P(zv);
+ } else if (Z_TYPE_P(zv) == IS_FALSE) {
memcpy(offset, "false", 5);
offset += 5;
- } else if (Z_TYPE(zv) == IS_TRUE) {
+ } else if (Z_TYPE_P(zv) == IS_TRUE) {
memcpy(offset, "true", 4);
offset += 4;
- } else if (Z_TYPE(zv) == IS_NULL) {
+ } else if (Z_TYPE_P(zv) == IS_NULL) {
memcpy(offset, "NULL", 4);
offset += 4;
- } else if (Z_TYPE(zv) == IS_STRING) {
+ } else if (Z_TYPE_P(zv) == IS_STRING) {
*(offset++) = '\'';
- REALLOC_BUF_IF_EXCEED(buf, offset, length, MIN(Z_STRLEN(zv), 10));
- memcpy(offset, Z_STRVAL(zv), MIN(Z_STRLEN(zv), 10));
- offset += MIN(Z_STRLEN(zv), 10);
- if (Z_STRLEN(zv) > 10) {
+ REALLOC_BUF_IF_EXCEED(buf, offset, length, MIN(Z_STRLEN_P(zv), 10));
+ memcpy(offset, Z_STRVAL_P(zv), MIN(Z_STRLEN_P(zv), 10));
+ offset += MIN(Z_STRLEN_P(zv), 10);
+ if (Z_STRLEN_P(zv) > 10) {
*(offset++) = '.';
*(offset++) = '.';
*(offset++) = '.';
}
*(offset++) = '\'';
- } else if (Z_TYPE(zv) == IS_ARRAY) {
+ } else if (Z_TYPE_P(zv) == IS_ARRAY) {
memcpy(offset, "Array", 5);
offset += 5;
+ } else if (Z_TYPE_P(zv) == IS_CONSTANT_AST) {
+ memcpy(offset, "<expression>", 12);
+ offset += 12;
} else {
- zend_string *str = zval_get_string(&zv);
+ zend_string *str = zval_get_string(zv);
REALLOC_BUF_IF_EXCEED(buf, offset, length, str->len);
memcpy(offset, str->val, str->len);
offset += str->len;
STR_RELEASE(str);
}
- zval_ptr_dtor(&zv);
}
} else {
memcpy(offset, "NULL", 4);
diff --git a/ext/date/lib/parse_date.c b/ext/date/lib/parse_date.c
index 348482c0e4..6174756881 100644
--- a/ext/date/lib/parse_date.c
+++ b/ext/date/lib/parse_date.c
@@ -4,7 +4,7 @@
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
- | Copyright (c) 1997-2013 The PHP Group |
+ | Copyright (c) 1997-2014 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
diff --git a/ext/date/lib/timezonedb.h b/ext/date/lib/timezonedb.h
index da6749c516..c270eeb807 100644
--- a/ext/date/lib/timezonedb.h
+++ b/ext/date/lib/timezonedb.h
@@ -13,575 +13,575 @@ const timelib_tzdb_index_entry timezonedb_idx_builtin[580] = {
{ "Africa/Brazzaville" , 0x00051C },
{ "Africa/Bujumbura" , 0x000571 },
{ "Africa/Cairo" , 0x0005B5 },
- { "Africa/Casablanca" , 0x0009A4 },
- { "Africa/Ceuta" , 0x000C06 },
- { "Africa/Conakry" , 0x000F0D },
- { "Africa/Dakar" , 0x000F78 },
- { "Africa/Dar_es_Salaam" , 0x000FDE },
- { "Africa/Djibouti" , 0x00104B },
- { "Africa/Douala" , 0x0010A0 },
- { "Africa/El_Aaiun" , 0x0010F5 },
- { "Africa/Freetown" , 0x001320 },
- { "Africa/Gaborone" , 0x00142F },
- { "Africa/Harare" , 0x00149C },
- { "Africa/Johannesburg" , 0x0014F1 },
- { "Africa/Juba" , 0x00155F },
- { "Africa/Kampala" , 0x001672 },
- { "Africa/Khartoum" , 0x0016F1 },
- { "Africa/Kigali" , 0x001804 },
- { "Africa/Kinshasa" , 0x001859 },
- { "Africa/Lagos" , 0x0018B4 },
- { "Africa/Libreville" , 0x001909 },
- { "Africa/Lome" , 0x00195E },
- { "Africa/Luanda" , 0x0019A2 },
- { "Africa/Lubumbashi" , 0x0019F7 },
- { "Africa/Lusaka" , 0x001A52 },
- { "Africa/Malabo" , 0x001AA7 },
- { "Africa/Maputo" , 0x001B0D },
- { "Africa/Maseru" , 0x001B62 },
- { "Africa/Mbabane" , 0x001BCA },
- { "Africa/Mogadishu" , 0x001C20 },
- { "Africa/Monrovia" , 0x001C7B },
- { "Africa/Nairobi" , 0x001CE1 },
- { "Africa/Ndjamena" , 0x001D60 },
- { "Africa/Niamey" , 0x001DCC },
- { "Africa/Nouakchott" , 0x001E3F },
- { "Africa/Ouagadougou" , 0x001EAA },
- { "Africa/Porto-Novo" , 0x001EFF },
- { "Africa/Sao_Tome" , 0x001F65 },
- { "Africa/Timbuktu" , 0x001FBA },
- { "Africa/Tripoli" , 0x002025 },
- { "Africa/Tunis" , 0x00212E },
- { "Africa/Windhoek" , 0x002240 },
- { "America/Adak" , 0x002487 },
- { "America/Anchorage" , 0x0027FD },
- { "America/Anguilla" , 0x002B71 },
- { "America/Antigua" , 0x002BC6 },
- { "America/Araguaina" , 0x002C2C },
- { "America/Argentina/Buenos_Aires" , 0x002D91 },
- { "America/Argentina/Catamarca" , 0x002F3F },
- { "America/Argentina/ComodRivadavia" , 0x003100 },
- { "America/Argentina/Cordoba" , 0x0032A6 },
- { "America/Argentina/Jujuy" , 0x00347B },
- { "America/Argentina/La_Rioja" , 0x00362F },
- { "America/Argentina/Mendoza" , 0x0037E7 },
- { "America/Argentina/Rio_Gallegos" , 0x0039A7 },
- { "America/Argentina/Salta" , 0x003B5C },
- { "America/Argentina/San_Juan" , 0x003D08 },
- { "America/Argentina/San_Luis" , 0x003EC0 },
- { "America/Argentina/Tucuman" , 0x004086 },
- { "America/Argentina/Ushuaia" , 0x004242 },
- { "America/Aruba" , 0x0043FD },
- { "America/Asuncion" , 0x004463 },
- { "America/Atikokan" , 0x004748 },
- { "America/Atka" , 0x00481E },
- { "America/Bahia" , 0x004B84 },
- { "America/Bahia_Banderas" , 0x004D17 },
- { "America/Barbados" , 0x004F90 },
- { "America/Belem" , 0x00502A },
- { "America/Belize" , 0x005125 },
- { "America/Blanc-Sablon" , 0x0052A1 },
- { "America/Boa_Vista" , 0x005355 },
- { "America/Bogota" , 0x00545E },
- { "America/Boise" , 0x0054CA },
- { "America/Buenos_Aires" , 0x005861 },
- { "America/Cambridge_Bay" , 0x0059FA },
- { "America/Campo_Grande" , 0x005D22 },
- { "America/Cancun" , 0x006011 },
- { "America/Caracas" , 0x006253 },
- { "America/Catamarca" , 0x0062BA },
- { "America/Cayenne" , 0x006460 },
- { "America/Cayman" , 0x0064C2 },
- { "America/Chicago" , 0x006517 },
- { "America/Chihuahua" , 0x006A2E },
- { "America/Coral_Harbour" , 0x006C99 },
- { "America/Cordoba" , 0x006D2B },
- { "America/Costa_Rica" , 0x006ED1 },
- { "America/Creston" , 0x006F5B },
- { "America/Cuiaba" , 0x006FE7 },
- { "America/Curacao" , 0x0072C5 },
- { "America/Danmarkshavn" , 0x00732B },
- { "America/Dawson" , 0x00746F },
- { "America/Dawson_Creek" , 0x00778C },
- { "America/Denver" , 0x007966 },
- { "America/Detroit" , 0x007CEC },
- { "America/Dominica" , 0x00804B },
- { "America/Edmonton" , 0x0080A0 },
- { "America/Eirunepe" , 0x008458 },
- { "America/El_Salvador" , 0x008570 },
- { "America/Ensenada" , 0x0085E5 },
- { "America/Fort_Wayne" , 0x008A8C },
- { "America/Fortaleza" , 0x00894E },
- { "America/Glace_Bay" , 0x008CF6 },
- { "America/Godthab" , 0x00906D },
- { "America/Goose_Bay" , 0x009331 },
- { "America/Grand_Turk" , 0x0097EE },
- { "America/Grenada" , 0x009A9D },
- { "America/Guadeloupe" , 0x009AF2 },
- { "America/Guatemala" , 0x009B47 },
- { "America/Guayaquil" , 0x009BD0 },
- { "America/Guyana" , 0x009C2D },
- { "America/Halifax" , 0x009CAE },
- { "America/Havana" , 0x00A1C4 },
- { "America/Hermosillo" , 0x00A537 },
- { "America/Indiana/Indianapolis" , 0x00A615 },
- { "America/Indiana/Knox" , 0x00A8A6 },
- { "America/Indiana/Marengo" , 0x00AC3D },
- { "America/Indiana/Petersburg" , 0x00AEE3 },
- { "America/Indiana/Tell_City" , 0x00B430 },
- { "America/Indiana/Vevay" , 0x00B6C9 },
- { "America/Indiana/Vincennes" , 0x00B904 },
- { "America/Indiana/Winamac" , 0x00BBB8 },
- { "America/Indianapolis" , 0x00B1C6 },
- { "America/Inuvik" , 0x00BE71 },
- { "America/Iqaluit" , 0x00C168 },
- { "America/Jamaica" , 0x00C48A },
- { "America/Jujuy" , 0x00C54F },
- { "America/Juneau" , 0x00C6F9 },
- { "America/Kentucky/Louisville" , 0x00CA77 },
- { "America/Kentucky/Monticello" , 0x00CE95 },
- { "America/Knox_IN" , 0x00D21A },
- { "America/Kralendijk" , 0x00D58B },
- { "America/La_Paz" , 0x00D5F1 },
- { "America/Lima" , 0x00D658 },
- { "America/Los_Angeles" , 0x00D700 },
- { "America/Louisville" , 0x00DB11 },
- { "America/Lower_Princes" , 0x00DF06 },
- { "America/Maceio" , 0x00DF6C },
- { "America/Managua" , 0x00E0A6 },
- { "America/Manaus" , 0x00E159 },
- { "America/Marigot" , 0x00E25B },
- { "America/Martinique" , 0x00E2B0 },
- { "America/Matamoros" , 0x00E31C },
- { "America/Mazatlan" , 0x00E575 },
- { "America/Mendoza" , 0x00E7E2 },
- { "America/Menominee" , 0x00E996 },
- { "America/Merida" , 0x00ED17 },
- { "America/Metlakatla" , 0x00EF52 },
- { "America/Mexico_City" , 0x00F08C },
- { "America/Miquelon" , 0x00F307 },
- { "America/Moncton" , 0x00F579 },
- { "America/Monterrey" , 0x00FA10 },
- { "America/Montevideo" , 0x00FC73 },
- { "America/Montreal" , 0x00FF85 },
- { "America/Montserrat" , 0x010475 },
- { "America/Nassau" , 0x0104CA },
- { "America/New_York" , 0x01080F },
- { "America/Nipigon" , 0x010D1A },
- { "America/Nome" , 0x01106B },
- { "America/Noronha" , 0x0113E9 },
- { "America/North_Dakota/Beulah" , 0x011519 },
- { "America/North_Dakota/Center" , 0x0118AD },
- { "America/North_Dakota/New_Salem" , 0x011C41 },
- { "America/Ojinaga" , 0x011FEA },
- { "America/Panama" , 0x01224B },
- { "America/Pangnirtung" , 0x0122A0 },
- { "America/Paramaribo" , 0x0125D6 },
- { "America/Phoenix" , 0x012668 },
- { "America/Port-au-Prince" , 0x012726 },
- { "America/Port_of_Spain" , 0x012A4A },
- { "America/Porto_Acre" , 0x012946 },
- { "America/Porto_Velho" , 0x012A9F },
- { "America/Puerto_Rico" , 0x012B95 },
- { "America/Rainy_River" , 0x012C00 },
- { "America/Rankin_Inlet" , 0x012F38 },
- { "America/Recife" , 0x01321E },
- { "America/Regina" , 0x013348 },
- { "America/Resolute" , 0x013506 },
- { "America/Rio_Branco" , 0x0137F7 },
- { "America/Rosario" , 0x0138FF },
- { "America/Santa_Isabel" , 0x013AA5 },
- { "America/Santarem" , 0x013E48 },
- { "America/Santiago" , 0x013F4D },
- { "America/Santo_Domingo" , 0x0142F6 },
- { "America/Sao_Paulo" , 0x0143BC },
- { "America/Scoresbysund" , 0x0146CB },
- { "America/Shiprock" , 0x0149B9 },
- { "America/Sitka" , 0x014D32 },
- { "America/St_Barthelemy" , 0x0150BA },
- { "America/St_Johns" , 0x01510F },
- { "America/St_Kitts" , 0x015662 },
- { "America/St_Lucia" , 0x0156B7 },
- { "America/St_Thomas" , 0x01570C },
- { "America/St_Vincent" , 0x015761 },
- { "America/Swift_Current" , 0x0157B6 },
- { "America/Tegucigalpa" , 0x0158D7 },
- { "America/Thule" , 0x015956 },
- { "America/Thunder_Bay" , 0x015B9D },
- { "America/Tijuana" , 0x015EE6 },
- { "America/Toronto" , 0x01627F },
- { "America/Tortola" , 0x01679F },
- { "America/Vancouver" , 0x0167F4 },
- { "America/Virgin" , 0x016C31 },
- { "America/Whitehorse" , 0x016C86 },
- { "America/Winnipeg" , 0x016FA3 },
- { "America/Yakutat" , 0x0173E3 },
- { "America/Yellowknife" , 0x01774E },
- { "Antarctica/Casey" , 0x017A5E },
- { "Antarctica/Davis" , 0x017AFB },
- { "Antarctica/DumontDUrville" , 0x017B9C },
- { "Antarctica/Macquarie" , 0x017C2E },
- { "Antarctica/Mawson" , 0x017E75 },
- { "Antarctica/McMurdo" , 0x017EF1 },
- { "Antarctica/Palmer" , 0x01829C },
- { "Antarctica/Rothera" , 0x0185B8 },
- { "Antarctica/South_Pole" , 0x01862E },
- { "Antarctica/Syowa" , 0x0189AC },
- { "Antarctica/Troll" , 0x018A1A },
- { "Antarctica/Vostok" , 0x018BEC },
- { "Arctic/Longyearbyen" , 0x018C5D },
- { "Asia/Aden" , 0x018F8F },
- { "Asia/Almaty" , 0x018FE4 },
- { "Asia/Amman" , 0x019163 },
- { "Asia/Anadyr" , 0x019419 },
- { "Asia/Aqtau" , 0x0195FE },
- { "Asia/Aqtobe" , 0x0197FD },
- { "Asia/Ashgabat" , 0x0199B5 },
- { "Asia/Ashkhabad" , 0x019AD2 },
- { "Asia/Baghdad" , 0x019BEF },
- { "Asia/Bahrain" , 0x019D64 },
- { "Asia/Baku" , 0x019DCA },
- { "Asia/Bangkok" , 0x01A0B2 },
- { "Asia/Beirut" , 0x01A107 },
- { "Asia/Bishkek" , 0x01A414 },
- { "Asia/Brunei" , 0x01A5C0 },
- { "Asia/Calcutta" , 0x01A622 },
- { "Asia/Choibalsan" , 0x01A69B },
- { "Asia/Chongqing" , 0x01A814 },
- { "Asia/Chungking" , 0x01A903 },
- { "Asia/Colombo" , 0x01A9B2 },
- { "Asia/Dacca" , 0x01AA4E },
- { "Asia/Damascus" , 0x01AAF4 },
- { "Asia/Dhaka" , 0x01AE44 },
- { "Asia/Dili" , 0x01AEEA },
- { "Asia/Dubai" , 0x01AF74 },
- { "Asia/Dushanbe" , 0x01AFC9 },
- { "Asia/Gaza" , 0x01B0CC },
- { "Asia/Harbin" , 0x01B41F },
- { "Asia/Hebron" , 0x01B506 },
- { "Asia/Ho_Chi_Minh" , 0x01B862 },
- { "Asia/Hong_Kong" , 0x01B8DA },
- { "Asia/Hovd" , 0x01BA9C },
- { "Asia/Irkutsk" , 0x01BC14 },
- { "Asia/Istanbul" , 0x01BDFA },
- { "Asia/Jakarta" , 0x01C1E7 },
- { "Asia/Jayapura" , 0x01C291 },
- { "Asia/Jerusalem" , 0x01C32D },
- { "Asia/Kabul" , 0x01C65C },
- { "Asia/Kamchatka" , 0x01C6AD },
- { "Asia/Karachi" , 0x01C889 },
- { "Asia/Kashgar" , 0x01C93E },
- { "Asia/Kathmandu" , 0x01CA0F },
- { "Asia/Katmandu" , 0x01CA75 },
- { "Asia/Khandyga" , 0x01CADB },
- { "Asia/Kolkata" , 0x01CD00 },
- { "Asia/Krasnoyarsk" , 0x01CD79 },
- { "Asia/Kuala_Lumpur" , 0x01CF61 },
- { "Asia/Kuching" , 0x01D01E },
- { "Asia/Kuwait" , 0x01D10C },
- { "Asia/Macao" , 0x01D161 },
- { "Asia/Macau" , 0x01D29C },
- { "Asia/Magadan" , 0x01D3D7 },
- { "Asia/Makassar" , 0x01D5B9 },
- { "Asia/Manila" , 0x01D67E },
- { "Asia/Muscat" , 0x01D703 },
- { "Asia/Nicosia" , 0x01D758 },
- { "Asia/Novokuznetsk" , 0x01DA40 },
- { "Asia/Novosibirsk" , 0x01DC42 },
- { "Asia/Omsk" , 0x01DE2D },
- { "Asia/Oral" , 0x01E014 },
- { "Asia/Phnom_Penh" , 0x01E1E4 },
- { "Asia/Pontianak" , 0x01E25C },
- { "Asia/Pyongyang" , 0x01E31E },
- { "Asia/Qatar" , 0x01E38B },
- { "Asia/Qyzylorda" , 0x01E3F1 },
- { "Asia/Rangoon" , 0x01E5C7 },
- { "Asia/Riyadh" , 0x01E63F },
- { "Asia/Saigon" , 0x01E694 },
- { "Asia/Sakhalin" , 0x01E70C },
- { "Asia/Samarkand" , 0x01E903 },
- { "Asia/Seoul" , 0x01EA39 },
- { "Asia/Shanghai" , 0x01EADD },
- { "Asia/Singapore" , 0x01EBBD },
- { "Asia/Taipei" , 0x01EC74 },
- { "Asia/Tashkent" , 0x01ED8C },
- { "Asia/Tbilisi" , 0x01EEBD },
- { "Asia/Tehran" , 0x01F077 },
- { "Asia/Tel_Aviv" , 0x01F2E5 },
- { "Asia/Thimbu" , 0x01F614 },
- { "Asia/Thimphu" , 0x01F67A },
- { "Asia/Tokyo" , 0x01F6E0 },
- { "Asia/Ujung_Pandang" , 0x01F769 },
- { "Asia/Ulaanbaatar" , 0x01F7E6 },
- { "Asia/Ulan_Bator" , 0x01F941 },
- { "Asia/Urumqi" , 0x01FA8E },
- { "Asia/Ust-Nera" , 0x01FB55 },
- { "Asia/Vientiane" , 0x01FD5A },
- { "Asia/Vladivostok" , 0x01FDD2 },
- { "Asia/Yakutsk" , 0x01FFBE },
- { "Asia/Yekaterinburg" , 0x0201A3 },
- { "Asia/Yerevan" , 0x0203AE },
- { "Atlantic/Azores" , 0x0205AE },
- { "Atlantic/Bermuda" , 0x020AB1 },
- { "Atlantic/Canary" , 0x020D92 },
- { "Atlantic/Cape_Verde" , 0x021068 },
- { "Atlantic/Faeroe" , 0x0210E1 },
- { "Atlantic/Faroe" , 0x021385 },
- { "Atlantic/Jan_Mayen" , 0x021629 },
- { "Atlantic/Madeira" , 0x02195B },
- { "Atlantic/Reykjavik" , 0x021E64 },
- { "Atlantic/South_Georgia" , 0x02201D },
- { "Atlantic/St_Helena" , 0x02222F },
- { "Atlantic/Stanley" , 0x022061 },
- { "Australia/ACT" , 0x022284 },
- { "Australia/Adelaide" , 0x0225A1 },
- { "Australia/Brisbane" , 0x0228CD },
- { "Australia/Broken_Hill" , 0x022994 },
- { "Australia/Canberra" , 0x022CD2 },
- { "Australia/Currie" , 0x022FEF },
- { "Australia/Darwin" , 0x023322 },
- { "Australia/Eucla" , 0x0233A8 },
- { "Australia/Hobart" , 0x02347D },
- { "Australia/LHI" , 0x0237DB },
- { "Australia/Lindeman" , 0x023A76 },
- { "Australia/Lord_Howe" , 0x023B57 },
- { "Australia/Melbourne" , 0x023E02 },
- { "Australia/North" , 0x024127 },
- { "Australia/NSW" , 0x02419B },
- { "Australia/Perth" , 0x0244B8 },
- { "Australia/Queensland" , 0x024590 },
- { "Australia/South" , 0x02463C },
- { "Australia/Sydney" , 0x024959 },
- { "Australia/Tasmania" , 0x024C96 },
- { "Australia/Victoria" , 0x024FDB },
- { "Australia/West" , 0x0252F8 },
- { "Australia/Yancowinna" , 0x0253AE },
- { "Brazil/Acre" , 0x0256D0 },
- { "Brazil/DeNoronha" , 0x0257D4 },
- { "Brazil/East" , 0x0258F4 },
- { "Brazil/West" , 0x025BD1 },
- { "Canada/Atlantic" , 0x025CC9 },
- { "Canada/Central" , 0x0261B1 },
- { "Canada/East-Saskatchewan" , 0x026ABB },
- { "Canada/Eastern" , 0x0265CB },
- { "Canada/Mountain" , 0x026C44 },
- { "Canada/Newfoundland" , 0x026FBA },
- { "Canada/Pacific" , 0x0274E5 },
- { "Canada/Saskatchewan" , 0x0278FE },
- { "Canada/Yukon" , 0x027A87 },
- { "CET" , 0x027D8A },
- { "Chile/Continental" , 0x028093 },
- { "Chile/EasterIsland" , 0x02842E },
- { "CST6CDT" , 0x028770 },
- { "Cuba" , 0x028AC1 },
- { "EET" , 0x028E34 },
- { "Egypt" , 0x0290E7 },
- { "Eire" , 0x0294D6 },
- { "EST" , 0x0299E7 },
- { "EST5EDT" , 0x029A2B },
- { "Etc/GMT" , 0x029D7C },
- { "Etc/GMT+0" , 0x029E48 },
- { "Etc/GMT+1" , 0x029ED2 },
- { "Etc/GMT+10" , 0x029F5F },
- { "Etc/GMT+11" , 0x029FED },
- { "Etc/GMT+12" , 0x02A07B },
- { "Etc/GMT+2" , 0x02A196 },
- { "Etc/GMT+3" , 0x02A222 },
- { "Etc/GMT+4" , 0x02A2AE },
- { "Etc/GMT+5" , 0x02A33A },
- { "Etc/GMT+6" , 0x02A3C6 },
- { "Etc/GMT+7" , 0x02A452 },
- { "Etc/GMT+8" , 0x02A4DE },
- { "Etc/GMT+9" , 0x02A56A },
- { "Etc/GMT-0" , 0x029E04 },
- { "Etc/GMT-1" , 0x029E8C },
- { "Etc/GMT-10" , 0x029F18 },
- { "Etc/GMT-11" , 0x029FA6 },
- { "Etc/GMT-12" , 0x02A034 },
- { "Etc/GMT-13" , 0x02A0C2 },
- { "Etc/GMT-14" , 0x02A109 },
- { "Etc/GMT-2" , 0x02A150 },
- { "Etc/GMT-3" , 0x02A1DC },
- { "Etc/GMT-4" , 0x02A268 },
- { "Etc/GMT-5" , 0x02A2F4 },
- { "Etc/GMT-6" , 0x02A380 },
- { "Etc/GMT-7" , 0x02A40C },
- { "Etc/GMT-8" , 0x02A498 },
- { "Etc/GMT-9" , 0x02A524 },
- { "Etc/GMT0" , 0x029DC0 },
- { "Etc/Greenwich" , 0x02A5B0 },
- { "Etc/UCT" , 0x02A5F4 },
- { "Etc/Universal" , 0x02A638 },
- { "Etc/UTC" , 0x02A67C },
- { "Etc/Zulu" , 0x02A6C0 },
- { "Europe/Amsterdam" , 0x02A704 },
- { "Europe/Andorra" , 0x02AB42 },
- { "Europe/Athens" , 0x02ADBE },
- { "Europe/Belfast" , 0x02B101 },
- { "Europe/Belgrade" , 0x02B638 },
- { "Europe/Berlin" , 0x02B901 },
- { "Europe/Bratislava" , 0x02BC65 },
- { "Europe/Brussels" , 0x02BF97 },
- { "Europe/Bucharest" , 0x02C3CE },
- { "Europe/Budapest" , 0x02C6F8 },
- { "Europe/Busingen" , 0x02CA6B },
- { "Europe/Chisinau" , 0x02CD22 },
- { "Europe/Copenhagen" , 0x02D0B0 },
- { "Europe/Dublin" , 0x02D3BA },
- { "Europe/Gibraltar" , 0x02D8CB },
- { "Europe/Guernsey" , 0x02DD22 },
- { "Europe/Helsinki" , 0x02E259 },
- { "Europe/Isle_of_Man" , 0x02E50F },
- { "Europe/Istanbul" , 0x02EA46 },
- { "Europe/Jersey" , 0x02EE33 },
- { "Europe/Kaliningrad" , 0x02F36A },
- { "Europe/Kiev" , 0x02F5D0 },
- { "Europe/Lisbon" , 0x02F8EC },
- { "Europe/Ljubljana" , 0x02FDF0 },
- { "Europe/London" , 0x0300B9 },
- { "Europe/Luxembourg" , 0x0305F0 },
- { "Europe/Madrid" , 0x030A46 },
- { "Europe/Malta" , 0x030E0C },
- { "Europe/Mariehamn" , 0x0311C5 },
- { "Europe/Minsk" , 0x03147B },
- { "Europe/Monaco" , 0x031689 },
- { "Europe/Moscow" , 0x031AC4 },
- { "Europe/Nicosia" , 0x031D15 },
- { "Europe/Oslo" , 0x031FFD },
- { "Europe/Paris" , 0x03232F },
- { "Europe/Podgorica" , 0x032775 },
- { "Europe/Prague" , 0x032A3E },
- { "Europe/Riga" , 0x032D70 },
- { "Europe/Rome" , 0x0330B5 },
- { "Europe/Samara" , 0x033478 },
- { "Europe/San_Marino" , 0x0336AB },
- { "Europe/Sarajevo" , 0x033A6E },
- { "Europe/Simferopol" , 0x033D37 },
- { "Europe/Skopje" , 0x033F83 },
- { "Europe/Sofia" , 0x03424C },
- { "Europe/Stockholm" , 0x034554 },
- { "Europe/Tallinn" , 0x034803 },
- { "Europe/Tirane" , 0x034B3D },
- { "Europe/Tiraspol" , 0x034E43 },
- { "Europe/Uzhgorod" , 0x0351D1 },
- { "Europe/Vaduz" , 0x0354E8 },
- { "Europe/Vatican" , 0x035797 },
- { "Europe/Vienna" , 0x035B5A },
- { "Europe/Vilnius" , 0x035E87 },
- { "Europe/Volgograd" , 0x0361C6 },
- { "Europe/Warsaw" , 0x0363C6 },
- { "Europe/Zagreb" , 0x0367A7 },
- { "Europe/Zaporozhye" , 0x036A70 },
- { "Europe/Zurich" , 0x036DB1 },
- { "Factory" , 0x037060 },
- { "GB" , 0x0370D1 },
- { "GB-Eire" , 0x037608 },
- { "GMT" , 0x037B3F },
- { "GMT+0" , 0x037C0B },
- { "GMT-0" , 0x037BC7 },
- { "GMT0" , 0x037B83 },
- { "Greenwich" , 0x037C4F },
- { "Hongkong" , 0x037C93 },
- { "HST" , 0x037E55 },
- { "Iceland" , 0x037E99 },
- { "Indian/Antananarivo" , 0x038052 },
- { "Indian/Chagos" , 0x0380C6 },
- { "Indian/Christmas" , 0x038128 },
- { "Indian/Cocos" , 0x03816C },
- { "Indian/Comoro" , 0x0381B0 },
- { "Indian/Kerguelen" , 0x038205 },
- { "Indian/Mahe" , 0x03825A },
- { "Indian/Maldives" , 0x0382AF },
- { "Indian/Mauritius" , 0x038304 },
- { "Indian/Mayotte" , 0x03837A },
- { "Indian/Reunion" , 0x0383CF },
- { "Iran" , 0x038424 },
- { "Israel" , 0x038692 },
- { "Jamaica" , 0x0389C1 },
- { "Japan" , 0x038A86 },
- { "Kwajalein" , 0x038B0F },
- { "Libya" , 0x038B72 },
- { "MET" , 0x038C7B },
- { "Mexico/BajaNorte" , 0x038F84 },
- { "Mexico/BajaSur" , 0x0392ED },
- { "Mexico/General" , 0x039532 },
- { "MST" , 0x039790 },
- { "MST7MDT" , 0x0397D4 },
- { "Navajo" , 0x039B25 },
- { "NZ" , 0x039E9E },
- { "NZ-CHAT" , 0x03A21C },
- { "Pacific/Apia" , 0x03A504 },
- { "Pacific/Auckland" , 0x03A6A0 },
- { "Pacific/Chatham" , 0x03AA2C },
- { "Pacific/Chuuk" , 0x03AD23 },
- { "Pacific/Easter" , 0x03AD7C },
- { "Pacific/Efate" , 0x03B0DA },
- { "Pacific/Enderbury" , 0x03B1A0 },
- { "Pacific/Fakaofo" , 0x03B20E },
- { "Pacific/Fiji" , 0x03B25F },
- { "Pacific/Funafuti" , 0x03B3F2 },
- { "Pacific/Galapagos" , 0x03B436 },
- { "Pacific/Gambier" , 0x03B4AE },
- { "Pacific/Guadalcanal" , 0x03B513 },
- { "Pacific/Guam" , 0x03B568 },
- { "Pacific/Honolulu" , 0x03B5BE },
- { "Pacific/Johnston" , 0x03B635 },
- { "Pacific/Kiritimati" , 0x03B6B4 },
- { "Pacific/Kosrae" , 0x03B71F },
- { "Pacific/Kwajalein" , 0x03B77C },
- { "Pacific/Majuro" , 0x03B7E8 },
- { "Pacific/Marquesas" , 0x03B847 },
- { "Pacific/Midway" , 0x03B8AE },
- { "Pacific/Nauru" , 0x03B938 },
- { "Pacific/Niue" , 0x03B9B0 },
- { "Pacific/Norfolk" , 0x03BA0E },
- { "Pacific/Noumea" , 0x03BA63 },
- { "Pacific/Pago_Pago" , 0x03BAF3 },
- { "Pacific/Palau" , 0x03BB7C },
- { "Pacific/Pitcairn" , 0x03BBC0 },
- { "Pacific/Pohnpei" , 0x03BC15 },
- { "Pacific/Ponape" , 0x03BC6A },
- { "Pacific/Port_Moresby" , 0x03BCAF },
- { "Pacific/Rarotonga" , 0x03BCF3 },
- { "Pacific/Saipan" , 0x03BDCF },
- { "Pacific/Samoa" , 0x03BE32 },
- { "Pacific/Tahiti" , 0x03BEBB },
- { "Pacific/Tarawa" , 0x03BF20 },
- { "Pacific/Tongatapu" , 0x03BF74 },
- { "Pacific/Truk" , 0x03C000 },
- { "Pacific/Wake" , 0x03C045 },
- { "Pacific/Wallis" , 0x03C095 },
- { "Pacific/Yap" , 0x03C0D9 },
- { "Poland" , 0x03C11E },
- { "Portugal" , 0x03C4FF },
- { "PRC" , 0x03C9FB },
- { "PST8PDT" , 0x03CAAC },
- { "ROC" , 0x03CDFD },
- { "ROK" , 0x03CF15 },
- { "Singapore" , 0x03CFB9 },
- { "Turkey" , 0x03D070 },
- { "UCT" , 0x03D45D },
- { "Universal" , 0x03D4A1 },
- { "US/Alaska" , 0x03D4E5 },
- { "US/Aleutian" , 0x03D84E },
- { "US/Arizona" , 0x03DBB4 },
- { "US/Central" , 0x03DC42 },
- { "US/East-Indiana" , 0x03E64C },
- { "US/Eastern" , 0x03E14D },
- { "US/Hawaii" , 0x03E8B6 },
- { "US/Indiana-Starke" , 0x03E927 },
- { "US/Michigan" , 0x03EC98 },
- { "US/Mountain" , 0x03EFCF },
- { "US/Pacific" , 0x03F348 },
- { "US/Pacific-New" , 0x03F74D },
- { "US/Samoa" , 0x03FB52 },
- { "UTC" , 0x03FBDB },
- { "W-SU" , 0x03FED2 },
- { "WET" , 0x03FC1F },
- { "Zulu" , 0x04010C },
+ { "Africa/Casablanca" , 0x00099C },
+ { "Africa/Ceuta" , 0x000BFE },
+ { "Africa/Conakry" , 0x000F05 },
+ { "Africa/Dakar" , 0x000F70 },
+ { "Africa/Dar_es_Salaam" , 0x000FD6 },
+ { "Africa/Djibouti" , 0x001043 },
+ { "Africa/Douala" , 0x001098 },
+ { "Africa/El_Aaiun" , 0x0010ED },
+ { "Africa/Freetown" , 0x001318 },
+ { "Africa/Gaborone" , 0x001427 },
+ { "Africa/Harare" , 0x001494 },
+ { "Africa/Johannesburg" , 0x0014E9 },
+ { "Africa/Juba" , 0x001557 },
+ { "Africa/Kampala" , 0x00166A },
+ { "Africa/Khartoum" , 0x0016E9 },
+ { "Africa/Kigali" , 0x0017FC },
+ { "Africa/Kinshasa" , 0x001851 },
+ { "Africa/Lagos" , 0x0018AC },
+ { "Africa/Libreville" , 0x001901 },
+ { "Africa/Lome" , 0x001956 },
+ { "Africa/Luanda" , 0x00199A },
+ { "Africa/Lubumbashi" , 0x0019EF },
+ { "Africa/Lusaka" , 0x001A4A },
+ { "Africa/Malabo" , 0x001A9F },
+ { "Africa/Maputo" , 0x001B05 },
+ { "Africa/Maseru" , 0x001B5A },
+ { "Africa/Mbabane" , 0x001BC2 },
+ { "Africa/Mogadishu" , 0x001C18 },
+ { "Africa/Monrovia" , 0x001C73 },
+ { "Africa/Nairobi" , 0x001CD9 },
+ { "Africa/Ndjamena" , 0x001D58 },
+ { "Africa/Niamey" , 0x001DC4 },
+ { "Africa/Nouakchott" , 0x001E37 },
+ { "Africa/Ouagadougou" , 0x001EA2 },
+ { "Africa/Porto-Novo" , 0x001EF7 },
+ { "Africa/Sao_Tome" , 0x001F5D },
+ { "Africa/Timbuktu" , 0x001FB2 },
+ { "Africa/Tripoli" , 0x00201D },
+ { "Africa/Tunis" , 0x002126 },
+ { "Africa/Windhoek" , 0x002238 },
+ { "America/Adak" , 0x00247F },
+ { "America/Anchorage" , 0x0027F5 },
+ { "America/Anguilla" , 0x002B69 },
+ { "America/Antigua" , 0x002BBE },
+ { "America/Araguaina" , 0x002C24 },
+ { "America/Argentina/Buenos_Aires" , 0x002D89 },
+ { "America/Argentina/Catamarca" , 0x002F37 },
+ { "America/Argentina/ComodRivadavia" , 0x0030F8 },
+ { "America/Argentina/Cordoba" , 0x00329E },
+ { "America/Argentina/Jujuy" , 0x003473 },
+ { "America/Argentina/La_Rioja" , 0x003627 },
+ { "America/Argentina/Mendoza" , 0x0037DF },
+ { "America/Argentina/Rio_Gallegos" , 0x00399F },
+ { "America/Argentina/Salta" , 0x003B54 },
+ { "America/Argentina/San_Juan" , 0x003D00 },
+ { "America/Argentina/San_Luis" , 0x003EB8 },
+ { "America/Argentina/Tucuman" , 0x00407E },
+ { "America/Argentina/Ushuaia" , 0x00423A },
+ { "America/Aruba" , 0x0043F5 },
+ { "America/Asuncion" , 0x00445B },
+ { "America/Atikokan" , 0x004740 },
+ { "America/Atka" , 0x004816 },
+ { "America/Bahia" , 0x004B7C },
+ { "America/Bahia_Banderas" , 0x004D0F },
+ { "America/Barbados" , 0x004F88 },
+ { "America/Belem" , 0x005022 },
+ { "America/Belize" , 0x00511D },
+ { "America/Blanc-Sablon" , 0x005299 },
+ { "America/Boa_Vista" , 0x00534D },
+ { "America/Bogota" , 0x005456 },
+ { "America/Boise" , 0x0054C2 },
+ { "America/Buenos_Aires" , 0x005859 },
+ { "America/Cambridge_Bay" , 0x0059F2 },
+ { "America/Campo_Grande" , 0x005D1A },
+ { "America/Cancun" , 0x006009 },
+ { "America/Caracas" , 0x00624B },
+ { "America/Catamarca" , 0x0062B2 },
+ { "America/Cayenne" , 0x006458 },
+ { "America/Cayman" , 0x0064BA },
+ { "America/Chicago" , 0x00650F },
+ { "America/Chihuahua" , 0x006A26 },
+ { "America/Coral_Harbour" , 0x006C91 },
+ { "America/Cordoba" , 0x006D23 },
+ { "America/Costa_Rica" , 0x006EC9 },
+ { "America/Creston" , 0x006F53 },
+ { "America/Cuiaba" , 0x006FDF },
+ { "America/Curacao" , 0x0072BD },
+ { "America/Danmarkshavn" , 0x007323 },
+ { "America/Dawson" , 0x007467 },
+ { "America/Dawson_Creek" , 0x007784 },
+ { "America/Denver" , 0x00795E },
+ { "America/Detroit" , 0x007CE4 },
+ { "America/Dominica" , 0x008043 },
+ { "America/Edmonton" , 0x008098 },
+ { "America/Eirunepe" , 0x008450 },
+ { "America/El_Salvador" , 0x008568 },
+ { "America/Ensenada" , 0x0085DD },
+ { "America/Fort_Wayne" , 0x008A84 },
+ { "America/Fortaleza" , 0x008946 },
+ { "America/Glace_Bay" , 0x008CEE },
+ { "America/Godthab" , 0x009065 },
+ { "America/Goose_Bay" , 0x009329 },
+ { "America/Grand_Turk" , 0x0097E6 },
+ { "America/Grenada" , 0x009A95 },
+ { "America/Guadeloupe" , 0x009AEA },
+ { "America/Guatemala" , 0x009B3F },
+ { "America/Guayaquil" , 0x009BC8 },
+ { "America/Guyana" , 0x009C25 },
+ { "America/Halifax" , 0x009CA6 },
+ { "America/Havana" , 0x00A1BC },
+ { "America/Hermosillo" , 0x00A52F },
+ { "America/Indiana/Indianapolis" , 0x00A60D },
+ { "America/Indiana/Knox" , 0x00A89E },
+ { "America/Indiana/Marengo" , 0x00AC35 },
+ { "America/Indiana/Petersburg" , 0x00AEDB },
+ { "America/Indiana/Tell_City" , 0x00B428 },
+ { "America/Indiana/Vevay" , 0x00B6C1 },
+ { "America/Indiana/Vincennes" , 0x00B8FC },
+ { "America/Indiana/Winamac" , 0x00BBB0 },
+ { "America/Indianapolis" , 0x00B1BE },
+ { "America/Inuvik" , 0x00BE69 },
+ { "America/Iqaluit" , 0x00C160 },
+ { "America/Jamaica" , 0x00C482 },
+ { "America/Jujuy" , 0x00C547 },
+ { "America/Juneau" , 0x00C6F1 },
+ { "America/Kentucky/Louisville" , 0x00CA6F },
+ { "America/Kentucky/Monticello" , 0x00CE8D },
+ { "America/Knox_IN" , 0x00D212 },
+ { "America/Kralendijk" , 0x00D583 },
+ { "America/La_Paz" , 0x00D5E9 },
+ { "America/Lima" , 0x00D650 },
+ { "America/Los_Angeles" , 0x00D6F8 },
+ { "America/Louisville" , 0x00DB09 },
+ { "America/Lower_Princes" , 0x00DEFE },
+ { "America/Maceio" , 0x00DF64 },
+ { "America/Managua" , 0x00E09E },
+ { "America/Manaus" , 0x00E151 },
+ { "America/Marigot" , 0x00E253 },
+ { "America/Martinique" , 0x00E2A8 },
+ { "America/Matamoros" , 0x00E314 },
+ { "America/Mazatlan" , 0x00E56D },
+ { "America/Mendoza" , 0x00E7DA },
+ { "America/Menominee" , 0x00E98E },
+ { "America/Merida" , 0x00ED0F },
+ { "America/Metlakatla" , 0x00EF4A },
+ { "America/Mexico_City" , 0x00F084 },
+ { "America/Miquelon" , 0x00F2FF },
+ { "America/Moncton" , 0x00F571 },
+ { "America/Monterrey" , 0x00FA08 },
+ { "America/Montevideo" , 0x00FC6B },
+ { "America/Montreal" , 0x00FF7D },
+ { "America/Montserrat" , 0x01046D },
+ { "America/Nassau" , 0x0104C2 },
+ { "America/New_York" , 0x010807 },
+ { "America/Nipigon" , 0x010D12 },
+ { "America/Nome" , 0x011063 },
+ { "America/Noronha" , 0x0113E1 },
+ { "America/North_Dakota/Beulah" , 0x011511 },
+ { "America/North_Dakota/Center" , 0x0118A5 },
+ { "America/North_Dakota/New_Salem" , 0x011C39 },
+ { "America/Ojinaga" , 0x011FE2 },
+ { "America/Panama" , 0x012243 },
+ { "America/Pangnirtung" , 0x012298 },
+ { "America/Paramaribo" , 0x0125CE },
+ { "America/Phoenix" , 0x012660 },
+ { "America/Port-au-Prince" , 0x01271E },
+ { "America/Port_of_Spain" , 0x012A42 },
+ { "America/Porto_Acre" , 0x01293E },
+ { "America/Porto_Velho" , 0x012A97 },
+ { "America/Puerto_Rico" , 0x012B8D },
+ { "America/Rainy_River" , 0x012BF8 },
+ { "America/Rankin_Inlet" , 0x012F30 },
+ { "America/Recife" , 0x013216 },
+ { "America/Regina" , 0x013340 },
+ { "America/Resolute" , 0x0134FE },
+ { "America/Rio_Branco" , 0x0137EF },
+ { "America/Rosario" , 0x0138F7 },
+ { "America/Santa_Isabel" , 0x013A9D },
+ { "America/Santarem" , 0x013E40 },
+ { "America/Santiago" , 0x013F45 },
+ { "America/Santo_Domingo" , 0x0142EE },
+ { "America/Sao_Paulo" , 0x0143B4 },
+ { "America/Scoresbysund" , 0x0146C3 },
+ { "America/Shiprock" , 0x0149B1 },
+ { "America/Sitka" , 0x014D2A },
+ { "America/St_Barthelemy" , 0x0150B2 },
+ { "America/St_Johns" , 0x015107 },
+ { "America/St_Kitts" , 0x01565A },
+ { "America/St_Lucia" , 0x0156AF },
+ { "America/St_Thomas" , 0x015704 },
+ { "America/St_Vincent" , 0x015759 },
+ { "America/Swift_Current" , 0x0157AE },
+ { "America/Tegucigalpa" , 0x0158CF },
+ { "America/Thule" , 0x01594E },
+ { "America/Thunder_Bay" , 0x015B95 },
+ { "America/Tijuana" , 0x015EDE },
+ { "America/Toronto" , 0x016277 },
+ { "America/Tortola" , 0x016797 },
+ { "America/Vancouver" , 0x0167EC },
+ { "America/Virgin" , 0x016C29 },
+ { "America/Whitehorse" , 0x016C7E },
+ { "America/Winnipeg" , 0x016F9B },
+ { "America/Yakutat" , 0x0173DB },
+ { "America/Yellowknife" , 0x017746 },
+ { "Antarctica/Casey" , 0x017A56 },
+ { "Antarctica/Davis" , 0x017AF3 },
+ { "Antarctica/DumontDUrville" , 0x017B94 },
+ { "Antarctica/Macquarie" , 0x017C26 },
+ { "Antarctica/Mawson" , 0x017E6D },
+ { "Antarctica/McMurdo" , 0x017EE9 },
+ { "Antarctica/Palmer" , 0x018294 },
+ { "Antarctica/Rothera" , 0x0185B0 },
+ { "Antarctica/South_Pole" , 0x018626 },
+ { "Antarctica/Syowa" , 0x0189A4 },
+ { "Antarctica/Troll" , 0x018A12 },
+ { "Antarctica/Vostok" , 0x018BE4 },
+ { "Arctic/Longyearbyen" , 0x018C55 },
+ { "Asia/Aden" , 0x018F87 },
+ { "Asia/Almaty" , 0x018FDC },
+ { "Asia/Amman" , 0x01915B },
+ { "Asia/Anadyr" , 0x019411 },
+ { "Asia/Aqtau" , 0x0195F6 },
+ { "Asia/Aqtobe" , 0x0197F5 },
+ { "Asia/Ashgabat" , 0x0199AD },
+ { "Asia/Ashkhabad" , 0x019ACA },
+ { "Asia/Baghdad" , 0x019BE7 },
+ { "Asia/Bahrain" , 0x019D5C },
+ { "Asia/Baku" , 0x019DC2 },
+ { "Asia/Bangkok" , 0x01A0AA },
+ { "Asia/Beirut" , 0x01A0FF },
+ { "Asia/Bishkek" , 0x01A40C },
+ { "Asia/Brunei" , 0x01A5B8 },
+ { "Asia/Calcutta" , 0x01A61A },
+ { "Asia/Choibalsan" , 0x01A693 },
+ { "Asia/Chongqing" , 0x01A80C },
+ { "Asia/Chungking" , 0x01A8FB },
+ { "Asia/Colombo" , 0x01A9AA },
+ { "Asia/Dacca" , 0x01AA46 },
+ { "Asia/Damascus" , 0x01AAEC },
+ { "Asia/Dhaka" , 0x01AE3C },
+ { "Asia/Dili" , 0x01AEE2 },
+ { "Asia/Dubai" , 0x01AF6C },
+ { "Asia/Dushanbe" , 0x01AFC1 },
+ { "Asia/Gaza" , 0x01B0C4 },
+ { "Asia/Harbin" , 0x01B417 },
+ { "Asia/Hebron" , 0x01B4FE },
+ { "Asia/Ho_Chi_Minh" , 0x01B85A },
+ { "Asia/Hong_Kong" , 0x01B8D2 },
+ { "Asia/Hovd" , 0x01BA94 },
+ { "Asia/Irkutsk" , 0x01BC0C },
+ { "Asia/Istanbul" , 0x01BDF2 },
+ { "Asia/Jakarta" , 0x01C1DF },
+ { "Asia/Jayapura" , 0x01C289 },
+ { "Asia/Jerusalem" , 0x01C325 },
+ { "Asia/Kabul" , 0x01C654 },
+ { "Asia/Kamchatka" , 0x01C6A5 },
+ { "Asia/Karachi" , 0x01C881 },
+ { "Asia/Kashgar" , 0x01C936 },
+ { "Asia/Kathmandu" , 0x01CA07 },
+ { "Asia/Katmandu" , 0x01CA6D },
+ { "Asia/Khandyga" , 0x01CAD3 },
+ { "Asia/Kolkata" , 0x01CCF8 },
+ { "Asia/Krasnoyarsk" , 0x01CD71 },
+ { "Asia/Kuala_Lumpur" , 0x01CF59 },
+ { "Asia/Kuching" , 0x01D016 },
+ { "Asia/Kuwait" , 0x01D104 },
+ { "Asia/Macao" , 0x01D159 },
+ { "Asia/Macau" , 0x01D294 },
+ { "Asia/Magadan" , 0x01D3CF },
+ { "Asia/Makassar" , 0x01D5B1 },
+ { "Asia/Manila" , 0x01D676 },
+ { "Asia/Muscat" , 0x01D6FB },
+ { "Asia/Nicosia" , 0x01D750 },
+ { "Asia/Novokuznetsk" , 0x01DA38 },
+ { "Asia/Novosibirsk" , 0x01DC3A },
+ { "Asia/Omsk" , 0x01DE25 },
+ { "Asia/Oral" , 0x01E00C },
+ { "Asia/Phnom_Penh" , 0x01E1DC },
+ { "Asia/Pontianak" , 0x01E254 },
+ { "Asia/Pyongyang" , 0x01E316 },
+ { "Asia/Qatar" , 0x01E383 },
+ { "Asia/Qyzylorda" , 0x01E3E9 },
+ { "Asia/Rangoon" , 0x01E5BF },
+ { "Asia/Riyadh" , 0x01E637 },
+ { "Asia/Saigon" , 0x01E68C },
+ { "Asia/Sakhalin" , 0x01E704 },
+ { "Asia/Samarkand" , 0x01E8FB },
+ { "Asia/Seoul" , 0x01EA31 },
+ { "Asia/Shanghai" , 0x01EAD5 },
+ { "Asia/Singapore" , 0x01EBB5 },
+ { "Asia/Taipei" , 0x01EC6C },
+ { "Asia/Tashkent" , 0x01ED84 },
+ { "Asia/Tbilisi" , 0x01EEB5 },
+ { "Asia/Tehran" , 0x01F06F },
+ { "Asia/Tel_Aviv" , 0x01F2DD },
+ { "Asia/Thimbu" , 0x01F60C },
+ { "Asia/Thimphu" , 0x01F672 },
+ { "Asia/Tokyo" , 0x01F6D8 },
+ { "Asia/Ujung_Pandang" , 0x01F761 },
+ { "Asia/Ulaanbaatar" , 0x01F7DE },
+ { "Asia/Ulan_Bator" , 0x01F939 },
+ { "Asia/Urumqi" , 0x01FA86 },
+ { "Asia/Ust-Nera" , 0x01FB4D },
+ { "Asia/Vientiane" , 0x01FD52 },
+ { "Asia/Vladivostok" , 0x01FDCA },
+ { "Asia/Yakutsk" , 0x01FFAF },
+ { "Asia/Yekaterinburg" , 0x020194 },
+ { "Asia/Yerevan" , 0x02039F },
+ { "Atlantic/Azores" , 0x02059F },
+ { "Atlantic/Bermuda" , 0x020AA2 },
+ { "Atlantic/Canary" , 0x020D83 },
+ { "Atlantic/Cape_Verde" , 0x021059 },
+ { "Atlantic/Faeroe" , 0x0210D2 },
+ { "Atlantic/Faroe" , 0x021376 },
+ { "Atlantic/Jan_Mayen" , 0x02161A },
+ { "Atlantic/Madeira" , 0x02194C },
+ { "Atlantic/Reykjavik" , 0x021E55 },
+ { "Atlantic/South_Georgia" , 0x02200E },
+ { "Atlantic/St_Helena" , 0x022220 },
+ { "Atlantic/Stanley" , 0x022052 },
+ { "Australia/ACT" , 0x022275 },
+ { "Australia/Adelaide" , 0x022592 },
+ { "Australia/Brisbane" , 0x0228BE },
+ { "Australia/Broken_Hill" , 0x022985 },
+ { "Australia/Canberra" , 0x022CC3 },
+ { "Australia/Currie" , 0x022FE0 },
+ { "Australia/Darwin" , 0x023313 },
+ { "Australia/Eucla" , 0x023399 },
+ { "Australia/Hobart" , 0x02346E },
+ { "Australia/LHI" , 0x0237CC },
+ { "Australia/Lindeman" , 0x023A67 },
+ { "Australia/Lord_Howe" , 0x023B48 },
+ { "Australia/Melbourne" , 0x023DF3 },
+ { "Australia/North" , 0x024118 },
+ { "Australia/NSW" , 0x02418C },
+ { "Australia/Perth" , 0x0244A9 },
+ { "Australia/Queensland" , 0x024581 },
+ { "Australia/South" , 0x02462D },
+ { "Australia/Sydney" , 0x02494A },
+ { "Australia/Tasmania" , 0x024C87 },
+ { "Australia/Victoria" , 0x024FCC },
+ { "Australia/West" , 0x0252E9 },
+ { "Australia/Yancowinna" , 0x02539F },
+ { "Brazil/Acre" , 0x0256C1 },
+ { "Brazil/DeNoronha" , 0x0257C5 },
+ { "Brazil/East" , 0x0258E5 },
+ { "Brazil/West" , 0x025BC2 },
+ { "Canada/Atlantic" , 0x025CBA },
+ { "Canada/Central" , 0x0261A2 },
+ { "Canada/East-Saskatchewan" , 0x026AAC },
+ { "Canada/Eastern" , 0x0265BC },
+ { "Canada/Mountain" , 0x026C35 },
+ { "Canada/Newfoundland" , 0x026FAB },
+ { "Canada/Pacific" , 0x0274D6 },
+ { "Canada/Saskatchewan" , 0x0278EF },
+ { "Canada/Yukon" , 0x027A78 },
+ { "CET" , 0x027D7B },
+ { "Chile/Continental" , 0x028084 },
+ { "Chile/EasterIsland" , 0x02841F },
+ { "CST6CDT" , 0x028761 },
+ { "Cuba" , 0x028AB2 },
+ { "EET" , 0x028E25 },
+ { "Egypt" , 0x0290D8 },
+ { "Eire" , 0x0294BF },
+ { "EST" , 0x0299D0 },
+ { "EST5EDT" , 0x029A14 },
+ { "Etc/GMT" , 0x029D65 },
+ { "Etc/GMT+0" , 0x029E31 },
+ { "Etc/GMT+1" , 0x029EBB },
+ { "Etc/GMT+10" , 0x029F48 },
+ { "Etc/GMT+11" , 0x029FD6 },
+ { "Etc/GMT+12" , 0x02A064 },
+ { "Etc/GMT+2" , 0x02A17F },
+ { "Etc/GMT+3" , 0x02A20B },
+ { "Etc/GMT+4" , 0x02A297 },
+ { "Etc/GMT+5" , 0x02A323 },
+ { "Etc/GMT+6" , 0x02A3AF },
+ { "Etc/GMT+7" , 0x02A43B },
+ { "Etc/GMT+8" , 0x02A4C7 },
+ { "Etc/GMT+9" , 0x02A553 },
+ { "Etc/GMT-0" , 0x029DED },
+ { "Etc/GMT-1" , 0x029E75 },
+ { "Etc/GMT-10" , 0x029F01 },
+ { "Etc/GMT-11" , 0x029F8F },
+ { "Etc/GMT-12" , 0x02A01D },
+ { "Etc/GMT-13" , 0x02A0AB },
+ { "Etc/GMT-14" , 0x02A0F2 },
+ { "Etc/GMT-2" , 0x02A139 },
+ { "Etc/GMT-3" , 0x02A1C5 },
+ { "Etc/GMT-4" , 0x02A251 },
+ { "Etc/GMT-5" , 0x02A2DD },
+ { "Etc/GMT-6" , 0x02A369 },
+ { "Etc/GMT-7" , 0x02A3F5 },
+ { "Etc/GMT-8" , 0x02A481 },
+ { "Etc/GMT-9" , 0x02A50D },
+ { "Etc/GMT0" , 0x029DA9 },
+ { "Etc/Greenwich" , 0x02A599 },
+ { "Etc/UCT" , 0x02A5DD },
+ { "Etc/Universal" , 0x02A621 },
+ { "Etc/UTC" , 0x02A665 },
+ { "Etc/Zulu" , 0x02A6A9 },
+ { "Europe/Amsterdam" , 0x02A6ED },
+ { "Europe/Andorra" , 0x02AB2B },
+ { "Europe/Athens" , 0x02ADA7 },
+ { "Europe/Belfast" , 0x02B0EA },
+ { "Europe/Belgrade" , 0x02B621 },
+ { "Europe/Berlin" , 0x02B8EA },
+ { "Europe/Bratislava" , 0x02BC4E },
+ { "Europe/Brussels" , 0x02BF80 },
+ { "Europe/Bucharest" , 0x02C3B7 },
+ { "Europe/Budapest" , 0x02C6E1 },
+ { "Europe/Busingen" , 0x02CA54 },
+ { "Europe/Chisinau" , 0x02CD0B },
+ { "Europe/Copenhagen" , 0x02D099 },
+ { "Europe/Dublin" , 0x02D3A3 },
+ { "Europe/Gibraltar" , 0x02D8B4 },
+ { "Europe/Guernsey" , 0x02DD0B },
+ { "Europe/Helsinki" , 0x02E242 },
+ { "Europe/Isle_of_Man" , 0x02E4F8 },
+ { "Europe/Istanbul" , 0x02EA2F },
+ { "Europe/Jersey" , 0x02EE1C },
+ { "Europe/Kaliningrad" , 0x02F353 },
+ { "Europe/Kiev" , 0x02F5B9 },
+ { "Europe/Lisbon" , 0x02F8D5 },
+ { "Europe/Ljubljana" , 0x02FDD9 },
+ { "Europe/London" , 0x0300A2 },
+ { "Europe/Luxembourg" , 0x0305D9 },
+ { "Europe/Madrid" , 0x030A2F },
+ { "Europe/Malta" , 0x030DF5 },
+ { "Europe/Mariehamn" , 0x0311AE },
+ { "Europe/Minsk" , 0x031464 },
+ { "Europe/Monaco" , 0x031672 },
+ { "Europe/Moscow" , 0x031AAD },
+ { "Europe/Nicosia" , 0x031D02 },
+ { "Europe/Oslo" , 0x031FEA },
+ { "Europe/Paris" , 0x03231C },
+ { "Europe/Podgorica" , 0x032762 },
+ { "Europe/Prague" , 0x032A2B },
+ { "Europe/Riga" , 0x032D5D },
+ { "Europe/Rome" , 0x0330A2 },
+ { "Europe/Samara" , 0x033465 },
+ { "Europe/San_Marino" , 0x033698 },
+ { "Europe/Sarajevo" , 0x033A5B },
+ { "Europe/Simferopol" , 0x033D24 },
+ { "Europe/Skopje" , 0x033F70 },
+ { "Europe/Sofia" , 0x034239 },
+ { "Europe/Stockholm" , 0x034541 },
+ { "Europe/Tallinn" , 0x0347F0 },
+ { "Europe/Tirane" , 0x034B2A },
+ { "Europe/Tiraspol" , 0x034E30 },
+ { "Europe/Uzhgorod" , 0x0351BE },
+ { "Europe/Vaduz" , 0x0354D5 },
+ { "Europe/Vatican" , 0x035784 },
+ { "Europe/Vienna" , 0x035B47 },
+ { "Europe/Vilnius" , 0x035E74 },
+ { "Europe/Volgograd" , 0x0361B3 },
+ { "Europe/Warsaw" , 0x0363B3 },
+ { "Europe/Zagreb" , 0x036794 },
+ { "Europe/Zaporozhye" , 0x036A5D },
+ { "Europe/Zurich" , 0x036D9E },
+ { "Factory" , 0x03704D },
+ { "GB" , 0x0370BE },
+ { "GB-Eire" , 0x0375F5 },
+ { "GMT" , 0x037B2C },
+ { "GMT+0" , 0x037BF8 },
+ { "GMT-0" , 0x037BB4 },
+ { "GMT0" , 0x037B70 },
+ { "Greenwich" , 0x037C3C },
+ { "Hongkong" , 0x037C80 },
+ { "HST" , 0x037E42 },
+ { "Iceland" , 0x037E86 },
+ { "Indian/Antananarivo" , 0x03803F },
+ { "Indian/Chagos" , 0x0380B3 },
+ { "Indian/Christmas" , 0x038115 },
+ { "Indian/Cocos" , 0x038159 },
+ { "Indian/Comoro" , 0x03819D },
+ { "Indian/Kerguelen" , 0x0381F2 },
+ { "Indian/Mahe" , 0x038247 },
+ { "Indian/Maldives" , 0x03829C },
+ { "Indian/Mauritius" , 0x0382F1 },
+ { "Indian/Mayotte" , 0x038367 },
+ { "Indian/Reunion" , 0x0383BC },
+ { "Iran" , 0x038411 },
+ { "Israel" , 0x03867F },
+ { "Jamaica" , 0x0389AE },
+ { "Japan" , 0x038A73 },
+ { "Kwajalein" , 0x038AFC },
+ { "Libya" , 0x038B5F },
+ { "MET" , 0x038C68 },
+ { "Mexico/BajaNorte" , 0x038F71 },
+ { "Mexico/BajaSur" , 0x0392DA },
+ { "Mexico/General" , 0x03951F },
+ { "MST" , 0x03977D },
+ { "MST7MDT" , 0x0397C1 },
+ { "Navajo" , 0x039B12 },
+ { "NZ" , 0x039E8B },
+ { "NZ-CHAT" , 0x03A209 },
+ { "Pacific/Apia" , 0x03A4F1 },
+ { "Pacific/Auckland" , 0x03A68D },
+ { "Pacific/Chatham" , 0x03AA19 },
+ { "Pacific/Chuuk" , 0x03AD10 },
+ { "Pacific/Easter" , 0x03AD69 },
+ { "Pacific/Efate" , 0x03B0C7 },
+ { "Pacific/Enderbury" , 0x03B18D },
+ { "Pacific/Fakaofo" , 0x03B1FB },
+ { "Pacific/Fiji" , 0x03B24C },
+ { "Pacific/Funafuti" , 0x03B3DF },
+ { "Pacific/Galapagos" , 0x03B423 },
+ { "Pacific/Gambier" , 0x03B49B },
+ { "Pacific/Guadalcanal" , 0x03B500 },
+ { "Pacific/Guam" , 0x03B555 },
+ { "Pacific/Honolulu" , 0x03B5AB },
+ { "Pacific/Johnston" , 0x03B622 },
+ { "Pacific/Kiritimati" , 0x03B6A1 },
+ { "Pacific/Kosrae" , 0x03B70C },
+ { "Pacific/Kwajalein" , 0x03B769 },
+ { "Pacific/Majuro" , 0x03B7D5 },
+ { "Pacific/Marquesas" , 0x03B834 },
+ { "Pacific/Midway" , 0x03B89B },
+ { "Pacific/Nauru" , 0x03B925 },
+ { "Pacific/Niue" , 0x03B99D },
+ { "Pacific/Norfolk" , 0x03B9FB },
+ { "Pacific/Noumea" , 0x03BA50 },
+ { "Pacific/Pago_Pago" , 0x03BAE0 },
+ { "Pacific/Palau" , 0x03BB69 },
+ { "Pacific/Pitcairn" , 0x03BBAD },
+ { "Pacific/Pohnpei" , 0x03BC02 },
+ { "Pacific/Ponape" , 0x03BC57 },
+ { "Pacific/Port_Moresby" , 0x03BC9C },
+ { "Pacific/Rarotonga" , 0x03BCE0 },
+ { "Pacific/Saipan" , 0x03BDBC },
+ { "Pacific/Samoa" , 0x03BE1F },
+ { "Pacific/Tahiti" , 0x03BEA8 },
+ { "Pacific/Tarawa" , 0x03BF0D },
+ { "Pacific/Tongatapu" , 0x03BF61 },
+ { "Pacific/Truk" , 0x03BFED },
+ { "Pacific/Wake" , 0x03C032 },
+ { "Pacific/Wallis" , 0x03C082 },
+ { "Pacific/Yap" , 0x03C0C6 },
+ { "Poland" , 0x03C10B },
+ { "Portugal" , 0x03C4EC },
+ { "PRC" , 0x03C9E8 },
+ { "PST8PDT" , 0x03CA99 },
+ { "ROC" , 0x03CDEA },
+ { "ROK" , 0x03CF02 },
+ { "Singapore" , 0x03CFA6 },
+ { "Turkey" , 0x03D05D },
+ { "UCT" , 0x03D44A },
+ { "Universal" , 0x03D48E },
+ { "US/Alaska" , 0x03D4D2 },
+ { "US/Aleutian" , 0x03D83B },
+ { "US/Arizona" , 0x03DBA1 },
+ { "US/Central" , 0x03DC2F },
+ { "US/East-Indiana" , 0x03E639 },
+ { "US/Eastern" , 0x03E13A },
+ { "US/Hawaii" , 0x03E8A3 },
+ { "US/Indiana-Starke" , 0x03E914 },
+ { "US/Michigan" , 0x03EC85 },
+ { "US/Mountain" , 0x03EFBC },
+ { "US/Pacific" , 0x03F335 },
+ { "US/Pacific-New" , 0x03F73A },
+ { "US/Samoa" , 0x03FB3F },
+ { "UTC" , 0x03FBC8 },
+ { "W-SU" , 0x03FEBF },
+ { "WET" , 0x03FC0C },
+ { "Zulu" , 0x0400FD },
};
/* This is a generated file, do not modify */
-const unsigned char timelib_timezone_db_data_builtin[262480] = {
+const unsigned char timelib_timezone_db_data_builtin[262465] = {
/* Africa/Abidjan */
@@ -711,8 +711,8 @@ const unsigned char timelib_timezone_db_data_builtin[262480] = {
/* Africa/Cairo */
0x50, 0x48, 0x50, 0x31, 0x01, 0x45, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0xB6, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x09, 0xC8, 0x93, 0xB4, 0xE0,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0xB6, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x09, 0xC8, 0x93, 0xB4, 0xE0,
0xC8, 0xFA, 0x7B, 0xD0, 0xC9, 0xFC, 0xEF, 0xE0, 0xCA, 0xC7, 0xE8, 0xD0, 0xCB, 0xCB, 0xAE, 0x60,
0xCC, 0xDF, 0x29, 0xD0, 0xCD, 0xAC, 0xE1, 0xE0, 0xCE, 0xC6, 0xF4, 0xD0, 0xCF, 0x8F, 0x66, 0xE0,
0xD0, 0xA9, 0x79, 0xD0, 0xD1, 0x84, 0x60, 0xE0, 0xD2, 0x8A, 0xAD, 0x50, 0xE8, 0x36, 0x63, 0x60,
@@ -743,14 +743,14 @@ const unsigned char timelib_timezone_db_data_builtin[262480] = {
0x43, 0x3C, 0x55, 0xD0, 0x44, 0x51, 0x3E, 0xE0, 0x45, 0x12, 0xFD, 0x50, 0x46, 0x31, 0x20, 0xE0,
0x46, 0xE0, 0x6A, 0x50, 0x48, 0x11, 0x02, 0xE0, 0x48, 0xB7, 0x11, 0xD0, 0x49, 0xF0, 0xE4, 0xE0,
0x4A, 0x8D, 0xB9, 0x50, 0x4B, 0xDA, 0x01, 0x60, 0x4C, 0x61, 0xBD, 0xD0, 0x4C, 0x89, 0x58, 0xE0,
-0x4C, 0xA4, 0xFA, 0x50, 0x53, 0x75, 0x38, 0xE0, 0x53, 0xAF, 0x3A, 0xE0, 0x53, 0xD6, 0xC7, 0xE0,
-0x54, 0x24, 0x82, 0x50, 0x55, 0x39, 0x6B, 0x60, 0x55, 0x81, 0xED, 0xE0, 0x55, 0xA9, 0x7A, 0xE0,
-0x56, 0x04, 0x64, 0x50, 0x57, 0x22, 0x87, 0xE0, 0x57, 0x55, 0xF2, 0x60, 0x57, 0x7D, 0x7F, 0x60,
-0x57, 0xED, 0x80, 0xD0, 0x59, 0x02, 0x69, 0xE0, 0x59, 0x28, 0xA5, 0x60, 0x59, 0x50, 0x32, 0x60,
-0x59, 0xCD, 0x62, 0xD0, 0x5A, 0xE2, 0x4B, 0xE0, 0x5A, 0xFB, 0x58, 0x60, 0x5B, 0x22, 0xE5, 0x60,
-0x5B, 0xAD, 0x44, 0xD0, 0x5C, 0xC2, 0x2D, 0xE0, 0x5C, 0xCF, 0x5C, 0xE0, 0x5C, 0xF6, 0xE9, 0xE0,
-0x5D, 0x8D, 0x26, 0xD0, 0x5E, 0xC9, 0x9C, 0xE0, 0x5F, 0x6D, 0x08, 0xD0, 0x60, 0x9C, 0x4F, 0xE0,
-0x61, 0x56, 0x25, 0x50, 0x62, 0x70, 0x54, 0x60, 0x63, 0x36, 0x07, 0x50, 0x64, 0x4A, 0xF0, 0x60,
+0x4C, 0xA4, 0xFA, 0x50, 0x53, 0x75, 0x38, 0xE0, 0x53, 0xAC, 0x89, 0xD0, 0x53, 0xDA, 0xBC, 0x60,
+0x54, 0x24, 0x82, 0x50, 0x55, 0x39, 0x6B, 0x60, 0x55, 0x79, 0xF6, 0xD0, 0x55, 0xB1, 0x63, 0xE0,
+0x56, 0x04, 0x64, 0x50, 0x57, 0x22, 0x87, 0xE0, 0x57, 0x50, 0x9E, 0x50, 0x57, 0x7E, 0xD0, 0xE0,
+0x57, 0xED, 0x80, 0xD0, 0x59, 0x02, 0x69, 0xE0, 0x59, 0x27, 0x45, 0xD0, 0x59, 0x55, 0x78, 0x60,
+0x59, 0xCD, 0x62, 0xD0, 0x5A, 0xE2, 0x4B, 0xE0, 0x5A, 0xF4, 0xB2, 0xD0, 0x5B, 0x22, 0xE5, 0x60,
+0x5B, 0xAD, 0x44, 0xD0, 0x5C, 0xC2, 0x2D, 0xE0, 0x5C, 0xCB, 0x5A, 0x50, 0x5C, 0xF9, 0x8C, 0xE0,
+0x5D, 0x8D, 0x26, 0xD0, 0x5E, 0xD0, 0x34, 0x60, 0x5F, 0x6D, 0x08, 0xD0, 0x60, 0x9D, 0xA1, 0x60,
+0x61, 0x56, 0x25, 0x50, 0x62, 0x74, 0x48, 0xE0, 0x63, 0x36, 0x07, 0x50, 0x64, 0x4A, 0xF0, 0x60,
0x65, 0x15, 0xE9, 0x50, 0x66, 0x2A, 0xD2, 0x60, 0x66, 0xF5, 0xCB, 0x50, 0x68, 0x0A, 0xB4, 0x60,
0x68, 0xD5, 0xAD, 0x50, 0x69, 0xEA, 0x96, 0x60, 0x6A, 0xB5, 0x8F, 0x50, 0x6B, 0xD3, 0xB2, 0xE0,
0x6C, 0x9E, 0xAB, 0xD0, 0x6D, 0xB3, 0x94, 0xE0, 0x6E, 0x7E, 0x8D, 0xD0, 0x6F, 0x93, 0x76, 0xE0,
@@ -763,16 +763,16 @@ const unsigned char timelib_timezone_db_data_builtin[262480] = {
0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
-0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 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, 0x01, 0x00, 0x03, 0x00, 0x03,
-0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
-0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
-0x02, 0x03, 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, 0x2A, 0x30, 0x01, 0x00,
-0x00, 0x00, 0x1C, 0x20, 0x00, 0x05, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x00, 0x00, 0x00, 0x1C, 0x20,
-0x00, 0x05, 0x45, 0x45, 0x53, 0x54, 0x00, 0x45, 0x45, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00,
-0x00, 0x00, 0x00, 0x00, 0xB7, 0x2E, 0x88, 0x01, 0x42, 0x57, 0x88, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x02, 0x01, 0x02, 0x01,
+0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01,
+0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x00, 0x01, 0x02, 0x01, 0x00, 0x01, 0x02, 0x01, 0x00, 0x01, 0x02, 0x01, 0x00, 0x01, 0x02, 0x01,
+0x00, 0x01, 0x02, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x02, 0x01, 0x02, 0x01,
+0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01,
+0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x00,
+0x00, 0x00, 0x1C, 0x20, 0x00, 0x05, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x00, 0x45, 0x45, 0x53, 0x54,
+0x00, 0x45, 0x45, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0xB7, 0x2E, 0x88, 0x01,
+0x42, 0x57, 0x88, 0x00, 0x00, 0x00, 0x00,
/* Africa/Casablanca */
0x50, 0x48, 0x50, 0x31, 0x01, 0x4D, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -786,23 +786,23 @@ const unsigned char timelib_timezone_db_data_builtin[262480] = {
0x4A, 0x23, 0x1A, 0x00, 0x4A, 0x8D, 0xD5, 0x70, 0x4B, 0xDC, 0xC0, 0x80, 0x4C, 0x5D, 0xE5, 0x70,
0x4D, 0x97, 0xB8, 0x80, 0x4E, 0x34, 0x8C, 0xF0, 0x4F, 0x9C, 0xA0, 0xA0, 0x50, 0x08, 0xBB, 0xA0,
0x50, 0x31, 0x9A, 0x20, 0x50, 0x67, 0xA7, 0xA0, 0x51, 0x7C, 0x82, 0xA0, 0x51, 0xD8, 0xCB, 0xA0,
-0x52, 0x05, 0x9E, 0xA0, 0x52, 0x6C, 0x73, 0xA0, 0x53, 0x37, 0x7A, 0xA0, 0x53, 0xAF, 0x73, 0x20,
-0x53, 0xD7, 0x00, 0x20, 0x54, 0x4C, 0x55, 0xA0, 0x55, 0x17, 0x5C, 0xA0, 0x55, 0x82, 0x26, 0x20,
-0x55, 0xA9, 0xB3, 0x20, 0x56, 0x2C, 0x37, 0xA0, 0x56, 0xF7, 0x3E, 0xA0, 0x57, 0x56, 0x2A, 0xA0,
-0x57, 0x7D, 0xB7, 0xA0, 0x58, 0x15, 0x54, 0x20, 0x58, 0xD7, 0x20, 0xA0, 0x59, 0x28, 0xDD, 0xA0,
-0x59, 0x50, 0x6A, 0xA0, 0x59, 0xF5, 0x36, 0x20, 0x5A, 0xB7, 0x02, 0xA0, 0x5A, 0xFB, 0x90, 0xA0,
-0x5B, 0x23, 0x1D, 0xA0, 0x5B, 0xD5, 0x18, 0x20, 0x5C, 0xA0, 0x1F, 0x20, 0x5C, 0xCF, 0x95, 0x20,
-0x5C, 0xF7, 0x22, 0x20, 0x5D, 0xB4, 0xFA, 0x20, 0x5E, 0x80, 0x01, 0x20, 0x5E, 0xA2, 0x48, 0x20,
-0x5E, 0xC9, 0xD5, 0x20, 0x5F, 0x94, 0xDC, 0x20, 0x60, 0x5F, 0xE3, 0x20, 0x60, 0x74, 0xFB, 0x20,
-0x60, 0x9C, 0x88, 0x20, 0x61, 0x7D, 0xF8, 0xA0, 0x62, 0x3F, 0xC5, 0x20, 0x62, 0x48, 0xFF, 0xA0,
-0x62, 0x70, 0x8C, 0xA0, 0x63, 0x5D, 0xDA, 0xA0, 0x64, 0x43, 0x3F, 0xA0, 0x65, 0x3D, 0xBC, 0xA0,
-0x66, 0x15, 0xF2, 0xA0, 0x67, 0x1D, 0x9E, 0xA0, 0x67, 0xE9, 0xF7, 0x20, 0x68, 0xFD, 0x80, 0xA0,
+0x52, 0x05, 0x9E, 0xA0, 0x52, 0x6C, 0x73, 0xA0, 0x53, 0x37, 0x7A, 0xA0, 0x53, 0xAE, 0x21, 0xA0,
+0x53, 0xDC, 0x46, 0x20, 0x54, 0x4C, 0x55, 0xA0, 0x55, 0x17, 0x5C, 0xA0, 0x55, 0x7B, 0x8E, 0xA0,
+0x55, 0xA9, 0xB3, 0x20, 0x56, 0x2C, 0x37, 0xA0, 0x56, 0xF7, 0x3E, 0xA0, 0x57, 0x52, 0x36, 0x20,
+0x57, 0x80, 0x5A, 0xA0, 0x58, 0x15, 0x54, 0x20, 0x58, 0xD7, 0x20, 0xA0, 0x59, 0x1F, 0xA3, 0x20,
+0x59, 0x57, 0x02, 0x20, 0x59, 0xF5, 0x36, 0x20, 0x5A, 0xB7, 0x02, 0xA0, 0x5A, 0xF6, 0x4A, 0xA0,
+0x5B, 0x24, 0x6F, 0x20, 0x5B, 0xD5, 0x18, 0x20, 0x5C, 0xA0, 0x1F, 0x20, 0x5C, 0xCC, 0xF2, 0x20,
+0x5C, 0xFB, 0x16, 0xA0, 0x5D, 0xB4, 0xFA, 0x20, 0x5E, 0x80, 0x01, 0x20, 0x5E, 0x9A, 0x5F, 0x20,
+0x5E, 0xD1, 0xBE, 0x20, 0x5F, 0x94, 0xDC, 0x20, 0x60, 0x5F, 0xE3, 0x20, 0x60, 0x71, 0x06, 0xA0,
+0x60, 0x9F, 0x2B, 0x20, 0x61, 0x7D, 0xF8, 0xA0, 0x62, 0x3F, 0xC5, 0x20, 0x62, 0x47, 0xAE, 0x20,
+0x62, 0x75, 0xD2, 0xA0, 0x63, 0x5D, 0xDA, 0xA0, 0x64, 0x43, 0x3F, 0xA0, 0x65, 0x3D, 0xBC, 0xA0,
+0x66, 0x19, 0xE7, 0x20, 0x67, 0x1D, 0x9E, 0xA0, 0x67, 0xF0, 0x8E, 0xA0, 0x68, 0xFD, 0x80, 0xA0,
0x69, 0xC8, 0x87, 0xA0, 0x6A, 0xDD, 0x62, 0xA0, 0x6B, 0xA8, 0x69, 0xA0, 0x6C, 0xC6, 0x7F, 0x20,
0x6D, 0x88, 0x4B, 0xA0, 0x6E, 0xA6, 0x61, 0x20, 0x6F, 0x68, 0x2D, 0xA0, 0x70, 0x86, 0x43, 0x20,
0x71, 0x51, 0x4A, 0x20, 0x72, 0x66, 0x25, 0x20, 0x73, 0x31, 0x2C, 0x20, 0x74, 0x46, 0x07, 0x20,
0x75, 0x11, 0x0E, 0x20, 0x76, 0x2F, 0x23, 0xA0, 0x76, 0xF0, 0xF0, 0x20, 0x78, 0x0F, 0x05, 0xA0,
-0x78, 0xD0, 0xD2, 0x20, 0x79, 0xEE, 0xE7, 0xA0, 0x7A, 0xB0, 0xB4, 0x20, 0x7B, 0xCE, 0xC9, 0xA0,
-0x7C, 0x99, 0xD0, 0xA0, 0x7D, 0xA8, 0x14, 0x20, 0x7E, 0x79, 0xB2, 0xA0, 0x7F, 0x7C, 0x18, 0xA0,
+0x78, 0xD0, 0xD2, 0x20, 0x79, 0xEE, 0xE7, 0xA0, 0x7A, 0xB0, 0xB4, 0x20, 0x7B, 0xCD, 0x78, 0x20,
+0x7C, 0x99, 0xD0, 0xA0, 0x7D, 0xA4, 0x1F, 0xA0, 0x7E, 0x79, 0xB2, 0xA0, 0x7F, 0x7A, 0xC7, 0x20,
0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01,
0x02, 0x03, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01,
0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01,
@@ -919,23 +919,23 @@ const unsigned char timelib_timezone_db_data_builtin[262480] = {
0x4C, 0x5D, 0xE5, 0x70, 0x4D, 0x97, 0xB8, 0x80, 0x4E, 0x34, 0x8C, 0xF0, 0x4F, 0x9C, 0xA0, 0xA0,
0x50, 0x08, 0xBB, 0xA0, 0x50, 0x31, 0x9A, 0x20, 0x50, 0x67, 0xA7, 0xA0, 0x51, 0x7C, 0x82, 0xA0,
0x51, 0xD8, 0xCB, 0xA0, 0x52, 0x05, 0x9E, 0xA0, 0x52, 0x6C, 0x73, 0xA0, 0x53, 0x37, 0x7A, 0xA0,
-0x53, 0xAF, 0x73, 0x20, 0x53, 0xD7, 0x00, 0x20, 0x54, 0x4C, 0x55, 0xA0, 0x55, 0x17, 0x5C, 0xA0,
-0x55, 0x82, 0x26, 0x20, 0x55, 0xA9, 0xB3, 0x20, 0x56, 0x2C, 0x37, 0xA0, 0x56, 0xF7, 0x3E, 0xA0,
-0x57, 0x56, 0x2A, 0xA0, 0x57, 0x7D, 0xB7, 0xA0, 0x58, 0x15, 0x54, 0x20, 0x58, 0xD7, 0x20, 0xA0,
-0x59, 0x28, 0xDD, 0xA0, 0x59, 0x50, 0x6A, 0xA0, 0x59, 0xF5, 0x36, 0x20, 0x5A, 0xB7, 0x02, 0xA0,
-0x5A, 0xFB, 0x90, 0xA0, 0x5B, 0x23, 0x1D, 0xA0, 0x5B, 0xD5, 0x18, 0x20, 0x5C, 0xA0, 0x1F, 0x20,
-0x5C, 0xCF, 0x95, 0x20, 0x5C, 0xF7, 0x22, 0x20, 0x5D, 0xB4, 0xFA, 0x20, 0x5E, 0x80, 0x01, 0x20,
-0x5E, 0xA2, 0x48, 0x20, 0x5E, 0xC9, 0xD5, 0x20, 0x5F, 0x94, 0xDC, 0x20, 0x60, 0x5F, 0xE3, 0x20,
-0x60, 0x74, 0xFB, 0x20, 0x60, 0x9C, 0x88, 0x20, 0x61, 0x7D, 0xF8, 0xA0, 0x62, 0x3F, 0xC5, 0x20,
-0x62, 0x48, 0xFF, 0xA0, 0x62, 0x70, 0x8C, 0xA0, 0x63, 0x5D, 0xDA, 0xA0, 0x64, 0x43, 0x3F, 0xA0,
-0x65, 0x3D, 0xBC, 0xA0, 0x66, 0x15, 0xF2, 0xA0, 0x67, 0x1D, 0x9E, 0xA0, 0x67, 0xE9, 0xF7, 0x20,
+0x53, 0xAE, 0x21, 0xA0, 0x53, 0xDC, 0x46, 0x20, 0x54, 0x4C, 0x55, 0xA0, 0x55, 0x17, 0x5C, 0xA0,
+0x55, 0x7B, 0x8E, 0xA0, 0x55, 0xA9, 0xB3, 0x20, 0x56, 0x2C, 0x37, 0xA0, 0x56, 0xF7, 0x3E, 0xA0,
+0x57, 0x52, 0x36, 0x20, 0x57, 0x80, 0x5A, 0xA0, 0x58, 0x15, 0x54, 0x20, 0x58, 0xD7, 0x20, 0xA0,
+0x59, 0x1F, 0xA3, 0x20, 0x59, 0x57, 0x02, 0x20, 0x59, 0xF5, 0x36, 0x20, 0x5A, 0xB7, 0x02, 0xA0,
+0x5A, 0xF6, 0x4A, 0xA0, 0x5B, 0x24, 0x6F, 0x20, 0x5B, 0xD5, 0x18, 0x20, 0x5C, 0xA0, 0x1F, 0x20,
+0x5C, 0xCC, 0xF2, 0x20, 0x5C, 0xFB, 0x16, 0xA0, 0x5D, 0xB4, 0xFA, 0x20, 0x5E, 0x80, 0x01, 0x20,
+0x5E, 0x9A, 0x5F, 0x20, 0x5E, 0xD1, 0xBE, 0x20, 0x5F, 0x94, 0xDC, 0x20, 0x60, 0x5F, 0xE3, 0x20,
+0x60, 0x71, 0x06, 0xA0, 0x60, 0x9F, 0x2B, 0x20, 0x61, 0x7D, 0xF8, 0xA0, 0x62, 0x3F, 0xC5, 0x20,
+0x62, 0x47, 0xAE, 0x20, 0x62, 0x75, 0xD2, 0xA0, 0x63, 0x5D, 0xDA, 0xA0, 0x64, 0x43, 0x3F, 0xA0,
+0x65, 0x3D, 0xBC, 0xA0, 0x66, 0x19, 0xE7, 0x20, 0x67, 0x1D, 0x9E, 0xA0, 0x67, 0xF0, 0x8E, 0xA0,
0x68, 0xFD, 0x80, 0xA0, 0x69, 0xC8, 0x87, 0xA0, 0x6A, 0xDD, 0x62, 0xA0, 0x6B, 0xA8, 0x69, 0xA0,
0x6C, 0xC6, 0x7F, 0x20, 0x6D, 0x88, 0x4B, 0xA0, 0x6E, 0xA6, 0x61, 0x20, 0x6F, 0x68, 0x2D, 0xA0,
0x70, 0x86, 0x43, 0x20, 0x71, 0x51, 0x4A, 0x20, 0x72, 0x66, 0x25, 0x20, 0x73, 0x31, 0x2C, 0x20,
0x74, 0x46, 0x07, 0x20, 0x75, 0x11, 0x0E, 0x20, 0x76, 0x2F, 0x23, 0xA0, 0x76, 0xF0, 0xF0, 0x20,
0x78, 0x0F, 0x05, 0xA0, 0x78, 0xD0, 0xD2, 0x20, 0x79, 0xEE, 0xE7, 0xA0, 0x7A, 0xB0, 0xB4, 0x20,
-0x7B, 0xCE, 0xC9, 0xA0, 0x7C, 0x99, 0xD0, 0xA0, 0x7D, 0xA8, 0x14, 0x20, 0x7E, 0x79, 0xB2, 0xA0,
-0x7F, 0x7C, 0x18, 0xA0, 0x01, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
+0x7B, 0xCD, 0x78, 0x20, 0x7C, 0x99, 0xD0, 0xA0, 0x7D, 0xA4, 0x1F, 0xA0, 0x7E, 0x79, 0xB2, 0xA0,
+0x7F, 0x7A, 0xC7, 0x20, 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, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
@@ -9553,7 +9553,7 @@ const unsigned char timelib_timezone_db_data_builtin[262480] = {
/* Asia/Vladivostok */
0x50, 0x48, 0x50, 0x31, 0x01, 0x52, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x16, 0xA7, 0x59, 0x47, 0x50,
+0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x0F, 0xA7, 0x59, 0x47, 0x50,
0xB5, 0xA3, 0xB6, 0xF0, 0x15, 0x27, 0x45, 0x60, 0x16, 0x18, 0x79, 0xD0, 0x17, 0x08, 0x78, 0xE0,
0x17, 0xF9, 0xAD, 0x50, 0x18, 0xE9, 0xAC, 0x60, 0x19, 0xDA, 0xE0, 0xD0, 0x1A, 0xCC, 0x31, 0x60,
0x1B, 0xBC, 0x3E, 0x80, 0x1C, 0xAC, 0x2F, 0x80, 0x1D, 0x9C, 0x20, 0x80, 0x1E, 0x8C, 0x11, 0x80,
@@ -9576,12 +9576,12 @@ const unsigned char timelib_timezone_db_data_builtin[262480] = {
0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x08, 0x00, 0x00, 0x7B, 0xB0,
0x00, 0x00, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x04, 0x00, 0x00, 0x9A, 0xB0, 0x01, 0x09, 0x00, 0x00,
0x8C, 0xA0, 0x00, 0x04, 0x00, 0x00, 0x8C, 0xA0, 0x00, 0x04, 0x00, 0x00, 0x9A, 0xB0, 0x01, 0x09,
-0x00, 0x00, 0x8C, 0xA0, 0x01, 0x0F, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x09, 0x00, 0x00, 0x9A, 0xB0,
+0x00, 0x00, 0x8C, 0xA0, 0x01, 0x09, 0x00, 0x00, 0x7E, 0x90, 0x00, 0x04, 0x00, 0x00, 0x9A, 0xB0,
0x00, 0x04, 0x4C, 0x4D, 0x54, 0x00, 0x56, 0x4C, 0x41, 0x54, 0x00, 0x56, 0x4C, 0x41, 0x53, 0x54,
-0x00, 0x56, 0x4C, 0x41, 0x53, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01,
-0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCB, 0x32, 0x3A, 0x01, 0xDB,
-0xF8, 0xF5, 0x00, 0x00, 0x00, 0x16, 0x4D, 0x6F, 0x73, 0x63, 0x6F, 0x77, 0x2B, 0x30, 0x37, 0x20,
-0x2D, 0x20, 0x41, 0x6D, 0x75, 0x72, 0x20, 0x52, 0x69, 0x76, 0x65, 0x72,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0xCB, 0x32, 0x3A, 0x01, 0xDB, 0xF8, 0xF5, 0x00, 0x00, 0x00, 0x16, 0x4D,
+0x6F, 0x73, 0x63, 0x6F, 0x77, 0x2B, 0x30, 0x37, 0x20, 0x2D, 0x20, 0x41, 0x6D, 0x75, 0x72, 0x20,
+0x52, 0x69, 0x76, 0x65, 0x72,
/* Asia/Yakutsk */
0x50, 0x48, 0x50, 0x31, 0x01, 0x52, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -12053,8 +12053,8 @@ const unsigned char timelib_timezone_db_data_builtin[262480] = {
/* Egypt */
0x50, 0x48, 0x50, 0x31, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0xB6, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x09, 0xC8, 0x93, 0xB4, 0xE0,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0xB6, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x09, 0xC8, 0x93, 0xB4, 0xE0,
0xC8, 0xFA, 0x7B, 0xD0, 0xC9, 0xFC, 0xEF, 0xE0, 0xCA, 0xC7, 0xE8, 0xD0, 0xCB, 0xCB, 0xAE, 0x60,
0xCC, 0xDF, 0x29, 0xD0, 0xCD, 0xAC, 0xE1, 0xE0, 0xCE, 0xC6, 0xF4, 0xD0, 0xCF, 0x8F, 0x66, 0xE0,
0xD0, 0xA9, 0x79, 0xD0, 0xD1, 0x84, 0x60, 0xE0, 0xD2, 0x8A, 0xAD, 0x50, 0xE8, 0x36, 0x63, 0x60,
@@ -12085,14 +12085,14 @@ const unsigned char timelib_timezone_db_data_builtin[262480] = {
0x43, 0x3C, 0x55, 0xD0, 0x44, 0x51, 0x3E, 0xE0, 0x45, 0x12, 0xFD, 0x50, 0x46, 0x31, 0x20, 0xE0,
0x46, 0xE0, 0x6A, 0x50, 0x48, 0x11, 0x02, 0xE0, 0x48, 0xB7, 0x11, 0xD0, 0x49, 0xF0, 0xE4, 0xE0,
0x4A, 0x8D, 0xB9, 0x50, 0x4B, 0xDA, 0x01, 0x60, 0x4C, 0x61, 0xBD, 0xD0, 0x4C, 0x89, 0x58, 0xE0,
-0x4C, 0xA4, 0xFA, 0x50, 0x53, 0x75, 0x38, 0xE0, 0x53, 0xAF, 0x3A, 0xE0, 0x53, 0xD6, 0xC7, 0xE0,
-0x54, 0x24, 0x82, 0x50, 0x55, 0x39, 0x6B, 0x60, 0x55, 0x81, 0xED, 0xE0, 0x55, 0xA9, 0x7A, 0xE0,
-0x56, 0x04, 0x64, 0x50, 0x57, 0x22, 0x87, 0xE0, 0x57, 0x55, 0xF2, 0x60, 0x57, 0x7D, 0x7F, 0x60,
-0x57, 0xED, 0x80, 0xD0, 0x59, 0x02, 0x69, 0xE0, 0x59, 0x28, 0xA5, 0x60, 0x59, 0x50, 0x32, 0x60,
-0x59, 0xCD, 0x62, 0xD0, 0x5A, 0xE2, 0x4B, 0xE0, 0x5A, 0xFB, 0x58, 0x60, 0x5B, 0x22, 0xE5, 0x60,
-0x5B, 0xAD, 0x44, 0xD0, 0x5C, 0xC2, 0x2D, 0xE0, 0x5C, 0xCF, 0x5C, 0xE0, 0x5C, 0xF6, 0xE9, 0xE0,
-0x5D, 0x8D, 0x26, 0xD0, 0x5E, 0xC9, 0x9C, 0xE0, 0x5F, 0x6D, 0x08, 0xD0, 0x60, 0x9C, 0x4F, 0xE0,
-0x61, 0x56, 0x25, 0x50, 0x62, 0x70, 0x54, 0x60, 0x63, 0x36, 0x07, 0x50, 0x64, 0x4A, 0xF0, 0x60,
+0x4C, 0xA4, 0xFA, 0x50, 0x53, 0x75, 0x38, 0xE0, 0x53, 0xAC, 0x89, 0xD0, 0x53, 0xDA, 0xBC, 0x60,
+0x54, 0x24, 0x82, 0x50, 0x55, 0x39, 0x6B, 0x60, 0x55, 0x79, 0xF6, 0xD0, 0x55, 0xB1, 0x63, 0xE0,
+0x56, 0x04, 0x64, 0x50, 0x57, 0x22, 0x87, 0xE0, 0x57, 0x50, 0x9E, 0x50, 0x57, 0x7E, 0xD0, 0xE0,
+0x57, 0xED, 0x80, 0xD0, 0x59, 0x02, 0x69, 0xE0, 0x59, 0x27, 0x45, 0xD0, 0x59, 0x55, 0x78, 0x60,
+0x59, 0xCD, 0x62, 0xD0, 0x5A, 0xE2, 0x4B, 0xE0, 0x5A, 0xF4, 0xB2, 0xD0, 0x5B, 0x22, 0xE5, 0x60,
+0x5B, 0xAD, 0x44, 0xD0, 0x5C, 0xC2, 0x2D, 0xE0, 0x5C, 0xCB, 0x5A, 0x50, 0x5C, 0xF9, 0x8C, 0xE0,
+0x5D, 0x8D, 0x26, 0xD0, 0x5E, 0xD0, 0x34, 0x60, 0x5F, 0x6D, 0x08, 0xD0, 0x60, 0x9D, 0xA1, 0x60,
+0x61, 0x56, 0x25, 0x50, 0x62, 0x74, 0x48, 0xE0, 0x63, 0x36, 0x07, 0x50, 0x64, 0x4A, 0xF0, 0x60,
0x65, 0x15, 0xE9, 0x50, 0x66, 0x2A, 0xD2, 0x60, 0x66, 0xF5, 0xCB, 0x50, 0x68, 0x0A, 0xB4, 0x60,
0x68, 0xD5, 0xAD, 0x50, 0x69, 0xEA, 0x96, 0x60, 0x6A, 0xB5, 0x8F, 0x50, 0x6B, 0xD3, 0xB2, 0xE0,
0x6C, 0x9E, 0xAB, 0xD0, 0x6D, 0xB3, 0x94, 0xE0, 0x6E, 0x7E, 0x8D, 0xD0, 0x6F, 0x93, 0x76, 0xE0,
@@ -12105,16 +12105,16 @@ const unsigned char timelib_timezone_db_data_builtin[262480] = {
0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
-0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 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, 0x01, 0x00, 0x03, 0x00, 0x03,
-0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
-0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03, 0x02, 0x03,
-0x02, 0x03, 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, 0x2A, 0x30, 0x01, 0x00,
-0x00, 0x00, 0x1C, 0x20, 0x00, 0x05, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x00, 0x00, 0x00, 0x1C, 0x20,
-0x00, 0x05, 0x45, 0x45, 0x53, 0x54, 0x00, 0x45, 0x45, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x89, 0x54, 0x40, 0x01, 0x12, 0xA8, 0x80, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x02, 0x01, 0x02, 0x01,
+0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01,
+0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x00, 0x01, 0x00, 0x01,
+0x00, 0x01, 0x02, 0x01, 0x00, 0x01, 0x02, 0x01, 0x00, 0x01, 0x02, 0x01, 0x00, 0x01, 0x02, 0x01,
+0x00, 0x01, 0x02, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x02, 0x01, 0x02, 0x01,
+0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01,
+0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x00,
+0x00, 0x00, 0x1C, 0x20, 0x00, 0x05, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x00, 0x45, 0x45, 0x53, 0x54,
+0x00, 0x45, 0x45, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x89, 0x54, 0x40, 0x01,
+0x12, 0xA8, 0x80, 0x00, 0x00, 0x00, 0x00,
/* Eire */
0x50, 0x48, 0x50, 0x31, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -14441,7 +14441,7 @@ const unsigned char timelib_timezone_db_data_builtin[262480] = {
/* Europe/Moscow */
0x50, 0x48, 0x50, 0x31, 0x01, 0x52, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x1E, 0x9B, 0x5F, 0x1E, 0xD8,
+0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x22, 0x9B, 0x5F, 0x1E, 0xD8,
0x9D, 0x3E, 0xF2, 0x98, 0x9E, 0x2A, 0xEF, 0x18, 0x9E, 0xF7, 0x39, 0x88, 0x9F, 0x84, 0x58, 0x18,
0xA0, 0xD8, 0x6D, 0x08, 0xA1, 0x00, 0x16, 0x28, 0xA1, 0x3C, 0xA6, 0x40, 0xA4, 0x10, 0x6D, 0xC0,
0xA4, 0x3D, 0x32, 0xB0, 0xA5, 0x15, 0x68, 0xB0, 0xA5, 0x3D, 0x03, 0xC0, 0xA7, 0x1E, 0x45, 0x50,
@@ -14468,15 +14468,15 @@ const unsigned char timelib_timezone_db_data_builtin[262480] = {
0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x0C, 0x00, 0x00, 0x23, 0x28, 0x00, 0x00, 0x00, 0x00,
0x31, 0x68, 0x01, 0x04, 0x00, 0x00, 0x23, 0x58, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x78, 0x01, 0x08,
0x00, 0x00, 0x2A, 0x30, 0x00, 0x0D, 0x00, 0x00, 0x38, 0x40, 0x01, 0x11, 0x00, 0x00, 0x46, 0x50,
-0x01, 0x11, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x15, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0D, 0x00, 0x00,
-0x38, 0x40, 0x01, 0x11, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x19, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x15,
+0x01, 0x15, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x19, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0D, 0x00, 0x00,
+0x38, 0x40, 0x01, 0x11, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x1D, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x19,
0x00, 0x00, 0x38, 0x40, 0x00, 0x0D, 0x4D, 0x4D, 0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, 0x4D, 0x44,
-0x53, 0x54, 0x00, 0x4D, 0x53, 0x4B, 0x00, 0x4D, 0x53, 0x44, 0x00, 0x45, 0x45, 0x54, 0x00, 0x45,
-0x45, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01,
-0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xDE,
-0x65, 0x98, 0x01, 0x4C, 0x01, 0x7D, 0x00, 0x00, 0x00, 0x17, 0x4D, 0x6F, 0x73, 0x63, 0x6F, 0x77,
-0x2B, 0x30, 0x30, 0x20, 0x2D, 0x20, 0x77, 0x65, 0x73, 0x74, 0x20, 0x52, 0x75, 0x73, 0x73, 0x69,
-0x61,
+0x53, 0x54, 0x00, 0x4D, 0x53, 0x4B, 0x00, 0x4D, 0x53, 0x44, 0x00, 0x4D, 0x53, 0x4D, 0x00, 0x45,
+0x45, 0x54, 0x00, 0x45, 0x45, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0xDE, 0x65, 0x98, 0x01, 0x4C, 0x01, 0x7D, 0x00, 0x00, 0x00, 0x17, 0x4D, 0x6F,
+0x73, 0x63, 0x6F, 0x77, 0x2B, 0x30, 0x30, 0x20, 0x2D, 0x20, 0x77, 0x65, 0x73, 0x74, 0x20, 0x52,
+0x75, 0x73, 0x73, 0x69, 0x61,
/* Europe/Nicosia */
0x50, 0x48, 0x50, 0x31, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -18429,7 +18429,7 @@ const unsigned char timelib_timezone_db_data_builtin[262480] = {
/* W-SU */
0x50, 0x48, 0x50, 0x31, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x1E, 0x9B, 0x5F, 0x1E, 0xD8,
+0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x22, 0x9B, 0x5F, 0x1E, 0xD8,
0x9D, 0x3E, 0xF2, 0x98, 0x9E, 0x2A, 0xEF, 0x18, 0x9E, 0xF7, 0x39, 0x88, 0x9F, 0x84, 0x58, 0x18,
0xA0, 0xD8, 0x6D, 0x08, 0xA1, 0x00, 0x16, 0x28, 0xA1, 0x3C, 0xA6, 0x40, 0xA4, 0x10, 0x6D, 0xC0,
0xA4, 0x3D, 0x32, 0xB0, 0xA5, 0x15, 0x68, 0xB0, 0xA5, 0x3D, 0x03, 0xC0, 0xA7, 0x1E, 0x45, 0x50,
@@ -18456,13 +18456,13 @@ const unsigned char timelib_timezone_db_data_builtin[262480] = {
0x08, 0x09, 0x08, 0x09, 0x08, 0x09, 0x08, 0x0C, 0x00, 0x00, 0x23, 0x28, 0x00, 0x00, 0x00, 0x00,
0x31, 0x68, 0x01, 0x04, 0x00, 0x00, 0x23, 0x58, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x78, 0x01, 0x08,
0x00, 0x00, 0x2A, 0x30, 0x00, 0x0D, 0x00, 0x00, 0x38, 0x40, 0x01, 0x11, 0x00, 0x00, 0x46, 0x50,
-0x01, 0x11, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x15, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0D, 0x00, 0x00,
-0x38, 0x40, 0x01, 0x11, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x19, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x15,
+0x01, 0x15, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x19, 0x00, 0x00, 0x2A, 0x30, 0x00, 0x0D, 0x00, 0x00,
+0x38, 0x40, 0x01, 0x11, 0x00, 0x00, 0x2A, 0x30, 0x01, 0x1D, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x19,
0x00, 0x00, 0x38, 0x40, 0x00, 0x0D, 0x4D, 0x4D, 0x54, 0x00, 0x4D, 0x53, 0x54, 0x00, 0x4D, 0x44,
-0x53, 0x54, 0x00, 0x4D, 0x53, 0x4B, 0x00, 0x4D, 0x53, 0x44, 0x00, 0x45, 0x45, 0x54, 0x00, 0x45,
-0x45, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01,
-0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x89,
-0x54, 0x40, 0x01, 0x12, 0xA8, 0x80, 0x00, 0x00, 0x00, 0x00,
+0x53, 0x54, 0x00, 0x4D, 0x53, 0x4B, 0x00, 0x4D, 0x53, 0x44, 0x00, 0x4D, 0x53, 0x4D, 0x00, 0x45,
+0x45, 0x54, 0x00, 0x45, 0x45, 0x53, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x89, 0x54, 0x40, 0x01, 0x12, 0xA8, 0x80, 0x00, 0x00, 0x00, 0x00,
/* Zulu */
0x50, 0x48, 0x50, 0x31, 0x00, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -18471,4 +18471,4 @@ const unsigned char timelib_timezone_db_data_builtin[262480] = {
0x00, 0x00, 0x55, 0x54, 0x43, 0x00, 0x00, 0x00, 0x00, 0x89, 0x54, 0x40, 0x01, 0x12, 0xA8, 0x80,
0x00, 0x00, 0x00, 0x00, };
-const timelib_tzdb timezonedb_builtin = { "2014.3", 580, timezonedb_idx_builtin, timelib_timezone_db_data_builtin };
+const timelib_tzdb timezonedb_builtin = { "2014.5", 580, timezonedb_idx_builtin, timelib_timezone_db_data_builtin };
diff --git a/ext/date/tests/bug41523.phpt b/ext/date/tests/bug41523.phpt
index 05c591f063..68fe1bd6a3 100644
--- a/ext/date/tests/bug41523.phpt
+++ b/ext/date/tests/bug41523.phpt
@@ -46,7 +46,7 @@ array(12) {
bool(false)
object(DateTime)#1 (3) {
["date"]=>
- string(20) "-0001-11-30 00:00:00.000000"
+ string(27) "-0001-11-30 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
diff --git a/ext/oci8/LICENSE b/ext/oci8/LICENSE
index 42536af320..6059c80e12 100644
--- a/ext/oci8/LICENSE
+++ b/ext/oci8/LICENSE
@@ -1,6 +1,6 @@
--------------------------------------------------------------------
The PHP License, version 3.01
-Copyright (c) 1999 - 2012 The PHP Group. All rights reserved.
+Copyright (c) 1999 - 2014 The PHP Group. All rights reserved.
--------------------------------------------------------------------
Redistribution and use in source and binary forms, with or without
diff --git a/ext/openssl/tests/openssl_spki_verify.phpt b/ext/openssl/tests/openssl_spki_verify.phpt
index 1ee573fd3f..52dc8e2045 100644
--- a/ext/openssl/tests/openssl_spki_verify.phpt
+++ b/ext/openssl/tests/openssl_spki_verify.phpt
@@ -17,9 +17,7 @@ $ksize = array('1024'=>1024,
'4096'=>4096);
/* array of available hashings to test */
-$algo = array('md4'=>OPENSSL_ALGO_MD4,
- 'md5'=>OPENSSL_ALGO_MD5,
- 'sha1'=>OPENSSL_ALGO_SHA1,
+$algo = array('sha1'=>OPENSSL_ALGO_SHA1,
'sha224'=>OPENSSL_ALGO_SHA224,
'sha256'=>OPENSSL_ALGO_SHA256,
'sha384'=>OPENSSL_ALGO_SHA384,
@@ -90,16 +88,4 @@ bool(false)
bool(true)
bool(false)
bool(true)
-bool(false)
-bool(true)
-bool(false)
-bool(true)
-bool(false)
-bool(true)
-bool(false)
-bool(true)
-bool(false)
-bool(true)
-bool(false)
-bool(true)
bool(false) \ No newline at end of file
diff --git a/ext/pdo/pdo_sql_parser.c b/ext/pdo/pdo_sql_parser.c
index b9b5044a8e..9cd205f4eb 100644
--- a/ext/pdo/pdo_sql_parser.c
+++ b/ext/pdo/pdo_sql_parser.c
@@ -4,7 +4,7 @@
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
- | Copyright (c) 1997-2013 The PHP Group |
+ | Copyright (c) 1997-2014 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
diff --git a/ext/pdo/pdo_sql_parser.re b/ext/pdo/pdo_sql_parser.re
index be38dfd29c..76ac3d115a 100644
--- a/ext/pdo/pdo_sql_parser.re
+++ b/ext/pdo/pdo_sql_parser.re
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
- | Copyright (c) 1997-2013 The PHP Group |
+ | Copyright (c) 1997-2014 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
diff --git a/ext/session/session.c b/ext/session/session.c
index c39e954ded..529e6eee2d 100644
--- a/ext/session/session.c
+++ b/ext/session/session.c
@@ -51,6 +51,7 @@
#include "ext/standard/php_smart_str.h"
#include "ext/standard/url.h"
#include "ext/standard/basic_functions.h"
+#include "ext/standard/head.h"
#include "mod_files.h"
#include "mod_user.h"
@@ -1254,14 +1255,6 @@ static int php_session_cache_limiter(TSRMLS_D) /* {{{ */
* Cookie Management *
********************* */
-#define COOKIE_SET_COOKIE "Set-Cookie: "
-#define COOKIE_EXPIRES "; expires="
-#define COOKIE_MAX_AGE "; Max-Age="
-#define COOKIE_PATH "; path="
-#define COOKIE_DOMAIN "; domain="
-#define COOKIE_SECURE "; secure"
-#define COOKIE_HTTPONLY "; HttpOnly"
-
/*
* Remove already sent session ID cookie.
* It must be directly removed from SG(sapi_header) because sapi_add_header_ex()
@@ -1327,7 +1320,7 @@ static void php_session_send_cookie(TSRMLS_D) /* {{{ */
e_session_name = php_url_encode(PS(session_name), strlen(PS(session_name)));
e_id = php_url_encode(PS(id)->val, PS(id)->len);
- smart_str_appends(&ncookie, COOKIE_SET_COOKIE);
+ smart_str_appendl(&ncookie, "Set-Cookie: ", sizeof("Set-Cookie: ")-1);
smart_str_appendl(&ncookie, e_session_name->val, e_session_name->len);
smart_str_appendc(&ncookie, '=');
smart_str_appendl(&ncookie, e_id->val, e_id->len);
diff --git a/ext/sockets/sendrecvmsg.c b/ext/sockets/sendrecvmsg.c
index 4ddae3f6ff..72c7286eb5 100644
--- a/ext/sockets/sendrecvmsg.c
+++ b/ext/sockets/sendrecvmsg.c
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
- | Copyright (c) 1997-2012 The PHP Group |
+ | Copyright (c) 1997-2014 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
diff --git a/ext/sockets/windows_common.h b/ext/sockets/windows_common.h
index 3a9cb59129..9cc01ae129 100644
--- a/ext/sockets/windows_common.h
+++ b/ext/sockets/windows_common.h
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
- | Copyright (c) 1997-2012 The PHP Group |
+ | Copyright (c) 1997-2014 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
diff --git a/ext/spl/spl_array.c b/ext/spl/spl_array.c
index 2fa7a53dd3..3e688aaf88 100644
--- a/ext/spl/spl_array.c
+++ b/ext/spl/spl_array.c
@@ -1781,7 +1781,6 @@ SPL_METHOD(Array, unserialize)
}
if (buf_len == 0) {
- zend_throw_exception_ex(spl_ce_UnexpectedValueException, 0 TSRMLS_CC, "Empty serialized string cannot be empty");
return;
}
diff --git a/ext/spl/spl_dllist.c b/ext/spl/spl_dllist.c
index 70f2d84128..929fdd8798 100644
--- a/ext/spl/spl_dllist.c
+++ b/ext/spl/spl_dllist.c
@@ -1168,7 +1168,6 @@ SPL_METHOD(SplDoublyLinkedList, unserialize)
}
if (buf_len == 0) {
- zend_throw_exception_ex(spl_ce_UnexpectedValueException, 0 TSRMLS_CC, "Serialized string cannot be empty");
return;
}
diff --git a/ext/spl/spl_observer.c b/ext/spl/spl_observer.c
index 4ccd345df1..a13a7db155 100644
--- a/ext/spl/spl_observer.c
+++ b/ext/spl/spl_observer.c
@@ -807,7 +807,6 @@ SPL_METHOD(SplObjectStorage, unserialize)
}
if (buf_len == 0) {
- zend_throw_exception_ex(spl_ce_UnexpectedValueException, 0 TSRMLS_CC, "Empty serialized string cannot be empty");
return;
}
diff --git a/ext/spl/tests/ArrayObject_unserialize_empty_string.phpt b/ext/spl/tests/ArrayObject_unserialize_empty_string.phpt
index 75d8a41321..4c446c82b9 100644
--- a/ext/spl/tests/ArrayObject_unserialize_empty_string.phpt
+++ b/ext/spl/tests/ArrayObject_unserialize_empty_string.phpt
@@ -1,5 +1,5 @@
--TEST--
-ArrayObject: test that you cannot unserialize a empty string
+ArrayObject: test that you can unserialize a empty string
--CREDITS--
Havard Eide <nucleuz@gmail.com>
#PHPTestFest2009 Norway 2009-06-09 \o/
@@ -8,9 +8,6 @@ Havard Eide <nucleuz@gmail.com>
$a = new ArrayObject(array());
$a->unserialize("");
?>
+Done
--EXPECTF--
-Fatal error: Uncaught exception 'UnexpectedValueException' with message 'Empty serialized string cannot be empty' in %s.php:%d
-Stack trace:
-#0 %s(%d): ArrayObject->unserialize('')
-#1 {main}
- thrown in %s.php on line %d
+Done
diff --git a/ext/spl/tests/SplObjectStorage_unserialize_invalid_parameter3.phpt b/ext/spl/tests/SplObjectStorage_unserialize_invalid_parameter3.phpt
index 4c2dd75e14..617f85e63c 100644
--- a/ext/spl/tests/SplObjectStorage_unserialize_invalid_parameter3.phpt
+++ b/ext/spl/tests/SplObjectStorage_unserialize_invalid_parameter3.phpt
@@ -1,5 +1,5 @@
--TEST--
-Check that SplObjectStorage::unserialize throws exception when NULL passed
+Check that SplObjectStorage::unserialize doesn't throws exception when NULL passed
--CREDITS--
PHPNW Testfest 2009 - Simon Westcott (swestcott@gmail.com)
--FILE--
@@ -14,6 +14,6 @@ try {
}
?>
+Done
--EXPECTF--
-Empty serialized string cannot be empty
-
+Done
diff --git a/ext/standard/array.c b/ext/standard/array.c
index b8b57d7cf4..e1113a8ed5 100644
--- a/ext/standard/array.c
+++ b/ext/standard/array.c
@@ -331,7 +331,7 @@ PHP_FUNCTION(count)
RETVAL_LONG(zval_get_long(&retval));
zval_ptr_dtor(&retval);
}
- zval_dtor(&mode_zv);
+ zval_ptr_dtor(&mode_zv);
return;
}
#endif
diff --git a/ext/standard/head.c b/ext/standard/head.c
index 7c4b963285..ad82b9fbbf 100644
--- a/ext/standard/head.c
+++ b/ext/standard/head.c
@@ -124,7 +124,7 @@ PHPAPI int php_setcookie(char *name, int name_len, char *value, int value_len, t
if (expires > 0) {
const char *p;
char tsdelta[13];
- strlcat(cookie, "; expires=", len + 100);
+ strlcat(cookie, COOKIE_EXPIRES, len + 100);
dt = php_format_date("D, d-M-Y H:i:s T", sizeof("D, d-M-Y H:i:s T")-1, expires, 0 TSRMLS_CC);
/* check to make sure that the year does not exceed 4 digits in length */
p = zend_memrchr(dt->val, '-', dt->len);
@@ -139,7 +139,7 @@ PHPAPI int php_setcookie(char *name, int name_len, char *value, int value_len, t
STR_FREE(dt);
snprintf(tsdelta, sizeof(tsdelta), "%li", (long) difftime(expires, time(NULL)));
- strlcat(cookie, "; Max-Age=", len + 100);
+ strlcat(cookie, COOKIE_MAX_AGE, len + 100);
strlcat(cookie, tsdelta, len + 100);
}
}
@@ -149,18 +149,18 @@ PHPAPI int php_setcookie(char *name, int name_len, char *value, int value_len, t
}
if (path && path_len > 0) {
- strlcat(cookie, "; path=", len + 100);
+ strlcat(cookie, COOKIE_PATH, len + 100);
strlcat(cookie, path, len + 100);
}
if (domain && domain_len > 0) {
- strlcat(cookie, "; domain=", len + 100);
+ strlcat(cookie, COOKIE_DOMAIN, len + 100);
strlcat(cookie, domain, len + 100);
}
if (secure) {
- strlcat(cookie, "; secure", len + 100);
+ strlcat(cookie, COOKIE_SECURE, len + 100);
}
if (httponly) {
- strlcat(cookie, "; httponly", len + 100);
+ strlcat(cookie, COOKIE_HTTPONLY, len + 100);
}
ctr.line = cookie;
diff --git a/ext/standard/head.h b/ext/standard/head.h
index efca9b8637..59b1518676 100644
--- a/ext/standard/head.h
+++ b/ext/standard/head.h
@@ -21,6 +21,13 @@
#ifndef HEAD_H
#define HEAD_H
+#define COOKIE_EXPIRES "; expires="
+#define COOKIE_MAX_AGE "; Max-Age="
+#define COOKIE_DOMAIN "; domain="
+#define COOKIE_PATH "; path="
+#define COOKIE_SECURE "; secure"
+#define COOKIE_HTTPONLY "; HttpOnly"
+
extern PHP_RINIT_FUNCTION(head);
PHP_FUNCTION(header);
PHP_FUNCTION(header_remove);
diff --git a/ext/standard/http_fopen_wrapper.c b/ext/standard/http_fopen_wrapper.c
index 7cfc07ed25..2b10370710 100644
--- a/ext/standard/http_fopen_wrapper.c
+++ b/ext/standard/http_fopen_wrapper.c
@@ -726,10 +726,11 @@ finish:
if (!strncasecmp(http_header_line, "Location: ", 10)) {
if (context && (tmpzval = php_stream_context_get_option(context, "http", "follow_location")) != NULL) {
follow_location = zval_get_long(tmpzval);
- } else if (!((response_code >= 300 && response_code < 304) || 307 == response_code)) {
+ } else if (!(response_code >= 300 && response_code < 304 || 307 == response_code || 308 == response_code)) {
/* we shouldn't redirect automatically
if follow_location isn't set and response_code not in (300, 301, 302, 303 and 307)
- see http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.3.1 */
+ see http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.3.1
+ RFC 7238 defines 308: http://tools.ietf.org/html/rfc7238 */
follow_location = 0;
}
strlcpy(location, http_header_line + 10, sizeof(location));
diff --git a/ext/standard/tests/general_functions/header_redirection_001.phpt b/ext/standard/tests/general_functions/header_redirection_001.phpt
new file mode 100644
index 0000000000..ecf57ec54a
--- /dev/null
+++ b/ext/standard/tests/general_functions/header_redirection_001.phpt
@@ -0,0 +1,11 @@
+--TEST--
+Location: headers change the status code
+--CGI--
+--FILE--
+<?php
+header('Location: http://example.com/');
+?>
+--EXPECTHEADERS--
+Status: 302 Moved Temporarily
+Location: http://example.com/
+--EXPECT--
diff --git a/ext/standard/tests/general_functions/header_redirection_002.phpt b/ext/standard/tests/general_functions/header_redirection_002.phpt
new file mode 100644
index 0000000000..2bf6dec510
--- /dev/null
+++ b/ext/standard/tests/general_functions/header_redirection_002.phpt
@@ -0,0 +1,12 @@
+--TEST--
+Location: headers override non-201 and 3xx response codes
+--CGI--
+--FILE--
+<?php
+header("HTTP/1.1 418 I'm a Teapot");
+header('Location: http://example.com/');
+?>
+--EXPECTHEADERS--
+Status: 302 Moved Temporarily
+Location: http://example.com/
+--EXPECT--
diff --git a/ext/standard/tests/general_functions/header_redirection_003.phpt b/ext/standard/tests/general_functions/header_redirection_003.phpt
new file mode 100644
index 0000000000..678e3143ac
--- /dev/null
+++ b/ext/standard/tests/general_functions/header_redirection_003.phpt
@@ -0,0 +1,11 @@
+--TEST--
+Location: headers respect the header() response code parameter
+--CGI--
+--FILE--
+<?php
+header('Location: http://example.com/', true, 404);
+?>
+--EXPECTHEADERS--
+Status: 404 Not Found
+Location: http://example.com/
+--EXPECT--
diff --git a/ext/standard/tests/general_functions/header_redirection_004.phpt b/ext/standard/tests/general_functions/header_redirection_004.phpt
new file mode 100644
index 0000000000..678e3143ac
--- /dev/null
+++ b/ext/standard/tests/general_functions/header_redirection_004.phpt
@@ -0,0 +1,11 @@
+--TEST--
+Location: headers respect the header() response code parameter
+--CGI--
+--FILE--
+<?php
+header('Location: http://example.com/', true, 404);
+?>
+--EXPECTHEADERS--
+Status: 404 Not Found
+Location: http://example.com/
+--EXPECT--
diff --git a/ext/standard/tests/general_functions/header_redirection_005.phpt b/ext/standard/tests/general_functions/header_redirection_005.phpt
new file mode 100644
index 0000000000..fc3e0f7af8
--- /dev/null
+++ b/ext/standard/tests/general_functions/header_redirection_005.phpt
@@ -0,0 +1,12 @@
+--TEST--
+Location: headers do not override the 201 response code
+--CGI--
+--FILE--
+<?php
+header('HTTP/1.1 201 Created');
+header('Location: http://example.com/');
+?>
+--EXPECTHEADERS--
+Status: 201 Created
+Location: http://example.com/
+--EXPECT--
diff --git a/ext/standard/tests/general_functions/header_redirection_006.phpt b/ext/standard/tests/general_functions/header_redirection_006.phpt
new file mode 100644
index 0000000000..5fb52096ce
--- /dev/null
+++ b/ext/standard/tests/general_functions/header_redirection_006.phpt
@@ -0,0 +1,12 @@
+--TEST--
+Location: headers do not override the 300 Multiple Choices response code
+--CGI--
+--FILE--
+<?php
+header('HTTP/1.1 300 Multiple Choices');
+header('Location: http://example.com/');
+?>
+--EXPECTHEADERS--
+Status: 300 Multiple Choices
+Location: http://example.com/
+--EXPECT--
diff --git a/ext/standard/tests/general_functions/header_redirection_007.phpt b/ext/standard/tests/general_functions/header_redirection_007.phpt
new file mode 100644
index 0000000000..6769b080fb
--- /dev/null
+++ b/ext/standard/tests/general_functions/header_redirection_007.phpt
@@ -0,0 +1,12 @@
+--TEST--
+Location: headers do not override the 301 Moved Permanently response code
+--CGI--
+--FILE--
+<?php
+header('HTTP/1.1 301 Moved Permanently');
+header('Location: http://example.com/');
+?>
+--EXPECTHEADERS--
+Status: 301 Moved Permanently
+Location: http://example.com/
+--EXPECT--
diff --git a/ext/standard/tests/general_functions/header_redirection_008.phpt b/ext/standard/tests/general_functions/header_redirection_008.phpt
new file mode 100644
index 0000000000..50993707c1
--- /dev/null
+++ b/ext/standard/tests/general_functions/header_redirection_008.phpt
@@ -0,0 +1,12 @@
+--TEST--
+Location: headers do not override the 302 Found response code
+--CGI--
+--FILE--
+<?php
+header('HTTP/1.1 302 Found');
+header('Location: http://example.com/');
+?>
+--EXPECTHEADERS--
+Status: 302 Found
+Location: http://example.com/
+--EXPECT--
diff --git a/ext/standard/tests/general_functions/header_redirection_009.phpt b/ext/standard/tests/general_functions/header_redirection_009.phpt
new file mode 100644
index 0000000000..f8d27f9bfd
--- /dev/null
+++ b/ext/standard/tests/general_functions/header_redirection_009.phpt
@@ -0,0 +1,12 @@
+--TEST--
+Location: headers do not override the 303 See Other response code
+--CGI--
+--FILE--
+<?php
+header('HTTP/1.1 303 See Other');
+header('Location: http://example.com/');
+?>
+--EXPECTHEADERS--
+Status: 303 See Other
+Location: http://example.com/
+--EXPECT--
diff --git a/ext/standard/tests/general_functions/header_redirection_010.phpt b/ext/standard/tests/general_functions/header_redirection_010.phpt
new file mode 100644
index 0000000000..316112dde7
--- /dev/null
+++ b/ext/standard/tests/general_functions/header_redirection_010.phpt
@@ -0,0 +1,12 @@
+--TEST--
+Location: headers do not override the 304 Not Modified response code
+--CGI--
+--FILE--
+<?php
+header('HTTP/1.1 304 Not Modified');
+header('Location: http://example.com/');
+?>
+--EXPECTHEADERS--
+Status: 304 Not Modified
+Location: http://example.com/
+--EXPECT--
diff --git a/ext/standard/tests/general_functions/header_redirection_011.phpt b/ext/standard/tests/general_functions/header_redirection_011.phpt
new file mode 100644
index 0000000000..bfd8789639
--- /dev/null
+++ b/ext/standard/tests/general_functions/header_redirection_011.phpt
@@ -0,0 +1,12 @@
+--TEST--
+Location: headers do not override the 305 Use Proxy response code
+--CGI--
+--FILE--
+<?php
+header('HTTP/1.1 305 Use Proxy');
+header('Location: http://example.com/');
+?>
+--EXPECTHEADERS--
+Status: 305 Use Proxy
+Location: http://example.com/
+--EXPECT--
diff --git a/ext/standard/tests/general_functions/header_redirection_012.phpt b/ext/standard/tests/general_functions/header_redirection_012.phpt
new file mode 100644
index 0000000000..657028b09c
--- /dev/null
+++ b/ext/standard/tests/general_functions/header_redirection_012.phpt
@@ -0,0 +1,12 @@
+--TEST--
+Location: headers do not override the 307 Temporary Redirect response code
+--CGI--
+--FILE--
+<?php
+header('HTTP/1.1 307 Temporary Redirect');
+header('Location: http://example.com/');
+?>
+--EXPECTHEADERS--
+Status: 307 Temporary Redirect
+Location: http://example.com/
+--EXPECT--
diff --git a/ext/standard/tests/general_functions/header_redirection_013.phpt b/ext/standard/tests/general_functions/header_redirection_013.phpt
new file mode 100644
index 0000000000..4dce0d00fa
--- /dev/null
+++ b/ext/standard/tests/general_functions/header_redirection_013.phpt
@@ -0,0 +1,12 @@
+--TEST--
+Location: headers do not override the 308 Permanent Redirect response code
+--CGI--
+--FILE--
+<?php
+header('HTTP/1.1 308 Permanent Redirect');
+header('Location: http://example.com/');
+?>
+--EXPECTHEADERS--
+Status: 308 Permanent Redirect
+Location: http://example.com/
+--EXPECT--
diff --git a/ext/standard/tests/general_functions/header_redirection_014.phpt b/ext/standard/tests/general_functions/header_redirection_014.phpt
new file mode 100644
index 0000000000..a5fb6e8fec
--- /dev/null
+++ b/ext/standard/tests/general_functions/header_redirection_014.phpt
@@ -0,0 +1,12 @@
+--TEST--
+Location: headers do not override the 399 Choose Your Own Adventure response code
+--CGI--
+--FILE--
+<?php
+header('HTTP/1.1 399 Choose Your Own Adventure');
+header('Location: http://example.com/');
+?>
+--EXPECTHEADERS--
+Status: 399 Choose Your Own Adventure
+Location: http://example.com/
+--EXPECT--
diff --git a/ext/standard/tests/http/bug67430.phpt b/ext/standard/tests/http/bug67430.phpt
new file mode 100644
index 0000000000..d4474fdf5d
--- /dev/null
+++ b/ext/standard/tests/http/bug67430.phpt
@@ -0,0 +1,49 @@
+--TEST--
+Bug #67430 (http:// wrapper doesn't follow 308 redirects)
+--INI--
+allow_url_fopen=1
+--SKIPIF--
+<?php require 'server.inc'; http_server_skipif('tcp://127.0.0.1:12342'); ?>
+--FILE--
+<?php
+require 'server.inc';
+
+function do_test($follow) {
+ $options = [
+ 'http' => [
+ 'method' => 'POST',
+ 'follow_location' => $follow,
+ ],
+ ];
+
+ $ctx = stream_context_create($options);
+
+ $responses = [
+ "data://text/plain,HTTP/1.1 308\r\nLocation: /foo\r\n\r\n",
+ "data://text/plain,HTTP/1.1 200\r\nConnection: close\r\n\r\n",
+ ];
+ $pid = http_server('tcp://127.0.0.1:12342', $responses, $output);
+
+ $fd = fopen('http://127.0.0.1:12342/', 'rb', false, $ctx);
+ fseek($output, 0, SEEK_SET);
+ echo stream_get_contents($output);
+
+ http_server_kill($pid);
+}
+
+do_test(true);
+do_test(false);
+
+?>
+Done
+--EXPECT--
+POST / HTTP/1.0
+Host: 127.0.0.1:12342
+
+GET /foo HTTP/1.0
+Host: 127.0.0.1:12342
+
+POST / HTTP/1.0
+Host: 127.0.0.1:12342
+
+Done
diff --git a/ext/standard/tests/network/setcookie.phpt b/ext/standard/tests/network/setcookie.phpt
index a2a72e7177..3b8e551834 100644
--- a/ext/standard/tests/network/setcookie.phpt
+++ b/ext/standard/tests/network/setcookie.phpt
@@ -29,7 +29,7 @@ $expected = array(
'Set-Cookie: name=value; path=/path/',
'Set-Cookie: name=value; domain=domain.tld',
'Set-Cookie: name=value; secure',
- 'Set-Cookie: name=value; httponly'
+ 'Set-Cookie: name=value; HttpOnly'
);
$headers = headers_list();
diff --git a/ext/standard/url_scanner_ex.c b/ext/standard/url_scanner_ex.c
index 23b1f3fb70..fc865b64a7 100644
--- a/ext/standard/url_scanner_ex.c
+++ b/ext/standard/url_scanner_ex.c
@@ -4,7 +4,7 @@
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
- | Copyright (c) 1997-2013 The PHP Group |
+ | Copyright (c) 1997-2014 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
diff --git a/ext/standard/url_scanner_ex.re b/ext/standard/url_scanner_ex.re
index 38ed0633c3..240e504d6d 100644
--- a/ext/standard/url_scanner_ex.re
+++ b/ext/standard/url_scanner_ex.re
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
- | Copyright (c) 1997-2013 The PHP Group |
+ | Copyright (c) 1997-2014 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
diff --git a/ext/standard/var_unserializer.c b/ext/standard/var_unserializer.c
index e1d899587c..0a5cbaa2cb 100644
--- a/ext/standard/var_unserializer.c
+++ b/ext/standard/var_unserializer.c
@@ -4,7 +4,7 @@
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
- | Copyright (c) 1997-2013 The PHP Group |
+ | Copyright (c) 1997-2014 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
diff --git a/ext/standard/var_unserializer.re b/ext/standard/var_unserializer.re
index 70bff6704b..af9da9c6a8 100644
--- a/ext/standard/var_unserializer.re
+++ b/ext/standard/var_unserializer.re
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
- | Copyright (c) 1997-2013 The PHP Group |
+ | Copyright (c) 1997-2014 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
diff --git a/header b/header
index bb5c17d0c5..fcbcaea9e3 100644
--- a/header
+++ b/header
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
- | Copyright (c) 1997-2013 The PHP Group |
+ | Copyright (c) 1997-2014 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
diff --git a/main/SAPI.c b/main/SAPI.c
index 49bd6ffbfc..e587f7aaf7 100644
--- a/main/SAPI.c
+++ b/main/SAPI.c
@@ -823,7 +823,7 @@ SAPI_API int sapi_header_op(sapi_header_op_enum op, void *arg TSRMLS_DC)
STR_RELEASE(key);
} else if (!STRCASECMP(header_line, "Location")) {
if ((SG(sapi_headers).http_response_code < 300 ||
- SG(sapi_headers).http_response_code > 307) &&
+ SG(sapi_headers).http_response_code > 399) &&
SG(sapi_headers).http_response_code != 201) {
/* Return a Found Redirect if one is not already specified */
if (http_response_code) { /* user specified redirect code */
diff --git a/sapi/cli/php.1.in b/sapi/cli/php.1.in
index 8672b3ba33..4d536df53c 100644
--- a/sapi/cli/php.1.in
+++ b/sapi/cli/php.1.in
@@ -1,4 +1,4 @@
-.TH PHP 1 "2013" "The PHP Group" "Scripting Language"
+.TH PHP 1 "2014" "The PHP Group" "Scripting Language"
.SH NAME
php \- PHP Command Line Interface 'CLI'
.P
@@ -454,7 +454,7 @@ contributors all around the world.
.SH VERSION INFORMATION
This manpage describes \fBphp\fP, version @PHP_VERSION@.
.SH COPYRIGHT
-Copyright \(co 1997\-2013 The PHP Group
+Copyright \(co 1997\-2014 The PHP Group
.LP
This source file is subject to version 3.01 of the PHP license,
that is bundled with this package in the file LICENSE, and is
diff --git a/sapi/cli/php_cli_server.c b/sapi/cli/php_cli_server.c
index 0eab71c868..85881bcab5 100644
--- a/sapi/cli/php_cli_server.c
+++ b/sapi/cli/php_cli_server.c
@@ -220,6 +220,7 @@ static php_cli_server_http_response_status_code_pair status_map[] = {
{ 304, "Not Modified" },
{ 305, "Use Proxy" },
{ 307, "Temporary Redirect" },
+ { 308, "Permanent Redirect" },
{ 400, "Bad Request" },
{ 401, "Unauthorized" },
{ 402, "Payment Required" },
@@ -238,6 +239,7 @@ static php_cli_server_http_response_status_code_pair status_map[] = {
{ 415, "Unsupported Media Type" },
{ 416, "Requested Range Not Satisfiable" },
{ 417, "Expectation Failed" },
+ { 426, "Upgrade Required" },
{ 428, "Precondition Required" },
{ 429, "Too Many Requests" },
{ 431, "Request Header Fields Too Large" },
diff --git a/sapi/cli/tests/bug67429.phpt b/sapi/cli/tests/bug67429.phpt
new file mode 100644
index 0000000000..856946b29d
--- /dev/null
+++ b/sapi/cli/tests/bug67429.phpt
@@ -0,0 +1,49 @@
+--TEST--
+FR #67429 (CLI server is missing some new HTTP response codes)
+--SKIPIF--
+<?php
+include "skipif.inc";
+?>
+--FILE--
+<?php
+include "php_cli_server.inc";
+
+foreach ([308, 426] as $code) {
+ php_cli_server_start(<<<PHP
+http_response_code($code);
+PHP
+ );
+
+ list($host, $port) = explode(':', PHP_CLI_SERVER_ADDRESS);
+ $port = intval($port)?:80;
+
+ $fp = fsockopen($host, $port, $errno, $errstr, 0.5);
+ if (!$fp) {
+ die("connect failed");
+ }
+
+ if(fwrite($fp, <<<HEADER
+GET / HTTP/1.1
+
+
+HEADER
+ )) {
+ while (!feof($fp)) {
+ echo fgets($fp);
+ }
+ }
+
+ fclose($fp);
+}
+?>
+--EXPECTF--
+HTTP/1.1 308 Permanent Redirect
+Connection: close
+X-Powered-By: %s
+Content-type: text/html; charset=UTF-8
+
+HTTP/1.1 426 Upgrade Required
+Connection: close
+X-Powered-By: %s
+Content-type: text/html; charset=UTF-8
+
diff --git a/sapi/continuity/capi.c b/sapi/continuity/capi.c
index 87fd9328f2..30d10ed0a0 100644
--- a/sapi/continuity/capi.c
+++ b/sapi/continuity/capi.c
@@ -462,7 +462,7 @@ int phpFinit(lstTset * opt)
core_globals = ts_resource(core_globals_id);
logFmsg(0, "mod/php: PHP Interface v3 (module)");
- logFmsg(0, "mod/php: Copyright (c) 1999-2013 The PHP Group. All rights reserved.");
+ logFmsg(0, "mod/php: Copyright (c) 1999-2014 The PHP Group. All rights reserved.");
sapi_startup(&capi_sapi_module);
capi_sapi_module.startup(&capi_sapi_module);
diff --git a/sapi/phpdbg/.travis.yml b/sapi/phpdbg/.travis.yml
index 353402858e..d5b492e7cf 100644
--- a/sapi/phpdbg/.travis.yml
+++ b/sapi/phpdbg/.travis.yml
@@ -1,3 +1,12 @@
language: c
-script: ./travis/ci.sh
+env:
+- PHP="PHP-5.4"
+- PHP="PHP-5.5"
+- PHP="PHP-5.6"
+- PHP="master"
+
+before_script: ./travis/ci.sh
+
+script:
+- ./php-src/sapi/cli/php php-src/sapi/phpdbg/tests/run-tests.php -diff2stdout --phpdbg php-src/sapi/phpdbg/phpdbg
diff --git a/sapi/phpdbg/config.m4 b/sapi/phpdbg/config.m4
index ecac171506..1a6640eaca 100644
--- a/sapi/phpdbg/config.m4
+++ b/sapi/phpdbg/config.m4
@@ -9,6 +9,7 @@ PHP_ARG_ENABLE(phpdbg-debug, for phpdbg debug build,
[ --enable-phpdbg-debug Build phpdbg in debug mode], no, no)
if test "$PHP_PHPDBG" != "no"; then
+ AC_HEADER_TIOCGWINSZ
AC_DEFINE(HAVE_PHPDBG, 1, [ ])
if test "$PHP_PHPDBG_DEBUG" != "no"; then
diff --git a/sapi/phpdbg/phpdbg_btree.c b/sapi/phpdbg/phpdbg_btree.c
index 8fc2561e04..491445399b 100644
--- a/sapi/phpdbg/phpdbg_btree.c
+++ b/sapi/phpdbg/phpdbg_btree.c
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
- | Copyright (c) 1997-2013 The PHP Group |
+ | Copyright (c) 1997-2014 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
diff --git a/sapi/phpdbg/phpdbg_btree.h b/sapi/phpdbg/phpdbg_btree.h
index 5fb217db35..af2a6ac314 100644
--- a/sapi/phpdbg/phpdbg_btree.h
+++ b/sapi/phpdbg/phpdbg_btree.h
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
- | Copyright (c) 1997-2013 The PHP Group |
+ | Copyright (c) 1997-2014 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
diff --git a/sapi/phpdbg/phpdbg_utils.c b/sapi/phpdbg/phpdbg_utils.c
index c9b22a2039..98748b202a 100644
--- a/sapi/phpdbg/phpdbg_utils.c
+++ b/sapi/phpdbg/phpdbg_utils.c
@@ -32,6 +32,9 @@
# include "win32/time.h"
#elif defined(HAVE_SYS_IOCTL_H)
# include "sys/ioctl.h"
+# ifndef GWINSZ_IN_SYS_IOCTL
+# include <termios.h>
+# endif
#endif
ZEND_EXTERN_MODULE_GLOBALS(phpdbg);
@@ -437,12 +440,12 @@ PHPDBG_API int phpdbg_get_terminal_width(TSRMLS_D) /* {{{ */
GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE), &csbi);
columns = csbi.srWindow.Right - csbi.srWindow.Left + 1;
-#elif defined(HAVE_SYS_IOCTL_H)
+#elif defined(HAVE_SYS_IOCTL_H) && defined (TIOCGWINSZ)
struct winsize w;
- columns = ioctl(fileno(stdout), TIOCGWINSZ, &w) == 0 ? w.ws_col : 100;
+ columns = ioctl(fileno(stdout), TIOCGWINSZ, &w) == 0 ? w.ws_col : 80;
#else
- columns = 100;
+ columns = 80;
#endif
return columns;
} /* }}} */
diff --git a/sapi/phpdbg/phpdbg_utils.h b/sapi/phpdbg/phpdbg_utils.h
index 68ae7e44a3..56bacfc459 100644
--- a/sapi/phpdbg/phpdbg_utils.h
+++ b/sapi/phpdbg/phpdbg_utils.h
@@ -124,4 +124,24 @@ PHPDBG_API int phpdbg_get_terminal_width(TSRMLS_D); /* }}} */
int phpdbg_rebuild_symtable(TSRMLS_D);
+#if PHP_VERSION_ID < 50500
+/* copy from zend_hash.c PHP 5.5 for 5.4 compatibility */
+static void zend_hash_get_current_key_zval_ex(const HashTable *ht, zval *key, HashPosition *pos) {
+ Bucket *p;
+
+ p = pos ? (*pos) : ht->pInternalPointer;
+
+ if (!p) {
+ Z_TYPE_P(key) = IS_NULL;
+ } else if (p->nKeyLength) {
+ Z_TYPE_P(key) = IS_STRING;
+ Z_STRVAL_P(key) = IS_INTERNED(p->arKey) ? (char*)p->arKey : estrndup(p->arKey, p->nKeyLength - 1);
+ Z_STRLEN_P(key) = p->nKeyLength - 1;
+ } else {
+ Z_TYPE_P(key) = IS_LONG;
+ Z_LVAL_P(key) = p->h;
+ }
+}
+#endif
+
#endif /* PHPDBG_UTILS_H */
diff --git a/sapi/phpdbg/tests/run-tests.php b/sapi/phpdbg/tests/run-tests.php
index 47a998ccae..1cc31d815e 100644
--- a/sapi/phpdbg/tests/run-tests.php
+++ b/sapi/phpdbg/tests/run-tests.php
@@ -135,8 +135,8 @@ namespace phpdbg\testing {
* @param array basic configuration
* @param array command line
*/
- public function __construct(TestsConfiguration &$config) {
- $this->config = &$config;
+ public function __construct(TestsConfiguration $config) {
+ $this->config = $config;
if ($this->config->hasFlag('help') ||
$this->config->hasFlag('h')) {
@@ -153,7 +153,7 @@ namespace phpdbg\testing {
$paths = array();
$where = ($in != null) ? array($in) : $this->config['path'];
- foreach ($where as &$path) {
+ foreach ($where as $path) {
if ($path) {
if (is_dir($path)) {
$paths[] = $path;
@@ -243,6 +243,7 @@ namespace phpdbg\testing {
printf("\t--options\toptions to pass to phpdbg%s", PHP_EOL);
printf("\t--phpdbg\tpath to phpdbg binary%s", PHP_EOL);
printf('[flags]:%s', PHP_EOL);
+ printf("\t-diff2stdout\t\twrite diff to stdout instead of files%s", PHP_EOL);
printf("\t-nodiff\t\tdo not write diffs on failure%s", PHP_EOL);
printf("\t-nolog\t\tdo not write logs on failure%s", PHP_EOL);
printf('[examples]:%s', PHP_EOL);
@@ -266,9 +267,11 @@ namespace phpdbg\testing {
$test = sprintf('%s/%s', $path, $file);
if (preg_match('~\.test$~', $test)) {
- yield new Test($this->config, $test);
+ $tests[] = new Test($this->config, $test);
}
}
+
+ return $tests;
}
/**
@@ -354,7 +357,7 @@ namespace phpdbg\testing {
* @param array configuration
* @param string file
*/
- public function __construct(TestsConfiguration &$config, &$file) {
+ public function __construct(TestsConfiguration $config, $file) {
if (($handle = fopen($file, 'r'))) {
while (($line = fgets($handle))) {
$trim = trim($line);
@@ -417,8 +420,8 @@ namespace phpdbg\testing {
}
fclose($handle);
- $this->config = &$config;
- $this->file = &$file;
+ $this->config = $config;
+ $this->file = $file;
}
}
@@ -427,8 +430,7 @@ namespace phpdbg\testing {
*
*/
public function getResult() {
- $options = sprintf(
- '-i%s -nqb', $this->file);
+ $options = sprintf('-i%s -nqb', $this->file);
if ($this->options) {
$options = sprintf(
@@ -526,7 +528,7 @@ namespace phpdbg\testing {
* Write log to disk if configuration allows it
*
*/
- protected function writeLog(&$result = null) {
+ protected function writeLog($result = null) {
$log = sprintf(
'%s/%s.log',
dirname($this->file), basename($this->file));
diff --git a/sapi/phpdbg/travis/ci.sh b/sapi/phpdbg/travis/ci.sh
index d9f3ac6a02..206b158b9b 100755
--- a/sapi/phpdbg/travis/ci.sh
+++ b/sapi/phpdbg/travis/ci.sh
@@ -1,10 +1,11 @@
#!/usr/bin/env sh
git clone https://github.com/php/php-src
-cd php-src/sapi
+cd php-src
+git checkout $PHP
+cd sapi
rm -rf phpdbg
git clone https://github.com/krakjoe/phpdbg.git
cd ../
./buildconf --force
./configure --disable-all --enable-phpdbg --enable-maintainer-zts
make
-make test-phpdbg
diff --git a/tests/classes/bug63462.phpt b/tests/classes/bug63462.phpt
index 119bf592c2..f425c1526b 100644
--- a/tests/classes/bug63462.phpt
+++ b/tests/classes/bug63462.phpt
@@ -18,7 +18,7 @@ class Test {
}
function __get($name) {
- echo '__get ' . $name . "\n";
+ echo '__get ' . $name;
return $this->$name;
}
@@ -52,16 +52,12 @@ $test->privateProperty = 'value';
--EXPECTF--
__get nonExisting
-
Notice: Undefined property: Test::$nonExisting in %sbug63462.php on line %d
__get publicProperty
-
Notice: Undefined property: Test::$publicProperty in %sbug63462.php on line %d
__get protectedProperty
-
Notice: Undefined property: Test::$protectedProperty in %sbug63462.php on line %d
__get privateProperty
-
Notice: Undefined property: Test::$privateProperty in %sbug63462.php on line %d
__isset nonExisting
__isset publicProperty
diff --git a/win32/build/template.rc b/win32/build/template.rc
index 13e92e9a3b..f36f2c041c 100644
--- a/win32/build/template.rc
+++ b/win32/build/template.rc
@@ -65,7 +65,7 @@ BEGIN
#endif
VALUE "FileVersion", EXT_VERSION
VALUE "InternalName", INTERNAL_NAME
- VALUE "LegalCopyright", "Copyright © 1997-2013 The PHP Group"
+ VALUE "LegalCopyright", "Copyright © 1997-2014 The PHP Group"
VALUE "LegalTrademarks", "PHP"
VALUE "OriginalFilename", FILE_NAME
VALUE "ProductName", "PHP"