#
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation.  Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
# This file is in the public domain, so clarified as of
# 2009-05-17 by Arthur David Olson.

# This file provides links between current names for time zones
# and their old names.  Many names changed in late 1993.

# Link	TARGET			LINK-NAME
Link	Africa/Nairobi		Africa/Asmera
Link	Africa/Abidjan		Africa/Timbuktu
Link	America/Argentina/Catamarca	America/Argentina/ComodRivadavia
Link	America/Adak		America/Atka
Link	America/Argentina/Buenos_Aires	America/Buenos_Aires
Link	America/Argentina/Catamarca	America/Catamarca
Link	America/Atikokan	America/Coral_Harbour
Link	America/Argentina/Cordoba	America/Cordoba
Link	America/Tijuana		America/Ensenada
Link	America/Indiana/Indianapolis	America/Fort_Wayne
Link	America/Indiana/Indianapolis	America/Indianapolis
Link	America/Argentina/Jujuy	America/Jujuy
Link	America/Indiana/Knox	America/Knox_IN
Link	America/Kentucky/Louisville	America/Louisville
Link	America/Argentina/Mendoza	America/Mendoza
Link	America/Toronto		America/Montreal
Link	America/Rio_Branco	America/Porto_Acre
Link	America/Argentina/Cordoba	America/Rosario
Link	America/Tijuana		America/Santa_Isabel
Link	America/Denver		America/Shiprock
Link	America/Port_of_Spain	America/Virgin
Link	Pacific/Auckland	Antarctica/South_Pole
Link	Asia/Ashgabat		Asia/Ashkhabad
Link	Asia/Kolkata		Asia/Calcutta
Link	Asia/Shanghai		Asia/Chongqing
Link	Asia/Shanghai		Asia/Chungking
Link	Asia/Dhaka		Asia/Dacca
Link	Asia/Shanghai		Asia/Harbin
Link	Asia/Urumqi		Asia/Kashgar
Link	Asia/Kathmandu		Asia/Katmandu
Link	Asia/Macau		Asia/Macao
Link	Asia/Ho_Chi_Minh	Asia/Saigon
Link	Asia/Jerusalem		Asia/Tel_Aviv
Link	Asia/Thimphu		Asia/Thimbu
Link	Asia/Makassar		Asia/Ujung_Pandang
Link	Asia/Ulaanbaatar	Asia/Ulan_Bator
Link	Atlantic/Faroe		Atlantic/Faeroe
Link	Europe/Oslo		Atlantic/Jan_Mayen
Link	Australia/Sydney	Australia/ACT
Link	Australia/Sydney	Australia/Canberra
Link	Australia/Lord_Howe	Australia/LHI
Link	Australia/Sydney	Australia/NSW
Link	Australia/Darwin	Australia/North
Link	Australia/Brisbane	Australia/Queensland
Link	Australia/Adelaide	Australia/South
Link	Australia/Hobart	Australia/Tasmania
Link	Australia/Melbourne	Australia/Victoria
Link	Australia/Perth		Australia/West
Link	Australia/Broken_Hill	Australia/Yancowinna
Link	America/Rio_Branco	Brazil/Acre
Link	America/Noronha		Brazil/DeNoronha
Link	America/Sao_Paulo	Brazil/East
Link	America/Manaus		Brazil/West
Link	America/Halifax		Canada/Atlantic
Link	America/Winnipeg	Canada/Central
Link	America/Regina		Canada/East-Saskatchewan
Link	America/Toronto		Canada/Eastern
Link	America/Edmonton	Canada/Mountain
Link	America/St_Johns	Canada/Newfoundland
Link	America/Vancouver	Canada/Pacific
Link	America/Regina		Canada/Saskatchewan
Link	America/Whitehorse	Canada/Yukon
Link	America/Santiago	Chile/Continental
Link	Pacific/Easter		Chile/EasterIsland
Link	America/Havana		Cuba
Link	Africa/Cairo		Egypt
Link	Europe/Dublin		Eire
Link	Europe/London		Europe/Belfast
Link	Europe/Chisinau		Europe/Tiraspol
Link	Europe/London		GB
Link	Europe/London		GB-Eire
Link	Etc/GMT			GMT+0
Link	Etc/GMT			GMT-0
Link	Etc/GMT			GMT0
Link	Etc/GMT			Greenwich
Link	Asia/Hong_Kong		Hongkong
Link	Atlantic/Reykjavik	Iceland
Link	Asia/Tehran		Iran
Link	Asia/Jerusalem		Israel
Link	America/Jamaica		Jamaica
Link	Asia/Tokyo		Japan
Link	Pacific/Kwajalein	Kwajalein
Link	Africa/Tripoli		Libya
Link	America/Tijuana		Mexico/BajaNorte
Link	America/Mazatlan	Mexico/BajaSur
Link	America/Mexico_City	Mexico/General
Link	Pacific/Auckland	NZ
Link	Pacific/Chatham		NZ-CHAT
Link	America/Denver		Navajo
Link	Asia/Shanghai		PRC
Link	Pacific/Pohnpei		Pacific/Ponape
Link	Pacific/Pago_Pago	Pacific/Samoa
Link	Pacific/Chuuk		Pacific/Truk
Link	Pacific/Chuuk		Pacific/Yap
Link	Europe/Warsaw		Poland
Link	Europe/Lisbon		Portugal
Link	Asia/Taipei		ROC
Link	Asia/Seoul		ROK
Link	Asia/Singapore		Singapore
Link	Europe/Istanbul		Turkey
Link	Etc/UCT			UCT
Link	America/Anchorage	US/Alaska
Link	America/Adak		US/Aleutian
Link	America/Phoenix		US/Arizona
Link	America/Chicago		US/Central
Link	America/Indiana/Indianapolis	US/East-Indiana
Link	America/New_York	US/Eastern
Link	Pacific/Honolulu	US/Hawaii
Link	America/Indiana/Knox	US/Indiana-Starke
Link	America/Detroit		US/Michigan
Link	America/Denver		US/Mountain
Link	America/Los_Angeles	US/Pacific
Link	Pacific/Pago_Pago	US/Samoa
Link	Etc/UTC			UTC
Link	Etc/UTC			Universal
Link	Europe/Moscow		W-SU
Link	Etc/UTC			Zulu
