Update IANA tzdb to 2018d and apply a fix for long word selection

The ICU word break rules are updated to deal with a performance issue
with selecting a very long word by double-click.

In addition, update the IANA tz database to 2018d. Palestine started
DST (UTC+3) on March 24 instead of March 31.

> new Date(Date.UTC(2018,2,24, 12)).toLocaleString("en", {'timeZone': 'Asia/Gaza'})
"3/24/2018, 3:00:00 PM"

Bug: chromium:829144, chromium:473288
Test: See the 1st bug description.
Test: See the above JS code snippet and result.
Change-Id: Ic8beeaaa4f0e5a16701b0d8b1563fc8537c6b0ab
TBR=mark@chromium.org
Reviewed-on: https://chromium-review.googlesource.com/1006521
Reviewed-by: Jungshik Shin <jshin@chromium.org>
diff --git a/README.chromium b/README.chromium
index d716617..2fc511e 100644
--- a/README.chromium
+++ b/README.chromium
@@ -228,7 +228,7 @@
      windowsZones.txt
      zoneinfo64.txt
 
-  As of Feb 5, 2018, the latest version is 2018c and the above files
+  As of April 5, 2018, the latest version is 2018d and the above files
   are available at
   http://source.icu-project.org/repos/icu/data/trunk/tzdata/icunew/2018c/44/
 
@@ -285,7 +285,14 @@
 9. Reduce size of SmallIntFormatter implementation
 
   - patches/simplify_smallintformatter.patch
-    upstream bug: https://ssl.icu-project.org/trac/ticket/12390 
+    upstream bug: https://ssl.icu-project.org/trac/ticket/12390
 
   Reduce the size of the binary by about 16 kiB on Android,
   without noticeable performance change.
+
+10. Apply a rule fix for a perf issue with a long sequence of letters/digits
+
+  - patches/word_long.patch
+    upstream bug: https://ssl.icu-project.org/trac/ticket/13692
+    (62-to-be does not have this issue)
+  - bug: crbug.com/829144
diff --git a/android/icudtl.dat b/android/icudtl.dat
index a009f52..d1fc05e 100644
--- a/android/icudtl.dat
+++ b/android/icudtl.dat
Binary files differ
diff --git a/cast/icudtl.dat b/cast/icudtl.dat
index 5f91677..b2c75da 100644
--- a/cast/icudtl.dat
+++ b/cast/icudtl.dat
Binary files differ
diff --git a/common/icudtb.dat b/common/icudtb.dat
index 3bb8ad3..623942e 100644
--- a/common/icudtb.dat
+++ b/common/icudtb.dat
Binary files differ
diff --git a/common/icudtl.dat b/common/icudtl.dat
index 6dc0a9c..941437f 100644
--- a/common/icudtl.dat
+++ b/common/icudtl.dat
Binary files differ
diff --git a/ios/icudtl.dat b/ios/icudtl.dat
index cd2d6e6..1d6dc38 100644
--- a/ios/icudtl.dat
+++ b/ios/icudtl.dat
Binary files differ
diff --git a/patches/word_long.patch b/patches/word_long.patch
new file mode 100644
index 0000000..1362648
--- /dev/null
+++ b/patches/word_long.patch
@@ -0,0 +1,37 @@
+diff --git a/source/data/brkitr/rules/word.txt b/source/data/brkitr/rules/word.txt
+index 665758c0..1edadbd7 100644
+--- a/source/data/brkitr/rules/word.txt
++++ b/source/data/brkitr/rules/word.txt
+@@ -227,3 +227,7 @@ $Regional_Indicator ($Format | $Extend | $ZWJ)* $Regional_Indicator;
+ 
+ # For dictionary-based break
+ $dictionary $dictionary;
++
++# Skip over potentially very long words or numbers.
++# Not necessary to reach a safe point, but avoids potential performance problems.
++($ALetter | $Numeric) ($ALetter | $Numeric);
+diff --git a/source/data/brkitr/rules/word_POSIX.txt b/source/data/brkitr/rules/word_POSIX.txt
+index 5ea6a05c..eec29197 100644
+--- a/source/data/brkitr/rules/word_POSIX.txt
++++ b/source/data/brkitr/rules/word_POSIX.txt
+@@ -221,3 +221,7 @@ $Regional_Indicator ($Format | $Extend | $ZWJ)* $Regional_Indicator;
+ 
+ # For dictionary-based break
+ $dictionary $dictionary;
++
++# Skip over potentially very long words or numbers.
++# Not necessary to reach a safe point, but avoids potential performance problems.
++($ALetter | $Numeric) ($ALetter | $Numeric);
+diff --git a/source/data/brkitr/rules/word_ja.txt b/source/data/brkitr/rules/word_ja.txt
+index fb77507c..7909faa7 100644
+--- a/source/data/brkitr/rules/word_ja.txt
++++ b/source/data/brkitr/rules/word_ja.txt
+@@ -273,3 +273,8 @@ $Double_QuoteEx $Hebrew_LetterEx;
+ 
+ # For dictionary-based break
+ $dictionary $dictionary;
++
++# Skip over potentially very long words or numbers.
++# Not necessary to reach a safe point, but avoids potential performance
++problems.
++($ALetter | $Numeric) ($ALetter | $Numeric);
diff --git a/source/data/brkitr/rules/word.txt b/source/data/brkitr/rules/word.txt
index 665758c..1edadbd 100644
--- a/source/data/brkitr/rules/word.txt
+++ b/source/data/brkitr/rules/word.txt
@@ -227,3 +227,7 @@
 
 # For dictionary-based break
 $dictionary $dictionary;
