ICU-11278 Merged tzdata2014h update from trunk (r36592).

X-SVN-Rev: 36594
diff --git a/source/data/misc/zoneinfo64.txt b/source/data/misc/zoneinfo64.txt
index 13f2459..945dec1 100644
--- a/source/data/misc/zoneinfo64.txt
+++ b/source/data/misc/zoneinfo64.txt
@@ -3,17 +3,17 @@
 // Corporation and others.  All Rights Reserved.
 //---------------------------------------------------------
 // Build tool: tz2icu
-// Build date: Wed Sep  3 03:51:27 2014
+// Build date: Fri Sep 26 12:59:27 2014
 // Olson source: ftp://elsie.nci.nih.gov/pub/
-// Olson version: 2014g
-// ICU version: 54.0.1
+// Olson version: 2014h
+// ICU version: 54.1
 //---------------------------------------------------------
 // >> !!! >>   THIS IS A MACHINE-GENERATED FILE   << !!! <<
 // >> !!! >>>            DO NOT EDIT             <<< !!! <<
 //---------------------------------------------------------
 
 zoneinfo64:table(nofallback) {
- TZVersion { "2014g" }
+ TZVersion { "2014h" }
  Zones:array { 
   /* ACT */ :int { 347 } //Z#0
   /* AET */ :int { 359 } //Z#1
@@ -60,17 +60,9 @@
     typeOffsets:intvector { -3740, 0, -3600, 0, 0, 0 }
     typeMap:bin { "0102" }
   } //Z#14
-  /* Africa/Blantyre */ :table {
-    trans:intvector { -2109291600 }
-    typeOffsets:intvector { 8400, 0, 7200, 0 }
-    typeMap:bin { "01" }
-  } //Z#15
+  /* Africa/Blantyre */ :int { 43 } //Z#15
   /* Africa/Brazzaville */ :int { 36 } //Z#16
-  /* Africa/Bujumbura */ :table {
-    transPre32:intvector { -1, 1770438648 }
-    typeOffsets:intvector { 7048, 0, 7200, 0 }
-    typeMap:bin { "01" }
-  } //Z#17
+  /* Africa/Bujumbura */ :int { 43 } //Z#17
   /* Africa/Cairo */ :table {
     transPre32:intvector { -1, 2109558187 }
     trans:intvector { -929844000, -923108400, -906170400, -892868400, -875844000, -857790000, -844308000, -825822000, -812685600, -794199600, -779853600, -762663600, -399088800, -386650800, -368330400, -355114800, -336790800, -323654400, -305168400, -292032000, -273632400, -260496000, -242096400, -228960000, -210560400, -197424000, -178938000, -165801600, -147402000, -134265600, -115866000, -102643200, -84330000, -71107200, -52707600, -39484800, -21171600, -7948800, 10364400, 23587200, 41900400, 55123200, 73522800, 86745600, 105058800, 118281600, 136594800, 149817600, 168130800, 181353600, 199753200, 212976000, 231289200, 244512000, 262825200, 276048000, 294361200, 307584000, 325983600, 339206400, 357519600, 370742400, 396399600, 402278400, 426812400, 433814400, 452214000, 465436800, 483750000, 496972800, 515286000, 528508800, 546822000, 560044800, 578444400, 591667200, 610412400, 623203200, 641516400, 654739200, 673052400, 686275200, 704674800, 717897600, 736210800, 749433600, 767746800, 780969600, 799020000, 812322000, 830469600, 843771600, 861919200, 875221200, 893368800, 906670800, 925423200, 938725200, 956872800, 970174800, 988322400, 1001624400, 1019772000, 1033074000, 1051221600, 1064523600, 1083276000, 1096578000, 1114725600, 1128027600, 1146175200, 1158872400, 1177624800, 1189112400, 1209074400, 1219957200, 1240524000, 1250802000, 1272578400, 1281474000, 1284069600, 1285880400, 1400191200, 1403816400, 1406844000, 1411678800, 1429826400, 1434056400, 1437688800, 1443128400, 1461880800, 1464901200, 1467928800, 1475182800, 1493330400, 1495746000, 1498773600, 1506632400, 1524780000, 1525986000, 1529013600, 1538082000, 1556229600, 1556830800, 1559858400, 1569531600, 1590703200, 1600981200, 1620943200, 1633035600, 1651788000, 1664485200, 1682632800, 1695934800 }
@@ -122,23 +114,14 @@
     finalYear:int { 2039 }
   } //Z#26
   /* Africa/Freetown */ :int { 5 } //Z#27
-  /* Africa/Gaborone */ :table {
-    transPre32:intvector { -1, 1612673076 }
-    trans:intvector { -2109288600, -829526400, -813805200 }
-    typeOffsets:intvector { 6220, 0, 5400, 0, 7200, 0, 7200, 3600 }
-    typeMap:bin { "01020302" }
-  } //Z#28
-  /* Africa/Harare */ :table {
-    trans:intvector { -2109290652 }
-    typeOffsets:intvector { 7452, 0, 7200, 0 }
-    typeMap:bin { "01" }
-    links:intvector { 29, 370 }
-  } //Z#29
+  /* Africa/Gaborone */ :int { 43 } //Z#28
+  /* Africa/Harare */ :int { 43 } //Z#29
   /* Africa/Johannesburg */ :table {
     transPre32:intvector { -1, 1836794176 }
     trans:intvector { -2109288600, -860976000, -845254800, -829526400, -813805200 }
     typeOffsets:intvector { 6720, 0, 5400, 0, 7200, 0, 7200, 3600 }
     typeMap:bin { "010203020302" }
+    links:intvector { 30, 44, 45 }
   } //Z#30
   /* Africa/Juba */ :int { 33 } //Z#31
   /* Africa/Kampala */ :table {
@@ -152,11 +135,7 @@
     typeMap:bin { "01020102010201020102010201020102010201020102010201020102010201020103" }
     links:intvector { 31, 33 }
   } //Z#33
-  /* Africa/Kigali */ :table {
-    trans:intvector { -1091498416 }
-    typeOffsets:intvector { 7216, 0, 7200, 0 }
-    typeMap:bin { "01" }
-  } //Z#34
+  /* Africa/Kigali */ :int { 43 } //Z#34
   /* Africa/Kinshasa */ :int { 36 } //Z#35
   /* Africa/Lagos */ :table {
     trans:intvector { -1588464816 }
@@ -167,32 +146,17 @@
   /* Africa/Libreville */ :int { 36 } //Z#37
   /* Africa/Lome */ :int { 5 } //Z#38
   /* Africa/Luanda */ :int { 36 } //Z#39
-  /* Africa/Lubumbashi */ :table {
-    transPre32:intvector { -1, 2018320704 }
-    typeOffsets:intvector { 6592, 0, 7200, 0 }
-    typeMap:bin { "01" }
-  } //Z#40
-  /* Africa/Lusaka */ :table {
-    trans:intvector { -2109289988 }
-    typeOffsets:intvector { 6788, 0, 7200, 0 }
-    typeMap:bin { "01" }
-  } //Z#41
+  /* Africa/Lubumbashi */ :int { 43 } //Z#40
+  /* Africa/Lusaka */ :int { 43 } //Z#41
   /* Africa/Malabo */ :int { 36 } //Z#42
   /* Africa/Maputo */ :table {
     trans:intvector { -2109291020 }
     typeOffsets:intvector { 7820, 0, 7200, 0 }
     typeMap:bin { "01" }
+    links:intvector { 15, 17, 28, 29, 34, 40, 41, 43, 370 }
   } //Z#43
-  /* Africa/Maseru */ :table {
-    trans:intvector { -2109289800, -829526400, -813805200 }
-    typeOffsets:intvector { 6600, 0, 7200, 0, 7200, 3600 }
-    typeMap:bin { "010201" }
-  } //Z#44
-  /* Africa/Mbabane */ :table {
-    trans:intvector { -2109290664 }
-    typeOffsets:intvector { 7464, 0, 7200, 0 }
-    typeMap:bin { "01" }
-  } //Z#45
+  /* Africa/Maseru */ :int { 30 } //Z#44
+  /* Africa/Mbabane */ :int { 30 } //Z#45
   /* Africa/Mogadishu */ :table {
     transPre32:intvector { -1, 1891394808 }
     trans:intvector { -1230778800, -410236200 }
@@ -740,7 +704,7 @@
     finalYear:int { 2008 }
   } //Z#140
   /* America/Jamaica */ :table {
-    trans:intvector { -1827687169, 136364400, 152085600, 162370800, 183535200, 199263600, 215589600, 230713200, 247039200, 262767600, 278488800, 294217200, 309938400, 325666800, 341388000, 357116400, 372837600, 388566000, 404892000, 420015600, 436341600 }
+    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 }
     typeMap:bin { "010201020102010201020102010201020102010201" }
     links:intvector { 141, 517 }
@@ -1606,7 +1570,7 @@
     links:intvector { 292, 463 }
   } //Z#292
   /* Asia/Novokuznetsk */ :table {
-    trans:intvector { -1577512128, -1247551200, 354906000, 370713600, 386442000, 402249600, 417978000, 433785600, 449600400, 465332400, 481057200, 496782000, 512506800, 528231600, 543956400, 559681200, 575406000, 591130800, 606855600, 622580400, 638305200, 654634800, 670359600, 686088000, 695764800, 701798400, 717519600, 733258800, 748983600, 764708400, 780433200, 796158000, 811882800, 828212400, 846356400, 859662000, 877806000, 891111600, 909255600, 922561200, 941310000, 954010800, 972759600, 985460400, 1004209200, 1017514800, 1035658800, 1048964400, 1067108400, 1080414000, 1099162800, 1111863600, 1130612400, 1143313200, 1162062000, 1174762800, 1193511600, 1206817200, 1224961200, 1238266800, 1256410800, 1269716400, 1288468800, 1301169600 }
+    trans:intvector { -1441259328, -1247551200, 354906000, 370713600, 386442000, 402249600, 417978000, 433785600, 449600400, 465332400, 481057200, 496782000, 512506800, 528231600, 543956400, 559681200, 575406000, 591130800, 606855600, 622580400, 638305200, 654634800, 670359600, 686088000, 695764800, 701798400, 717519600, 733258800, 748983600, 764708400, 780433200, 796158000, 811882800, 828212400, 846356400, 859662000, 877806000, 891111600, 909255600, 922561200, 941310000, 954010800, 972759600, 985460400, 1004209200, 1017514800, 1035658800, 1048964400, 1067108400, 1080414000, 1099162800, 1111863600, 1130612400, 1143313200, 1162062000, 1174762800, 1193511600, 1206817200, 1224961200, 1238266800, 1256410800, 1269716400, 1288468800, 1301169600 }
     typeOffsets:intvector { 20928, 0, 21600, 0, 21600, 3600, 25200, 0, 25200, 3600 }
     typeMap:bin { "01030403040304030403040304030403040304030403020103040304030403040304030403040304030403040304030403040304030403040304030403020103" }
   } //Z#293
@@ -1966,7 +1930,7 @@
   /* Brazil/DeNoronha */ :int { 175 } //Z#367
   /* Brazil/East */ :int { 200 } //Z#368
   /* Brazil/West */ :int { 155 } //Z#369
-  /* CAT */ :int { 29 } //Z#370
+  /* CAT */ :int { 43 } //Z#370
   /* CET */ :table {
     trans:intvector { -1693706400, -1680483600, -1663455600, -1650150000, -1632006000, -1618700400, -938905200, -857257200, -844556400, -828226800, -812502000, -796777200, -781052400, -766623600, 228877200, 243997200, 260326800, 276051600, 291776400, 307501200, 323830800, 338950800, 354675600, 370400400, 386125200, 401850000, 417574800, 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 { 3600, 0, 3600, 3600 }
@@ -3617,7 +3581,7 @@
   "BR", //Z#367 Brazil/DeNoronha
   "BR", //Z#368 Brazil/East
   "BR", //Z#369 Brazil/West
-  "ZW", //Z#370 CAT
+  "MZ", //Z#370 CAT
   "001",//Z#371 CET
   "CA", //Z#372 CNT
   "US", //Z#373 CST
diff --git a/source/test/intltest/tztest.cpp b/source/test/intltest/tztest.cpp
index 6fe0f8a..4111e51 100644
--- a/source/test/intltest/tztest.cpp
+++ b/source/test/intltest/tztest.cpp
@@ -853,7 +853,7 @@
         {"UTC", 0, FALSE},    // Olson etcetera 0
         {"ECT", 60, TRUE},    // ICU Link - Europe/Paris
         {"MET", 60, TRUE},    // Olson europe 1:00 C-Eur
-        {"CAT", 120, FALSE},  // ICU Link - Africa/Harare
+        {"CAT", 120, FALSE},  // ICU Link - Africa/Maputo
         {"ART", 120, TRUE},   // ICU Link - Africa/Cairo
         {"EET", 120, TRUE},   // Olson europe 2:00 EU
         {"EAT", 180, FALSE},  // ICU Link - Africa/Addis_Ababa
@@ -952,7 +952,7 @@
         "AST", "America/Anchorage",
         "BET", "America/Sao_Paulo",
         "BST", "Asia/Dhaka", // # spelling changed in 2000h; was Asia/Dacca
-        "CAT", "Africa/Harare",
+        "CAT", "Africa/Maputo",
         "CNT", "America/St_Johns",
         "CST", "America/Chicago",
         "CTT", "Asia/Shanghai",
@@ -1974,23 +1974,32 @@
         const char *zone;
     } excluded1[] = {
         {"Africa/Bamako", "Africa/Abidjan"},
+        {"Africa/Bangui", "Africa/Lagos"},
         {"Africa/Banjul", "Africa/Abidjan"},
-        {"Africa/Brazzaville", "Africa/Bangui"},
+        {"Africa/Blantyre", "Africa/Maputo"},
+        {"Africa/Brazzaville", "Africa/Lagos"},
+        {"Africa/Bujumbura", "Africa/Maputo"},
         {"Africa/Conakry", "Africa/Abidjan"},
         {"Africa/Dakar", "Africa/Abidjan"},
-        {"Africa/Douala", "Africa/Bangui"},
+        {"Africa/Douala", "Africa/Lagos"},
         {"Africa/Freetown", "Africa/Abidjan"},
+        {"Africa/Gaborone", "Africa/Maputo"},
+        {"Africa/Harare", "Africa/Maputo"},
         {"Africa/Khartoum", "Africa/Juba"},
-        {"Africa/Kinshasa", "Africa/Bangui"},
-        {"Africa/Lagos", "Africa/Bangui"},
-        {"Africa/Libreville", "Africa/Bangui"},
+        {"Africa/Kigali", "Africa/Maputo"},
+        {"Africa/Kinshasa", "Africa/Lagos"},
+        {"Africa/Libreville", "Africa/Lagos"},
         {"Africa/Lome", "Africa/Abidjan"},
-        {"Africa/Luanda", "Africa/Bangui"},
-        {"Africa/Malabo", "Africa/Bangui"},
-        {"Africa/Niamey", "Africa/Bangui"},
+        {"Africa/Luanda", "Africa/Lagos"},
+        {"Africa/Lubumbashi", "Africa/Maputo"},
+        {"Africa/Lusaka", "Africa/Maputo"},
+        {"Africa/Maseru", "Africa/Johannesburg"},
+        {"Africa/Malabo", "Africa/Lagos"},
+        {"Africa/Mbabane", "Africa/Johannesburg"},
+        {"Africa/Niamey", "Africa/Lagos"},
         {"Africa/Nouakchott", "Africa/Abidjan"},
         {"Africa/Ouagadougou", "Africa/Abidjan"},
-        {"Africa/Porto-Novo", "Africa/Bangui"},
+        {"Africa/Porto-Novo", "Africa/Lagos"},
         {"Africa/Sao_Tome", "Africa/Abidjan"},
         {"America/Curacao", "America/Aruba"},
         {"America/Dominica", "America/Anguilla"},
diff --git a/source/tools/tzcode/icuzones b/source/tools/tzcode/icuzones
index 21b0fa2..f8cbc7c 100644
--- a/source/tools/tzcode/icuzones
+++ b/source/tools/tzcode/icuzones
@@ -1,5 +1,5 @@
 ######################################################################
-# Copyright (C) 2007-2010, International Business Machines
+# Copyright (C) 2007-2014, International Business Machines
 # Corporation and others.  All Rights Reserved.
 ######################################################################
 # This is an ICU-specific file with the same format as regular
@@ -45,7 +45,7 @@
 Link America/Anchorage AST
 Link America/Sao_Paulo BET
 Link Asia/Dhaka BST
-Link Africa/Harare CAT
+Link Africa/Maputo CAT
 Link America/St_Johns CNT
 Link America/Chicago CST
 Link Asia/Shanghai CTT