wok rev 5309

Add: linmodem-hsfmodem, driver for the Conexant HSF Softmodem family.
author slitaz@testbed
date Tue Apr 20 20:04:38 2010 +0200 (2010-04-20)
parents 1959b2e6b8a0
children e73f4da5da34
files linmodem-hsfmodem/receipt linmodem-hsfmodem/stuff/hsfmodem-7.80.02.05full.diff linmodem-hsfmodem/stuff/zone.tab
line diff
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/linmodem-hsfmodem/receipt	Tue Apr 20 20:04:38 2010 +0200
     1.3 @@ -0,0 +1,88 @@
     1.4 +# SliTaz package receipt.
     1.5 +
     1.6 +PACKAGE="linmodem-hsfmodem"
     1.7 +SOURCE="hsfmodem"
     1.8 +VERSION="7.80.02.05full"
     1.9 +CATEGORY="non-free"
    1.10 +SHORT_DESC="Driver for the Conexant (formerly Rockwell) HSF Softmodem family."
    1.11 +MAINTAINER="orphaned@sliatz.org"
    1.12 +DEPENDS="module-init-tools perl usbutils"
    1.13 +BUILD_DEPENDS="cpio linux lzma"
    1.14 +TARBALL="$SOURCE-$VERSION.tar.gz"
    1.15 +WEB_SITE="http://www.linuxant.com/drivers"
    1.16 +WGET_URL="http://www.linuxant.com/drivers/hsf/full/archive/$SOURCE-$VERSION/$TARBALL"
    1.17 +
    1.18 +# Rules to configure and make the package.
    1.19 +compile_rules()
    1.20 +{
    1.21 +	KERNEL_VERSION=`grep  ^VERSION= $WOK/linux/receipt | cut -d "=" -f2 | sed -e 's/"//g'`
    1.22 +	[ -d $WOK/linux/taz ] || tazwok cook linux
    1.23 +	cd $src
    1.24 +	echo "Apply $file..."
    1.25 +	patch -p1 < ../stuff/$SOURCE-$VERSION.diff || exit 1
    1.26 +	# set /usr/src/linux
    1.27 +	echo "Set fake /usr/src/linux dir..Ã"
    1.28 +	[ -e /usr/src ] && SRCDIR=yes || mkdir -p /usr/src
    1.29 +	ln -s $WOK/linux/linux-$(uname -r | sed s/-slitaz//) /usr/src/linux
    1.30 +	# build driver
    1.31 +	echo "Build driver"
    1.32 +	make ROOT=$PWD/_pkg install
    1.33 +	# build kernel modules
    1.34 +	echo "Running $PWD/_pkg/usr/sbin/hsfconfig -ka"
    1.35 +	$PWD/_pkg/usr/sbin/hsfconfig -ka
    1.36 +	# reset /usr/src/linux
    1.37 +	echo "Clean files"
    1.38 +	rm /usr/src/linux
    1.39 +	[ "$SRCDIR" = "yes" ] && rmdir /usr/src
    1.40 +	echo "done."
    1.41 +}
    1.42 +
    1.43 +# Rules to gen a SliTaz package suitable for Tazpkg.
    1.44 +genpkg_rules()
    1.45 +{
    1.46 +	# kernel modules
    1.47 +	mkdir -p $fs/lib/modules/$(uname -r)
    1.48 +	cp -a /lib/modules/$(uname -r)/extra $fs/lib/modules/$(uname -r)
    1.49 +	# cleaning up
    1.50 +	rm -r /lib/modules/$(uname -r)/extra
    1.51 +	# command files
    1.52 +	mkdir -p $fs/usr
    1.53 +	cp -a $_pkg/usr/sbin $fs/usr
    1.54 +	cp -a $_pkg/usr/lib $fs/usr
    1.55 +	# config files
    1.56 +	mkdir -p $fs/etc
    1.57 +	cp -a $_pkg/etc/hsfmodem $fs/etc
    1.58 +	cp -a stuff/zone.tab $fs/etc/hsfmodem
    1.59 +}
    1.60 +
    1.61 +post_install()
    1.62 +{
    1.63 +	depmod -a
    1.64 +	echo -n "Install serial port devices"
    1.65 +	hsfconfig -s > /dev/null
    1.66 +	status
    1.67 +	echo -n "Install kernel modules"
    1.68 +	modprobe -v /dev/ttySHSF > /dev/null
    1.69 +	status
    1.70 +	echo -n "Set region"
    1.71 +	hsfconfig -c AUTO
    1.72 +	echo "-----------------------------------------------------------------------------"
    1.73 +	echo "To enable your modem's full functionality (high-speed 56k data and FAX),"
    1.74 +	echo "a license registration key must be obtained from Linuxant and entered with"
    1.75 +	echo "hsfconfig --license."
    1.76 +	echo ""
    1.77 +	echo "Without a proper license key, the modem can only operate in FREE mode,"
    1.78 +	echo "limited to a maximum speed of 14.4Kbps (V.32bis) and the FAX"
    1.79 +	echo "functionality will not be available."
    1.80 +}
    1.81 +
    1.82 +pre_remove()
    1.83 +{
    1.84 +	hsfstop
    1.85 +}
    1.86 +
    1.87 +post_remove()
    1.88 +{
    1.89 +	depmod -a
    1.90 +	rm -r /etc/hsfmodem
    1.91 +}
     2.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     2.2 +++ b/linmodem-hsfmodem/stuff/hsfmodem-7.80.02.05full.diff	Tue Apr 20 20:04:38 2010 +0200
     2.3 @@ -0,0 +1,207 @@
     2.4 +--- hsfmodem-7.80.02.05full/config.mak	Fri Feb 20 22:30:12 2009
     2.5 ++++ hsfmodem-7.80.02.05full+patch2/config.mak	Sun Apr 11 19:29:08 2010
     2.6 +@@ -131,4 +131,4 @@
     2.7 + 		-e "s!@SCR_SUPPORT@!`test ! \"$(IMPORTED_SCR_SUPPORT)\" = yes; echo $$?`!g" \
     2.8 + 		-e "s!@DMP_SUPPORT@!`test -z \"$(IMPORTED_DMP_SUPPORT)\"; echo $$?`!g" \
     2.9 + 		< $< > $@
    2.10 +-	chmod --reference=$< $@
    2.11 ++	chmod 755 $@
    2.12 +--- hsfmodem-7.80.02.05full/makefile	Mon Feb 23 22:51:37 2009
    2.13 ++++ hsfmodem-7.80.02.05full+patch2/makefile	Sun Apr 11 19:29:08 2010
    2.14 +@@ -149,7 +149,7 @@
    2.15 + ifeq ($(RPMOPTEVAL),yes)
    2.16 + RPMTARGETCPU=$(shell rpm --eval '%_target_cpu')
    2.17 + else
    2.18 +-RPMTARGETCPU=$(shell uname -i)
    2.19 ++RPMTARGETCPU=$(shell uname -m)
    2.20 + endif
    2.21 + 
    2.22 + ifneq ($(RPMOPTDEFINE),yes)
    2.23 +--- hsfmodem-7.80.02.05full/modules/Makefile	Thu Oct 22 00:35:59 2009
    2.24 ++++ hsfmodem-7.80.02.05full+patch2/modules/Makefile	Sun Apr 11 19:49:54 2010
    2.25 +@@ -20,7 +20,7 @@
    2.26 + include $(TOP)/config.mak
    2.27 + 
    2.28 + IMPORTED = $(TOP)/modules/imported
    2.29 +-MACHINE_ARCH := $(shell if uname --hardware-platform >/dev/null 2>&1 && ! uname --hardware-platform | grep -q "unknown"; then uname --hardware-platform; else uname --machine | sed 's/^i.86$$/i386/'; fi)
    2.30 ++MACHINE_ARCH := $(shell if uname -p >/dev/null 2>&1 && ! uname -p | grep -q "unknown"; then uname -p; else uname -m | sed 's/^i.86$$/i386/'; fi)
    2.31 + ifneq ($(subst powerpc,ppc,$(IMPORTED_ARCH)),$(MACHINE_ARCH))
    2.32 + $(warning *** WARNING: Trying to compile kernel modules on a $(MACHINE_ARCH) system while the installed $(CNXTTARGET) driver package is for $(IMPORTED_ARCH), this is likely to fail... ***)
    2.33 + endif
    2.34 +@@ -56,6 +56,7 @@
    2.35 + CNXT_KERNELSRC := /usr/src/kernel-headers-$(shell uname -r)
    2.36 + else
    2.37 + CNXT_KERNELSRC := /usr/src/linux
    2.38 ++CNXT_KERNELSRC := ../../../linux/linux-$(shell uname -r | sed s/-slitaz//)
    2.39 + endif
    2.40 + KERNELSRC_EXISTS := $(shell test -r ${CNXT_KERNELSRC}/include/linux/version.h && echo yes || echo no)
    2.41 + endif
    2.42 +
    2.43 +--- hsfmodem-7.80.02.05full/nvm/linksame	Fri Jan 13 20:23:51 2006
    2.44 ++++ hsfmodem-7.80.02.05full+patch2/nvm/linksame	Sun Apr 11 19:29:08 2010
    2.45 +@@ -17,7 +17,7 @@
    2.46 + 
    2.47 + if $dryrun; then
    2.48 + 	echo "dry run.."
    2.49 +-	find . -type f ! -empty -exec md5sum {} \; | sort | while read sum file ; do
    2.50 ++	find . -type f ! -size 0 -exec md5sum {} \; | sort | while read sum file ; do
    2.51 + 		if [ "$sum" = "$prevsum" ] && cmp -s "$file" "$prevfile"; then
    2.52 + 			echo ln "$prevfile" "$file"
    2.53 + 		else
    2.54 +@@ -28,7 +28,7 @@
    2.55 + 	exit $?
    2.56 + fi
    2.57 + 
    2.58 +-find . -type f ! -empty -exec md5sum {} \; | sort | while read sum file ; do
    2.59 ++find . -type f ! -size 0 -exec md5sum {} \; | sort | while read sum file ; do
    2.60 + 	if [ "$sum" = "$prevsum" ] && cmp -s "$file" "$prevfile"; then
    2.61 + 		rm -f "$file"
    2.62 + 		echo ln "$prevfile" "$file"
    2.63 +--- hsfmodem-7.80.02.05full/nvm/makefile	Wed Oct  1 17:23:26 2008
    2.64 ++++ hsfmodem-7.80.02.05full+patch2/nvm/makefile	Sun Apr 11 19:29:08 2010
    2.65 +@@ -52,7 +52,7 @@
    2.66 + all: $(ALL)
    2.67 + 
    2.68 + $(NVMCVTDIR)/.linksame: $(NVMDIRS_CVT)
    2.69 +-	cd $(NVMCVTDIR) && find . -type f ! -empty -exec md5sum {} ';' | sort | \
    2.70 ++	cd $(NVMCVTDIR) && find . -type f ! -size 0 -exec md5sum {} ';' | sort | \
    2.71 + 	while read sum file ; do \
    2.72 + 		if [ "$$sum" = "$$prevsum" ] && cmp -s "$$file" "$$prevfile"; then \
    2.73 + 			rm -f "$$file"; \
    2.74 +--- hsfmodem-7.80.02.05full/scripts/cnxtconfig.in	Thu Oct 22 00:35:59 2009
    2.75 ++++ hsfmodem-7.80.02.05full+patch2/scripts/cnxtconfig.in	Sun Apr 11 19:29:08 2010
    2.76 +@@ -74,7 +74,7 @@
    2.77 + 				answer="${region}"
    2.78 + 				;;
    2.79 + 			*)
    2.80 +-				answer="`echo \"${answer}\" | tr '[a-z ]' '[A-Z_]'`"
    2.81 ++				answer="`echo \"${answer}\" | tr '[a-z]' '[A-Z]' | sed 's/\s/_/g'`"
    2.82 + 				;;
    2.83 + 			esac
    2.84 + 		fi
    2.85 +@@ -109,15 +109,13 @@
    2.86 + {
    2.87 + 	# Try to guess what region we're in, using the timezone settings
    2.88 + 
    2.89 +-	localtime_size="`/bin/ls -lL /etc/localtime 2>/dev/null | ${AWK} '{print $5}'`"
    2.90 +-
    2.91 +-	if ! [ ${localtime_size} -gt 0 ]; then
    2.92 ++	if [ ! -e /etc/TZ ]; then
    2.93 + 		return 1
    2.94 + 	fi
    2.95 + 
    2.96 +-	zoneinfo_dir=/usr/share/zoneinfo
    2.97 ++	zoneinfo_dir=/etc/hsfmodem
    2.98 + 
    2.99 +-	if [ ! -d ${zoneinfo_dir} -o ! -f ${zoneinfo_dir}/zone.tab ]; then
   2.100 ++	if [ ! -f ${zoneinfo_dir}/zone.tab ]; then
   2.101 + 		return 1
   2.102 + 	fi
   2.103 + 
   2.104 +@@ -206,18 +204,11 @@
   2.105 + 	iso_VN=00BC # VIETNAM
   2.106 + 
   2.107 + 	(
   2.108 +-		cd ${zoneinfo_dir} 2>/dev/null || return 1
   2.109 +-		find . -type f -size "${localtime_size}"c -print | sed 's@^\./@@' | \
   2.110 +-			while read file; do
   2.111 +-				cmp -s /etc/localtime $file || continue
   2.112 +-# in the egrep and sed regular expressions below, it is very important to
   2.113 +-# have tabs, not spaces
   2.114 +-				egrep "	$file(	.*|\$)" ${zoneinfo_dir}/zone.tab
   2.115 +-			done | sed -n '/^[^#]/s/	.*//p' | sort | uniq | \
   2.116 +-				while read code; do
   2.117 +-					eval "echo \${iso_${code}}"
   2.118 +-				done | sort | uniq
   2.119 ++		zone=`cat /etc/TZ`
   2.120 ++		code=`grep $zone ${zoneinfo_dir}/zone.tab | awk '{print $1}' | sort | uniq`
   2.121 ++		eval "echo \${iso_${code}}"
   2.122 + 		return 0
   2.123 ++		
   2.124 + 	)
   2.125 + }
   2.126 + 
   2.127 +@@ -271,7 +262,7 @@
   2.128 + # The md5sum is used for input verification.
   2.129 + disptokey()
   2.130 + {
   2.131 +-	k="`echo \"$1\" | tr '[a-z]' '[A-Z]' | sed 's/FREE/00000000/' | tr -d -c '[0-9A-F\012]'`"
   2.132 ++	k="`echo \"$1\" | tr '[a-z]' '[A-Z]' | sed 's/FREE/00000000/' | tr -d -c '[0-9][A-F][\012]'`"
   2.133 + 	case $k in
   2.134 + 	00000000)
   2.135 + 		echo "$k"
   2.136 +@@ -1655,7 +1646,7 @@
   2.137 + 		update-modules
   2.138 + 	else
   2.139 + 		if ("$@" "${modulesconf}" | "${filter}"; cat ${f}) > ${modulesconf}.$$; then
   2.140 +-			if ! cmp --silent ${modulesconf}.$$ ${modulesconf}; then
   2.141 ++			if ! cmp -s ${modulesconf}.$$ ${modulesconf}; then
   2.142 + 				if ! cp ${modulesconf}.$$ ${modulesconf}; then
   2.143 + 					rm -f ${modulesconf}.$$ ${f}
   2.144 + 					exit 1
   2.145 +@@ -1681,7 +1672,7 @@
   2.146 + 	fi
   2.147 + 
   2.148 + 	if ("$@" "${modprobeconf}" | "${filter}"; cat ${f}) > ${modprobeconf}.$$; then
   2.149 +-		if ! cmp --silent ${modprobeconf}.$$ ${modprobeconf}; then
   2.150 ++		if ! cmp -s ${modprobeconf}.$$ ${modprobeconf}; then
   2.151 + 			if ! cp ${modprobeconf}.$$ ${modprobeconf}; then
   2.152 + 				rm -f ${modprobeconf}.$$ ${f}
   2.153 + 				exit 1
   2.154 +@@ -2214,6 +2205,10 @@
   2.155 + 	elif [ -d /var/lib/LST ]; then
   2.156 + 		OSDISTNAME=Caldera
   2.157 + 		OSDISTIDNT=caldera
   2.158 ++	elif [ -f /etc/slitaz-release ]; then
   2.159 ++		OSDISTNAME=SliTaz
   2.160 ++		OSDISTIDNT=slitaz
   2.161 ++		OSDISTVERS="`cat /etc/slitaz-release`"
   2.162 + 	fi
   2.163 + 
   2.164 + 	OSKERNNAME="`uname -s | tr '[A-Z]' '[a-z]'`"
   2.165 +@@ -2268,7 +2263,7 @@
   2.166 + 
   2.167 + dump_file()
   2.168 + {
   2.169 +-	dump_cmd cat -v $@
   2.170 ++	dump_cmd cat $@
   2.171 + }
   2.172 + 
   2.173 + dump_diagnostics()
   2.174 +@@ -2587,7 +2582,7 @@
   2.175 + 	fi
   2.176 + 	units="${specificunit}"
   2.177 + 	if [ -z "${units}" ]; then
   2.178 +-		units=`ls --ignore=flush_nvm ${procdrvdir}`
   2.179 ++		units=`ls ${procdrvdir} | grep -v flush_nvm`
   2.180 + 
   2.181 + 		if [ -z "${units}" ]; then
   2.182 + 			echo ""
   2.183 +@@ -2884,7 +2879,7 @@
   2.184 + 			explicitopt=true
   2.185 + 			do_cfgregion=true
   2.186 + 			if [ -n "$2" ]; then
   2.187 +-				setregion="`echo \"$2\" | tr '[a-z ]' '[A-Z_]'`"
   2.188 ++				setregion="`echo \"$2\" | tr '[a-z]' '[A-Z]' | sed 's/\s/_/g'`"
   2.189 + 			fi
   2.190 + 			shift 2
   2.191 + 			;;
   2.192 +@@ -2954,7 +2949,7 @@
   2.193 + 
   2.194 + # Accept --region <name> as equivalent to --region=<name>
   2.195 + if ${do_cfgregion} && [ $# -ge 1 -a -z "${setregion}" ]; then
   2.196 +-	setregion="`echo \"$1\" | tr '[a-z ]' '[A-Z_]'`"
   2.197 ++	setregion="`echo \"$1\" | tr '[a-z]' '[A-Z]' | sed 's/\s/_/g'`"
   2.198 + 	shift
   2.199 + fi
   2.200 + 
   2.201 +@@ -3033,7 +3028,7 @@
   2.202 + 
   2.203 + if ${do_cfgnewinstance}; then
   2.204 + 	if [ ! -d "${cnxtnvmdir}/dynamic/${newinstance}" ]; then
   2.205 +-		mkdir --mode=700 --parents "${cnxtnvmdir}/dynamic/${newinstance}" || exit $?
   2.206 ++		mkdir -m 700 -p "${cnxtnvmdir}/dynamic/${newinstance}" || exit $?
   2.207 + 		# The purpose of --info here is to ensure module reload:
   2.208 + 		(sleep 2; exec @CNXTTARGET@config --auto --region=AUTO --info) </dev/null >/dev/null 2>&1 &
   2.209 + 	fi
   2.210 +
     3.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     3.2 +++ b/linmodem-hsfmodem/stuff/zone.tab	Tue Apr 20 20:04:38 2010 +0200
     3.3 @@ -0,0 +1,407 @@
     3.4 +# @(#)zone.tab	1.32
     3.5 +#
     3.6 +# TZ zone descriptions
     3.7 +#
     3.8 +# From Paul Eggert (1996-08-05):
     3.9 +#
    3.10 +# This file contains a table with the following columns:
    3.11 +# 1.  ISO 3166 2-character country code.  See the file `iso3166.tab'.
    3.12 +# 2.  Latitude and longitude of the zone's principal location
    3.13 +#     in ISO 6709 sign-degrees-minutes-seconds format,
    3.14 +#     either +-DDMM+-DDDMM or +-DDMMSS+-DDDMMSS,
    3.15 +#     first latitude (+ is north), then longitude (+ is east).
    3.16 +# 3.  Zone name used in value of TZ environment variable.
    3.17 +# 4.  Comments; present if and only if the country has multiple rows.
    3.18 +#
    3.19 +# Columns are separated by a single tab.
    3.20 +# The table is sorted first by country, then an order within the country that
    3.21 +# (1) makes some geographical sense, and
    3.22 +# (2) puts the most populous zones first, where that does not contradict (1).
    3.23 +#
    3.24 +# Lines beginning with `#' are comments.
    3.25 +#
    3.26 +#country-
    3.27 +#code	coordinates	TZ			comments
    3.28 +AD	+4230+00131	Europe/Andorra
    3.29 +AE	+2518+05518	Asia/Dubai
    3.30 +AF	+3431+06912	Asia/Kabul
    3.31 +AG	+1703-06148	America/Antigua
    3.32 +AI	+1812-06304	America/Anguilla
    3.33 +AL	+4120+01950	Europe/Tirane
    3.34 +AM	+4011+04430	Asia/Yerevan
    3.35 +AN	+1211-06900	America/Curacao
    3.36 +AO	-0848+01314	Africa/Luanda
    3.37 +AQ	-7750+16636	Antarctica/McMurdo	McMurdo Station, Ross Island
    3.38 +AQ	-9000+00000	Antarctica/South_Pole	Amundsen-Scott Station, South Pole
    3.39 +AQ	-6734-06808	Antarctica/Rothera	Rothera Station, Adelaide Island
    3.40 +AQ	-6448-06406	Antarctica/Palmer	Palmer Station, Anvers Island
    3.41 +AQ	-6736+06253	Antarctica/Mawson	Mawson Station, Holme Bay
    3.42 +AQ	-6835+07758	Antarctica/Davis	Davis Station, Vestfold Hills
    3.43 +AQ	-6617+11031	Antarctica/Casey	Casey Station, Bailey Peninsula
    3.44 +AQ	-7824+10654	Antarctica/Vostok	Vostok Station, S Magnetic Pole
    3.45 +AQ	-6640+14001	Antarctica/DumontDUrville	Dumont-d'Urville Base, Terre Adelie
    3.46 +AQ	-690022+0393524	Antarctica/Syowa	Syowa Station, E Ongul I
    3.47 +AR	-3436-05827	America/Argentina/Buenos_Aires	Buenos Aires (BA, CF)
    3.48 +AR	-3124-06411	America/Argentina/Cordoba	most locations (CB, CC, CN, ER, FM, LP, MN, NQ, RN, SA, SE, SF, SL)
    3.49 +AR	-2411-06518	America/Argentina/Jujuy	Jujuy (JY)
    3.50 +AR	-3124-06411	America/Argentina/Tucuman	Tucuman (TM)
    3.51 +AR	-2828-06547	America/Argentina/Catamarca	Catamarca (CT), Chubut (CH)
    3.52 +AR	-2926-06651	America/Argentina/La_Rioja	La Rioja (LR)
    3.53 +AR	-3132-06831	America/Argentina/San_Juan	San Juan (SJ)
    3.54 +AR	-3253-06849	America/Argentina/Mendoza	Mendoza (MZ)
    3.55 +AR	-5138-06913	America/Argentina/Rio_Gallegos	Santa Cruz (SC)
    3.56 +AR	-5448-06818	America/Argentina/Ushuaia	Tierra del Fuego (TF)
    3.57 +AS	-1416-17042	Pacific/Pago_Pago
    3.58 +AT	+4813+01620	Europe/Vienna
    3.59 +AU	-3133+15905	Australia/Lord_Howe	Lord Howe Island
    3.60 +AU	-4253+14719	Australia/Hobart	Tasmania - most locations
    3.61 +AU	-3956+14352	Australia/Currie	Tasmania - King Island
    3.62 +AU	-3749+14458	Australia/Melbourne	Victoria
    3.63 +AU	-3352+15113	Australia/Sydney	New South Wales - most locations
    3.64 +AU	-3157+14127	Australia/Broken_Hill	New South Wales - Yancowinna
    3.65 +AU	-2728+15302	Australia/Brisbane	Queensland - most locations
    3.66 +AU	-2016+14900	Australia/Lindeman	Queensland - Holiday Islands
    3.67 +AU	-3455+13835	Australia/Adelaide	South Australia
    3.68 +AU	-1228+13050	Australia/Darwin	Northern Territory
    3.69 +AU	-3157+11551	Australia/Perth	Western Australia
    3.70 +AW	+1230-06858	America/Aruba
    3.71 +AX	+6006+01957	Europe/Mariehamn
    3.72 +AZ	+4023+04951	Asia/Baku
    3.73 +BA	+4352+01825	Europe/Sarajevo
    3.74 +BB	+1306-05937	America/Barbados
    3.75 +BD	+2343+09025	Asia/Dhaka
    3.76 +BE	+5050+00420	Europe/Brussels
    3.77 +BF	+1222-00131	Africa/Ouagadougou
    3.78 +BG	+4241+02319	Europe/Sofia
    3.79 +BH	+2623+05035	Asia/Bahrain
    3.80 +BI	-0323+02922	Africa/Bujumbura
    3.81 +BJ	+0629+00237	Africa/Porto-Novo
    3.82 +BM	+3217-06446	Atlantic/Bermuda
    3.83 +BN	+0456+11455	Asia/Brunei
    3.84 +BO	-1630-06809	America/La_Paz
    3.85 +BR	-0351-03225	America/Noronha	Atlantic islands
    3.86 +BR	-0127-04829	America/Belem	Amapa, E Para
    3.87 +BR	-0343-03830	America/Fortaleza	NE Brazil (MA, PI, CE, RN, PB)
    3.88 +BR	-0803-03454	America/Recife	Pernambuco
    3.89 +BR	-0712-04812	America/Araguaina	Tocantins
    3.90 +BR	-0940-03543	America/Maceio	Alagoas, Sergipe
    3.91 +BR	-1259-03831	America/Bahia	Bahia
    3.92 +BR	-2332-04637	America/Sao_Paulo	S & SE Brazil (GO, DF, MG, ES, RJ, SP, PR, SC, RS)
    3.93 +BR	-2027-05437	America/Campo_Grande	Mato Grosso do Sul
    3.94 +BR	-1535-05605	America/Cuiaba	Mato Grosso
    3.95 +BR	-0846-06354	America/Porto_Velho	W Para, Rondonia
    3.96 +BR	+0249-06040	America/Boa_Vista	Roraima
    3.97 +BR	-0308-06001	America/Manaus	E Amazonas
    3.98 +BR	-0640-06952	America/Eirunepe	W Amazonas
    3.99 +BR	-0958-06748	America/Rio_Branco	Acre
   3.100 +BS	+2505-07721	America/Nassau
   3.101 +BT	+2728+08939	Asia/Thimphu
   3.102 +BW	-2545+02555	Africa/Gaborone
   3.103 +BY	+5354+02734	Europe/Minsk
   3.104 +BZ	+1730-08812	America/Belize
   3.105 +CA	+4734-05243	America/St_Johns	Newfoundland Island
   3.106 +CA	+4439-06336	America/Halifax	Atlantic Time - Nova Scotia (most places), NB, W Labrador, E Quebec & PEI
   3.107 +CA	+4612-05957	America/Glace_Bay	Atlantic Time - Nova Scotia - places that did not observe DST 1966-1971
   3.108 +CA	+5320-06025	America/Goose_Bay	Atlantic Time - E Labrador
   3.109 +CA	+4531-07334	America/Montreal	Eastern Time - Quebec - most locations
   3.110 +CA	+4339-07923	America/Toronto	Eastern Time - Ontario - most locations
   3.111 +CA	+4901-08816	America/Nipigon	Eastern Time - Ontario & Quebec - places that did not observe DST 1967-1973
   3.112 +CA	+4823-08915	America/Thunder_Bay	Eastern Time - Thunder Bay, Ontario
   3.113 +CA	+6608-06544	America/Pangnirtung	Eastern Time - Pangnirtung, Nunavut
   3.114 +CA	+6344-06828	America/Iqaluit	Eastern Time - east Nunavut
   3.115 +CA	+6408-08310	America/Coral_Harbour	Eastern Standard Time - Southampton Island
   3.116 +CA	+6245-09210	America/Rankin_Inlet	Central Time - central Nunavut
   3.117 +CA	+4953-09709	America/Winnipeg	Central Time - Manitoba & west Ontario
   3.118 +CA	+4843-09429	America/Rainy_River	Central Time - Rainy River & Fort Frances, Ontario
   3.119 +CA	+6903-10505	America/Cambridge_Bay	Central Time - west Nunavut
   3.120 +CA	+5024-10439	America/Regina	Central Standard Time - Saskatchewan - most locations
   3.121 +CA	+5017-10750	America/Swift_Current	Central Standard Time - Saskatchewan - midwest
   3.122 +CA	+5333-11328	America/Edmonton	Mountain Time - Alberta, east British Columbia & west Saskatchewan
   3.123 +CA	+6227-11421	America/Yellowknife	Mountain Time - central Northwest Territories
   3.124 +CA	+6825-11330	America/Inuvik	Mountain Time - west Northwest Territories
   3.125 +CA	+5946-12014	America/Dawson_Creek	Mountain Standard Time - Dawson Creek & Fort Saint John, British Columbia
   3.126 +CA	+4916-12307	America/Vancouver	Pacific Time - west British Columbia
   3.127 +CA	+6043-13503	America/Whitehorse	Pacific Time - south Yukon
   3.128 +CA	+6404-13925	America/Dawson	Pacific Time - north Yukon
   3.129 +CC	-1210+09655	Indian/Cocos
   3.130 +CD	-0418+01518	Africa/Kinshasa	west Dem. Rep. of Congo
   3.131 +CD	-1140+02728	Africa/Lubumbashi	east Dem. Rep. of Congo
   3.132 +CF	+0422+01835	Africa/Bangui
   3.133 +CG	-0416+01517	Africa/Brazzaville
   3.134 +CH	+4723+00832	Europe/Zurich
   3.135 +CI	+0519-00402	Africa/Abidjan
   3.136 +CK	-2114-15946	Pacific/Rarotonga
   3.137 +CL	-3327-07040	America/Santiago	most locations
   3.138 +CL	-2710-10927	Pacific/Easter	Easter Island & Sala y Gomez
   3.139 +CM	+0403+00942	Africa/Douala
   3.140 +CN	+3114+12128	Asia/Shanghai	east China - Beijing, Guangdong, Shanghai, etc.
   3.141 +CN	+4545+12641	Asia/Harbin	Heilongjiang
   3.142 +CN	+2934+10635	Asia/Chongqing	central China - Gansu, Guizhou, Sichuan, Yunnan, etc.
   3.143 +CN	+4348+08735	Asia/Urumqi	Tibet & most of Xinjiang Uyghur
   3.144 +CN	+3929+07559	Asia/Kashgar	southwest Xinjiang Uyghur
   3.145 +CO	+0436-07405	America/Bogota
   3.146 +CR	+0956-08405	America/Costa_Rica
   3.147 +CS	+4450+02030	Europe/Belgrade
   3.148 +CU	+2308-08222	America/Havana
   3.149 +CV	+1455-02331	Atlantic/Cape_Verde
   3.150 +CX	-1025+10543	Indian/Christmas
   3.151 +CY	+3510+03322	Asia/Nicosia
   3.152 +CZ	+5005+01426	Europe/Prague
   3.153 +DE	+5230+01322	Europe/Berlin
   3.154 +DJ	+1136+04309	Africa/Djibouti
   3.155 +DK	+5540+01235	Europe/Copenhagen
   3.156 +DM	+1518-06124	America/Dominica
   3.157 +DO	+1828-06954	America/Santo_Domingo
   3.158 +DZ	+3647+00303	Africa/Algiers
   3.159 +EC	-0210-07950	America/Guayaquil	mainland
   3.160 +EC	-0054-08936	Pacific/Galapagos	Galapagos Islands
   3.161 +EE	+5925+02445	Europe/Tallinn
   3.162 +EG	+3003+03115	Africa/Cairo
   3.163 +EH	+2709-01312	Africa/El_Aaiun
   3.164 +ER	+1520+03853	Africa/Asmera
   3.165 +ES	+4024-00341	Europe/Madrid	mainland
   3.166 +ES	+3553-00519	Africa/Ceuta	Ceuta & Melilla
   3.167 +ES	+2806-01524	Atlantic/Canary	Canary Islands
   3.168 +ET	+0902+03842	Africa/Addis_Ababa
   3.169 +FI	+6010+02458	Europe/Helsinki
   3.170 +FJ	-1808+17825	Pacific/Fiji
   3.171 +FK	-5142-05751	Atlantic/Stanley
   3.172 +FM	+0725+15147	Pacific/Truk	Truk (Chuuk) and Yap
   3.173 +FM	+0658+15813	Pacific/Ponape	Ponape (Pohnpei)
   3.174 +FM	+0519+16259	Pacific/Kosrae	Kosrae
   3.175 +FO	+6201-00646	Atlantic/Faeroe
   3.176 +FR	+4852+00220	Europe/Paris
   3.177 +GA	+0023+00927	Africa/Libreville
   3.178 +GB	+512830-0001845	Europe/London
   3.179 +GD	+1203-06145	America/Grenada
   3.180 +GE	+4143+04449	Asia/Tbilisi
   3.181 +GF	+0456-05220	America/Cayenne
   3.182 +GH	+0533-00013	Africa/Accra
   3.183 +GI	+3608-00521	Europe/Gibraltar
   3.184 +GL	+6411-05144	America/Godthab	most locations
   3.185 +GL	+7646-01840	America/Danmarkshavn	east coast, north of Scoresbysund
   3.186 +GL	+7030-02215	America/Scoresbysund	Scoresbysund / Ittoqqortoormiit
   3.187 +GL	+7634-06847	America/Thule	Thule / Pituffik
   3.188 +GM	+1328-01639	Africa/Banjul
   3.189 +GN	+0931-01343	Africa/Conakry
   3.190 +GP	+1614-06132	America/Guadeloupe
   3.191 +GQ	+0345+00847	Africa/Malabo
   3.192 +GR	+3758+02343	Europe/Athens
   3.193 +GS	-5416-03632	Atlantic/South_Georgia
   3.194 +GT	+1438-09031	America/Guatemala
   3.195 +GU	+1328+14445	Pacific/Guam
   3.196 +GW	+1151-01535	Africa/Bissau
   3.197 +GY	+0648-05810	America/Guyana
   3.198 +HK	+2217+11409	Asia/Hong_Kong
   3.199 +HN	+1406-08713	America/Tegucigalpa
   3.200 +HR	+4548+01558	Europe/Zagreb
   3.201 +HT	+1832-07220	America/Port-au-Prince
   3.202 +HU	+4730+01905	Europe/Budapest
   3.203 +ID	-0610+10648	Asia/Jakarta	Java & Sumatra
   3.204 +ID	-0002+10920	Asia/Pontianak	west & central Borneo
   3.205 +ID	-0507+11924	Asia/Makassar	east & south Borneo, Celebes, Bali, Nusa Tengarra, west Timor
   3.206 +ID	-0232+14042	Asia/Jayapura	Irian Jaya & the Moluccas
   3.207 +IE	+5320-00615	Europe/Dublin
   3.208 +IL	+3146+03514	Asia/Jerusalem
   3.209 +IN	+2232+08822	Asia/Calcutta
   3.210 +IO	-0720+07225	Indian/Chagos
   3.211 +IQ	+3321+04425	Asia/Baghdad
   3.212 +IR	+3540+05126	Asia/Tehran
   3.213 +IS	+6409-02151	Atlantic/Reykjavik
   3.214 +IT	+4154+01229	Europe/Rome
   3.215 +JM	+1800-07648	America/Jamaica
   3.216 +JO	+3157+03556	Asia/Amman
   3.217 +JP	+353916+1394441	Asia/Tokyo
   3.218 +KE	-0117+03649	Africa/Nairobi
   3.219 +KG	+4254+07436	Asia/Bishkek
   3.220 +KH	+1133+10455	Asia/Phnom_Penh
   3.221 +KI	+0125+17300	Pacific/Tarawa	Gilbert Islands
   3.222 +KI	-0308-17105	Pacific/Enderbury	Phoenix Islands
   3.223 +KI	+0152-15720	Pacific/Kiritimati	Line Islands
   3.224 +KM	-1141+04316	Indian/Comoro
   3.225 +KN	+1718-06243	America/St_Kitts
   3.226 +KP	+3901+12545	Asia/Pyongyang
   3.227 +KR	+3733+12658	Asia/Seoul
   3.228 +KW	+2920+04759	Asia/Kuwait
   3.229 +KY	+1918-08123	America/Cayman
   3.230 +KZ	+4315+07657	Asia/Almaty	most locations
   3.231 +KZ	+4448+06528	Asia/Qyzylorda	Qyzylorda (Kyzylorda, Kzyl-Orda)
   3.232 +KZ	+5017+05710	Asia/Aqtobe	Aqtobe (Aktobe)
   3.233 +KZ	+4431+05016	Asia/Aqtau	Atyrau (Atirau, Gur'yev), Mangghystau (Mankistau)
   3.234 +KZ	+5113+05121	Asia/Oral	West Kazakhstan
   3.235 +LA	+1758+10236	Asia/Vientiane
   3.236 +LB	+3353+03530	Asia/Beirut
   3.237 +LC	+1401-06100	America/St_Lucia
   3.238 +LI	+4709+00931	Europe/Vaduz
   3.239 +LK	+0656+07951	Asia/Colombo
   3.240 +LR	+0618-01047	Africa/Monrovia
   3.241 +LS	-2928+02730	Africa/Maseru
   3.242 +LT	+5441+02519	Europe/Vilnius
   3.243 +LU	+4936+00609	Europe/Luxembourg
   3.244 +LV	+5657+02406	Europe/Riga
   3.245 +LY	+3254+01311	Africa/Tripoli
   3.246 +MA	+3339-00735	Africa/Casablanca
   3.247 +MC	+4342+00723	Europe/Monaco
   3.248 +MD	+4700+02850	Europe/Chisinau
   3.249 +MG	-1855+04731	Indian/Antananarivo
   3.250 +MH	+0709+17112	Pacific/Majuro	most locations
   3.251 +MH	+0905+16720	Pacific/Kwajalein	Kwajalein
   3.252 +MK	+4159+02126	Europe/Skopje
   3.253 +ML	+1239-00800	Africa/Bamako
   3.254 +MM	+1647+09610	Asia/Rangoon
   3.255 +MN	+4755+10653	Asia/Ulaanbaatar	most locations
   3.256 +MN	+4801+09139	Asia/Hovd	Bayan-Olgiy, Govi-Altai, Hovd, Uvs, Zavkhan
   3.257 +MN	+4804+11430	Asia/Choibalsan	Dornod, Sukhbaatar
   3.258 +MO	+2214+11335	Asia/Macau
   3.259 +MP	+1512+14545	Pacific/Saipan
   3.260 +MQ	+1436-06105	America/Martinique
   3.261 +MR	+1806-01557	Africa/Nouakchott
   3.262 +MS	+1644-06213	America/Montserrat
   3.263 +MT	+3554+01431	Europe/Malta
   3.264 +MU	-2010+05730	Indian/Mauritius
   3.265 +MV	+0410+07330	Indian/Maldives
   3.266 +MW	-1547+03500	Africa/Blantyre
   3.267 +MX	+1924-09909	America/Mexico_City	Central Time - most locations
   3.268 +MX	+2105-08646	America/Cancun	Central Time - Quintana Roo
   3.269 +MX	+2058-08937	America/Merida	Central Time - Campeche, Yucatan
   3.270 +MX	+2540-10019	America/Monterrey	Central Time - Coahuila, Durango, Nuevo Leon, Tamaulipas
   3.271 +MX	+2313-10625	America/Mazatlan	Mountain Time - S Baja, Nayarit, Sinaloa
   3.272 +MX	+2838-10605	America/Chihuahua	Mountain Time - Chihuahua
   3.273 +MX	+2904-11058	America/Hermosillo	Mountain Standard Time - Sonora
   3.274 +MX	+3232-11701	America/Tijuana	Pacific Time
   3.275 +MY	+0310+10142	Asia/Kuala_Lumpur	peninsular Malaysia
   3.276 +MY	+0133+11020	Asia/Kuching	Sabah & Sarawak
   3.277 +MZ	-2558+03235	Africa/Maputo
   3.278 +NA	-2234+01706	Africa/Windhoek
   3.279 +NC	-2216+16530	Pacific/Noumea
   3.280 +NE	+1331+00207	Africa/Niamey
   3.281 +NF	-2903+16758	Pacific/Norfolk
   3.282 +NG	+0627+00324	Africa/Lagos
   3.283 +NI	+1209-08617	America/Managua
   3.284 +NL	+5222+00454	Europe/Amsterdam
   3.285 +NO	+5955+01045	Europe/Oslo
   3.286 +NP	+2743+08519	Asia/Katmandu
   3.287 +NR	-0031+16655	Pacific/Nauru
   3.288 +NU	-1901+16955	Pacific/Niue
   3.289 +NZ	-3652+17446	Pacific/Auckland	most locations
   3.290 +NZ	-4357-17633	Pacific/Chatham	Chatham Islands
   3.291 +OM	+2336+05835	Asia/Muscat
   3.292 +PA	+0858-07932	America/Panama
   3.293 +PE	-1203-07703	America/Lima
   3.294 +PF	-1732-14934	Pacific/Tahiti	Society Islands
   3.295 +PF	-0900-13930	Pacific/Marquesas	Marquesas Islands
   3.296 +PF	-2308-13457	Pacific/Gambier	Gambier Islands
   3.297 +PG	-0930+14710	Pacific/Port_Moresby
   3.298 +PH	+1435+12100	Asia/Manila
   3.299 +PK	+2452+06703	Asia/Karachi
   3.300 +PL	+5215+02100	Europe/Warsaw
   3.301 +PM	+4703-05620	America/Miquelon
   3.302 +PN	-2504-13005	Pacific/Pitcairn
   3.303 +PR	+182806-0660622	America/Puerto_Rico
   3.304 +PS	+3130+03428	Asia/Gaza
   3.305 +PT	+3843-00908	Europe/Lisbon	mainland
   3.306 +PT	+3238-01654	Atlantic/Madeira	Madeira Islands
   3.307 +PT	+3744-02540	Atlantic/Azores	Azores
   3.308 +PW	+0720+13429	Pacific/Palau
   3.309 +PY	-2516-05740	America/Asuncion
   3.310 +QA	+2517+05132	Asia/Qatar
   3.311 +RE	-2052+05528	Indian/Reunion
   3.312 +RO	+4426+02606	Europe/Bucharest
   3.313 +RU	+5443+02030	Europe/Kaliningrad	Moscow-01 - Kaliningrad
   3.314 +RU	+5545+03735	Europe/Moscow	Moscow+00 - west Russia
   3.315 +RU	+5312+05009	Europe/Samara	Moscow+01 - Caspian Sea
   3.316 +RU	+5651+06036	Asia/Yekaterinburg	Moscow+02 - Urals
   3.317 +RU	+5500+07324	Asia/Omsk	Moscow+03 - west Siberia
   3.318 +RU	+5502+08255	Asia/Novosibirsk	Moscow+03 - Novosibirsk
   3.319 +RU	+5601+09250	Asia/Krasnoyarsk	Moscow+04 - Yenisei River
   3.320 +RU	+5216+10420	Asia/Irkutsk	Moscow+05 - Lake Baikal
   3.321 +RU	+6200+12940	Asia/Yakutsk	Moscow+06 - Lena River
   3.322 +RU	+4310+13156	Asia/Vladivostok	Moscow+07 - Amur River
   3.323 +RU	+4658+14242	Asia/Sakhalin	Moscow+07 - Sakhalin Island
   3.324 +RU	+5934+15048	Asia/Magadan	Moscow+08 - Magadan
   3.325 +RU	+5301+15839	Asia/Kamchatka	Moscow+09 - Kamchatka
   3.326 +RU	+6445+17729	Asia/Anadyr	Moscow+10 - Bering Sea
   3.327 +RW	-0157+03004	Africa/Kigali
   3.328 +SA	+2438+04643	Asia/Riyadh
   3.329 +SB	-0932+16012	Pacific/Guadalcanal
   3.330 +SC	-0440+05528	Indian/Mahe
   3.331 +SD	+1536+03232	Africa/Khartoum
   3.332 +SE	+5920+01803	Europe/Stockholm
   3.333 +SG	+0117+10351	Asia/Singapore
   3.334 +SH	-1555-00542	Atlantic/St_Helena
   3.335 +SI	+4603+01431	Europe/Ljubljana
   3.336 +SJ	+7800+01600	Arctic/Longyearbyen	Svalbard
   3.337 +SJ	+7059-00805	Atlantic/Jan_Mayen	Jan Mayen
   3.338 +SK	+4809+01707	Europe/Bratislava
   3.339 +SL	+0830-01315	Africa/Freetown
   3.340 +SM	+4355+01228	Europe/San_Marino
   3.341 +SN	+1440-01726	Africa/Dakar
   3.342 +SO	+0204+04522	Africa/Mogadishu
   3.343 +SR	+0550-05510	America/Paramaribo
   3.344 +ST	+0020+00644	Africa/Sao_Tome
   3.345 +SV	+1342-08912	America/El_Salvador
   3.346 +SY	+3330+03618	Asia/Damascus
   3.347 +SZ	-2618+03106	Africa/Mbabane
   3.348 +TC	+2128-07108	America/Grand_Turk
   3.349 +TD	+1207+01503	Africa/Ndjamena
   3.350 +TF	-492110+0701303	Indian/Kerguelen
   3.351 +TG	+0608+00113	Africa/Lome
   3.352 +TH	+1345+10031	Asia/Bangkok
   3.353 +TJ	+3835+06848	Asia/Dushanbe
   3.354 +TK	-0922-17114	Pacific/Fakaofo
   3.355 +TL	-0833+12535	Asia/Dili
   3.356 +TM	+3757+05823	Asia/Ashgabat
   3.357 +TN	+3648+01011	Africa/Tunis
   3.358 +TO	-2110+17510	Pacific/Tongatapu
   3.359 +TR	+4101+02858	Europe/Istanbul
   3.360 +TT	+1039-06131	America/Port_of_Spain
   3.361 +TV	-0831+17913	Pacific/Funafuti
   3.362 +TW	+2503+12130	Asia/Taipei
   3.363 +TZ	-0648+03917	Africa/Dar_es_Salaam
   3.364 +UA	+5026+03031	Europe/Kiev	most locations
   3.365 +UA	+4837+02218	Europe/Uzhgorod	Ruthenia
   3.366 +UA	+4750+03510	Europe/Zaporozhye	Zaporozh'ye, E Lugansk
   3.367 +UA	+4457+03406	Europe/Simferopol	central Crimea
   3.368 +UG	+0019+03225	Africa/Kampala
   3.369 +UM	+1700-16830	Pacific/Johnston	Johnston Atoll
   3.370 +UM	+2813-17722	Pacific/Midway	Midway Islands
   3.371 +UM	+1917+16637	Pacific/Wake	Wake Island
   3.372 +US	+404251-0740023	America/New_York	Eastern Time
   3.373 +US	+421953-0830245	America/Detroit	Eastern Time - Michigan - most locations
   3.374 +US	+381515-0854534	America/Kentucky/Louisville	Eastern Time - Kentucky - Louisville area
   3.375 +US	+364947-0845057	America/Kentucky/Monticello	Eastern Time - Kentucky - Wayne County
   3.376 +US	+394606-0860929	America/Indiana/Indianapolis	Eastern Standard Time - Indiana - most locations
   3.377 +US	+382232-0862041	America/Indiana/Marengo	Eastern Standard Time - Indiana - Crawford County
   3.378 +US	+411745-0863730	America/Indiana/Knox	Eastern Standard Time - Indiana - Starke County
   3.379 +US	+384452-0850402	America/Indiana/Vevay	Eastern Standard Time - Indiana - Switzerland County
   3.380 +US	+415100-0873900	America/Chicago	Central Time
   3.381 +US	+450628-0873651	America/Menominee	Central Time - Michigan - Wisconsin border
   3.382 +US	+470659-1011757	America/North_Dakota/Center	Central Time - North Dakota - Oliver County
   3.383 +US	+394421-1045903	America/Denver	Mountain Time
   3.384 +US	+433649-1161209	America/Boise	Mountain Time - south Idaho & east Oregon
   3.385 +US	+364708-1084111	America/Shiprock	Mountain Time - Navajo
   3.386 +US	+332654-1120424	America/Phoenix	Mountain Standard Time - Arizona
   3.387 +US	+340308-1181434	America/Los_Angeles	Pacific Time
   3.388 +US	+611305-1495401	America/Anchorage	Alaska Time
   3.389 +US	+581807-1342511	America/Juneau	Alaska Time - Alaska panhandle
   3.390 +US	+593249-1394338	America/Yakutat	Alaska Time - Alaska panhandle neck
   3.391 +US	+643004-1652423	America/Nome	Alaska Time - west Alaska
   3.392 +US	+515248-1763929	America/Adak	Aleutian Islands
   3.393 +US	+211825-1575130	Pacific/Honolulu	Hawaii
   3.394 +UY	-3453-05611	America/Montevideo
   3.395 +UZ	+3940+06648	Asia/Samarkand	west Uzbekistan
   3.396 +UZ	+4120+06918	Asia/Tashkent	east Uzbekistan
   3.397 +VA	+4154+01227	Europe/Vatican
   3.398 +VC	+1309-06114	America/St_Vincent
   3.399 +VE	+1030-06656	America/Caracas
   3.400 +VG	+1827-06437	America/Tortola
   3.401 +VI	+1821-06456	America/St_Thomas
   3.402 +VN	+1045+10640	Asia/Saigon
   3.403 +VU	-1740+16825	Pacific/Efate
   3.404 +WF	-1318-17610	Pacific/Wallis
   3.405 +WS	-1350-17144	Pacific/Apia
   3.406 +YE	+1245+04512	Asia/Aden
   3.407 +YT	-1247+04514	Indian/Mayotte
   3.408 +ZA	-2615+02800	Africa/Johannesburg
   3.409 +ZM	-1525+02817	Africa/Lusaka
   3.410 +ZW	-1750+03103	Africa/Harare