+
+# Skip over potentially very long words or numbers.
+# Not necessary to reach a safe point, but avoids potential performance problems.
+($ALetter | $Numeric) ($ALetter | $Numeric);
diff --git a/source/data/brkitr/rules/word_POSIX.txt b/source/data/brkitr/rules/word_POSIX.txt
index 5ea6a05..eec2919 100644
--- a/source/data/brkitr/rules/word_POSIX.txt
+++ b/source/data/brkitr/rules/word_POSIX.txt
@@ -221,3 +221,7 @@
 
 # For dictionary-based break
 $dictionary $dictionary;
+
+# Skip over potentially very long words or numbers.
+# Not necessary to reach a safe point, but avoids potential performance problems.
+($ALetter | $Numeric) ($ALetter | $Numeric);
diff --git a/source/data/brkitr/rules/word_ja.txt b/source/data/brkitr/rules/word_ja.txt
index fb77507..7909faa 100644
--- a/source/data/brkitr/rules/word_ja.txt
+++ b/source/data/brkitr/rules/word_ja.txt
@@ -273,3 +273,8 @@
 
 # For dictionary-based break
 $dictionary $dictionary;
+
+# Skip over potentially very long words or numbers.
+# Not necessary to reach a safe point, but avoids potential performance
+problems.
+($ALetter | $Numeric) ($ALetter | $Numeric);
diff --git a/source/data/misc/metaZones.txt b/source/data/misc/metaZones.txt
index 564992a..a9c148a 100644
--- a/source/data/misc/metaZones.txt
+++ b/source/data/misc/metaZones.txt
@@ -131,11 +131,11 @@
             001{"America/Halifax"}
             AG{"America/Antigua"}
             AI{"America/Anguilla"}
-            AN{"America/Curacao"}
             AW{"America/Aruba"}
             BB{"America/Barbados"}
             BM{"Atlantic/Bermuda"}
             BQ{"America/Kralendijk"}
+            CW{"America/Curacao"}
             DM{"America/Dominica"}
             GD{"America/Grenada"}
             GL{"America/Thule"}
@@ -2559,6 +2559,11 @@
             {
                 "Casey",
                 "2016-10-21 16:00",
+                "2016-03-10 17:00",
+            }
+            {
+                "Australia_Western",
+                "2018-03-10 17:00",
                 "9999-12-31 23:59",
             }
         }
diff --git a/source/data/misc/windowsZones.txt b/source/data/misc/windowsZones.txt
index d7f143c..6428c54 100644
--- a/source/data/misc/windowsZones.txt
+++ b/source/data/misc/windowsZones.txt
@@ -156,7 +156,6 @@
         }
         "Central Pacific Standard Time"{
             001{"Pacific/Guadalcanal"}
-            AQ{"Antarctica/Casey"}
             AU{"Antarctica/Macquarie"}
             FM{"Pacific/Ponape Pacific/Kosrae"}
             NC{"Pacific/Noumea"}
@@ -212,7 +211,6 @@
             KE{"Africa/Nairobi"}
             KM{"Indian/Comoro"}
             MG{"Indian/Antananarivo"}
-            SD{"Africa/Khartoum"}
             SO{"Africa/Mogadishu"}
             SS{"Africa/Juba"}
             TZ{"Africa/Dar_es_Salaam"}
@@ -614,6 +612,10 @@
             001{"Asia/Colombo"}
             LK{"Asia/Colombo"}
         }
