1 /* 2 * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * This code is free software; you can redistribute it and/or modify it 6 * under the terms of the GNU General Public License version 2 only, as 7 * published by the Free Software Foundation. Oracle designates this 8 * particular file as subject to the "Classpath" exception as provided 9 * by Oracle in the LICENSE file that accompanied this code. 10 * 11 * This code is distributed in the hope that it will be useful, but WITHOUT 12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14 * version 2 for more details (a copy is included in the LICENSE file that 15 * accompanied this code). 16 * 17 * You should have received a copy of the GNU General Public License version 18 * 2 along with this work; if not, write to the Free Software Foundation, 19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20 * 21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 22 * or visit www.oracle.com if you need additional information or have any 23 * questions. 24 */ 25 package java.time.format; 26 27 import java.util.HashMap; 28 import java.util.Locale; 29 import java.util.Map; 30 31 /** 32 * A helper class to map a zone name to metazone and back to the 33 * appropriate zone id for the particular locale. 34 * <p> 35 * The zid<->metazone mappings are based on CLDR metaZones.xml. 36 * The alias mappings are based on Link entries in tzdb data files. 37 */ 38 class ZoneName { 39 40 public static String toZid(String zid, Locale locale) { 41 String mzone = zidToMzone.get(zid); 42 if (mzone == null && aliases.containsKey(zid)) { 43 zid = aliases.get(zid); 44 mzone = zidToMzone.get(zid); 45 } 46 if (mzone != null) { 47 Map<String, String> map = mzoneToZidL.get(mzone); 48 if (map != null && map.containsKey(locale.getCountry())) { 49 zid = map.get(locale.getCountry()); 50 } else { 51 zid = mzoneToZid.get(mzone); 52 } 53 } 54 return toZid(zid); 55 } 56 57 public static String toZid(String zid) { 58 if (aliases.containsKey(zid)) { 59 return aliases.get(zid); 60 } 61 return zid; 62 } 63 64 private static final String[] zidMap = new String[] { 65 "Pacific/Rarotonga", "Cook", "Pacific/Rarotonga", 66 "Europe/Tirane", "Europe_Central", "Europe/Paris", 67 "America/Recife", "Brasilia", "America/Sao_Paulo", 68 "America/Argentina/San_Juan", "Argentina", "America/Buenos_Aires", 69 "Asia/Kolkata", "India", "Asia/Calcutta", 70 "America/Guayaquil", "Ecuador", "America/Guayaquil", 71 "Europe/Samara", "Moscow", "Europe/Moscow", 72 "Indian/Antananarivo", "Africa_Eastern", "Africa/Nairobi", 73 "America/Santa_Isabel", "America_Pacific", "America/Los_Angeles", 74 "America/Montserrat", "Atlantic", "America/Halifax", 75 "Pacific/Port_Moresby", "Papua_New_Guinea", "Pacific/Port_Moresby", 76 "Europe/Paris", "Europe_Central", "Europe/Paris", 77 "America/Argentina/Salta", "Argentina", "America/Buenos_Aires", 78 "Asia/Omsk", "Omsk", "Asia/Omsk", 79 "Africa/Ceuta", "Europe_Central", "Europe/Paris", 80 "America/Argentina/San_Luis", "Argentina_Western", "America/Argentina/San_Luis", 81 "America/Atikokan", "America_Eastern", "America/New_York", 82 "Asia/Vladivostok", "Vladivostok", "Asia/Vladivostok", 83 "America/Argentina/Jujuy", "Argentina", "America/Buenos_Aires", 84 "Asia/Almaty", "Kazakhstan_Eastern", "Asia/Almaty", 85 "Atlantic/Canary", "Europe_Western", "Atlantic/Canary", 86 "Asia/Bangkok", "Indochina", "Asia/Saigon", 87 "America/Caracas", "Venezuela", "America/Caracas", 88 "Australia/Hobart", "Australia_Eastern", "Australia/Sydney", 89 "America/Havana", "Cuba", "America/Havana", 90 "Africa/Malabo", "Africa_Western", "Africa/Lagos", 91 "Australia/Lord_Howe", "Lord_Howe", "Australia/Lord_Howe", 92 "Pacific/Fakaofo", "Tokelau", "Pacific/Fakaofo", 93 "America/Matamoros", "America_Central", "America/Chicago", 94 "America/Guadeloupe", "Atlantic", "America/Halifax", 95 "Europe/Helsinki", "Europe_Eastern", "Europe/Bucharest", 96 "Asia/Calcutta", "India", "Asia/Calcutta", 97 "Africa/Kinshasa", "Africa_Western", "Africa/Lagos", 98 "America/Miquelon", "Pierre_Miquelon", "America/Miquelon", 99 "Europe/Athens", "Europe_Eastern", "Europe/Bucharest", 100 "Asia/Novosibirsk", "Novosibirsk", "Asia/Novosibirsk", 101 "Indian/Cocos", "Cocos", "Indian/Cocos", 102 "Africa/Bujumbura", "Africa_Central", "Africa/Maputo", 103 "Europe/Mariehamn", "Europe_Eastern", "Europe/Bucharest", 104 "America/Winnipeg", "America_Central", "America/Chicago", 105 "America/Buenos_Aires", "Argentina", "America/Buenos_Aires", 106 "America/Yellowknife", "America_Mountain", "America/Denver", 107 "Pacific/Midway", "Samoa", "Pacific/Apia", 108 "Africa/Dar_es_Salaam", "Africa_Eastern", "Africa/Nairobi", 109 "Pacific/Tahiti", "Tahiti", "Pacific/Tahiti", 110 "Asia/Gaza", "Europe_Eastern", "Europe/Bucharest", 111 "Australia/Lindeman", "Australia_Eastern", "Australia/Sydney", 112 "Europe/Kaliningrad", "Europe_Eastern", "Europe/Bucharest", 113 "Europe/Bucharest", "Europe_Eastern", "Europe/Bucharest", 114 "America/Lower_Princes", "Atlantic", "America/Halifax", 115 "Pacific/Chuuk", "Truk", "Pacific/Truk", 116 "America/Anchorage", "Alaska", "America/Juneau", 117 "America/Rankin_Inlet", "America_Central", "America/Chicago", 118 "America/Marigot", "Atlantic", "America/Halifax", 119 "Africa/Juba", "Africa_Eastern", "Africa/Nairobi", 120 "Africa/Algiers", "Europe_Central", "Europe/Paris", 121 "Europe/Kiev", "Europe_Eastern", "Europe/Bucharest", 122 "America/Santarem", "Brasilia", "America/Sao_Paulo", 123 "Africa/Brazzaville", "Africa_Western", "Africa/Lagos", 124 "Asia/Choibalsan", "Choibalsan", "Asia/Choibalsan", 125 "Indian/Christmas", "Christmas", "Indian/Christmas", 126 "America/Nassau", "America_Eastern", "America/New_York", 127 "Africa/Tunis", "Europe_Central", "Europe/Paris", 128 "Pacific/Noumea", "New_Caledonia", "Pacific/Noumea", 129 "Africa/El_Aaiun", "Europe_Western", "Atlantic/Canary", 130 "Europe/Sarajevo", "Europe_Central", "Europe/Paris", 131 "America/Campo_Grande", "Amazon", "America/Manaus", 132 "America/Puerto_Rico", "Atlantic", "America/Halifax", 133 "Antarctica/Mawson", "Mawson", "Antarctica/Mawson", 134 "Pacific/Galapagos", "Galapagos", "Pacific/Galapagos", 135 "Asia/Tehran", "Iran", "Asia/Tehran", 136 "America/Port-au-Prince", "America_Eastern", "America/New_York", 137 "America/Scoresbysund", "Greenland_Eastern", "America/Scoresbysund", 138 "Africa/Harare", "Africa_Central", "Africa/Maputo", 139 "America/Dominica", "Atlantic", "America/Halifax", 140 "Europe/Chisinau", "Europe_Eastern", "Europe/Bucharest", 141 "America/Chihuahua", "America_Mountain", "America/Denver", 142 "America/La_Paz", "Bolivia", "America/La_Paz", 143 "Indian/Chagos", "Indian_Ocean", "Indian/Chagos", 144 "Australia/Broken_Hill", "Australia_Central", "Australia/Adelaide", 145 "America/Grenada", "Atlantic", "America/Halifax", 146 "America/North_Dakota/New_Salem", "America_Central", "America/Chicago", 147 "Pacific/Majuro", "Marshall_Islands", "Pacific/Majuro", 148 "Australia/Adelaide", "Australia_Central", "Australia/Adelaide", 149 "Europe/Warsaw", "Europe_Central", "Europe/Paris", 150 "Europe/Vienna", "Europe_Central", "Europe/Paris", 151 "Atlantic/Cape_Verde", "Cape_Verde", "Atlantic/Cape_Verde", 152 "America/Mendoza", "Argentina", "America/Buenos_Aires", 153 "Pacific/Gambier", "Gambier", "Pacific/Gambier", 154 "Europe/Istanbul", "Europe_Eastern", "Europe/Bucharest", 155 "America/Kentucky/Monticello", "America_Eastern", "America/New_York", 156 "America/Chicago", "America_Central", "America/Chicago", 157 "Asia/Ulaanbaatar", "Mongolia", "Asia/Ulaanbaatar", 158 "Indian/Maldives", "Maldives", "Indian/Maldives", 159 "America/Mexico_City", "America_Central", "America/Chicago", 160 "Africa/Asmara", "Africa_Eastern", "Africa/Nairobi", 161 "Asia/Chongqing", "China", "Asia/Shanghai", 162 "America/Argentina/La_Rioja", "Argentina", "America/Buenos_Aires", 163 "America/Tijuana", "America_Pacific", "America/Los_Angeles", 164 "Asia/Harbin", "China", "Asia/Shanghai", 165 "Pacific/Honolulu", "Hawaii_Aleutian", "Pacific/Honolulu", 166 "Atlantic/Azores", "Azores", "Atlantic/Azores", 167 "Indian/Mayotte", "Africa_Eastern", "Africa/Nairobi", 168 "America/Guatemala", "America_Central", "America/Chicago", 169 "America/Indianapolis", "America_Eastern", "America/New_York", 170 "America/Halifax", "Atlantic", "America/Halifax", 171 "America/Resolute", "America_Central", "America/Chicago", 172 "Europe/London", "GMT", "Atlantic/Reykjavik", 173 "America/Hermosillo", "America_Mountain", "America/Denver", 174 "Atlantic/Madeira", "Europe_Western", "Atlantic/Canary", 175 "Europe/Zagreb", "Europe_Central", "Europe/Paris", 176 "America/Boa_Vista", "Amazon", "America/Manaus", 177 "America/Regina", "America_Central", "America/Chicago", 178 "America/Cordoba", "Argentina", "America/Buenos_Aires", 179 "America/Shiprock", "America_Mountain", "America/Denver", 180 "Europe/Luxembourg", "Europe_Central", "Europe/Paris", 181 "America/Cancun", "America_Central", "America/Chicago", 182 "Pacific/Enderbury", "Phoenix_Islands", "Pacific/Enderbury", 183 "Africa/Bissau", "GMT", "Atlantic/Reykjavik", 184 "Antarctica/Vostok", "Vostok", "Antarctica/Vostok", 185 "Pacific/Apia", "Samoa", "Pacific/Apia", 186 "Australia/Perth", "Australia_Western", "Australia/Perth", 187 "America/Juneau", "Alaska", "America/Juneau", 188 "Africa/Mbabane", "Africa_Southern", "Africa/Johannesburg", 189 "Pacific/Niue", "Niue", "Pacific/Niue", 190 "Europe/Zurich", "Europe_Central", "Europe/Paris", 191 "America/Rio_Branco", "Amazon", "America/Manaus", 192 "Africa/Ndjamena", "Africa_Western", "Africa/Lagos", 193 "Asia/Macau", "China", "Asia/Shanghai", 194 "America/Lima", "Peru", "America/Lima", 195 "Africa/Windhoek", "Africa_Central", "Africa/Maputo", 196 "America/Sitka", "Alaska", "America/Juneau", 197 "America/Mazatlan", "America_Mountain", "America/Denver", 198 "Asia/Saigon", "Indochina", "Asia/Saigon", 199 "Asia/Kamchatka", "Magadan", "Asia/Magadan", 200 "America/Menominee", "America_Central", "America/Chicago", 201 "America/Belize", "America_Central", "America/Chicago", 202 "America/Sao_Paulo", "Brasilia", "America/Sao_Paulo", 203 "America/Barbados", "Atlantic", "America/Halifax", 204 "America/Porto_Velho", "Amazon", "America/Manaus", 205 "America/Costa_Rica", "America_Central", "America/Chicago", 206 "Europe/Monaco", "Europe_Central", "Europe/Paris", 207 "Europe/Riga", "Europe_Eastern", "Europe/Bucharest", 208 "Europe/Vatican", "Europe_Central", "Europe/Paris", 209 "Europe/Madrid", "Europe_Central", "Europe/Paris", 210 "Africa/Dakar", "GMT", "Atlantic/Reykjavik", 211 "Asia/Damascus", "Europe_Eastern", "Europe/Bucharest", 212 "Asia/Hong_Kong", "Hong_Kong", "Asia/Hong_Kong", 213 "America/Adak", "Hawaii_Aleutian", "Pacific/Honolulu", 214 "Europe/Vilnius", "Europe_Eastern", "Europe/Bucharest", 215 "America/Indiana/Indianapolis", "America_Eastern", "America/New_York", 216 "Africa/Freetown", "GMT", "Atlantic/Reykjavik", 217 "Atlantic/Reykjavik", "GMT", "Atlantic/Reykjavik", 218 "Asia/Ho_Chi_Minh", "Indochina", "Asia/Saigon", 219 "America/St_Kitts", "Atlantic", "America/Halifax", 220 "America/Martinique", "Atlantic", "America/Halifax", 221 "America/Thule", "Atlantic", "America/Halifax", 222 "America/Asuncion", "Paraguay", "America/Asuncion", 223 "Africa/Luanda", "Africa_Western", "Africa/Lagos", 224 "America/Monterrey", "America_Central", "America/Chicago", 225 "Pacific/Fiji", "Fiji", "Pacific/Fiji", 226 "Africa/Banjul", "GMT", "Atlantic/Reykjavik", 227 "America/Grand_Turk", "America_Eastern", "America/New_York", 228 "Pacific/Pitcairn", "Pitcairn", "Pacific/Pitcairn", 229 "America/Montevideo", "Uruguay", "America/Montevideo", 230 "America/Bahia_Banderas", "America_Central", "America/Chicago", 231 "America/Cayman", "America_Eastern", "America/New_York", 232 "Pacific/Norfolk", "Norfolk", "Pacific/Norfolk", 233 "Africa/Ouagadougou", "GMT", "Atlantic/Reykjavik", 234 "America/Maceio", "Brasilia", "America/Sao_Paulo", 235 "Pacific/Guam", "Chamorro", "Pacific/Saipan", 236 "Africa/Monrovia", "GMT", "Atlantic/Reykjavik", 237 "Africa/Bamako", "GMT", "Atlantic/Reykjavik", 238 "Asia/Colombo", "India", "Asia/Calcutta", 239 "Asia/Urumqi", "China", "Asia/Shanghai", 240 "Asia/Kabul", "Afghanistan", "Asia/Kabul", 241 "America/Yakutat", "Alaska", "America/Juneau", 242 "America/Phoenix", "America_Mountain", "America/Denver", 243 "Asia/Nicosia", "Europe_Eastern", "Europe/Bucharest", 244 "Asia/Phnom_Penh", "Indochina", "Asia/Saigon", 245 "America/Rainy_River", "America_Central", "America/Chicago", 246 "Europe/Uzhgorod", "Europe_Eastern", "Europe/Bucharest", 247 "Pacific/Saipan", "Chamorro", "Pacific/Saipan", 248 "America/St_Vincent", "Atlantic", "America/Halifax", 249 "Europe/Rome", "Europe_Central", "Europe/Paris", 250 "America/Nome", "Alaska", "America/Juneau", 251 "Africa/Mogadishu", "Africa_Eastern", "Africa/Nairobi", 252 "Europe/Zaporozhye", "Europe_Eastern", "Europe/Bucharest", 253 "Pacific/Funafuti", "Tuvalu", "Pacific/Funafuti", 254 "Atlantic/South_Georgia", "South_Georgia", "Atlantic/South_Georgia", 255 "Europe/Skopje", "Europe_Central", "Europe/Paris", 256 "Asia/Yekaterinburg", "Yekaterinburg", "Asia/Yekaterinburg", 257 "Australia/Melbourne", "Australia_Eastern", "Australia/Sydney", 258 "America/Argentina/Cordoba", "Argentina", "America/Buenos_Aires", 259 "Africa/Kigali", "Africa_Central", "Africa/Maputo", 260 "Africa/Blantyre", "Africa_Central", "Africa/Maputo", 261 "Africa/Tripoli", "Europe_Eastern", "Europe/Bucharest", 262 "Africa/Gaborone", "Africa_Central", "Africa/Maputo", 263 "Asia/Kuching", "Malaysia", "Asia/Kuching", 264 "Pacific/Nauru", "Nauru", "Pacific/Nauru", 265 "America/Aruba", "Atlantic", "America/Halifax", 266 "America/Antigua", "Atlantic", "America/Halifax", 267 "Europe/Volgograd", "Volgograd", "Europe/Volgograd", 268 "Africa/Djibouti", "Africa_Eastern", "Africa/Nairobi", 269 "America/Catamarca", "Argentina", "America/Buenos_Aires", 270 "Asia/Manila", "Philippines", "Asia/Manila", 271 "Pacific/Kiritimati", "Line_Islands", "Pacific/Kiritimati", 272 "Asia/Shanghai", "China", "Asia/Shanghai", 273 "Pacific/Truk", "Truk", "Pacific/Truk", 274 "Pacific/Tarawa", "Gilbert_Islands", "Pacific/Tarawa", 275 "Africa/Conakry", "GMT", "Atlantic/Reykjavik", 276 "Asia/Bishkek", "Kyrgystan", "Asia/Bishkek", 277 "Europe/Gibraltar", "Europe_Central", "Europe/Paris", 278 "Asia/Rangoon", "Myanmar", "Asia/Rangoon", 279 "Asia/Baku", "Azerbaijan", "Asia/Baku", 280 "America/Santiago", "Chile", "America/Santiago", 281 "America/El_Salvador", "America_Central", "America/Chicago", 282 "America/Noronha", "Noronha", "America/Noronha", 283 "America/St_Thomas", "Atlantic", "America/Halifax", 284 "Atlantic/St_Helena", "GMT", "Atlantic/Reykjavik", 285 "Asia/Krasnoyarsk", "Krasnoyarsk", "Asia/Krasnoyarsk", 286 "America/Vancouver", "America_Pacific", "America/Los_Angeles", 287 "Europe/Belgrade", "Europe_Central", "Europe/Paris", 288 "America/St_Barthelemy", "Atlantic", "America/Halifax", 289 "Asia/Pontianak", "Indonesia_Western", "Asia/Jakarta", 290 "Africa/Lusaka", "Africa_Central", "Africa/Maputo", 291 "America/Godthab", "Greenland_Western", "America/Godthab", 292 "Asia/Dhaka", "Bangladesh", "Asia/Dhaka", 293 "Asia/Dubai", "Gulf", "Asia/Dubai", 294 "Europe/Moscow", "Moscow", "Europe/Moscow", 295 "America/Louisville", "America_Eastern", "America/New_York", 296 "Australia/Darwin", "Australia_Central", "Australia/Adelaide", 297 "America/Santo_Domingo", "Atlantic", "America/Halifax", 298 "America/Argentina/Ushuaia", "Argentina", "America/Buenos_Aires", 299 "America/Tegucigalpa", "America_Central", "America/Chicago", 300 "Asia/Aden", "Arabian", "Asia/Riyadh", 301 "America/Inuvik", "America_Mountain", "America/Denver", 302 "Asia/Beirut", "Europe_Eastern", "Europe/Bucharest", 303 "Asia/Qatar", "Arabian", "Asia/Riyadh", 304 "Europe/Oslo", "Europe_Central", "Europe/Paris", 305 "Asia/Anadyr", "Magadan", "Asia/Magadan", 306 "Pacific/Palau", "Palau", "Pacific/Palau", 307 "Arctic/Longyearbyen", "Europe_Central", "Europe/Paris", 308 "America/Anguilla", "Atlantic", "America/Halifax", 309 "Asia/Aqtau", "Kazakhstan_Western", "Asia/Aqtobe", 310 "Asia/Yerevan", "Armenia", "Asia/Yerevan", 311 "Africa/Lagos", "Africa_Western", "Africa/Lagos", 312 "America/Denver", "America_Mountain", "America/Denver", 313 "Antarctica/Palmer", "Chile", "America/Santiago", 314 "Europe/Stockholm", "Europe_Central", "Europe/Paris", 315 "America/Bahia", "Brasilia", "America/Sao_Paulo", 316 "America/Danmarkshavn", "GMT", "Atlantic/Reykjavik", 317 "Indian/Mauritius", "Mauritius", "Indian/Mauritius", 318 "Pacific/Chatham", "Chatham", "Pacific/Chatham", 319 "Europe/Prague", "Europe_Central", "Europe/Paris", 320 "America/Blanc-Sablon", "Atlantic", "America/Halifax", 321 "America/Bogota", "Colombia", "America/Bogota", 322 "America/Managua", "America_Central", "America/Chicago", 323 "Pacific/Auckland", "New_Zealand", "Pacific/Auckland", 324 "Atlantic/Faroe", "Europe_Western", "Atlantic/Canary", 325 "America/Cambridge_Bay", "America_Mountain", "America/Denver", 326 "America/Los_Angeles", "America_Pacific", "America/Los_Angeles", 327 "Africa/Khartoum", "Africa_Central", "Africa/Maputo", 328 "Europe/Simferopol", "Europe_Eastern", "Europe/Bucharest", 329 "Australia/Currie", "Australia_Eastern", "Australia/Sydney", 330 "Europe/Guernsey", "GMT", "Atlantic/Reykjavik", 331 "Asia/Thimphu", "Bhutan", "Asia/Thimphu", 332 "America/Eirunepe", "Amazon", "America/Manaus", 333 "Africa/Nairobi", "Africa_Eastern", "Africa/Nairobi", 334 "Asia/Yakutsk", "Yakutsk", "Asia/Yakutsk", 335 "Asia/Yangon", "Myanmar", "Asia/Rangoon", 336 "America/Goose_Bay", "Atlantic", "America/Halifax", 337 "Africa/Maseru", "Africa_Southern", "Africa/Johannesburg", 338 "America/Swift_Current", "America_Central", "America/Chicago", 339 "America/Guyana", "Guyana", "America/Guyana", 340 "Asia/Tokyo", "Japan", "Asia/Tokyo", 341 "Indian/Kerguelen", "French_Southern", "Indian/Kerguelen", 342 "America/Belem", "Brasilia", "America/Sao_Paulo", 343 "Pacific/Wallis", "Wallis", "Pacific/Wallis", 344 "America/Whitehorse", "America_Pacific", "America/Los_Angeles", 345 "America/North_Dakota/Beulah", "America_Central", "America/Chicago", 346 "Asia/Jerusalem", "Israel", "Asia/Jerusalem", 347 "Antarctica/Syowa", "Syowa", "Antarctica/Syowa", 348 "America/Thunder_Bay", "America_Eastern", "America/New_York", 349 "Asia/Brunei", "Brunei", "Asia/Brunei", 350 "America/Metlakatla", "America_Pacific", "America/Los_Angeles", 351 "Asia/Dushanbe", "Tajikistan", "Asia/Dushanbe", 352 "Pacific/Kosrae", "Kosrae", "Pacific/Kosrae", 353 "America/Coral_Harbour", "America_Eastern", "America/New_York", 354 "America/Tortola", "Atlantic", "America/Halifax", 355 "Asia/Karachi", "Pakistan", "Asia/Karachi", 356 "Indian/Reunion", "Reunion", "Indian/Reunion", 357 "America/Detroit", "America_Eastern", "America/New_York", 358 "Australia/Eucla", "Australia_CentralWestern", "Australia/Eucla", 359 "Asia/Seoul", "Korea", "Asia/Seoul", 360 "Asia/Singapore", "Singapore", "Asia/Singapore", 361 "Africa/Casablanca", "Europe_Western", "Atlantic/Canary", 362 "Asia/Dili", "East_Timor", "Asia/Dili", 363 "America/Indiana/Vincennes", "America_Eastern", "America/New_York", 364 "Europe/Dublin", "GMT", "Atlantic/Reykjavik", 365 "America/St_Johns", "Newfoundland", "America/St_Johns", 366 "Antarctica/Macquarie", "Macquarie", "Antarctica/Macquarie", 367 "America/Port_of_Spain", "Atlantic", "America/Halifax", 368 "Europe/Budapest", "Europe_Central", "Europe/Paris", 369 "America/Fortaleza", "Brasilia", "America/Sao_Paulo", 370 "Australia/Brisbane", "Australia_Eastern", "Australia/Sydney", 371 "Atlantic/Bermuda", "Atlantic", "America/Halifax", 372 "Asia/Amman", "Europe_Eastern", "Europe/Bucharest", 373 "Asia/Tashkent", "Uzbekistan", "Asia/Tashkent", 374 "Antarctica/DumontDUrville", "DumontDUrville", "Antarctica/DumontDUrville", 375 "Antarctica/Casey", "Australia_Western", "Australia/Perth", 376 "Asia/Vientiane", "Indochina", "Asia/Saigon", 377 "Pacific/Johnston", "Hawaii_Aleutian", "Pacific/Honolulu", 378 "America/Jamaica", "America_Eastern", "America/New_York", 379 "Africa/Addis_Ababa", "Africa_Eastern", "Africa/Nairobi", 380 "Pacific/Ponape", "Ponape", "Pacific/Ponape", 381 "Europe/Jersey", "GMT", "Atlantic/Reykjavik", 382 "Africa/Lome", "GMT", "Atlantic/Reykjavik", 383 "America/Manaus", "Amazon", "America/Manaus", 384 "Africa/Niamey", "Africa_Western", "Africa/Lagos", 385 "Asia/Kashgar", "China", "Asia/Shanghai", 386 "Pacific/Tongatapu", "Tonga", "Pacific/Tongatapu", 387 "Europe/Minsk", "Europe_Eastern", "Europe/Bucharest", 388 "America/Edmonton", "America_Mountain", "America/Denver", 389 "Asia/Baghdad", "Arabian", "Asia/Riyadh", 390 "Asia/Kathmandu", "Nepal", "Asia/Katmandu", 391 "America/Ojinaga", "America_Mountain", "America/Denver", 392 "Africa/Abidjan", "GMT", "Atlantic/Reykjavik", 393 "America/Indiana/Winamac", "America_Eastern", "America/New_York", 394 "Asia/Qyzylorda", "Kazakhstan_Eastern", "Asia/Almaty", 395 "Australia/Sydney", "Australia_Eastern", "Australia/Sydney", 396 "Asia/Ashgabat", "Turkmenistan", "Asia/Ashgabat", 397 "Europe/Amsterdam", "Europe_Central", "Europe/Paris", 398 "America/Dawson_Creek", "America_Mountain", "America/Denver", 399 "Africa/Cairo", "Europe_Eastern", "Europe/Bucharest", 400 "Asia/Pyongyang", "Korea", "Asia/Seoul", 401 "Africa/Kampala", "Africa_Eastern", "Africa/Nairobi", 402 "America/Araguaina", "Brasilia", "America/Sao_Paulo", 403 "Asia/Novokuznetsk", "Novosibirsk", "Asia/Novosibirsk", 404 "Pacific/Kwajalein", "Marshall_Islands", "Pacific/Majuro", 405 "Africa/Lubumbashi", "Africa_Central", "Africa/Maputo", 406 "Asia/Sakhalin", "Sakhalin", "Asia/Sakhalin", 407 "America/Indiana/Vevay", "America_Eastern", "America/New_York", 408 "Africa/Maputo", "Africa_Central", "Africa/Maputo", 409 "Atlantic/Faeroe", "Europe_Western", "Atlantic/Canary", 410 "America/North_Dakota/Center", "America_Central", "America/Chicago", 411 "Pacific/Wake", "Wake", "Pacific/Wake", 412 "Pacific/Pago_Pago", "Samoa", "Pacific/Apia", 413 "America/Moncton", "Atlantic", "America/Halifax", 414 "Africa/Sao_Tome", "Africa_Western", "Africa/Lagos", 415 "America/Glace_Bay", "Atlantic", "America/Halifax", 416 "Asia/Jakarta", "Indonesia_Western", "Asia/Jakarta", 417 "Africa/Asmera", "Africa_Eastern", "Africa/Nairobi", 418 "Europe/Lisbon", "Europe_Western", "Atlantic/Canary", 419 "America/Dawson", "America_Pacific", "America/Los_Angeles", 420 "America/Cayenne", "French_Guiana", "America/Cayenne", 421 "Asia/Bahrain", "Arabian", "Asia/Riyadh", 422 "Europe/Malta", "Europe_Central", "Europe/Paris", 423 "America/Indiana/Tell_City", "America_Central", "America/Chicago", 424 "America/Indiana/Petersburg", "America_Eastern", "America/New_York", 425 "Antarctica/Rothera", "Rothera", "Antarctica/Rothera", 426 "Asia/Aqtobe", "Kazakhstan_Western", "Asia/Aqtobe", 427 "Europe/Vaduz", "Europe_Central", "Europe/Paris", 428 "America/Indiana/Marengo", "America_Eastern", "America/New_York", 429 "Europe/Brussels", "Europe_Central", "Europe/Paris", 430 "Europe/Andorra", "Europe_Central", "Europe/Paris", 431 "America/Indiana/Knox", "America_Central", "America/Chicago", 432 "Pacific/Easter", "Easter", "Pacific/Easter", 433 "America/Argentina/Rio_Gallegos", "Argentina", "America/Buenos_Aires", 434 "Asia/Oral", "Kazakhstan_Western", "Asia/Aqtobe", 435 "Europe/Copenhagen", "Europe_Central", "Europe/Paris", 436 "Africa/Johannesburg", "Africa_Southern", "Africa/Johannesburg", 437 "Pacific/Pohnpei", "Ponape", "Pacific/Ponape", 438 "America/Argentina/Tucuman", "Argentina", "America/Buenos_Aires", 439 "America/Toronto", "America_Eastern", "America/New_York", 440 "Asia/Makassar", "Indonesia_Central", "Asia/Makassar", 441 "Europe/Berlin", "Europe_Central", "Europe/Paris", 442 "America/Argentina/Mendoza", "Argentina", "America/Buenos_Aires", 443 "America/Cuiaba", "Amazon", "America/Manaus", 444 "America/Creston", "America_Mountain", "America/Denver", 445 "Asia/Samarkand", "Uzbekistan", "Asia/Tashkent", 446 "Asia/Hovd", "Hovd", "Asia/Hovd", 447 "Europe/Bratislava", "Europe_Central", "Europe/Paris", 448 "Africa/Accra", "GMT", "Atlantic/Reykjavik", 449 "Africa/Douala", "Africa_Western", "Africa/Lagos", 450 "Africa/Nouakchott", "GMT", "Atlantic/Reykjavik", 451 "Europe/Sofia", "Europe_Eastern", "Europe/Bucharest", 452 "Antarctica/Davis", "Davis", "Antarctica/Davis", 453 "Antarctica/McMurdo", "New_Zealand", "Pacific/Auckland", 454 "Europe/San_Marino", "Europe_Central", "Europe/Paris", 455 "Africa/Porto-Novo", "Africa_Western", "Africa/Lagos", 456 "Asia/Jayapura", "Indonesia_Eastern", "Asia/Jayapura", 457 "America/St_Lucia", "Atlantic", "America/Halifax", 458 "America/Nipigon", "America_Eastern", "America/New_York", 459 "America/Argentina/Catamarca", "Argentina", "America/Buenos_Aires", 460 "Europe/Isle_of_Man", "GMT", "Atlantic/Reykjavik", 461 "America/Kentucky/Louisville", "America_Eastern", "America/New_York", 462 "America/Merida", "America_Central", "America/Chicago", 463 "Pacific/Marquesas", "Marquesas", "Pacific/Marquesas", 464 "Asia/Magadan", "Magadan", "Asia/Magadan", 465 "Africa/Libreville", "Africa_Western", "Africa/Lagos", 466 "Pacific/Efate", "Vanuatu", "Pacific/Efate", 467 "Asia/Kuala_Lumpur", "Malaysia", "Asia/Kuching", 468 "America/Iqaluit", "America_Eastern", "America/New_York", 469 "Indian/Comoro", "Africa_Eastern", "Africa/Nairobi", 470 "America/Panama", "America_Eastern", "America/New_York", 471 "Asia/Hebron", "Europe_Eastern", "Europe/Bucharest", 472 "America/Jujuy", "Argentina", "America/Buenos_Aires", 473 "America/Pangnirtung", "America_Eastern", "America/New_York", 474 "Asia/Tbilisi", "Georgia", "Asia/Tbilisi", 475 "Europe/Podgorica", "Europe_Central", "Europe/Paris", 476 "America/Boise", "America_Mountain", "America/Denver", 477 "Asia/Muscat", "Gulf", "Asia/Dubai", 478 "Indian/Mahe", "Seychelles", "Indian/Mahe", 479 "America/Montreal", "America_Eastern", "America/New_York", 480 "Africa/Bangui", "Africa_Western", "Africa/Lagos", 481 "America/Curacao", "Atlantic", "America/Halifax", 482 "Asia/Taipei", "Taipei", "Asia/Taipei", 483 "Europe/Ljubljana", "Europe_Central", "Europe/Paris", 484 "Atlantic/Stanley", "Falkland", "Atlantic/Stanley", 485 "Pacific/Guadalcanal", "Solomon", "Pacific/Guadalcanal", 486 "Asia/Kuwait", "Arabian", "Asia/Riyadh", 487 "Asia/Riyadh", "Arabian", "Asia/Riyadh", 488 "Europe/Tallinn", "Europe_Eastern", "Europe/Bucharest", 489 "America/New_York", "America_Eastern", "America/New_York", 490 "America/Paramaribo", "Suriname", "America/Paramaribo", 491 "America/Argentina/Buenos_Aires", "Argentina", "America/Buenos_Aires", 492 "Asia/Irkutsk", "Irkutsk", "Asia/Irkutsk", 493 "Asia/Katmandu", "Nepal", "Asia/Katmandu", 494 "America/Kralendijk", "Atlantic", "America/Halifax", 495 }; 496 private static final String[] mzoneMap = new String[] { 497 "GMT", "ML", "Africa/Bamako", 498 "GMT", "IE", "Europe/Dublin", 499 "GMT", "SN", "Africa/Dakar", 500 "GMT", "GH", "Africa/Accra", 501 "GMT", "CI", "Africa/Abidjan", 502 "GMT", "BF", "Africa/Ouagadougou", 503 "GMT", "MR", "Africa/Nouakchott", 504 "GMT", "GM", "Africa/Banjul", 505 "GMT", "SL", "Africa/Freetown", 506 "GMT", "GN", "Africa/Conakry", 507 "GMT", "SH", "Atlantic/St_Helena", 508 "GMT", "GB", "Europe/London", 509 "GMT", "LR", "Africa/Monrovia", 510 "GMT", "TG", "Africa/Lome", 511 "Africa_Western", "ST", "Africa/Sao_Tome", 512 "Africa_Western", "CF", "Africa/Bangui", 513 "Africa_Western", "NE", "Africa/Niamey", 514 "Africa_Western", "CM", "Africa/Douala", 515 "Africa_Western", "CD", "Africa/Kinshasa", 516 "Africa_Western", "CG", "Africa/Brazzaville", 517 "Africa_Western", "GA", "Africa/Libreville", 518 "Africa_Western", "TD", "Africa/Ndjamena", 519 "Africa_Western", "AO", "Africa/Luanda", 520 "Africa_Western", "GQ", "Africa/Malabo", 521 "Africa_Eastern", "YT", "Indian/Mayotte", 522 "Africa_Eastern", "UG", "Africa/Kampala", 523 "Africa_Eastern", "ET", "Africa/Addis_Ababa", 524 "Africa_Eastern", "MG", "Indian/Antananarivo", 525 "Africa_Eastern", "TZ", "Africa/Dar_es_Salaam", 526 "Africa_Eastern", "SO", "Africa/Mogadishu", 527 "Africa_Eastern", "ER", "Africa/Asmera", 528 "Africa_Eastern", "KM", "Indian/Comoro", 529 "Africa_Eastern", "DJ", "Africa/Djibouti", 530 "Europe_Central", "GI", "Europe/Gibraltar", 531 "Europe_Central", "DK", "Europe/Copenhagen", 532 "Europe_Central", "SE", "Europe/Stockholm", 533 "Europe_Central", "CH", "Europe/Zurich", 534 "Europe_Central", "AL", "Europe/Tirane", 535 "Europe_Central", "RS", "Europe/Belgrade", 536 "Europe_Central", "HU", "Europe/Budapest", 537 "Europe_Central", "MT", "Europe/Malta", 538 "Europe_Central", "PL", "Europe/Warsaw", 539 "Europe_Central", "ME", "Europe/Podgorica", 540 "Europe_Central", "ES", "Europe/Madrid", 541 "Europe_Central", "CZ", "Europe/Prague", 542 "Europe_Central", "IT", "Europe/Rome", 543 "Europe_Central", "SI", "Europe/Ljubljana", 544 "Europe_Central", "LI", "Europe/Vaduz", 545 "Europe_Central", "AT", "Europe/Vienna", 546 "Europe_Central", "VA", "Europe/Vatican", 547 "Europe_Central", "DE", "Europe/Berlin", 548 "Europe_Central", "NO", "Europe/Oslo", 549 "Europe_Central", "SK", "Europe/Bratislava", 550 "Europe_Central", "AD", "Europe/Andorra", 551 "Europe_Central", "SM", "Europe/San_Marino", 552 "Europe_Central", "MK", "Europe/Skopje", 553 "Europe_Central", "TN", "Africa/Tunis", 554 "Europe_Central", "HR", "Europe/Zagreb", 555 "Europe_Central", "NL", "Europe/Amsterdam", 556 "Europe_Central", "BE", "Europe/Brussels", 557 "Europe_Central", "MC", "Europe/Monaco", 558 "Europe_Central", "LU", "Europe/Luxembourg", 559 "Europe_Central", "BA", "Europe/Sarajevo", 560 "China", "MO", "Asia/Macau", 561 "America_Pacific", "MX", "America/Tijuana", 562 "America_Pacific", "CA", "America/Vancouver", 563 "Indochina", "LA", "Asia/Vientiane", 564 "Indochina", "KH", "Asia/Phnom_Penh", 565 "Indochina", "TH", "Asia/Bangkok", 566 "Korea", "KP", "Asia/Pyongyang", 567 "America_Mountain", "MX", "America/Hermosillo", 568 "America_Mountain", "CA", "America/Edmonton", 569 "Africa_Southern", "LS", "Africa/Maseru", 570 "Africa_Southern", "SZ", "Africa/Mbabane", 571 "Chile", "AQ", "Antarctica/Palmer", 572 "New_Zealand", "AQ", "Antarctica/McMurdo", 573 "Gulf", "OM", "Asia/Muscat", 574 "Europe_Western", "FO", "Atlantic/Faeroe", 575 "America_Eastern", "TC", "America/Grand_Turk", 576 "America_Eastern", "CA", "America/Toronto", 577 "America_Eastern", "BS", "America/Nassau", 578 "America_Eastern", "PA", "America/Panama", 579 "America_Eastern", "JM", "America/Jamaica", 580 "America_Eastern", "KY", "America/Cayman", 581 "Africa_Central", "BI", "Africa/Bujumbura", 582 "Africa_Central", "ZM", "Africa/Lusaka", 583 "Africa_Central", "ZW", "Africa/Harare", 584 "Africa_Central", "CD", "Africa/Lubumbashi", 585 "Africa_Central", "BW", "Africa/Gaborone", 586 "Africa_Central", "RW", "Africa/Kigali", 587 "Africa_Central", "MW", "Africa/Blantyre", 588 "America_Central", "MX", "America/Mexico_City", 589 "America_Central", "HN", "America/Tegucigalpa", 590 "America_Central", "CA", "America/Winnipeg", 591 "America_Central", "GT", "America/Guatemala", 592 "America_Central", "SV", "America/El_Salvador", 593 "America_Central", "CR", "America/Costa_Rica", 594 "America_Central", "BZ", "America/Belize", 595 "Atlantic", "MS", "America/Montserrat", 596 "Atlantic", "AG", "America/Antigua", 597 "Atlantic", "TT", "America/Port_of_Spain", 598 "Atlantic", "MQ", "America/Martinique", 599 "Atlantic", "DM", "America/Dominica", 600 "Atlantic", "KN", "America/St_Kitts", 601 "Atlantic", "BM", "Atlantic/Bermuda", 602 "Atlantic", "PR", "America/Puerto_Rico", 603 "Atlantic", "AW", "America/Aruba", 604 "Atlantic", "VG", "America/Tortola", 605 "Atlantic", "GD", "America/Grenada", 606 "Atlantic", "GL", "America/Thule", 607 "Atlantic", "BB", "America/Barbados", 608 "Atlantic", "BQ", "America/Kralendijk", 609 "Atlantic", "SX", "America/Lower_Princes", 610 "Atlantic", "VI", "America/St_Thomas", 611 "Atlantic", "MF", "America/Marigot", 612 "Atlantic", "AI", "America/Anguilla", 613 "Atlantic", "AN", "America/Curacao", 614 "Atlantic", "LC", "America/St_Lucia", 615 "Atlantic", "GP", "America/Guadeloupe", 616 "Atlantic", "VC", "America/St_Vincent", 617 "Arabian", "QA", "Asia/Qatar", 618 "Arabian", "YE", "Asia/Aden", 619 "Arabian", "KW", "Asia/Kuwait", 620 "Arabian", "BH", "Asia/Bahrain", 621 "Arabian", "IQ", "Asia/Baghdad", 622 "India", "LK", "Asia/Colombo", 623 "Europe_Eastern", "SY", "Asia/Damascus", 624 "Europe_Eastern", "BG", "Europe/Sofia", 625 "Europe_Eastern", "GR", "Europe/Athens", 626 "Europe_Eastern", "JO", "Asia/Amman", 627 "Europe_Eastern", "CY", "Asia/Nicosia", 628 "Europe_Eastern", "AX", "Europe/Mariehamn", 629 "Europe_Eastern", "LB", "Asia/Beirut", 630 "Europe_Eastern", "FI", "Europe/Helsinki", 631 "Europe_Eastern", "EG", "Africa/Cairo", 632 "Chamorro", "GU", "Pacific/Guam", 633 }; 634 private static final String[] aliasMap = new String[] { 635 "Brazil/Acre", "America/Rio_Branco", 636 "US/Indiana-Starke", "America/Indiana/Knox", 637 "America/Atka", "America/Adak", 638 "America/St_Barthelemy", "America/Guadeloupe", 639 "Australia/North", "Australia/Darwin", 640 "Europe/Zagreb", "Europe/Belgrade", 641 "Etc/Universal", "Etc/UTC", 642 "NZ-CHAT", "Pacific/Chatham", 643 "Asia/Macao", "Asia/Macau", 644 "Pacific/Yap", "Pacific/Chuuk", 645 "Egypt", "Africa/Cairo", 646 "US/Central", "America/Chicago", 647 "Canada/Atlantic", "America/Halifax", 648 "Brazil/East", "America/Sao_Paulo", 649 "America/Cordoba", "America/Argentina/Cordoba", 650 "US/Hawaii", "Pacific/Honolulu", 651 "America/Louisville", "America/Kentucky/Louisville", 652 "America/Shiprock", "America/Denver", 653 "Australia/Canberra", "Australia/Sydney", 654 "Asia/Chungking", "Asia/Chongqing", 655 "Universal", "Etc/UTC", 656 "US/Alaska", "America/Anchorage", 657 "Asia/Ujung_Pandang", "Asia/Makassar", 658 "Japan", "Asia/Tokyo", 659 "Atlantic/Faeroe", "Atlantic/Faroe", 660 "Asia/Istanbul", "Europe/Istanbul", 661 "US/Pacific", "America/Los_Angeles", 662 "Mexico/General", "America/Mexico_City", 663 "Poland", "Europe/Warsaw", 664 "Africa/Asmera", "Africa/Asmara", 665 "Asia/Saigon", "Asia/Ho_Chi_Minh", 666 "US/Michigan", "America/Detroit", 667 "America/Argentina/ComodRivadavia", "America/Argentina/Catamarca", 668 "W-SU", "Europe/Moscow", 669 "Australia/ACT", "Australia/Sydney", 670 "Asia/Calcutta", "Asia/Kolkata", 671 "Arctic/Longyearbyen", "Europe/Oslo", 672 "America/Knox_IN", "America/Indiana/Knox", 673 "ROC", "Asia/Taipei", 674 "Zulu", "Etc/UTC", 675 "Australia/Yancowinna", "Australia/Broken_Hill", 676 "Australia/West", "Australia/Perth", 677 "Singapore", "Asia/Singapore", 678 "Europe/Mariehamn", "Europe/Helsinki", 679 "ROK", "Asia/Seoul", 680 "America/Porto_Acre", "America/Rio_Branco", 681 "Etc/Zulu", "Etc/UTC", 682 "Canada/Yukon", "America/Whitehorse", 683 "Europe/Vatican", "Europe/Rome", 684 "Africa/Timbuktu", "Africa/Bamako", 685 "America/Buenos_Aires", "America/Argentina/Buenos_Aires", 686 "Canada/Pacific", "America/Vancouver", 687 "US/Pacific-New", "America/Los_Angeles", 688 "Mexico/BajaNorte", "America/Tijuana", 689 "Europe/Guernsey", "Europe/London", 690 "Asia/Tel_Aviv", "Asia/Jerusalem", 691 "Chile/Continental", "America/Santiago", 692 "Jamaica", "America/Jamaica", 693 "Mexico/BajaSur", "America/Mazatlan", 694 "Canada/Eastern", "America/Toronto", 695 "Australia/Tasmania", "Australia/Hobart", 696 "NZ", "Pacific/Auckland", 697 "America/Lower_Princes", "America/Curacao", 698 "GMT-", "Etc/GMT", 699 "America/Rosario", "America/Argentina/Cordoba", 700 "Libya", "Africa/Tripoli", 701 "Asia/Ashkhabad", "Asia/Ashgabat", 702 "Australia/NSW", "Australia/Sydney", 703 "America/Marigot", "America/Guadeloupe", 704 "Europe/Bratislava", "Europe/Prague", 705 "Portugal", "Europe/Lisbon", 706 "Etc/GMT-", "Etc/GMT", 707 "Europe/San_Marino", "Europe/Rome", 708 "Europe/Sarajevo", "Europe/Belgrade", 709 "Antarctica/South_Pole", "Antarctica/McMurdo", 710 "Canada/Central", "America/Winnipeg", 711 "Etc/GMT", "Etc/GMT", 712 "Europe/Isle_of_Man", "Europe/London", 713 "America/Fort_Wayne", "America/Indiana/Indianapolis", 714 "Eire", "Europe/Dublin", 715 "America/Coral_Harbour", "America/Atikokan", 716 "Europe/Nicosia", "Asia/Nicosia", 717 "US/Samoa", "Pacific/Pago_Pago", 718 "Hongkong", "Asia/Hong_Kong", 719 "Canada/Saskatchewan", "America/Regina", 720 "Asia/Thimbu", "Asia/Thimphu", 721 "Kwajalein", "Pacific/Kwajalein", 722 "GB", "Europe/London", 723 "Chile/EasterIsland", "Pacific/Easter", 724 "US/East-Indiana", "America/Indiana/Indianapolis", 725 "Australia/LHI", "Australia/Lord_Howe", 726 "Cuba", "America/Havana", 727 "America/Jujuy", "America/Argentina/Jujuy", 728 "US/Mountain", "America/Denver", 729 "Atlantic/Jan_Mayen", "Europe/Oslo", 730 "Europe/Tiraspol", "Europe/Chisinau", 731 "Europe/Podgorica", "Europe/Belgrade", 732 "US/Arizona", "America/Phoenix", 733 "Navajo", "America/Denver", 734 "Etc/Greenwich", "Etc/GMT", 735 "Canada/Mountain", "America/Edmonton", 736 "Iceland", "Atlantic/Reykjavik", 737 "Australia/Victoria", "Australia/Melbourne", 738 "Australia/South", "Australia/Adelaide", 739 "Brazil/West", "America/Manaus", 740 "Pacific/Ponape", "Pacific/Pohnpei", 741 "Europe/Ljubljana", "Europe/Belgrade", 742 "Europe/Jersey", "Europe/London", 743 "Australia/Queensland", "Australia/Brisbane", 744 "UTC", "Etc/UTC", 745 "Canada/Newfoundland", "America/St_Johns", 746 "Europe/Skopje", "Europe/Belgrade", 747 "PRC", "Asia/Shanghai", 748 "UCT", "Etc/UCT", 749 "America/Mendoza", "America/Argentina/Mendoza", 750 "Israel", "Asia/Jerusalem", 751 "US/Eastern", "America/New_York", 752 "Asia/Ulan_Bator", "Asia/Ulaanbaatar", 753 "Turkey", "Europe/Istanbul", 754 "GMT", "Etc/GMT", 755 "US/Aleutian", "America/Adak", 756 "Brazil/DeNoronha", "America/Noronha", 757 "GB-Eire", "Europe/London", 758 "Asia/Dacca", "Asia/Dhaka", 759 "America/Ensenada", "America/Tijuana", 760 "America/Catamarca", "America/Argentina/Catamarca", 761 "Iran", "Asia/Tehran", 762 "Greenwich", "Etc/GMT", 763 "Pacific/Truk", "Pacific/Chuuk", 764 "Pacific/Samoa", "Pacific/Pago_Pago", 765 "America/Virgin", "America/St_Thomas", 766 "Asia/Katmandu", "Asia/Kathmandu", 767 "America/Indianapolis", "America/Indiana/Indianapolis", 768 "Europe/Belfast", "Europe/London", 769 "America/Kralendijk", "America/Curacao", 770 "Asia/Rangoon", "Asia/Yangon", 771 }; 772 773 private static final Map<String, String> zidToMzone = new HashMap<>(); 774 private static final Map<String, String> mzoneToZid = new HashMap<>(); 775 private static final Map<String, Map<String, String>> mzoneToZidL = new HashMap<>(); 776 private static final Map<String, String> aliases = new HashMap<>(); 777 778 static { 779 for (int i = 0; i < zidMap.length; i += 3) { 780 zidToMzone.put(zidMap[i], zidMap[i + 1]); 781 mzoneToZid.put(zidMap[i + 1], zidMap[i + 2]); 782 } 783 784 for (int i = 0; i < mzoneMap.length; i += 3) { 785 String mzone = mzoneMap[i]; 786 Map<String, String> map = mzoneToZidL.get(mzone); 787 if (map == null) { 788 map = new HashMap<>(); 789 mzoneToZidL.put(mzone, map); 790 } 791 map.put(mzoneMap[i + 1], mzoneMap[i + 2]); 792 } 793 794 for (int i = 0; i < aliasMap.length; i += 2) { 795 aliases.put(aliasMap[i], aliasMap[i + 1]); 796 } 797 } 798 }