+        "Sudan Standard Time"{
+            001{"Africa/Khartoum"}
+            SD{"Africa/Khartoum"}
+        }
         "Syria Standard Time"{
             001{"Asia/Damascus"}
             SY{"Asia/Damascus"}
@@ -728,6 +730,7 @@
         }
         "W. Australia Standard Time"{
             001{"Australia/Perth"}
+            AQ{"Antarctica/Casey"}
             AU{"Australia/Perth"}
         }
         "W. Central Africa Standard Time"{
diff --git a/source/data/misc/zoneinfo64.txt b/source/data/misc/zoneinfo64.txt
index 8eed019..30fab09 100644
--- a/source/data/misc/zoneinfo64.txt
+++ b/source/data/misc/zoneinfo64.txt
@@ -3,17 +3,17 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License
 //---------------------------------------------------------
 // Build tool:  tz2icu
-// Build date:  Tue Jan 23 20:51:55 2018
+// Build date:  Wed Mar 28 09:18:39 2018
 // tz database: ftp://ftp.iana.org/tz/
-// tz version:  2018c
-// ICU version: 60.1
+// tz version:  2018d
+// ICU version: 61.1
 //---------------------------------------------------------
 // >> !!! >>   THIS IS A MACHINE-GENERATED FILE   << !!! <<
 // >> !!! >>>            DO NOT EDIT             <<< !!! <<
 //---------------------------------------------------------
 
 zoneinfo64:table(nofallback) {
- TZVersion { "2018c" }
+ TZVersion { "2018d" }
  Zones:array { 
   /* ACT */ :int { 354 } //Z#0
   /* AET */ :int { 366 } //Z#1
@@ -44,7 +44,7 @@
   /* Africa/Bangui */ :int { 36 } //Z#12
   /* Africa/Banjul */ :int { 5 } //Z#13
   /* Africa/Bissau */ :table {
-    trans:intvector { -1830380260, 157770000 }
+    trans:intvector { -1830380400, 157770000 }
     typeOffsets:intvector { -3740, 0, -3600, 0, 0, 0 }
     typeMap:bin { "0102" }
   } //Z#14
@@ -156,7 +156,7 @@
   /* Africa/Porto-Novo */ :int { 36 } //Z#53
   /* Africa/Sao_Tome */ :table {
     transPre32:intvector { -1, 1581055280 }
-    trans:intvector { -1830381795, 1514768400 }
+    trans:intvector { -1830384000, 1514768400 }
     typeOffsets:intvector { 1616, 0, -2205, 0, 0, 0, 3600, 0 }
     typeMap:bin { "010203" }
   } //Z#54
@@ -534,8 +534,8 @@
   } //Z#121
   /* America/Grand_Turk */ :table {
     transPre32:intvector { -1, 1770462768 }
-    trans:intvector { -1827687169, 294217200, 309938400, 325666800, 341388000, 357116400, 372837600, 388566000, 404892000, 420015600, 436341600, 452070000, 467791200, 483519600, 499240800, 514969200, 530690400, 544604400, 562140000, 576054000, 594194400, 607503600, 625644000, 638953200, 657093600, 671007600, 688543200, 702457200, 719992800, 733906800, 752047200, 765356400, 783496800, 796806000, 814946400, 828860400, 846396000, 860310000, 877845600, 891759600, 909295200, 923209200, 941349600, 954658800, 972799200, 986108400, 1004248800, 1018162800, 1035698400, 1049612400, 1067148000, 1081062000, 1099202400, 1112511600, 1130652000, 1143961200, 1162101600, 1173596400, 1194156000, 1205046000, 1225605600, 1236495600, 1257055200, 1268550000, 1289109600, 1299999600, 1320559200, 1331449200, 1352008800, 1362898800, 1383458400, 1394348400, 1414908000, 1425798000, 1446357600, 1520751600, 1541311200 }
-    typeOffsets:intvector { -17072, 0, -18431, 0, -18000, 0, -18000, 3600, -14400, 0 }
+    trans:intvector { -1827687170, 294217200, 309938400, 325666800, 341388000, 357116400, 372837600, 388566000, 404892000, 420015600, 436341600, 452070000, 467791200, 483519600, 499240800, 514969200, 530690400, 544604400, 562140000, 576054000, 594194400, 607503600, 625644000, 638953200, 657093600, 671007600, 688543200, 702457200, 719992800, 733906800, 752047200, 765356400, 783496800, 796806000, 814946400, 828860400, 846396000, 860310000, 877845600, 891759600, 909295200, 923209200, 941349600, 954658800, 972799200, 986108400, 1004248800, 1018162800, 1035698400, 1049612400, 1067148000, 1081062000, 1099202400, 1112511600, 1130652000, 1143961200, 1162101600, 1173596400, 1194156000, 1205046000, 1225605600, 1236495600, 1257055200, 1268550000, 1289109600, 1299999600, 1320559200, 1331449200, 1352008800, 1362898800, 1383458400, 1394348400, 1414908000, 1425798000, 1446357600, 1520751600, 1541311200 }
+    typeOffsets:intvector { -17072, 0, -18430, 0, -18000, 0, -18000, 3600, -14400, 0 }
     typeMap:bin { "010203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203040302" }
     finalRule { "US" }
     finalRaw:int { -18000 }
@@ -675,8 +675,8 @@
     finalYear:int { 2008 }
   } //Z#141
   /* America/Jamaica */ :table {
-    trans:intvector { -1827687169, 126687600, 152085600, 162370800, 183535200, 199263600, 215589600, 230713200, 247039200, 262767600, 278488800, 294217200, 309938400, 325666800, 341388000, 357116400, 372837600, 388566000, 404892000, 420015600, 436341600 }
-    typeOffsets:intvector { -18431, 0, -18000, 0, -18000, 3600 }
+    trans:intvector { -1827687170, 126687600, 152085600, 162370800, 183535200, 199263600, 215589600, 230713200, 247039200, 262767600, 278488800, 294217200, 309938400, 325666800, 341388000, 357116400, 372837600, 388566000, 404892000, 420015600, 436341600 }
+    typeOffsets:intvector { -18430, 0, -18000, 0, -18000, 3600 }
     typeMap:bin { "010201020102010201020102010201020102010201" }
     links:intvector { 142, 528 }
   } //Z#142
@@ -836,9 +836,9 @@
     finalYear:int { 2003 }
   } //Z#168
   /* America/Montevideo */ :table {
-    trans:intvector { -1567455316, -1459542600, -1443819600, -1428006600, -1412283600, -1396470600, -1380747600, -1141590600, -1128286800, -1110141000, -1096837200, -1078691400, -1065387600, -1046637000, -1033938000, -1015187400, -1002488400, -983737800, -971038800, -952288200, -938984400, -920838600, -907534800, -896819400, -883602000, -853619400, -845848800, -334789200, -319672800, -314226000, -309996000, -149720400, -134604000, -118270800, -100044000, -86821200, -68508000, -50446800, -34119000, -18910800, -2583000, 12625200, 28953000, 72932400, 82692000, 132116400, 156911400, 212983200, 250052400, 260244000, 307594800, 325994400, 566449200, 574308000, 597812400, 605671200, 625633200, 636516000, 656478000, 667965600, 688532400, 699415200, 719377200, 730864800, 1095562800, 1111896000, 1128834000, 1142136000, 1159678800, 1173585600, 1191733200, 1205035200, 1223182800, 1236484800, 1254632400, 1268539200, 1286082000, 1299988800, 1317531600, 1331438400, 1349586000, 1362888000, 1381035600, 1394337600, 1412485200, 1425787200 }
-    typeOffsets:intvector { -13484, 0, -12600, 0, -12600, 1800, -10800, 0, -10800, 1800, -10800, 3600 }
-    typeMap:bin { "0102010201020102010201020102010201020102010201020105030503050305030503050304030403040305030405030503050305030503050305030503050305030503050305030503050305030503050305030503" }
+    trans:intvector { -1567455309, -1459627200, -1443819600, -1428006600, -1412283600, -1396470600, -1380747600, -1141590600, -1128286800, -1110141000, -1096837200, -1078691400, -1065387600, -1047241800, -1033938000, -1015187400, -1002488400, -983737800, -971038800, -954707400, -938984400, -920838600, -907534800, -896819400, -853621200, -845847000, -334789200, -319671000, -314226000, -309996000, -149720400, -134604000, -50446800, -34205400, 9860400, 14176800, 72846000, 80100000, 127278000, 132111000, 147234600, 156913200, 165376800, 219812400, 226461600, 250052400, 257911200, 282711600, 289360800, 294202800, 322020000, 566449200, 573012000, 597812400, 605066400, 625633200, 635911200, 656478000, 667965600, 688532400, 699415200, 719377200, 730864800, 1095562800, 1111896000, 1128834000, 1142136000, 1159678800, 1173585600, 1191733200, 1205035200, 1223182800, 1236484800, 1254632400, 1268539200, 1286082000, 1299988800, 1317531600, 1331438400, 1349586000, 1362888000, 1381035600, 1394337600, 1412485200, 1425787200 }
+    typeOffsets:intvector { -13491, 0, -14400, 0, -12600, 0, -12600, 1800, -10800, 0, -10800, 1800, -10800, 3600, -10800, 5400 }
+    typeMap:bin { "01030203020302030203020302030203020302030203020305040504060406040504060406040705040604060406040604060406040604060406040604060406040604060406040604060406040604060406040604" }
   } //Z#169
   /* America/Montreal */ :int { 217 } //Z#170
   /* America/Montserrat */ :int { 186 } //Z#171
@@ -1182,9 +1182,9 @@
     finalYear:int { 2008 }
   } //Z#224
   /* Antarctica/Casey */ :table {
-    trans:intvector { -31536000, 1255802400, 1267714800, 1319738400, 1329843600, 1477065600 }
+    trans:intvector { -31536000, 1255802400, 1267714800, 1319738400, 1329843600, 1477065600, 1520701200 }
     typeOffsets:intvector { 0, 0, 28800, 0, 39600, 0 }
-    typeMap:bin { "010201020102" }
+    typeMap:bin { "01020102010201" }
   } //Z#225
   /* Antarctica/Davis */ :table {
     trans:intvector { -409190400, -163062000, -28857600, 1255806000, 1268251200, 1319742000, 1329854400 }
@@ -1498,7 +1498,7 @@
   /* Asia/Kuwait */ :int { 308 } //Z#290
   /* Asia/Macao */ :int { 292 } //Z#291
   /* Asia/Macau */ :table {
-    trans:intvector { -1830411260, -277360200, -257405400, -245910600, -225955800, -214473600, -194506200, -182406600, -163056600, -150969600, -131619600, -117088200, -101367000, -85638600, -69312600, -53584200, -37863000, -22134600, -6413400, 9315000, 25036200, 40764600, 56485800, 72201600, 87922800, 103651200, 119977200, 135705600, 151439400, 167167800, 182889000, 198617400, 214338600, 230067000, 245788200, 261504000, 277225200, 292953600, 309279600, 325008000, 340729200 }
+    trans:intvector { -1830412800, -277360200, -257405400, -245910600, -225955800, -214473600, -194506200, -182406600, -163056600, -150969600, -131619600, -117088200, -101367000, -85638600, -69312600, -53584200, -37863000, -22134600, -6413400, 9315000, 25036200, 40764600, 56485800, 72201600, 87922800, 103651200, 119977200, 135705600, 151439400, 167167800, 182889000, 198617400, 214338600, 230067000, 245788200, 261504000, 277225200, 292953600, 309279600, 325008000, 340729200 }
     typeOffsets:intvector { 27260, 0, 28800, 0, 28800, 3600 }
     typeMap:bin { "0102010201020102010201020102010201020102010201020102010201020102010201020102010201" }
     links:intvector { 291, 292 }
@@ -1709,7 +1709,7 @@
   } //Z#335
   /* Atlantic/Azores */ :table {
     transPre32:intvector { -1, 1581063056 }
-    trans:intvector { -1830377128, -1689548400, -1677794400, -1667430000, -1647730800, -1635807600, -1616194800, -1604358000, -1584658800, -1572735600, -1553036400, -1541199600, -1521500400, -1442444400, -1426806000, -1379286000, -1364770800, -1348441200, -1333321200, -1316386800, -1301266800, -1284332400, -1269817200, -1221433200, -1206918000, -1191193200, -1175468400, -1127689200, -1111964400, -1096844400, -1080514800, -1063580400, -1049065200, -1033340400, -1017615600, -1002495600, -986166000, -969231600, -950482800, -942015600, -922662000, -906937200, -891126000, -877302000, -873676800, -864000000, -857948400, -845852400, -842832000, -831340800, -825894000, -814402800, -810777600, -799891200, -794444400, -782953200, -779328000, -768441600, -762994800, -749084400, -733359600, -717624000, -701899200, -686174400, -670449600, -654724800, -639000000, -591825600, -575496000, -559771200, -544046400, -528321600, -512596800, -496872000, -481147200, -465422400, -449697600, -433972800, -417643200, -401918400, -386193600, -370468800, -354744000, -339019200, -323294400, -307569600, -291844800, -276120000, -260395200, -244670400, -228340800, -212616000, -196891200, -181166400, -165441600, -149716800, -133992000, -118267200, 228272400, 243997200, 260326800, 276051600, 291776400, 307504800, 323226000, 338954400, 354679200, 370404000, 386128800, 401853600, 417582000, 433303200, 449028000, 465357600, 481082400, 496807200, 512532000, 528256800, 543981600, 559706400, 575431200, 591156000, 606880800, 622605600, 638330400, 654660000, 670384800, 686109600, 701834400, 717559200, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400, 828234000, 846378000 }
+    trans:intvector { -1830376800, -1689548400, -1677794400, -1667430000, -1647730800, -1635807600, -1616194800, -1604358000, -1584658800, -1572735600, -1553036400, -1541199600, -1521500400, -1442444400, -1426806000, -1379286000, -1364770800, -1348441200, -1333321200, -1316386800, -1301266800, -1284332400, -1269817200, -1221433200, -1206918000, -1191193200, -1175468400, -1127689200, -1111964400, -1096844400, -1080514800, -1063580400, -1049065200, -1033340400, -1017615600, -1002495600, -986166000, -969231600, -950482800, -942015600, -922662000, -906937200, -891126000, -877302000, -873676800, -864000000, -857948400, -845852400, -842832000, -831340800, -825894000, -814402800, -810777600, -799891200, -794444400, -782953200, -779328000, -768441600, -762994800, -749084400, -733359600, -717624000, -701899200, -686174400, -670449600, -654724800, -639000000, -591825600, -575496000, -559771200, -544046400, -528321600, -512596800, -496872000, -481147200, -465422400, -449697600, -433972800, -417643200, -401918400, -386193600, -370468800, -354744000, -339019200, -323294400, -307569600, -291844800, -276120000, -260395200, -244670400, -228340800, -212616000, -196891200, -181166400, -165441600, -149716800, -133992000, -118267200, 228272400, 243997200, 260326800, 276051600, 291776400, 307504800, 323226000, 338954400, 354679200, 370404000, 386128800, 401853600, 417582000, 433303200, 449028000, 465357600, 481082400, 496807200, 512532000, 528256800, 543981600, 559706400, 575431200, 591156000, 606880800, 622605600, 638330400, 654660000, 670384800, 686109600, 701834400, 717559200, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400, 828234000, 846378000 }
     typeOffsets:intvector { -6160, 0, -7200, 0, -7200, 3600, -7200, 7200, -6872, 0, -3600, 0, -3600, 3600, 0, 0 }
     typeMap:bin { "04010201020102010201020102010201020102010201020102010201020102010201020102010201020102010203020102030201020302010203020102010201020102010201020102010201020102010201020102010201020102010201020102010506050605060506050605060506050605060506050605060506050605060506070605060506050605" }
     finalRule { "EU" }
@@ -1733,7 +1733,7 @@
     finalYear:int { 1997 }
   } //Z#338
   /* Atlantic/Cape_Verde */ :table {
-    trans:intvector { -1988144756, -862610400, -764118000, 186120000 }
+    trans:intvector { -1830376800, -862610400, -764118000, 186120000 }
     typeOffsets:intvector { -5644, 0, -7200, 0, -7200, 3600, -3600, 0 }
     typeMap:bin { "01020103" }
   } //Z#339
@@ -1749,7 +1749,7 @@
   } //Z#341
   /* Atlantic/Jan_Mayen */ :int { 473 } //Z#342
   /* Atlantic/Madeira */ :table {
-    trans:intvector { -1830379944, -1689552000, -1677798000, -1667433600, -1647734400, -1635811200, -1616198400, -1604361600, -1584662400, -1572739200, -1553040000, -1541203200, -1521504000, -1442448000, -1426809600, -1379289600, -1364774400, -1348444800, -1333324800, -1316390400, -1301270400, -1284336000, -1269820800, -1221436800, -1206921600, -1191196800, -1175472000, -1127692800, -1111968000, -1096848000, -1080518400, -1063584000, -1049068800, -1033344000, -1017619200, -1002499200, -986169600, -969235200, -950486400, -942019200, -922665600, -906940800, -891129600, -877305600, -873680400, -864003600, -857952000, -845856000, -842835600, -831344400, -825897600, -814406400, -810781200, -799894800, -794448000, -782956800, -779331600, -768445200, -762998400, -749088000, -733363200, -717627600, -701902800, -686178000, -670453200, -654728400, -639003600, -591829200, -575499600, -559774800, -544050000, -528325200, -512600400, -496875600, -481150800, -465426000, -449701200, -433976400, -417646800, -401922000, -386197200, -370472400, -354747600, -339022800, -323298000, -307573200, -291848400, -276123600, -260398800, -244674000, -228344400, -212619600, -196894800, -181170000, -165445200, -149720400, -133995600, -118270800, 228268800, 243993600, 260323200, 276048000, 291772800, 307501200, 323222400, 338950800, 354675600, 370400400, 386125200, 401850000, 417578400, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400, 828234000, 846378000 }
+    trans:intvector { -1830380400, -1689552000, -1677798000, -1667433600, -1647734400, -1635811200, -1616198400, -1604361600, -1584662400, -1572739200, -1553040000, -1541203200, -1521504000, -1442448000, -1426809600, -1379289600, -1364774400, -1348444800, -1333324800, -1316390400, -1301270400, -1284336000, -1269820800, -1221436800, -1206921600, -1191196800, -1175472000, -1127692800, -1111968000, -1096848000, -1080518400, -1063584000, -1049068800, -1033344000, -1017619200, -1002499200, -986169600, -969235200, -950486400, -942019200, -922665600, -906940800, -891129600, -877305600, -873680400, -864003600, -857952000, -845856000, -842835600, -831344400, -825897600, -814406400, -810781200, -799894800, -794448000, -782956800, -779331600, -768445200, -762998400, -749088000, -733363200, -717627600, -701902800, -686178000, -670453200, -654728400, -639003600, -591829200, -575499600, -559774800, -544050000, -528325200, -512600400, -496875600, -481150800, -465426000, -449701200, -433976400, -417646800, -401922000, -386197200, -370472400, -354747600, -339022800, -323298000, -307573200, -291848400, -276123600, -260398800, -244674000, -228344400, -212619600, -196894800, -181170000, -165445200, -149720400, -133995600, -118270800, 228268800, 243993600, 260323200, 276048000, 291772800, 307501200, 323222400, 338950800, 354675600, 370400400, 386125200, 401850000, 417578400, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400, 828234000, 846378000 }
     typeOffsets:intvector { -4056, 0, -3600, 0, -3600, 3600, -3600, 7200, 0, 0, 0, 3600 }
     typeMap:bin { "010201020102010201020102010201020102010201020102010201020102010201020102010201020102010203020102030201020302010203020102010201020102010201020102010201020102010201020102010201020102010201020102010405040504050405040504050405040504050405040504050405040504050405040504050405040504" }
     finalRule { "EU" }
@@ -2201,7 +2201,7 @@
     typeMap:bin { "010304030403040304030403040304030403020102010302010201020102010201020102010201020102010201020102010201020102010201020102010301" }
   } //Z#461
   /* Europe/Lisbon */ :table {
-    trans:intvector { -1830381795, -1689555600, -1677801600, -1667437200, -1647738000, -1635814800, -1616202000, -1604365200, -1584666000, -1572742800, -1553043600, -1541206800, -1521507600, -1442451600, -1426813200, -1379293200, -1364778000, -1348448400, -1333328400, -1316394000, -1301274000, -1284339600, -1269824400, -1221440400, -1206925200, -1191200400, -1175475600, -1127696400, -1111971600, -1096851600, -1080522000, -1063587600, -1049072400, -1033347600, -1017622800, -1002502800, -986173200, -969238800, -950490000, -942022800, -922669200, -906944400, -891133200, -877309200, -873684000, -864007200, -857955600, -845859600, -842839200, -831348000, -825901200, -814410000, -810784800, -799898400, -794451600, -782960400, -779335200, -768448800, -763002000, -749091600, -733366800, -717631200, -701906400, -686181600, -670456800, -654732000, -639007200, -591832800, -575503200, -559778400, -544053600, -528328800, -512604000, -496879200, -481154400, -465429600, -449704800, -433980000, -417650400, -401925600, -386200800, -370476000, -354751200, -339026400, -323301600, -307576800, -291852000, -276127200, -260402400, -244677600, -228348000, -212623200, -196898400, -181173600, -165448800, -149724000, -133999200, -118274400, 212544000, 228268800, 243993600, 260323200, 276048000, 291772800, 307501200, 323222400, 338950800, 354675600, 370400400, 386125200, 401850000, 417578400, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400, 828234000, 846378000 }
+    trans:intvector { -1830384000, -1689555600, -1677801600, -1667437200, -1647738000, -1635814800, -1616202000, -1604365200, -1584666000, -1572742800, -1553043600, -1541206800, -1521507600, -1442451600, -1426813200, -1379293200, -1364778000, -1348448400, -1333328400, -1316394000, -1301274000, -1284339600, -1269824400, -1221440400, -1206925200, -1191200400, -1175475600, -1127696400, -1111971600, -1096851600, -1080522000, -1063587600, -1049072400, -1033347600, -1017622800, -1002502800, -986173200, -969238800, -950490000, -942022800, -922669200, -906944400, -891133200, -877309200, -873684000, -864007200, -857955600, -845859600, -842839200, -831348000, -825901200, -814410000, -810784800, -799898400, -794451600, -782960400, -779335200, -768448800, -763002000, -749091600, -733366800, -717631200, -701906400, -686181600, -670456800, -654732000, -639007200, -591832800, -575503200, -559778400, -544053600, -528328800, -512604000, -496879200, -481154400, -465429600, -449704800, -433980000, -417650400, -401925600, -386200800, -370476000, -354751200, -339026400, -323301600, -307576800, -291852000, -276127200, -260402400, -244677600, -228348000, -212623200, -196898400, -181173600, -165448800, -149724000, -133999200, -118274400, 212544000, 228268800, 243993600, 260323200, 276048000, 291772800, 307501200, 323222400, 338950800, 354675600, 370400400, 386125200, 401850000, 417578400, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400, 828234000, 846378000 }
     typeOffsets:intvector { -2205, 0, 0, 0, 0, 3600, 0, 7200, 3600, 0, 3600, 3600 }
     typeMap:bin { "01020102010201020102010201020102010201020102010201020102010201020102010201020102010201020302010203020102030201020302010201020102010201020102010201020102010201020102010201020102010201020102010201040102010201020102010201020102010201020102010201020102010201020102040504050405040201" }
     finalRule { "EU" }
@@ -2605,7 +2605,7 @@
   } //Z#556
   /* Pacific/Enderbury */ :table {
     transPre32:intvector { -1, 2117555556 }
-    trans:intvector { 307627200, 788958000 }
+    trans:intvector { 307627200, 788871600 }
     typeOffsets:intvector { -41060, 0, -43200, 0, -39600, 0, 46800, 0 }
     typeMap:bin { "010203" }
   } //Z#557
@@ -2660,7 +2660,7 @@
   /* Pacific/Johnston */ :int { 565 } //Z#566
   /* Pacific/Kiritimati */ :table {
     transPre32:intvector { -1, 2117552256 }
-    trans:intvector { 307622400, 788954400 }
+    trans:intvector { 307622400, 788868000 }
     typeOffsets:intvector { -37760, 0, -38400, 0, -36000, 0, 50400, 0 }
     typeMap:bin { "010203" }
   } //Z#567
@@ -3142,7 +3142,7 @@
     8, -30, -1, 7200, 1, 3, 1, -1, 7200, 1, 3600
   } //_#21
   Palestine:intvector {
-    2, -31, -7, 3600, 0, 9, -31, -7, 3600, 0, 3600
+    2, 22, -7, 3600, 0, 9, -31, -7, 3600, 0, 3600
   } //_#22
   Para:intvector {
     9, 1, -1, 0, 0, 2, 22, -1, 0, 0, 3600