summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.fossil-settings/crlf-glob14
-rw-r--r--.fossil-settings/crnl-glob1
-rw-r--r--.fossil-settings/encoding-glob1
-rw-r--r--compat/zlib/doc/algorithm.txt209
-rw-r--r--compat/zlib/doc/rfc1950.txt619
-rw-r--r--compat/zlib/doc/rfc1951.txt955
-rw-r--r--compat/zlib/doc/rfc1952.txt675
-rw-r--r--compat/zlib/doc/txtvsbin.txt107
-rw-r--r--doc/IntObj.32
-rw-r--r--doc/LinkVar.32
-rw-r--r--generic/tcl.h5
-rw-r--r--generic/tclAssembly.c20
-rw-r--r--generic/tclBasic.c43
-rw-r--r--generic/tclBinary.c10
-rw-r--r--generic/tclClock.c22
-rw-r--r--generic/tclCmdAH.c406
-rw-r--r--generic/tclCompCmds.c99
-rw-r--r--generic/tclCompile.c5
-rw-r--r--generic/tclCompile.h28
-rw-r--r--generic/tclDisassemble.c34
-rw-r--r--generic/tclExecute.c41
-rw-r--r--generic/tclIO.c2
-rw-r--r--generic/tclInt.h75
-rw-r--r--generic/tclOOCall.c1
-rw-r--r--generic/tclParse.c5
-rw-r--r--generic/tclPathObj.c19
-rw-r--r--generic/tclProc.c35
-rw-r--r--generic/tclStrToD.c4
-rw-r--r--generic/tclStringObj.c17
-rw-r--r--generic/tclThreadTest.c2
-rw-r--r--generic/tclTomMath.h12
-rw-r--r--generic/tclZlib.c38
-rw-r--r--[-rwxr-xr-x]library/clock.tcl0
-rw-r--r--library/http/http.tcl19
-rw-r--r--library/http/pkgIndex.tcl2
-rw-r--r--library/init.tcl11
-rw-r--r--library/tzdata/Africa/Accra94
-rw-r--r--library/tzdata/Africa/Bissau2
-rw-r--r--library/tzdata/Africa/Ceuta12
-rw-r--r--library/tzdata/Africa/El_Aaiun2
-rw-r--r--library/tzdata/Africa/Monrovia4
-rw-r--r--library/tzdata/Africa/Nairobi4
-rw-r--r--library/tzdata/Africa/Windhoek2
-rw-r--r--library/tzdata/America/Anchorage11
-rw-r--r--library/tzdata/America/Araguaina110
-rw-r--r--library/tzdata/America/Argentina/Buenos_Aires122
-rw-r--r--library/tzdata/America/Argentina/Catamarca124
-rw-r--r--library/tzdata/America/Argentina/Cordoba122
-rw-r--r--library/tzdata/America/Argentina/Jujuy122
-rw-r--r--library/tzdata/America/Argentina/La_Rioja126
-rw-r--r--library/tzdata/America/Argentina/Mendoza124
-rw-r--r--library/tzdata/America/Argentina/Rio_Gallegos124
-rw-r--r--library/tzdata/America/Argentina/Salta120
-rw-r--r--library/tzdata/America/Argentina/San_Juan126
-rw-r--r--library/tzdata/America/Argentina/San_Luis124
-rw-r--r--library/tzdata/America/Argentina/Tucuman126
-rw-r--r--library/tzdata/America/Argentina/Ushuaia124
-rw-r--r--library/tzdata/America/Asuncion506
-rw-r--r--library/tzdata/America/Bahia126
-rw-r--r--library/tzdata/America/Belem60
-rw-r--r--library/tzdata/America/Belize50
-rw-r--r--library/tzdata/America/Boa_Vista70
-rw-r--r--library/tzdata/America/Bogota6
-rw-r--r--library/tzdata/America/Campo_Grande504
-rw-r--r--library/tzdata/America/Caracas8
-rw-r--r--library/tzdata/America/Cayenne4
-rw-r--r--library/tzdata/America/Cuiaba504
-rw-r--r--library/tzdata/America/Curacao2
-rw-r--r--library/tzdata/America/Danmarkshavn66
-rw-r--r--library/tzdata/America/Eirunepe72
-rw-r--r--library/tzdata/America/Fortaleza86
-rw-r--r--library/tzdata/America/Godthab482
-rw-r--r--library/tzdata/America/Guayaquil4
-rw-r--r--library/tzdata/America/Guyana7
-rw-r--r--library/tzdata/America/La_Paz2
-rw-r--r--library/tzdata/America/Lima20
-rw-r--r--library/tzdata/America/Maceio94
-rw-r--r--library/tzdata/America/Manaus68
-rw-r--r--library/tzdata/America/Miquelon456
-rw-r--r--library/tzdata/America/Montevideo176
-rw-r--r--library/tzdata/America/Noronha86
-rw-r--r--library/tzdata/America/Paramaribo5
-rw-r--r--library/tzdata/America/Port-au-Prince166
-rw-r--r--library/tzdata/America/Porto_Velho60
-rw-r--r--library/tzdata/America/Punta_Arenas122
-rw-r--r--library/tzdata/America/Recife86
-rw-r--r--library/tzdata/America/Rio_Branco64
-rw-r--r--library/tzdata/America/Santarem62
-rw-r--r--library/tzdata/America/Santiago562
-rw-r--r--library/tzdata/America/Santo_Domingo10
-rw-r--r--library/tzdata/America/Sao_Paulo506
-rw-r--r--library/tzdata/America/Scoresbysund482
-rw-r--r--library/tzdata/Antarctica/Macquarie2
-rw-r--r--library/tzdata/Antarctica/Palmer329
-rw-r--r--library/tzdata/Asia/Atyrau4
-rw-r--r--library/tzdata/Asia/Baghdad106
-rw-r--r--library/tzdata/Asia/Bangkok2
-rw-r--r--library/tzdata/Asia/Brunei4
-rw-r--r--library/tzdata/Asia/Choibalsan268
-rw-r--r--library/tzdata/Asia/Dhaka15
-rw-r--r--library/tzdata/Asia/Dili9
-rw-r--r--library/tzdata/Asia/Dubai2
-rw-r--r--library/tzdata/Asia/Ho_Chi_Minh16
-rw-r--r--library/tzdata/Asia/Hovd266
-rw-r--r--library/tzdata/Asia/Jakarta12
-rw-r--r--library/tzdata/Asia/Jayapura4
-rw-r--r--library/tzdata/Asia/Kabul4
-rw-r--r--library/tzdata/Asia/Karachi8
-rw-r--r--library/tzdata/Asia/Kathmandu4
-rw-r--r--library/tzdata/Asia/Kolkata4
-rw-r--r--library/tzdata/Asia/Kuala_Lumpur14
-rw-r--r--library/tzdata/Asia/Kuching37
-rw-r--r--library/tzdata/Asia/Macau82
-rw-r--r--library/tzdata/Asia/Makassar4
-rw-r--r--library/tzdata/Asia/Manila18
-rw-r--r--library/tzdata/Asia/Oral4
-rw-r--r--library/tzdata/Asia/Pontianak10
-rw-r--r--library/tzdata/Asia/Pyongyang3
-rw-r--r--library/tzdata/Asia/Qatar4
-rw-r--r--library/tzdata/Asia/Riyadh2
-rw-r--r--library/tzdata/Asia/Seoul3
-rw-r--r--library/tzdata/Asia/Singapore15
-rw-r--r--library/tzdata/Asia/Taipei2
-rw-r--r--library/tzdata/Asia/Tehran446
-rw-r--r--library/tzdata/Asia/Thimphu4
-rw-r--r--library/tzdata/Asia/Tokyo2
-rw-r--r--library/tzdata/Asia/Ulaanbaatar266
-rw-r--r--library/tzdata/Asia/Urumqi2
-rw-r--r--library/tzdata/Asia/Yangon6
-rw-r--r--library/tzdata/Atlantic/Azores682
-rw-r--r--library/tzdata/Atlantic/Canary2
-rw-r--r--library/tzdata/Atlantic/Cape_Verde8
-rw-r--r--library/tzdata/Atlantic/Madeira190
-rw-r--r--library/tzdata/Atlantic/Reykjavik134
-rw-r--r--library/tzdata/Atlantic/South_Georgia2
-rw-r--r--library/tzdata/Atlantic/Stanley138
-rw-r--r--library/tzdata/Australia/Eucla40
-rw-r--r--library/tzdata/Australia/Lord_Howe477
-rw-r--r--library/tzdata/Europe/Amsterdam12
-rw-r--r--library/tzdata/Europe/Madrid64
-rw-r--r--library/tzdata/Europe/Zaporozhye2
-rw-r--r--library/tzdata/Indian/Chagos4
-rw-r--r--library/tzdata/Indian/Christmas2
-rw-r--r--library/tzdata/Indian/Cocos2
-rw-r--r--library/tzdata/Indian/Mahe2
-rw-r--r--library/tzdata/Indian/Maldives2
-rw-r--r--library/tzdata/Indian/Mauritius10
-rw-r--r--library/tzdata/Indian/Reunion2
-rw-r--r--library/tzdata/Pacific/Apia364
-rw-r--r--library/tzdata/Pacific/Bougainville8
-rw-r--r--library/tzdata/Pacific/Chatham506
-rw-r--r--library/tzdata/Pacific/Chuuk2
-rw-r--r--library/tzdata/Pacific/Easter524
-rw-r--r--library/tzdata/Pacific/Efate42
-rw-r--r--library/tzdata/Pacific/Enderbury6
-rw-r--r--library/tzdata/Pacific/Fakaofo4
-rw-r--r--library/tzdata/Pacific/Fiji372
-rw-r--r--library/tzdata/Pacific/Funafuti2
-rw-r--r--library/tzdata/Pacific/Galapagos6
-rw-r--r--library/tzdata/Pacific/Gambier2
-rw-r--r--library/tzdata/Pacific/Guadalcanal2
-rw-r--r--library/tzdata/Pacific/Kiritimati6
-rw-r--r--library/tzdata/Pacific/Kosrae6
-rw-r--r--library/tzdata/Pacific/Kwajalein6
-rw-r--r--library/tzdata/Pacific/Majuro4
-rw-r--r--library/tzdata/Pacific/Marquesas2
-rw-r--r--library/tzdata/Pacific/Nauru8
-rw-r--r--library/tzdata/Pacific/Niue6
-rw-r--r--library/tzdata/Pacific/Norfolk10
-rw-r--r--library/tzdata/Pacific/Noumea14
-rw-r--r--library/tzdata/Pacific/Pago_Pago4
-rw-r--r--library/tzdata/Pacific/Palau2
-rw-r--r--library/tzdata/Pacific/Pitcairn4
-rw-r--r--library/tzdata/Pacific/Pohnpei2
-rw-r--r--library/tzdata/Pacific/Port_Moresby2
-rw-r--r--library/tzdata/Pacific/Rarotonga54
-rw-r--r--library/tzdata/Pacific/Tahiti2
-rw-r--r--library/tzdata/Pacific/Tarawa2
-rw-r--r--library/tzdata/Pacific/Wake2
-rw-r--r--library/tzdata/Pacific/Wallis2
-rw-r--r--macosx/Tcl.xcode/project.pbxproj2
-rw-r--r--macosx/Tcl.xcodeproj/project.pbxproj2
-rw-r--r--tests/binary.test12
-rw-r--r--tests/chanio.test8
-rw-r--r--tests/cmdAH.test4
-rw-r--r--tests/coroutine.test39
-rw-r--r--tests/fileName.test3
-rw-r--r--tests/fileSystem.test10
-rw-r--r--tests/format.test42
-rw-r--r--tests/interp.test4
-rw-r--r--tests/io.test4
-rw-r--r--tests/link.test2
-rw-r--r--tests/load.test25
-rw-r--r--tests/nre.test6
-rw-r--r--tests/oo.test37
-rw-r--r--tests/scan.test18
-rw-r--r--tests/socket.test17
-rw-r--r--tests/zlib.test66
-rw-r--r--unix/Makefile.in4
-rw-r--r--unix/tclConfig.sh.in2
-rw-r--r--unix/tclUnixInit.c76
-rw-r--r--unix/tclUnixSock.c35
-rw-r--r--win/Makefile.in4
-rwxr-xr-xwin/configure3
-rw-r--r--win/configure.in1
-rw-r--r--win/makefile.bc594
-rw-r--r--win/makefile.vc1
-rw-r--r--win/tcl.dsp4
-rw-r--r--win/tclConfig.sh.in3
-rw-r--r--win/tclWinConsole.c225
-rw-r--r--[-rwxr-xr-x]win/tclWinFile.c0
-rw-r--r--win/tclWinInit.c20
-rw-r--r--win/tclWinInt.h75
-rw-r--r--win/tclWinPipe.c622
-rw-r--r--win/tclWinReg.c10
-rw-r--r--win/tclWinSerial.c93
216 files changed, 8074 insertions, 10584 deletions
diff --git a/.fossil-settings/crlf-glob b/.fossil-settings/crlf-glob
new file mode 100644
index 0000000..f219a75
--- /dev/null
+++ b/.fossil-settings/crlf-glob
@@ -0,0 +1,14 @@
+compat/zlib/contrib/dotzlib/DotZLib/UnitTests.cs
+compat/zlib/contrib/vstudio/readme.txt
+compat/zlib/contrib/vstudio/*/zlib.rc
+compat/zlib/win32/*.txt
+compat/zlib/win64/*.txt
+tools/tcl.hpj.in
+tools/tcl.wse.in
+win/buildall.vc.bat
+win/coffbase.txt
+win/makefile.vc
+win/rules.vc
+win/tcl.dsp
+win/tcl.dsw
+win/tcl.hpj.in \ No newline at end of file
diff --git a/.fossil-settings/crnl-glob b/.fossil-settings/crnl-glob
index 8773e68..f219a75 100644
--- a/.fossil-settings/crnl-glob
+++ b/.fossil-settings/crnl-glob
@@ -7,7 +7,6 @@ tools/tcl.hpj.in
tools/tcl.wse.in
win/buildall.vc.bat
win/coffbase.txt
-win/makefile.bc
win/makefile.vc
win/rules.vc
win/tcl.dsp
diff --git a/.fossil-settings/encoding-glob b/.fossil-settings/encoding-glob
index 25ad865..8582dd4 100644
--- a/.fossil-settings/encoding-glob
+++ b/.fossil-settings/encoding-glob
@@ -2,7 +2,6 @@ tools/tcl.hpj.in
tools/tcl.wse.in
win/buildall.vc.bat
win/coffbase.txt
-win/makefile.bc
win/makefile.vc
win/rules.vc
win/tcl.dsp
diff --git a/compat/zlib/doc/algorithm.txt b/compat/zlib/doc/algorithm.txt
deleted file mode 100644
index c97f495..0000000
--- a/compat/zlib/doc/algorithm.txt
+++ /dev/null
@@ -1,209 +0,0 @@
-1. Compression algorithm (deflate)
-
-The deflation algorithm used by gzip (also zip and zlib) is a variation of
-LZ77 (Lempel-Ziv 1977, see reference below). It finds duplicated strings in
-the input data. The second occurrence of a string is replaced by a
-pointer to the previous string, in the form of a pair (distance,
-length). Distances are limited to 32K bytes, and lengths are limited
-to 258 bytes. When a string does not occur anywhere in the previous
-32K bytes, it is emitted as a sequence of literal bytes. (In this
-description, `string' must be taken as an arbitrary sequence of bytes,
-and is not restricted to printable characters.)
-
-Literals or match lengths are compressed with one Huffman tree, and
-match distances are compressed with another tree. The trees are stored
-in a compact form at the start of each block. The blocks can have any
-size (except that the compressed data for one block must fit in
-available memory). A block is terminated when deflate() determines that
-it would be useful to start another block with fresh trees. (This is
-somewhat similar to the behavior of LZW-based _compress_.)
-
-Duplicated strings are found using a hash table. All input strings of
-length 3 are inserted in the hash table. A hash index is computed for
-the next 3 bytes. If the hash chain for this index is not empty, all
-strings in the chain are compared with the current input string, and
-the longest match is selected.
-
-The hash chains are searched starting with the most recent strings, to
-favor small distances and thus take advantage of the Huffman encoding.
-The hash chains are singly linked. There are no deletions from the
-hash chains, the algorithm simply discards matches that are too old.
-
-To avoid a worst-case situation, very long hash chains are arbitrarily
-truncated at a certain length, determined by a runtime option (level
-parameter of deflateInit). So deflate() does not always find the longest
-possible match but generally finds a match which is long enough.
-
-deflate() also defers the selection of matches with a lazy evaluation
-mechanism. After a match of length N has been found, deflate() searches for
-a longer match at the next input byte. If a longer match is found, the
-previous match is truncated to a length of one (thus producing a single
-literal byte) and the process of lazy evaluation begins again. Otherwise,
-the original match is kept, and the next match search is attempted only N
-steps later.
-
-The lazy match evaluation is also subject to a runtime parameter. If
-the current match is long enough, deflate() reduces the search for a longer
-match, thus speeding up the whole process. If compression ratio is more
-important than speed, deflate() attempts a complete second search even if
-the first match is already long enough.
-
-The lazy match evaluation is not performed for the fastest compression
-modes (level parameter 1 to 3). For these fast modes, new strings
-are inserted in the hash table only when no match was found, or
-when the match is not too long. This degrades the compression ratio
-but saves time since there are both fewer insertions and fewer searches.
-
-
-2. Decompression algorithm (inflate)
-
-2.1 Introduction
-
-The key question is how to represent a Huffman code (or any prefix code) so
-that you can decode fast. The most important characteristic is that shorter
-codes are much more common than longer codes, so pay attention to decoding the
-short codes fast, and let the long codes take longer to decode.
-
-inflate() sets up a first level table that covers some number of bits of
-input less than the length of longest code. It gets that many bits from the
-stream, and looks it up in the table. The table will tell if the next
-code is that many bits or less and how many, and if it is, it will tell
-the value, else it will point to the next level table for which inflate()
-grabs more bits and tries to decode a longer code.
-
-How many bits to make the first lookup is a tradeoff between the time it
-takes to decode and the time it takes to build the table. If building the
-table took no time (and if you had infinite memory), then there would only
-be a first level table to cover all the way to the longest code. However,
-building the table ends up taking a lot longer for more bits since short
-codes are replicated many times in such a table. What inflate() does is
-simply to make the number of bits in the first table a variable, and then
-to set that variable for the maximum speed.
-
-For inflate, which has 286 possible codes for the literal/length tree, the size
-of the first table is nine bits. Also the distance trees have 30 possible
-values, and the size of the first table is six bits. Note that for each of
-those cases, the table ended up one bit longer than the ``average'' code
-length, i.e. the code length of an approximately flat code which would be a
-little more than eight bits for 286 symbols and a little less than five bits
-for 30 symbols.
-
-
-2.2 More details on the inflate table lookup
-
-Ok, you want to know what this cleverly obfuscated inflate tree actually
-looks like. You are correct that it's not a Huffman tree. It is simply a
-lookup table for the first, let's say, nine bits of a Huffman symbol. The
-symbol could be as short as one bit or as long as 15 bits. If a particular
-symbol is shorter than nine bits, then that symbol's translation is duplicated
-in all those entries that start with that symbol's bits. For example, if the
-symbol is four bits, then it's duplicated 32 times in a nine-bit table. If a
-symbol is nine bits long, it appears in the table once.
-
-If the symbol is longer than nine bits, then that entry in the table points
-to another similar table for the remaining bits. Again, there are duplicated
-entries as needed. The idea is that most of the time the symbol will be short
-and there will only be one table look up. (That's whole idea behind data
-compression in the first place.) For the less frequent long symbols, there
-will be two lookups. If you had a compression method with really long
-symbols, you could have as many levels of lookups as is efficient. For
-inflate, two is enough.
-
-So a table entry either points to another table (in which case nine bits in
-the above example are gobbled), or it contains the translation for the symbol
-and the number of bits to gobble. Then you start again with the next
-ungobbled bit.
-
-You may wonder: why not just have one lookup table for how ever many bits the
-longest symbol is? The reason is that if you do that, you end up spending
-more time filling in duplicate symbol entries than you do actually decoding.
-At least for deflate's output that generates new trees every several 10's of
-kbytes. You can imagine that filling in a 2^15 entry table for a 15-bit code
-would take too long if you're only decoding several thousand symbols. At the
-other extreme, you could make a new table for every bit in the code. In fact,
-that's essentially a Huffman tree. But then you spend too much time
-traversing the tree while decoding, even for short symbols.
-
-So the number of bits for the first lookup table is a trade of the time to
-fill out the table vs. the time spent looking at the second level and above of
-the table.
-
-Here is an example, scaled down:
-
-The code being decoded, with 10 symbols, from 1 to 6 bits long:
-
-A: 0
-B: 10
-C: 1100
-D: 11010
-E: 11011
-F: 11100
-G: 11101
-H: 11110
-I: 111110
-J: 111111
-
-Let's make the first table three bits long (eight entries):
-
-000: A,1
-001: A,1
-010: A,1
-011: A,1
-100: B,2
-101: B,2
-110: -> table X (gobble 3 bits)
-111: -> table Y (gobble 3 bits)
-
-Each entry is what the bits decode as and how many bits that is, i.e. how
-many bits to gobble. Or the entry points to another table, with the number of
-bits to gobble implicit in the size of the table.
-
-Table X is two bits long since the longest code starting with 110 is five bits
-long:
-
-00: C,1
-01: C,1
-10: D,2
-11: E,2
-
-Table Y is three bits long since the longest code starting with 111 is six
-bits long:
-
-000: F,2
-001: F,2
-010: G,2
-011: G,2
-100: H,2
-101: H,2
-110: I,3
-111: J,3
-
-So what we have here are three tables with a total of 20 entries that had to
-be constructed. That's compared to 64 entries for a single table. Or
-compared to 16 entries for a Huffman tree (six two entry tables and one four
-entry table). Assuming that the code ideally represents the probability of
-the symbols, it takes on the average 1.25 lookups per symbol. That's compared
-to one lookup for the single table, or 1.66 lookups per symbol for the
-Huffman tree.
-
-There, I think that gives you a picture of what's going on. For inflate, the
-meaning of a particular symbol is often more than just a letter. It can be a
-byte (a "literal"), or it can be either a length or a distance which
-indicates a base value and a number of bits to fetch after the code that is
-added to the base value. Or it might be the special end-of-block code. The
-data structures created in inftrees.c try to encode all that information
-compactly in the tables.
-
-
-Jean-loup Gailly Mark Adler
-jloup@gzip.org madler@alumni.caltech.edu
-
-
-References:
-
-[LZ77] Ziv J., Lempel A., ``A Universal Algorithm for Sequential Data
-Compression,'' IEEE Transactions on Information Theory, Vol. 23, No. 3,
-pp. 337-343.
-
-``DEFLATE Compressed Data Format Specification'' available in
-http://tools.ietf.org/html/rfc1951
diff --git a/compat/zlib/doc/rfc1950.txt b/compat/zlib/doc/rfc1950.txt
deleted file mode 100644
index ce6428a..0000000
--- a/compat/zlib/doc/rfc1950.txt
+++ /dev/null
@@ -1,619 +0,0 @@
-
-
-
-
-
-
-Network Working Group P. Deutsch
-Request for Comments: 1950 Aladdin Enterprises
-Category: Informational J-L. Gailly
- Info-ZIP
- May 1996
-
-
- ZLIB Compressed Data Format Specification version 3.3
-
-Status of This Memo
-
- This memo provides information for the Internet community. This memo
- does not specify an Internet standard of any kind. Distribution of
- this memo is unlimited.
-
-IESG Note:
-
- The IESG takes no position on the validity of any Intellectual
- Property Rights statements contained in this document.
-
-Notices
-
- Copyright (c) 1996 L. Peter Deutsch and Jean-Loup Gailly
-
- Permission is granted to copy and distribute this document for any
- purpose and without charge, including translations into other
- languages and incorporation into compilations, provided that the
- copyright notice and this notice are preserved, and that any
- substantive changes or deletions from the original are clearly
- marked.
-
- A pointer to the latest version of this and related documentation in
- HTML format can be found at the URL
- <ftp://ftp.uu.net/graphics/png/documents/zlib/zdoc-index.html>.
-
-Abstract
-
- This specification defines a lossless compressed data format. The
- data can be produced or consumed, even for an arbitrarily long
- sequentially presented input data stream, using only an a priori
- bounded amount of intermediate storage. The format presently uses
- the DEFLATE compression method but can be easily extended to use
- other compression methods. It can be implemented readily in a manner
- not covered by patents. This specification also defines the ADLER-32
- checksum (an extension and improvement of the Fletcher checksum),
- used for detection of data corruption, and provides an algorithm for
- computing it.
-
-
-
-
-Deutsch & Gailly Informational [Page 1]
-
-RFC 1950 ZLIB Compressed Data Format Specification May 1996
-
-
-Table of Contents
-
- 1. Introduction ................................................... 2
- 1.1. Purpose ................................................... 2
- 1.2. Intended audience ......................................... 3
- 1.3. Scope ..................................................... 3
- 1.4. Compliance ................................................ 3
- 1.5. Definitions of terms and conventions used ................ 3
- 1.6. Changes from previous versions ............................ 3
- 2. Detailed specification ......................................... 3
- 2.1. Overall conventions ....................................... 3
- 2.2. Data format ............................................... 4
- 2.3. Compliance ................................................ 7
- 3. References ..................................................... 7
- 4. Source code .................................................... 8
- 5. Security Considerations ........................................ 8
- 6. Acknowledgements ............................................... 8
- 7. Authors' Addresses ............................................. 8
- 8. Appendix: Rationale ............................................ 9
- 9. Appendix: Sample code ..........................................10
-
-1. Introduction
-
- 1.1. Purpose
-
- The purpose of this specification is to define a lossless
- compressed data format that:
-
- * Is independent of CPU type, operating system, file system,
- and character set, and hence can be used for interchange;
-
- * Can be produced or consumed, even for an arbitrarily long
- sequentially presented input data stream, using only an a
- priori bounded amount of intermediate storage, and hence can
- be used in data communications or similar structures such as
- Unix filters;
-
- * Can use a number of different compression methods;
-
- * Can be implemented readily in a manner not covered by
- patents, and hence can be practiced freely.
-
- The data format defined by this specification does not attempt to
- allow random access to compressed data.
-
-
-
-
-
-
-
-Deutsch & Gailly Informational [Page 2]
-
-RFC 1950 ZLIB Compressed Data Format Specification May 1996
-
-
- 1.2. Intended audience
-
- This specification is intended for use by implementors of software
- to compress data into zlib format and/or decompress data from zlib
- format.
-
- The text of the specification assumes a basic background in
- programming at the level of bits and other primitive data
- representations.
-
- 1.3. Scope
-
- The specification specifies a compressed data format that can be
- used for in-memory compression of a sequence of arbitrary bytes.
-
- 1.4. Compliance
-
- Unless otherwise indicated below, a compliant decompressor must be
- able to accept and decompress any data set that conforms to all
- the specifications presented here; a compliant compressor must
- produce data sets that conform to all the specifications presented
- here.
-
- 1.5. Definitions of terms and conventions used
-
- byte: 8 bits stored or transmitted as a unit (same as an octet).
- (For this specification, a byte is exactly 8 bits, even on
- machines which store a character on a number of bits different
- from 8.) See below, for the numbering of bits within a byte.
-
- 1.6. Changes from previous versions
-
- Version 3.1 was the first public release of this specification.
- In version 3.2, some terminology was changed and the Adler-32
- sample code was rewritten for clarity. In version 3.3, the
- support for a preset dictionary was introduced, and the
- specification was converted to RFC style.
-
-2. Detailed specification
-
- 2.1. Overall conventions
-
- In the diagrams below, a box like this:
-
- +---+
- | | <-- the vertical bars might be missing
- +---+
-
-
-
-
-Deutsch & Gailly Informational [Page 3]
-
-RFC 1950 ZLIB Compressed Data Format Specification May 1996
-
-
- represents one byte; a box like this:
-
- +==============+
- | |
- +==============+
-
- represents a variable number of bytes.
-
- Bytes stored within a computer do not have a "bit order", since
- they are always treated as a unit. However, a byte considered as
- an integer between 0 and 255 does have a most- and least-
- significant bit, and since we write numbers with the most-
- significant digit on the left, we also write bytes with the most-
- significant bit on the left. In the diagrams below, we number the
- bits of a byte so that bit 0 is the least-significant bit, i.e.,
- the bits are numbered:
-
- +--------+
- |76543210|
- +--------+
-
- Within a computer, a number may occupy multiple bytes. All
- multi-byte numbers in the format described here are stored with
- the MOST-significant byte first (at the lower memory address).
- For example, the decimal number 520 is stored as:
-
- 0 1
- +--------+--------+
- |00000010|00001000|
- +--------+--------+
- ^ ^
- | |
- | + less significant byte = 8
- + more significant byte = 2 x 256
-
- 2.2. Data format
-
- A zlib stream has the following structure:
-
- 0 1
- +---+---+
- |CMF|FLG| (more-->)
- +---+---+
-
-
-
-
-
-
-
-
-Deutsch & Gailly Informational [Page 4]
-
-RFC 1950 ZLIB Compressed Data Format Specification May 1996
-
-
- (if FLG.FDICT set)
-
- 0 1 2 3
- +---+---+---+---+
- | DICTID | (more-->)
- +---+---+---+---+
-
- +=====================+---+---+---+---+
- |...compressed data...| ADLER32 |
- +=====================+---+---+---+---+
-
- Any data which may appear after ADLER32 are not part of the zlib
- stream.
-
- CMF (Compression Method and flags)
- This byte is divided into a 4-bit compression method and a 4-
- bit information field depending on the compression method.
-
- bits 0 to 3 CM Compression method
- bits 4 to 7 CINFO Compression info
-
- CM (Compression method)
- This identifies the compression method used in the file. CM = 8
- denotes the "deflate" compression method with a window size up
- to 32K. This is the method used by gzip and PNG (see
- references [1] and [2] in Chapter 3, below, for the reference
- documents). CM = 15 is reserved. It might be used in a future
- version of this specification to indicate the presence of an
- extra field before the compressed data.
-
- CINFO (Compression info)
- For CM = 8, CINFO is the base-2 logarithm of the LZ77 window
- size, minus eight (CINFO=7 indicates a 32K window size). Values
- of CINFO above 7 are not allowed in this version of the
- specification. CINFO is not defined in this specification for
- CM not equal to 8.
-
- FLG (FLaGs)
- This flag byte is divided as follows:
-
- bits 0 to 4 FCHECK (check bits for CMF and FLG)
- bit 5 FDICT (preset dictionary)
- bits 6 to 7 FLEVEL (compression level)
-
- The FCHECK value must be such that CMF and FLG, when viewed as
- a 16-bit unsigned integer stored in MSB order (CMF*256 + FLG),
- is a multiple of 31.
-
-
-
-
-Deutsch & Gailly Informational [Page 5]
-
-RFC 1950 ZLIB Compressed Data Format Specification May 1996
-
-
- FDICT (Preset dictionary)
- If FDICT is set, a DICT dictionary identifier is present
- immediately after the FLG byte. The dictionary is a sequence of
- bytes which are initially fed to the compressor without
- producing any compressed output. DICT is the Adler-32 checksum
- of this sequence of bytes (see the definition of ADLER32
- below). The decompressor can use this identifier to determine
- which dictionary has been used by the compressor.
-
- FLEVEL (Compression level)
- These flags are available for use by specific compression
- methods. The "deflate" method (CM = 8) sets these flags as
- follows:
-
- 0 - compressor used fastest algorithm
- 1 - compressor used fast algorithm
- 2 - compressor used default algorithm
- 3 - compressor used maximum compression, slowest algorithm
-
- The information in FLEVEL is not needed for decompression; it
- is there to indicate if recompression might be worthwhile.
-
- compressed data
- For compression method 8, the compressed data is stored in the
- deflate compressed data format as described in the document
- "DEFLATE Compressed Data Format Specification" by L. Peter
- Deutsch. (See reference [3] in Chapter 3, below)
-
- Other compressed data formats are not specified in this version
- of the zlib specification.
-
- ADLER32 (Adler-32 checksum)
- This contains a checksum value of the uncompressed data
- (excluding any dictionary data) computed according to Adler-32
- algorithm. This algorithm is a 32-bit extension and improvement
- of the Fletcher algorithm, used in the ITU-T X.224 / ISO 8073
- standard. See references [4] and [5] in Chapter 3, below)
-
- Adler-32 is composed of two sums accumulated per byte: s1 is
- the sum of all bytes, s2 is the sum of all s1 values. Both sums
- are done modulo 65521. s1 is initialized to 1, s2 to zero. The
- Adler-32 checksum is stored as s2*65536 + s1 in most-
- significant-byte first (network) order.
-
-
-
-
-
-
-
-
-Deutsch & Gailly Informational [Page 6]
-
-RFC 1950 ZLIB Compressed Data Format Specification May 1996
-
-
- 2.3. Compliance
-
- A compliant compressor must produce streams with correct CMF, FLG
- and ADLER32, but need not support preset dictionaries. When the
- zlib data format is used as part of another standard data format,
- the compressor may use only preset dictionaries that are specified
- by this other data format. If this other format does not use the
- preset dictionary feature, the compressor must not set the FDICT
- flag.
-
- A compliant decompressor must check CMF, FLG, and ADLER32, and
- provide an error indication if any of these have incorrect values.
- A compliant decompressor must give an error indication if CM is
- not one of the values defined in this specification (only the
- value 8 is permitted in this version), since another value could
- indicate the presence of new features that would cause subsequent
- data to be interpreted incorrectly. A compliant decompressor must
- give an error indication if FDICT is set and DICTID is not the
- identifier of a known preset dictionary. A decompressor may
- ignore FLEVEL and still be compliant. When the zlib data format
- is being used as a part of another standard format, a compliant
- decompressor must support all the preset dictionaries specified by
- the other format. When the other format does not use the preset
- dictionary feature, a compliant decompressor must reject any
- stream in which the FDICT flag is set.
-
-3. References
-
- [1] Deutsch, L.P.,"GZIP Compressed Data Format Specification",
- available in ftp://ftp.uu.net/pub/archiving/zip/doc/
-
- [2] Thomas Boutell, "PNG (Portable Network Graphics) specification",
- available in ftp://ftp.uu.net/graphics/png/documents/
-
- [3] Deutsch, L.P.,"DEFLATE Compressed Data Format Specification",
- available in ftp://ftp.uu.net/pub/archiving/zip/doc/
-
- [4] Fletcher, J. G., "An Arithmetic Checksum for Serial
- Transmissions," IEEE Transactions on Communications, Vol. COM-30,
- No. 1, January 1982, pp. 247-252.
-
- [5] ITU-T Recommendation X.224, Annex D, "Checksum Algorithms,"
- November, 1993, pp. 144, 145. (Available from
- gopher://info.itu.ch). ITU-T X.244 is also the same as ISO 8073.
-
-
-
-
-
-
-
-Deutsch & Gailly Informational [Page 7]
-
-RFC 1950 ZLIB Compressed Data Format Specification May 1996
-
-
-4. Source code
-
- Source code for a C language implementation of a "zlib" compliant
- library is available at ftp://ftp.uu.net/pub/archiving/zip/zlib/.
-
-5. Security Considerations
-
- A decoder that fails to check the ADLER32 checksum value may be
- subject to undetected data corruption.
-
-6. Acknowledgements
-
- Trademarks cited in this document are the property of their
- respective owners.
-
- Jean-Loup Gailly and Mark Adler designed the zlib format and wrote
- the related software described in this specification. Glenn
- Randers-Pehrson converted this document to RFC and HTML format.
-
-7. Authors' Addresses
-
- L. Peter Deutsch
- Aladdin Enterprises
- 203 Santa Margarita Ave.
- Menlo Park, CA 94025
-
- Phone: (415) 322-0103 (AM only)
- FAX: (415) 322-1734
- EMail: <ghost@aladdin.com>
-
-
- Jean-Loup Gailly
-
- EMail: <gzip@prep.ai.mit.edu>
-
- Questions about the technical content of this specification can be
- sent by email to
-
- Jean-Loup Gailly <gzip@prep.ai.mit.edu> and
- Mark Adler <madler@alumni.caltech.edu>
-
- Editorial comments on this specification can be sent by email to
-
- L. Peter Deutsch <ghost@aladdin.com> and
- Glenn Randers-Pehrson <randeg@alumni.rpi.edu>
-
-
-
-
-
-
-Deutsch & Gailly Informational [Page 8]
-
-RFC 1950 ZLIB Compressed Data Format Specification May 1996
-
-
-8. Appendix: Rationale
-
- 8.1. Preset dictionaries
-
- A preset dictionary is specially useful to compress short input
- sequences. The compressor can take advantage of the dictionary
- context to encode the input in a more compact manner. The
- decompressor can be initialized with the appropriate context by
- virtually decompressing a compressed version of the dictionary
- without producing any output. However for certain compression
- algorithms such as the deflate algorithm this operation can be
- achieved without actually performing any decompression.
-
- The compressor and the decompressor must use exactly the same
- dictionary. The dictionary may be fixed or may be chosen among a
- certain number of predefined dictionaries, according to the kind
- of input data. The decompressor can determine which dictionary has
- been chosen by the compressor by checking the dictionary
- identifier. This document does not specify the contents of
- predefined dictionaries, since the optimal dictionaries are
- application specific. Standard data formats using this feature of
- the zlib specification must precisely define the allowed
- dictionaries.
-
- 8.2. The Adler-32 algorithm
-
- The Adler-32 algorithm is much faster than the CRC32 algorithm yet
- still provides an extremely low probability of undetected errors.
-
- The modulo on unsigned long accumulators can be delayed for 5552
- bytes, so the modulo operation time is negligible. If the bytes
- are a, b, c, the second sum is 3a + 2b + c + 3, and so is position
- and order sensitive, unlike the first sum, which is just a
- checksum. That 65521 is prime is important to avoid a possible
- large class of two-byte errors that leave the check unchanged.
- (The Fletcher checksum uses 255, which is not prime and which also
- makes the Fletcher check insensitive to single byte changes 0 <->
- 255.)
-
- The sum s1 is initialized to 1 instead of zero to make the length
- of the sequence part of s2, so that the length does not have to be
- checked separately. (Any sequence of zeroes has a Fletcher
- checksum of zero.)
-
-
-
-
-
-
-
-
-Deutsch & Gailly Informational [Page 9]
-
-RFC 1950 ZLIB Compressed Data Format Specification May 1996
-
-
-9. Appendix: Sample code
-
- The following C code computes the Adler-32 checksum of a data buffer.
- It is written for clarity, not for speed. The sample code is in the
- ANSI C programming language. Non C users may find it easier to read
- with these hints:
-
- & Bitwise AND operator.
- >> Bitwise right shift operator. When applied to an
- unsigned quantity, as here, right shift inserts zero bit(s)
- at the left.
- << Bitwise left shift operator. Left shift inserts zero
- bit(s) at the right.
- ++ "n++" increments the variable n.
- % modulo operator: a % b is the remainder of a divided by b.
-
- #define BASE 65521 /* largest prime smaller than 65536 */
-
- /*
- Update a running Adler-32 checksum with the bytes buf[0..len-1]
- and return the updated checksum. The Adler-32 checksum should be
- initialized to 1.
-
- Usage example:
-
- unsigned long adler = 1L;
-
- while (read_buffer(buffer, length) != EOF) {
- adler = update_adler32(adler, buffer, length);
- }
- if (adler != original_adler) error();
- */
- unsigned long update_adler32(unsigned long adler,
- unsigned char *buf, int len)
- {
- unsigned long s1 = adler & 0xffff;
- unsigned long s2 = (adler >> 16) & 0xffff;
- int n;
-
- for (n = 0; n < len; n++) {
- s1 = (s1 + buf[n]) % BASE;
- s2 = (s2 + s1) % BASE;
- }
- return (s2 << 16) + s1;
- }
-
- /* Return the adler32 of the bytes buf[0..len-1] */
-
-
-
-
-Deutsch & Gailly Informational [Page 10]
-
-RFC 1950 ZLIB Compressed Data Format Specification May 1996
-
-
- unsigned long adler32(unsigned char *buf, int len)
- {
- return update_adler32(1L, buf, len);
- }
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-Deutsch & Gailly Informational [Page 11]
-
diff --git a/compat/zlib/doc/rfc1951.txt b/compat/zlib/doc/rfc1951.txt
deleted file mode 100644
index 403c8c7..0000000
--- a/compat/zlib/doc/rfc1951.txt
+++ /dev/null
@@ -1,955 +0,0 @@
-
-
-
-
-
-
-Network Working Group P. Deutsch
-Request for Comments: 1951 Aladdin Enterprises
-Category: Informational May 1996
-
-
- DEFLATE Compressed Data Format Specification version 1.3
-
-Status of This Memo
-
- This memo provides information for the Internet community. This memo
- does not specify an Internet standard of any kind. Distribution of
- this memo is unlimited.
-
-IESG Note:
-
- The IESG takes no position on the validity of any Intellectual
- Property Rights statements contained in this document.
-
-Notices
-
- Copyright (c) 1996 L. Peter Deutsch
-
- Permission is granted to copy and distribute this document for any
- purpose and without charge, including translations into other
- languages and incorporation into compilations, provided that the
- copyright notice and this notice are preserved, and that any
- substantive changes or deletions from the original are clearly
- marked.
-
- A pointer to the latest version of this and related documentation in
- HTML format can be found at the URL
- <ftp://ftp.uu.net/graphics/png/documents/zlib/zdoc-index.html>.
-
-Abstract
-
- This specification defines a lossless compressed data format that
- compresses data using a combination of the LZ77 algorithm and Huffman
- coding, with efficiency comparable to the best currently available
- general-purpose compression methods. The data can be produced or
- consumed, even for an arbitrarily long sequentially presented input
- data stream, using only an a priori bounded amount of intermediate
- storage. The format can be implemented readily in a manner not
- covered by patents.
-
-
-
-
-
-
-
-
-Deutsch Informational [Page 1]
-
-RFC 1951 DEFLATE Compressed Data Format Specification May 1996
-
-
-Table of Contents
-
- 1. Introduction ................................................... 2
- 1.1. Purpose ................................................... 2
- 1.2. Intended audience ......................................... 3
- 1.3. Scope ..................................................... 3
- 1.4. Compliance ................................................ 3
- 1.5. Definitions of terms and conventions used ................ 3
- 1.6. Changes from previous versions ............................ 4
- 2. Compressed representation overview ............................. 4
- 3. Detailed specification ......................................... 5
- 3.1. Overall conventions ....................................... 5
- 3.1.1. Packing into bytes .................................. 5
- 3.2. Compressed block format ................................... 6
- 3.2.1. Synopsis of prefix and Huffman coding ............... 6
- 3.2.2. Use of Huffman coding in the "deflate" format ....... 7
- 3.2.3. Details of block format ............................. 9
- 3.2.4. Non-compressed blocks (BTYPE=00) ................... 11
- 3.2.5. Compressed blocks (length and distance codes) ...... 11
- 3.2.6. Compression with fixed Huffman codes (BTYPE=01) .... 12
- 3.2.7. Compression with dynamic Huffman codes (BTYPE=10) .. 13
- 3.3. Compliance ............................................... 14
- 4. Compression algorithm details ................................. 14
- 5. References .................................................... 16
- 6. Security Considerations ....................................... 16
- 7. Source code ................................................... 16
- 8. Acknowledgements .............................................. 16
- 9. Author's Address .............................................. 17
-
-1. Introduction
-
- 1.1. Purpose
-
- The purpose of this specification is to define a lossless
- compressed data format that:
- * Is independent of CPU type, operating system, file system,
- and character set, and hence can be used for interchange;
- * Can be produced or consumed, even for an arbitrarily long
- sequentially presented input data stream, using only an a
- priori bounded amount of intermediate storage, and hence
- can be used in data communications or similar structures
- such as Unix filters;
- * Compresses data with efficiency comparable to the best
- currently available general-purpose compression methods,
- and in particular considerably better than the "compress"
- program;
- * Can be implemented readily in a manner not covered by
- patents, and hence can be practiced freely;
-
-
-
-Deutsch Informational [Page 2]
-
-RFC 1951 DEFLATE Compressed Data Format Specification May 1996
-
-
- * Is compatible with the file format produced by the current
- widely used gzip utility, in that conforming decompressors
- will be able to read data produced by the existing gzip
- compressor.
-
- The data format defined by this specification does not attempt to:
-
- * Allow random access to compressed data;
- * Compress specialized data (e.g., raster graphics) as well
- as the best currently available specialized algorithms.
-
- A simple counting argument shows that no lossless compression
- algorithm can compress every possible input data set. For the
- format defined here, the worst case expansion is 5 bytes per 32K-
- byte block, i.e., a size increase of 0.015% for large data sets.
- English text usually compresses by a factor of 2.5 to 3;
- executable files usually compress somewhat less; graphical data
- such as raster images may compress much more.
-
- 1.2. Intended audience
-
- This specification is intended for use by implementors of software
- to compress data into "deflate" format and/or decompress data from
- "deflate" format.
-
- The text of the specification assumes a basic background in
- programming at the level of bits and other primitive data
- representations. Familiarity with the technique of Huffman coding
- is helpful but not required.
-
- 1.3. Scope
-
- The specification specifies a method for representing a sequence
- of bytes as a (usually shorter) sequence of bits, and a method for
- packing the latter bit sequence into bytes.
-
- 1.4. Compliance
-
- Unless otherwise indicated below, a compliant decompressor must be
- able to accept and decompress any data set that conforms to all
- the specifications presented here; a compliant compressor must
- produce data sets that conform to all the specifications presented
- here.
-
- 1.5. Definitions of terms and conventions used
-
- Byte: 8 bits stored or transmitted as a unit (same as an octet).
- For this specification, a byte is exactly 8 bits, even on machines
-
-
-
-Deutsch Informational [Page 3]
-
-RFC 1951 DEFLATE Compressed Data Format Specification May 1996
-
-
- which store a character on a number of bits different from eight.
- See below, for the numbering of bits within a byte.
-
- String: a sequence of arbitrary bytes.
-
- 1.6. Changes from previous versions
-
- There have been no technical changes to the deflate format since
- version 1.1 of this specification. In version 1.2, some
- terminology was changed. Version 1.3 is a conversion of the
- specification to RFC style.
-
-2. Compressed representation overview
-
- A compressed data set consists of a series of blocks, corresponding
- to successive blocks of input data. The block sizes are arbitrary,
- except that non-compressible blocks are limited to 65,535 bytes.
-
- Each block is compressed using a combination of the LZ77 algorithm
- and Huffman coding. The Huffman trees for each block are independent
- of those for previous or subsequent blocks; the LZ77 algorithm may
- use a reference to a duplicated string occurring in a previous block,
- up to 32K input bytes before.
-
- Each block consists of two parts: a pair of Huffman code trees that
- describe the representation of the compressed data part, and a
- compressed data part. (The Huffman trees themselves are compressed
- using Huffman encoding.) The compressed data consists of a series of
- elements of two types: literal bytes (of strings that have not been
- detected as duplicated within the previous 32K input bytes), and
- pointers to duplicated strings, where a pointer is represented as a
- pair <length, backward distance>. The representation used in the
- "deflate" format limits distances to 32K bytes and lengths to 258
- bytes, but does not limit the size of a block, except for
- uncompressible blocks, which are limited as noted above.
-
- Each type of value (literals, distances, and lengths) in the
- compressed data is represented using a Huffman code, using one code
- tree for literals and lengths and a separate code tree for distances.
- The code trees for each block appear in a compact form just before
- the compressed data for that block.
-
-
-
-
-
-
-
-
-
-
-Deutsch Informational [Page 4]
-
-RFC 1951 DEFLATE Compressed Data Format Specification May 1996
-
-
-3. Detailed specification
-
- 3.1. Overall conventions In the diagrams below, a box like this:
-
- +---+
- | | <-- the vertical bars might be missing
- +---+
-
- represents one byte; a box like this:
-
- +==============+
- | |
- +==============+
-
- represents a variable number of bytes.
-
- Bytes stored within a computer do not have a "bit order", since
- they are always treated as a unit. However, a byte considered as
- an integer between 0 and 255 does have a most- and least-
- significant bit, and since we write numbers with the most-
- significant digit on the left, we also write bytes with the most-
- significant bit on the left. In the diagrams below, we number the
- bits of a byte so that bit 0 is the least-significant bit, i.e.,
- the bits are numbered:
-
- +--------+
- |76543210|
- +--------+
-
- Within a computer, a number may occupy multiple bytes. All
- multi-byte numbers in the format described here are stored with
- the least-significant byte first (at the lower memory address).
- For example, the decimal number 520 is stored as:
-
- 0 1
- +--------+--------+
- |00001000|00000010|
- +--------+--------+
- ^ ^
- | |
- | + more significant byte = 2 x 256
- + less significant byte = 8
-
- 3.1.1. Packing into bytes
-
- This document does not address the issue of the order in which
- bits of a byte are transmitted on a bit-sequential medium,
- since the final data format described here is byte- rather than
-
-
-
-Deutsch Informational [Page 5]
-
-RFC 1951 DEFLATE Compressed Data Format Specification May 1996
-
-
- bit-oriented. However, we describe the compressed block format
- in below, as a sequence of data elements of various bit
- lengths, not a sequence of bytes. We must therefore specify
- how to pack these data elements into bytes to form the final
- compressed byte sequence:
-
- * Data elements are packed into bytes in order of
- increasing bit number within the byte, i.e., starting
- with the least-significant bit of the byte.
- * Data elements other than Huffman codes are packed
- starting with the least-significant bit of the data
- element.
- * Huffman codes are packed starting with the most-
- significant bit of the code.
-
- In other words, if one were to print out the compressed data as
- a sequence of bytes, starting with the first byte at the
- *right* margin and proceeding to the *left*, with the most-
- significant bit of each byte on the left as usual, one would be
- able to parse the result from right to left, with fixed-width
- elements in the correct MSB-to-LSB order and Huffman codes in
- bit-reversed order (i.e., with the first bit of the code in the
- relative LSB position).
-
- 3.2. Compressed block format
-
- 3.2.1. Synopsis of prefix and Huffman coding
-
- Prefix coding represents symbols from an a priori known
- alphabet by bit sequences (codes), one code for each symbol, in
- a manner such that different symbols may be represented by bit
- sequences of different lengths, but a parser can always parse
- an encoded string unambiguously symbol-by-symbol.
-
- We define a prefix code in terms of a binary tree in which the
- two edges descending from each non-leaf node are labeled 0 and
- 1 and in which the leaf nodes correspond one-for-one with (are
- labeled with) the symbols of the alphabet; then the code for a
- symbol is the sequence of 0's and 1's on the edges leading from
- the root to the leaf labeled with that symbol. For example:
-
-
-
-
-
-
-
-
-
-
-
-Deutsch Informational [Page 6]
-
-RFC 1951 DEFLATE Compressed Data Format Specification May 1996
-
-
- /\ Symbol Code
- 0 1 ------ ----
- / \ A 00
- /\ B B 1
- 0 1 C 011
- / \ D 010
- A /\
- 0 1
- / \
- D C
-
- A parser can decode the next symbol from an encoded input
- stream by walking down the tree from the root, at each step
- choosing the edge corresponding to the next input bit.
-
- Given an alphabet with known symbol frequencies, the Huffman
- algorithm allows the construction of an optimal prefix code
- (one which represents strings with those symbol frequencies
- using the fewest bits of any possible prefix codes for that
- alphabet). Such a code is called a Huffman code. (See
- reference [1] in Chapter 5, references for additional
- information on Huffman codes.)
-
- Note that in the "deflate" format, the Huffman codes for the
- various alphabets must not exceed certain maximum code lengths.
- This constraint complicates the algorithm for computing code
- lengths from symbol frequencies. Again, see Chapter 5,
- references for details.
-
- 3.2.2. Use of Huffman coding in the "deflate" format
-
- The Huffman codes used for each alphabet in the "deflate"
- format have two additional rules:
-
- * All codes of a given bit length have lexicographically
- consecutive values, in the same order as the symbols
- they represent;
-
- * Shorter codes lexicographically precede longer codes.
-
-
-
-
-
-
-
-
-
-
-
-
-Deutsch Informational [Page 7]
-
-RFC 1951 DEFLATE Compressed Data Format Specification May 1996
-
-
- We could recode the example above to follow this rule as
- follows, assuming that the order of the alphabet is ABCD:
-
- Symbol Code
- ------ ----
- A 10
- B 0
- C 110
- D 111
-
- I.e., 0 precedes 10 which precedes 11x, and 110 and 111 are
- lexicographically consecutive.
-
- Given this rule, we can define the Huffman code for an alphabet
- just by giving the bit lengths of the codes for each symbol of
- the alphabet in order; this is sufficient to determine the
- actual codes. In our example, the code is completely defined
- by the sequence of bit lengths (2, 1, 3, 3). The following
- algorithm generates the codes as integers, intended to be read
- from most- to least-significant bit. The code lengths are
- initially in tree[I].Len; the codes are produced in
- tree[I].Code.
-
- 1) Count the number of codes for each code length. Let
- bl_count[N] be the number of codes of length N, N >= 1.
-
- 2) Find the numerical value of the smallest code for each
- code length:
-
- code = 0;
- bl_count[0] = 0;
- for (bits = 1; bits <= MAX_BITS; bits++) {
- code = (code + bl_count[bits-1]) << 1;
- next_code[bits] = code;
- }
-
- 3) Assign numerical values to all codes, using consecutive
- values for all codes of the same length with the base
- values determined at step 2. Codes that are never used
- (which have a bit length of zero) must not be assigned a
- value.
-
- for (n = 0; n <= max_code; n++) {
- len = tree[n].Len;
- if (len != 0) {
- tree[n].Code = next_code[len];
- next_code[len]++;
- }
-
-
-
-Deutsch Informational [Page 8]
-
-RFC 1951 DEFLATE Compressed Data Format Specification May 1996
-
-
- }
-
- Example:
-
- Consider the alphabet ABCDEFGH, with bit lengths (3, 3, 3, 3,
- 3, 2, 4, 4). After step 1, we have:
-
- N bl_count[N]
- - -----------
- 2 1
- 3 5
- 4 2
-
- Step 2 computes the following next_code values:
-
- N next_code[N]
- - ------------
- 1 0
- 2 0
- 3 2
- 4 14
-
- Step 3 produces the following code values:
-
- Symbol Length Code
- ------ ------ ----
- A 3 010
- B 3 011
- C 3 100
- D 3 101
- E 3 110
- F 2 00
- G 4 1110
- H 4 1111
-
- 3.2.3. Details of block format
-
- Each block of compressed data begins with 3 header bits
- containing the following data:
-
- first bit BFINAL
- next 2 bits BTYPE
-
- Note that the header bits do not necessarily begin on a byte
- boundary, since a block does not necessarily occupy an integral
- number of bytes.
-
-
-
-
-
-Deutsch Informational [Page 9]
-
-RFC 1951 DEFLATE Compressed Data Format Specification May 1996
-
-
- BFINAL is set if and only if this is the last block of the data
- set.
-
- BTYPE specifies how the data are compressed, as follows:
-
- 00 - no compression
- 01 - compressed with fixed Huffman codes
- 10 - compressed with dynamic Huffman codes
- 11 - reserved (error)
-
- The only difference between the two compressed cases is how the
- Huffman codes for the literal/length and distance alphabets are
- defined.
-
- In all cases, the decoding algorithm for the actual data is as
- follows:
-
- do
- read block header from input stream.
- if stored with no compression
- skip any remaining bits in current partially
- processed byte
- read LEN and NLEN (see next section)
- copy LEN bytes of data to output
- otherwise
- if compressed with dynamic Huffman codes
- read representation of code trees (see
- subsection below)
- loop (until end of block code recognized)
- decode literal/length value from input stream
- if value < 256
- copy value (literal byte) to output stream
- otherwise
- if value = end of block (256)
- break from loop
- otherwise (value = 257..285)
- decode distance from input stream
-
- move backwards distance bytes in the output
- stream, and copy length bytes from this
- position to the output stream.
- end loop
- while not last block
-
- Note that a duplicated string reference may refer to a string
- in a previous block; i.e., the backward distance may cross one
- or more block boundaries. However a distance cannot refer past
- the beginning of the output stream. (An application using a
-
-
-
-Deutsch Informational [Page 10]
-
-RFC 1951 DEFLATE Compressed Data Format Specification May 1996
-
-
- preset dictionary might discard part of the output stream; a
- distance can refer to that part of the output stream anyway)
- Note also that the referenced string may overlap the current
- position; for example, if the last 2 bytes decoded have values
- X and Y, a string reference with <length = 5, distance = 2>
- adds X,Y,X,Y,X to the output stream.
-
- We now specify each compression method in turn.
-
- 3.2.4. Non-compressed blocks (BTYPE=00)
-
- Any bits of input up to the next byte boundary are ignored.
- The rest of the block consists of the following information:
-
- 0 1 2 3 4...
- +---+---+---+---+================================+
- | LEN | NLEN |... LEN bytes of literal data...|
- +---+---+---+---+================================+
-
- LEN is the number of data bytes in the block. NLEN is the
- one's complement of LEN.
-
- 3.2.5. Compressed blocks (length and distance codes)
-
- As noted above, encoded data blocks in the "deflate" format
- consist of sequences of symbols drawn from three conceptually
- distinct alphabets: either literal bytes, from the alphabet of
- byte values (0..255), or <length, backward distance> pairs,
- where the length is drawn from (3..258) and the distance is
- drawn from (1..32,768). In fact, the literal and length
- alphabets are merged into a single alphabet (0..285), where
- values 0..255 represent literal bytes, the value 256 indicates
- end-of-block, and values 257..285 represent length codes
- (possibly in conjunction with extra bits following the symbol
- code) as follows:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-Deutsch Informational [Page 11]
-
-RFC 1951 DEFLATE Compressed Data Format Specification May 1996
-
-
- Extra Extra Extra
- Code Bits Length(s) Code Bits Lengths Code Bits Length(s)
- ---- ---- ------ ---- ---- ------- ---- ---- -------
- 257 0 3 267 1 15,16 277 4 67-82
- 258 0 4 268 1 17,18 278 4 83-98
- 259 0 5 269 2 19-22 279 4 99-114
- 260 0 6 270 2 23-26 280 4 115-130
- 261 0 7 271 2 27-30 281 5 131-162
- 262 0 8 272 2 31-34 282 5 163-194
- 263 0 9 273 3 35-42 283 5 195-226
- 264 0 10 274 3 43-50 284 5 227-257
- 265 1 11,12 275 3 51-58 285 0 258
- 266 1 13,14 276 3 59-66
-
- The extra bits should be interpreted as a machine integer
- stored with the most-significant bit first, e.g., bits 1110
- represent the value 14.
-
- Extra Extra Extra
- Code Bits Dist Code Bits Dist Code Bits Distance
- ---- ---- ---- ---- ---- ------ ---- ---- --------
- 0 0 1 10 4 33-48 20 9 1025-1536
- 1 0 2 11 4 49-64 21 9 1537-2048
- 2 0 3 12 5 65-96 22 10 2049-3072
- 3 0 4 13 5 97-128 23 10 3073-4096
- 4 1 5,6 14 6 129-192 24 11 4097-6144
- 5 1 7,8 15 6 193-256 25 11 6145-8192
- 6 2 9-12 16 7 257-384 26 12 8193-12288
- 7 2 13-16 17 7 385-512 27 12 12289-16384
- 8 3 17-24 18 8 513-768 28 13 16385-24576
- 9 3 25-32 19 8 769-1024 29 13 24577-32768
-
- 3.2.6. Compression with fixed Huffman codes (BTYPE=01)
-
- The Huffman codes for the two alphabets are fixed, and are not
- represented explicitly in the data. The Huffman code lengths
- for the literal/length alphabet are:
-
- Lit Value Bits Codes
- --------- ---- -----
- 0 - 143 8 00110000 through
- 10111111
- 144 - 255 9 110010000 through
- 111111111
- 256 - 279 7 0000000 through
- 0010111
- 280 - 287 8 11000000 through
- 11000111
-
-
-
-Deutsch Informational [Page 12]
-
-RFC 1951 DEFLATE Compressed Data Format Specification May 1996
-
-
- The code lengths are sufficient to generate the actual codes,
- as described above; we show the codes in the table for added
- clarity. Literal/length values 286-287 will never actually
- occur in the compressed data, but participate in the code
- construction.
-
- Distance codes 0-31 are represented by (fixed-length) 5-bit
- codes, with possible additional bits as shown in the table
- shown in Paragraph 3.2.5, above. Note that distance codes 30-
- 31 will never actually occur in the compressed data.
-
- 3.2.7. Compression with dynamic Huffman codes (BTYPE=10)
-
- The Huffman codes for the two alphabets appear in the block
- immediately after the header bits and before the actual
- compressed data, first the literal/length code and then the
- distance code. Each code is defined by a sequence of code
- lengths, as discussed in Paragraph 3.2.2, above. For even
- greater compactness, the code length sequences themselves are
- compressed using a Huffman code. The alphabet for code lengths
- is as follows:
-
- 0 - 15: Represent code lengths of 0 - 15
- 16: Copy the previous code length 3 - 6 times.
- The next 2 bits indicate repeat length
- (0 = 3, ... , 3 = 6)
- Example: Codes 8, 16 (+2 bits 11),
- 16 (+2 bits 10) will expand to
- 12 code lengths of 8 (1 + 6 + 5)
- 17: Repeat a code length of 0 for 3 - 10 times.
- (3 bits of length)
- 18: Repeat a code length of 0 for 11 - 138 times
- (7 bits of length)
-
- A code length of 0 indicates that the corresponding symbol in
- the literal/length or distance alphabet will not occur in the
- block, and should not participate in the Huffman code
- construction algorithm given earlier. If only one distance
- code is used, it is encoded using one bit, not zero bits; in
- this case there is a single code length of one, with one unused
- code. One distance code of zero bits means that there are no
- distance codes used at all (the data is all literals).
-
- We can now define the format of the block:
-
- 5 Bits: HLIT, # of Literal/Length codes - 257 (257 - 286)
- 5 Bits: HDIST, # of Distance codes - 1 (1 - 32)
- 4 Bits: HCLEN, # of Code Length codes - 4 (4 - 19)
-
-
-
-Deutsch Informational [Page 13]
-
-RFC 1951 DEFLATE Compressed Data Format Specification May 1996
-
-
- (HCLEN + 4) x 3 bits: code lengths for the code length
- alphabet given just above, in the order: 16, 17, 18,
- 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15
-
- These code lengths are interpreted as 3-bit integers
- (0-7); as above, a code length of 0 means the
- corresponding symbol (literal/length or distance code
- length) is not used.
-
- HLIT + 257 code lengths for the literal/length alphabet,
- encoded using the code length Huffman code
-
- HDIST + 1 code lengths for the distance alphabet,
- encoded using the code length Huffman code
-
- The actual compressed data of the block,
- encoded using the literal/length and distance Huffman
- codes
-
- The literal/length symbol 256 (end of data),
- encoded using the literal/length Huffman code
-
- The code length repeat codes can cross from HLIT + 257 to the
- HDIST + 1 code lengths. In other words, all code lengths form
- a single sequence of HLIT + HDIST + 258 values.
-
- 3.3. Compliance
-
- A compressor may limit further the ranges of values specified in
- the previous section and still be compliant; for example, it may
- limit the range of backward pointers to some value smaller than
- 32K. Similarly, a compressor may limit the size of blocks so that
- a compressible block fits in memory.
-
- A compliant decompressor must accept the full range of possible
- values defined in the previous section, and must accept blocks of
- arbitrary size.
-
-4. Compression algorithm details
-
- While it is the intent of this document to define the "deflate"
- compressed data format without reference to any particular
- compression algorithm, the format is related to the compressed
- formats produced by LZ77 (Lempel-Ziv 1977, see reference [2] below);
- since many variations of LZ77 are patented, it is strongly
- recommended that the implementor of a compressor follow the general
- algorithm presented here, which is known not to be patented per se.
- The material in this section is not part of the definition of the
-
-
-
-Deutsch Informational [Page 14]
-
-RFC 1951 DEFLATE Compressed Data Format Specification May 1996
-
-
- specification per se, and a compressor need not follow it in order to
- be compliant.
-
- The compressor terminates a block when it determines that starting a
- new block with fresh trees would be useful, or when the block size
- fills up the compressor's block buffer.
-
- The compressor uses a chained hash table to find duplicated strings,
- using a hash function that operates on 3-byte sequences. At any
- given point during compression, let XYZ be the next 3 input bytes to
- be examined (not necessarily all different, of course). First, the
- compressor examines the hash chain for XYZ. If the chain is empty,
- the compressor simply writes out X as a literal byte and advances one
- byte in the input. If the hash chain is not empty, indicating that
- the sequence XYZ (or, if we are unlucky, some other 3 bytes with the
- same hash function value) has occurred recently, the compressor
- compares all strings on the XYZ hash chain with the actual input data
- sequence starting at the current point, and selects the longest
- match.
-
- The compressor searches the hash chains starting with the most recent
- strings, to favor small distances and thus take advantage of the
- Huffman encoding. The hash chains are singly linked. There are no
- deletions from the hash chains; the algorithm simply discards matches
- that are too old. To avoid a worst-case situation, very long hash
- chains are arbitrarily truncated at a certain length, determined by a
- run-time parameter.
-
- To improve overall compression, the compressor optionally defers the
- selection of matches ("lazy matching"): after a match of length N has
- been found, the compressor searches for a longer match starting at
- the next input byte. If it finds a longer match, it truncates the
- previous match to a length of one (thus producing a single literal
- byte) and then emits the longer match. Otherwise, it emits the
- original match, and, as described above, advances N bytes before
- continuing.
-
- Run-time parameters also control this "lazy match" procedure. If
- compression ratio is most important, the compressor attempts a
- complete second search regardless of the length of the first match.
- In the normal case, if the current match is "long enough", the
- compressor reduces the search for a longer match, thus speeding up
- the process. If speed is most important, the compressor inserts new
- strings in the hash table only when no match was found, or when the
- match is not "too long". This degrades the compression ratio but
- saves time since there are both fewer insertions and fewer searches.
-
-
-
-
-
-Deutsch Informational [Page 15]
-
-RFC 1951 DEFLATE Compressed Data Format Specification May 1996
-
-
-5. References
-
- [1] Huffman, D. A., "A Method for the Construction of Minimum
- Redundancy Codes", Proceedings of the Institute of Radio
- Engineers, September 1952, Volume 40, Number 9, pp. 1098-1101.
-
- [2] Ziv J., Lempel A., "A Universal Algorithm for Sequential Data
- Compression", IEEE Transactions on Information Theory, Vol. 23,
- No. 3, pp. 337-343.
-
- [3] Gailly, J.-L., and Adler, M., ZLIB documentation and sources,
- available in ftp://ftp.uu.net/pub/archiving/zip/doc/
-
- [4] Gailly, J.-L., and Adler, M., GZIP documentation and sources,
- available as gzip-*.tar in ftp://prep.ai.mit.edu/pub/gnu/
-
- [5] Schwartz, E. S., and Kallick, B. "Generating a canonical prefix
- encoding." Comm. ACM, 7,3 (Mar. 1964), pp. 166-169.
-
- [6] Hirschberg and Lelewer, "Efficient decoding of prefix codes,"
- Comm. ACM, 33,4, April 1990, pp. 449-459.
-
-6. Security Considerations
-
- Any data compression method involves the reduction of redundancy in
- the data. Consequently, any corruption of the data is likely to have
- severe effects and be difficult to correct. Uncompressed text, on
- the other hand, will probably still be readable despite the presence
- of some corrupted bytes.
-
- It is recommended that systems using this data format provide some
- means of validating the integrity of the compressed data. See
- reference [3], for example.
-
-7. Source code
-
- Source code for a C language implementation of a "deflate" compliant
- compressor and decompressor is available within the zlib package at
- ftp://ftp.uu.net/pub/archiving/zip/zlib/.
-
-8. Acknowledgements
-
- Trademarks cited in this document are the property of their
- respective owners.
-
- Phil Katz designed the deflate format. Jean-Loup Gailly and Mark
- Adler wrote the related software described in this specification.
- Glenn Randers-Pehrson converted this document to RFC and HTML format.
-
-
-
-Deutsch Informational [Page 16]
-
-RFC 1951 DEFLATE Compressed Data Format Specification May 1996
-
-
-9. Author's Address
-
- L. Peter Deutsch
- Aladdin Enterprises
- 203 Santa Margarita Ave.
- Menlo Park, CA 94025
-
- Phone: (415) 322-0103 (AM only)
- FAX: (415) 322-1734
- EMail: <ghost@aladdin.com>
-
- Questions about the technical content of this specification can be
- sent by email to:
-
- Jean-Loup Gailly <gzip@prep.ai.mit.edu> and
- Mark Adler <madler@alumni.caltech.edu>
-
- Editorial comments on this specification can be sent by email to:
-
- L. Peter Deutsch <ghost@aladdin.com> and
- Glenn Randers-Pehrson <randeg@alumni.rpi.edu>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-Deutsch Informational [Page 17]
-
diff --git a/compat/zlib/doc/rfc1952.txt b/compat/zlib/doc/rfc1952.txt
deleted file mode 100644
index a8e51b4..0000000
--- a/compat/zlib/doc/rfc1952.txt
+++ /dev/null
@@ -1,675 +0,0 @@
-
-
-
-
-
-
-Network Working Group P. Deutsch
-Request for Comments: 1952 Aladdin Enterprises
-Category: Informational May 1996
-
-
- GZIP file format specification version 4.3
-
-Status of This Memo
-
- This memo provides information for the Internet community. This memo
- does not specify an Internet standard of any kind. Distribution of
- this memo is unlimited.
-
-IESG Note:
-
- The IESG takes no position on the validity of any Intellectual
- Property Rights statements contained in this document.
-
-Notices
-
- Copyright (c) 1996 L. Peter Deutsch
-
- Permission is granted to copy and distribute this document for any
- purpose and without charge, including translations into other
- languages and incorporation into compilations, provided that the
- copyright notice and this notice are preserved, and that any
- substantive changes or deletions from the original are clearly
- marked.
-
- A pointer to the latest version of this and related documentation in
- HTML format can be found at the URL
- <ftp://ftp.uu.net/graphics/png/documents/zlib/zdoc-index.html>.
-
-Abstract
-
- This specification defines a lossless compressed data format that is
- compatible with the widely used GZIP utility. The format includes a
- cyclic redundancy check value for detecting data corruption. The
- format presently uses the DEFLATE method of compression but can be
- easily extended to use other compression methods. The format can be
- implemented readily in a manner not covered by patents.
-
-
-
-
-
-
-
-
-
-
-Deutsch Informational [Page 1]
-
-RFC 1952 GZIP File Format Specification May 1996
-
-
-Table of Contents
-
- 1. Introduction ................................................... 2
- 1.1. Purpose ................................................... 2
- 1.2. Intended audience ......................................... 3
- 1.3. Scope ..................................................... 3
- 1.4. Compliance ................................................ 3
- 1.5. Definitions of terms and conventions used ................. 3
- 1.6. Changes from previous versions ............................ 3
- 2. Detailed specification ......................................... 4
- 2.1. Overall conventions ....................................... 4
- 2.2. File format ............................................... 5
- 2.3. Member format ............................................. 5
- 2.3.1. Member header and trailer ........................... 6
- 2.3.1.1. Extra field ................................... 8
- 2.3.1.2. Compliance .................................... 9
- 3. References .................................................. 9
- 4. Security Considerations .................................... 10
- 5. Acknowledgements ........................................... 10
- 6. Author's Address ........................................... 10
- 7. Appendix: Jean-Loup Gailly's gzip utility .................. 11
- 8. Appendix: Sample CRC Code .................................. 11
-
-1. Introduction
-
- 1.1. Purpose
-
- The purpose of this specification is to define a lossless
- compressed data format that:
-
- * Is independent of CPU type, operating system, file system,
- and character set, and hence can be used for interchange;
- * Can compress or decompress a data stream (as opposed to a
- randomly accessible file) to produce another data stream,
- using only an a priori bounded amount of intermediate
- storage, and hence can be used in data communications or
- similar structures such as Unix filters;
- * Compresses data with efficiency comparable to the best
- currently available general-purpose compression methods,
- and in particular considerably better than the "compress"
- program;
- * Can be implemented readily in a manner not covered by
- patents, and hence can be practiced freely;
- * Is compatible with the file format produced by the current
- widely used gzip utility, in that conforming decompressors
- will be able to read data produced by the existing gzip
- compressor.
-
-
-
-
-Deutsch Informational [Page 2]
-
-RFC 1952 GZIP File Format Specification May 1996
-
-
- The data format defined by this specification does not attempt to:
-
- * Provide random access to compressed data;
- * Compress specialized data (e.g., raster graphics) as well as
- the best currently available specialized algorithms.
-
- 1.2. Intended audience
-
- This specification is intended for use by implementors of software
- to compress data into gzip format and/or decompress data from gzip
- format.
-
- The text of the specification assumes a basic background in
- programming at the level of bits and other primitive data
- representations.
-
- 1.3. Scope
-
- The specification specifies a compression method and a file format
- (the latter assuming only that a file can store a sequence of
- arbitrary bytes). It does not specify any particular interface to
- a file system or anything about character sets or encodings
- (except for file names and comments, which are optional).
-
- 1.4. Compliance
-
- Unless otherwise indicated below, a compliant decompressor must be
- able to accept and decompress any file that conforms to all the
- specifications presented here; a compliant compressor must produce
- files that conform to all the specifications presented here. The
- material in the appendices is not part of the specification per se
- and is not relevant to compliance.
-
- 1.5. Definitions of terms and conventions used
-
- byte: 8 bits stored or transmitted as a unit (same as an octet).
- (For this specification, a byte is exactly 8 bits, even on
- machines which store a character on a number of bits different
- from 8.) See below for the numbering of bits within a byte.
-
- 1.6. Changes from previous versions
-
- There have been no technical changes to the gzip format since
- version 4.1 of this specification. In version 4.2, some
- terminology was changed, and the sample CRC code was rewritten for
- clarity and to eliminate the requirement for the caller to do pre-
- and post-conditioning. Version 4.3 is a conversion of the
- specification to RFC style.
-
-
-
-Deutsch Informational [Page 3]
-
-RFC 1952 GZIP File Format Specification May 1996
-
-
-2. Detailed specification
-
- 2.1. Overall conventions
-
- In the diagrams below, a box like this:
-
- +---+
- | | <-- the vertical bars might be missing
- +---+
-
- represents one byte; a box like this:
-
- +==============+
- | |
- +==============+
-
- represents a variable number of bytes.
-
- Bytes stored within a computer do not have a "bit order", since
- they are always treated as a unit. However, a byte considered as
- an integer between 0 and 255 does have a most- and least-
- significant bit, and since we write numbers with the most-
- significant digit on the left, we also write bytes with the most-
- significant bit on the left. In the diagrams below, we number the
- bits of a byte so that bit 0 is the least-significant bit, i.e.,
- the bits are numbered:
-
- +--------+
- |76543210|
- +--------+
-
- This document does not address the issue of the order in which
- bits of a byte are transmitted on a bit-sequential medium, since
- the data format described here is byte- rather than bit-oriented.
-
- Within a computer, a number may occupy multiple bytes. All
- multi-byte numbers in the format described here are stored with
- the least-significant byte first (at the lower memory address).
- For example, the decimal number 520 is stored as:
-
- 0 1
- +--------+--------+
- |00001000|00000010|
- +--------+--------+
- ^ ^
- | |
- | + more significant byte = 2 x 256
- + less significant byte = 8
-
-
-
-Deutsch Informational [Page 4]
-
-RFC 1952 GZIP File Format Specification May 1996
-
-
- 2.2. File format
-
- A gzip file consists of a series of "members" (compressed data
- sets). The format of each member is specified in the following
- section. The members simply appear one after another in the file,
- with no additional information before, between, or after them.
-
- 2.3. Member format
-
- Each member has the following structure:
-
- +---+---+---+---+---+---+---+---+---+---+
- |ID1|ID2|CM |FLG| MTIME |XFL|OS | (more-->)
- +---+---+---+---+---+---+---+---+---+---+
-
- (if FLG.FEXTRA set)
-
- +---+---+=================================+
- | XLEN |...XLEN bytes of "extra field"...| (more-->)
- +---+---+=================================+
-
- (if FLG.FNAME set)
-
- +=========================================+
- |...original file name, zero-terminated...| (more-->)
- +=========================================+
-
- (if FLG.FCOMMENT set)
-
- +===================================+
- |...file comment, zero-terminated...| (more-->)
- +===================================+
-
- (if FLG.FHCRC set)
-
- +---+---+
- | CRC16 |
- +---+---+
-
- +=======================+
- |...compressed blocks...| (more-->)
- +=======================+
-
- 0 1 2 3 4 5 6 7
- +---+---+---+---+---+---+---+---+
- | CRC32 | ISIZE |
- +---+---+---+---+---+---+---+---+
-
-
-
-
-Deutsch Informational [Page 5]
-
-RFC 1952 GZIP File Format Specification May 1996
-
-
- 2.3.1. Member header and trailer
-
- ID1 (IDentification 1)
- ID2 (IDentification 2)
- These have the fixed values ID1 = 31 (0x1f, \037), ID2 = 139
- (0x8b, \213), to identify the file as being in gzip format.
-
- CM (Compression Method)
- This identifies the compression method used in the file. CM
- = 0-7 are reserved. CM = 8 denotes the "deflate"
- compression method, which is the one customarily used by
- gzip and which is documented elsewhere.
-
- FLG (FLaGs)
- This flag byte is divided into individual bits as follows:
-
- bit 0 FTEXT
- bit 1 FHCRC
- bit 2 FEXTRA
- bit 3 FNAME
- bit 4 FCOMMENT
- bit 5 reserved
- bit 6 reserved
- bit 7 reserved
-
- If FTEXT is set, the file is probably ASCII text. This is
- an optional indication, which the compressor may set by
- checking a small amount of the input data to see whether any
- non-ASCII characters are present. In case of doubt, FTEXT
- is cleared, indicating binary data. For systems which have
- different file formats for ascii text and binary data, the
- decompressor can use FTEXT to choose the appropriate format.
- We deliberately do not specify the algorithm used to set
- this bit, since a compressor always has the option of
- leaving it cleared and a decompressor always has the option
- of ignoring it and letting some other program handle issues
- of data conversion.
-
- If FHCRC is set, a CRC16 for the gzip header is present,
- immediately before the compressed data. The CRC16 consists
- of the two least significant bytes of the CRC32 for all
- bytes of the gzip header up to and not including the CRC16.
- [The FHCRC bit was never set by versions of gzip up to
- 1.2.4, even though it was documented with a different
- meaning in gzip 1.2.4.]
-
- If FEXTRA is set, optional extra fields are present, as
- described in a following section.
-
-
-
-Deutsch Informational [Page 6]
-
-RFC 1952 GZIP File Format Specification May 1996
-
-
- If FNAME is set, an original file name is present,
- terminated by a zero byte. The name must consist of ISO
- 8859-1 (LATIN-1) characters; on operating systems using
- EBCDIC or any other character set for file names, the name
- must be translated to the ISO LATIN-1 character set. This
- is the original name of the file being compressed, with any
- directory components removed, and, if the file being
- compressed is on a file system with case insensitive names,
- forced to lower case. There is no original file name if the
- data was compressed from a source other than a named file;
- for example, if the source was stdin on a Unix system, there
- is no file name.
-
- If FCOMMENT is set, a zero-terminated file comment is
- present. This comment is not interpreted; it is only
- intended for human consumption. The comment must consist of
- ISO 8859-1 (LATIN-1) characters. Line breaks should be
- denoted by a single line feed character (10 decimal).
-
- Reserved FLG bits must be zero.
-
- MTIME (Modification TIME)
- This gives the most recent modification time of the original
- file being compressed. The time is in Unix format, i.e.,
- seconds since 00:00:00 GMT, Jan. 1, 1970. (Note that this
- may cause problems for MS-DOS and other systems that use
- local rather than Universal time.) If the compressed data
- did not come from a file, MTIME is set to the time at which
- compression started. MTIME = 0 means no time stamp is
- available.
-
- XFL (eXtra FLags)
- These flags are available for use by specific compression
- methods. The "deflate" method (CM = 8) sets these flags as
- follows:
-
- XFL = 2 - compressor used maximum compression,
- slowest algorithm
- XFL = 4 - compressor used fastest algorithm
-
- OS (Operating System)
- This identifies the type of file system on which compression
- took place. This may be useful in determining end-of-line
- convention for text files. The currently defined values are
- as follows:
-
-
-
-
-
-
-Deutsch Informational [Page 7]
-
-RFC 1952 GZIP File Format Specification May 1996
-
-
- 0 - FAT filesystem (MS-DOS, OS/2, NT/Win32)
- 1 - Amiga
- 2 - VMS (or OpenVMS)
- 3 - Unix
- 4 - VM/CMS
- 5 - Atari TOS
- 6 - HPFS filesystem (OS/2, NT)
- 7 - Macintosh
- 8 - Z-System
- 9 - CP/M
- 10 - TOPS-20
- 11 - NTFS filesystem (NT)
- 12 - QDOS
- 13 - Acorn RISCOS
- 255 - unknown
-
- XLEN (eXtra LENgth)
- If FLG.FEXTRA is set, this gives the length of the optional
- extra field. See below for details.
-
- CRC32 (CRC-32)
- This contains a Cyclic Redundancy Check value of the
- uncompressed data computed according to CRC-32 algorithm
- used in the ISO 3309 standard and in section 8.1.1.6.2 of
- ITU-T recommendation V.42. (See http://www.iso.ch for
- ordering ISO documents. See gopher://info.itu.ch for an
- online version of ITU-T V.42.)
-
- ISIZE (Input SIZE)
- This contains the size of the original (uncompressed) input
- data modulo 2^32.
-
- 2.3.1.1. Extra field
-
- If the FLG.FEXTRA bit is set, an "extra field" is present in
- the header, with total length XLEN bytes. It consists of a
- series of subfields, each of the form:
-
- +---+---+---+---+==================================+
- |SI1|SI2| LEN |... LEN bytes of subfield data ...|
- +---+---+---+---+==================================+
-
- SI1 and SI2 provide a subfield ID, typically two ASCII letters
- with some mnemonic value. Jean-Loup Gailly
- <gzip@prep.ai.mit.edu> is maintaining a registry of subfield
- IDs; please send him any subfield ID you wish to use. Subfield
- IDs with SI2 = 0 are reserved for future use. The following
- IDs are currently defined:
-
-
-
-Deutsch Informational [Page 8]
-
-RFC 1952 GZIP File Format Specification May 1996
-
-
- SI1 SI2 Data
- ---------- ---------- ----
- 0x41 ('A') 0x70 ('P') Apollo file type information
-
- LEN gives the length of the subfield data, excluding the 4
- initial bytes.
-
- 2.3.1.2. Compliance
-
- A compliant compressor must produce files with correct ID1,
- ID2, CM, CRC32, and ISIZE, but may set all the other fields in
- the fixed-length part of the header to default values (255 for
- OS, 0 for all others). The compressor must set all reserved
- bits to zero.
-
- A compliant decompressor must check ID1, ID2, and CM, and
- provide an error indication if any of these have incorrect
- values. It must examine FEXTRA/XLEN, FNAME, FCOMMENT and FHCRC
- at least so it can skip over the optional fields if they are
- present. It need not examine any other part of the header or
- trailer; in particular, a decompressor may ignore FTEXT and OS
- and always produce binary output, and still be compliant. A
- compliant decompressor must give an error indication if any
- reserved bit is non-zero, since such a bit could indicate the
- presence of a new field that would cause subsequent data to be
- interpreted incorrectly.
-
-3. References
-
- [1] "Information Processing - 8-bit single-byte coded graphic
- character sets - Part 1: Latin alphabet No.1" (ISO 8859-1:1987).
- The ISO 8859-1 (Latin-1) character set is a superset of 7-bit
- ASCII. Files defining this character set are available as
- iso_8859-1.* in ftp://ftp.uu.net/graphics/png/documents/
-
- [2] ISO 3309
-
- [3] ITU-T recommendation V.42
-
- [4] Deutsch, L.P.,"DEFLATE Compressed Data Format Specification",
- available in ftp://ftp.uu.net/pub/archiving/zip/doc/
-
- [5] Gailly, J.-L., GZIP documentation, available as gzip-*.tar in
- ftp://prep.ai.mit.edu/pub/gnu/
-
- [6] Sarwate, D.V., "Computation of Cyclic Redundancy Checks via Table
- Look-Up", Communications of the ACM, 31(8), pp.1008-1013.
-
-
-
-
-Deutsch Informational [Page 9]
-
-RFC 1952 GZIP File Format Specification May 1996
-
-
- [7] Schwaderer, W.D., "CRC Calculation", April 85 PC Tech Journal,
- pp.118-133.
-
- [8] ftp://ftp.adelaide.edu.au/pub/rocksoft/papers/crc_v3.txt,
- describing the CRC concept.
-
-4. Security Considerations
-
- Any data compression method involves the reduction of redundancy in
- the data. Consequently, any corruption of the data is likely to have
- severe effects and be difficult to correct. Uncompressed text, on
- the other hand, will probably still be readable despite the presence
- of some corrupted bytes.
-
- It is recommended that systems using this data format provide some
- means of validating the integrity of the compressed data, such as by
- setting and checking the CRC-32 check value.
-
-5. Acknowledgements
-
- Trademarks cited in this document are the property of their
- respective owners.
-
- Jean-Loup Gailly designed the gzip format and wrote, with Mark Adler,
- the related software described in this specification. Glenn
- Randers-Pehrson converted this document to RFC and HTML format.
-
-6. Author's Address
-
- L. Peter Deutsch
- Aladdin Enterprises
- 203 Santa Margarita Ave.
- Menlo Park, CA 94025
-
- Phone: (415) 322-0103 (AM only)
- FAX: (415) 322-1734
- EMail: <ghost@aladdin.com>
-
- Questions about the technical content of this specification can be
- sent by email to:
-
- Jean-Loup Gailly <gzip@prep.ai.mit.edu> and
- Mark Adler <madler@alumni.caltech.edu>
-
- Editorial comments on this specification can be sent by email to:
-
- L. Peter Deutsch <ghost@aladdin.com> and
- Glenn Randers-Pehrson <randeg@alumni.rpi.edu>
-
-
-
-Deutsch Informational [Page 10]
-
-RFC 1952 GZIP File Format Specification May 1996
-
-
-7. Appendix: Jean-Loup Gailly's gzip utility
-
- The most widely used implementation of gzip compression, and the
- original documentation on which this specification is based, were
- created by Jean-Loup Gailly <gzip@prep.ai.mit.edu>. Since this
- implementation is a de facto standard, we mention some more of its
- features here. Again, the material in this section is not part of
- the specification per se, and implementations need not follow it to
- be compliant.
-
- When compressing or decompressing a file, gzip preserves the
- protection, ownership, and modification time attributes on the local
- file system, since there is no provision for representing protection
- attributes in the gzip file format itself. Since the file format
- includes a modification time, the gzip decompressor provides a
- command line switch that assigns the modification time from the file,
- rather than the local modification time of the compressed input, to
- the decompressed output.
-
-8. Appendix: Sample CRC Code
-
- The following sample code represents a practical implementation of
- the CRC (Cyclic Redundancy Check). (See also ISO 3309 and ITU-T V.42
- for a formal specification.)
-
- The sample code is in the ANSI C programming language. Non C users
- may find it easier to read with these hints:
-
- & Bitwise AND operator.
- ^ Bitwise exclusive-OR operator.
- >> Bitwise right shift operator. When applied to an
- unsigned quantity, as here, right shift inserts zero
- bit(s) at the left.
- ! Logical NOT operator.
- ++ "n++" increments the variable n.
- 0xNNN 0x introduces a hexadecimal (base 16) constant.
- Suffix L indicates a long value (at least 32 bits).
-
- /* Table of CRCs of all 8-bit messages. */
- unsigned long crc_table[256];
-
- /* Flag: has the table been computed? Initially false. */
- int crc_table_computed = 0;
-
- /* Make the table for a fast CRC. */
- void make_crc_table(void)
- {
- unsigned long c;
-
-
-
-Deutsch Informational [Page 11]
-
-RFC 1952 GZIP File Format Specification May 1996
-
-
- int n, k;
- for (n = 0; n < 256; n++) {
- c = (unsigned long) n;
- for (k = 0; k < 8; k++) {
- if (c & 1) {
- c = 0xedb88320L ^ (c >> 1);
- } else {
- c = c >> 1;
- }
- }
- crc_table[n] = c;
- }
- crc_table_computed = 1;
- }
-
- /*
- Update a running crc with the bytes buf[0..len-1] and return
- the updated crc. The crc should be initialized to zero. Pre- and
- post-conditioning (one's complement) is performed within this
- function so it shouldn't be done by the caller. Usage example:
-
- unsigned long crc = 0L;
-
- while (read_buffer(buffer, length) != EOF) {
- crc = update_crc(crc, buffer, length);
- }
- if (crc != original_crc) error();
- */
- unsigned long update_crc(unsigned long crc,
- unsigned char *buf, int len)
- {
- unsigned long c = crc ^ 0xffffffffL;
- int n;
-
- if (!crc_table_computed)
- make_crc_table();
- for (n = 0; n < len; n++) {
- c = crc_table[(c ^ buf[n]) & 0xff] ^ (c >> 8);
- }
- return c ^ 0xffffffffL;
- }
-
- /* Return the CRC of the bytes buf[0..len-1]. */
- unsigned long crc(unsigned char *buf, int len)
- {
- return update_crc(0L, buf, len);
- }
-
-
-
-
-Deutsch Informational [Page 12]
-
diff --git a/compat/zlib/doc/txtvsbin.txt b/compat/zlib/doc/txtvsbin.txt
deleted file mode 100644
index 3d0f063..0000000
--- a/compat/zlib/doc/txtvsbin.txt
+++ /dev/null
@@ -1,107 +0,0 @@
-A Fast Method for Identifying Plain Text Files
-==============================================
-
-
-Introduction
-------------
-
-Given a file coming from an unknown source, it is sometimes desirable
-to find out whether the format of that file is plain text. Although
-this may appear like a simple task, a fully accurate detection of the
-file type requires heavy-duty semantic analysis on the file contents.
-It is, however, possible to obtain satisfactory results by employing
-various heuristics.
-
-Previous versions of PKZip and other zip-compatible compression tools
-were using a crude detection scheme: if more than 80% (4/5) of the bytes
-found in a certain buffer are within the range [7..127], the file is
-labeled as plain text, otherwise it is labeled as binary. A prominent
-limitation of this scheme is the restriction to Latin-based alphabets.
-Other alphabets, like Greek, Cyrillic or Asian, make extensive use of
-the bytes within the range [128..255], and texts using these alphabets
-are most often misidentified by this scheme; in other words, the rate
-of false negatives is sometimes too high, which means that the recall
-is low. Another weakness of this scheme is a reduced precision, due to
-the false positives that may occur when binary files containing large
-amounts of textual characters are misidentified as plain text.
-
-In this article we propose a new, simple detection scheme that features
-a much increased precision and a near-100% recall. This scheme is
-designed to work on ASCII, Unicode and other ASCII-derived alphabets,
-and it handles single-byte encodings (ISO-8859, MacRoman, KOI8, etc.)
-and variable-sized encodings (ISO-2022, UTF-8, etc.). Wider encodings
-(UCS-2/UTF-16 and UCS-4/UTF-32) are not handled, however.
-
-
-The Algorithm
--------------
-
-The algorithm works by dividing the set of bytecodes [0..255] into three
-categories:
-- The white list of textual bytecodes:
- 9 (TAB), 10 (LF), 13 (CR), 32 (SPACE) to 255.
-- The gray list of tolerated bytecodes:
- 7 (BEL), 8 (BS), 11 (VT), 12 (FF), 26 (SUB), 27 (ESC).
-- The black list of undesired, non-textual bytecodes:
- 0 (NUL) to 6, 14 to 31.
-
-If a file contains at least one byte that belongs to the white list and
-no byte that belongs to the black list, then the file is categorized as
-plain text; otherwise, it is categorized as binary. (The boundary case,
-when the file is empty, automatically falls into the latter category.)
-
-
-Rationale
----------
-
-The idea behind this algorithm relies on two observations.
-
-The first observation is that, although the full range of 7-bit codes
-[0..127] is properly specified by the ASCII standard, most control
-characters in the range [0..31] are not used in practice. The only
-widely-used, almost universally-portable control codes are 9 (TAB),
-10 (LF) and 13 (CR). There are a few more control codes that are
-recognized on a reduced range of platforms and text viewers/editors:
-7 (BEL), 8 (BS), 11 (VT), 12 (FF), 26 (SUB) and 27 (ESC); but these
-codes are rarely (if ever) used alone, without being accompanied by
-some printable text. Even the newer, portable text formats such as
-XML avoid using control characters outside the list mentioned here.
-
-The second observation is that most of the binary files tend to contain
-control characters, especially 0 (NUL). Even though the older text
-detection schemes observe the presence of non-ASCII codes from the range
-[128..255], the precision rarely has to suffer if this upper range is
-labeled as textual, because the files that are genuinely binary tend to
-contain both control characters and codes from the upper range. On the
-other hand, the upper range needs to be labeled as textual, because it
-is used by virtually all ASCII extensions. In particular, this range is
-used for encoding non-Latin scripts.
-
-Since there is no counting involved, other than simply observing the
-presence or the absence of some byte values, the algorithm produces
-consistent results, regardless what alphabet encoding is being used.
-(If counting were involved, it could be possible to obtain different
-results on a text encoded, say, using ISO-8859-16 versus UTF-8.)
-
-There is an extra category of plain text files that are "polluted" with
-one or more black-listed codes, either by mistake or by peculiar design
-considerations. In such cases, a scheme that tolerates a small fraction
-of black-listed codes would provide an increased recall (i.e. more true
-positives). This, however, incurs a reduced precision overall, since
-false positives are more likely to appear in binary files that contain
-large chunks of textual data. Furthermore, "polluted" plain text should
-be regarded as binary by general-purpose text detection schemes, because
-general-purpose text processing algorithms might not be applicable.
-Under this premise, it is safe to say that our detection method provides
-a near-100% recall.
-
-Experiments have been run on many files coming from various platforms
-and applications. We tried plain text files, system logs, source code,
-formatted office documents, compiled object code, etc. The results
-confirm the optimistic assumptions about the capabilities of this
-algorithm.
-
-
---
-Cosmin Truta
-Last updated: 2006-May-28
diff --git a/doc/IntObj.3 b/doc/IntObj.3
index dc62642..2acb446 100644
--- a/doc/IntObj.3
+++ b/doc/IntObj.3
@@ -97,7 +97,7 @@ are provided by the C language standard. The \fBTcl_WideInt\fR type is a
typedef defined to be whatever signed integral type covers at least the
64-bit integer range (-9223372036854775808 to 9223372036854775807). Depending
on the platform and the C compiler, the actual type might be
-\fBlong int\fR, \fBlong long int\fR, \fBint64\fR, or something else.
+\fBlong int\fR, \fBlong long int\fR, \fB__int64\fR, or something else.
The \fBmp_int\fR type is a multiple-precision integer type defined
by the LibTomMath multiple-precision integer library.
.PP
diff --git a/doc/LinkVar.3 b/doc/LinkVar.3
index 0b746b0..c80d30d 100644
--- a/doc/LinkVar.3
+++ b/doc/LinkVar.3
@@ -4,7 +4,7 @@
'\"
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
-'\"
+'\"
.TH Tcl_LinkVar 3 7.5 Tcl "Tcl Library Procedures"
.so man.macros
.BS
diff --git a/generic/tcl.h b/generic/tcl.h
index 50a9074..759f824 100644
--- a/generic/tcl.h
+++ b/generic/tcl.h
@@ -41,7 +41,6 @@ extern "C" {
* unix/configure.in (2 LOC Major, 2 LOC minor, 1 LOC patch)
* win/configure.in (as above)
* win/tcl.m4 (not patchlevel)
- * win/makefile.bc (not patchlevel) 2 LOC
* README (sections 0 and 2, with and without separator)
* macosx/Tcl.pbproj/project.pbxproj (not patchlevel) 1 LOC
* macosx/Tcl.pbproj/default.pbxuser (not patchlevel) 1 LOC
@@ -373,8 +372,8 @@ typedef long LONG;
* we have one, we can have the other.)
*
* Also defines the following macros:
- * TCL_WIDE_INT_IS_LONG - if wide ints are really longs (i.e. we're on a real
- * 64-bit system.)
+ * TCL_WIDE_INT_IS_LONG - if wide ints are really longs (i.e. we're on a
+ * LP64 system such as modern Solaris or Linux ... not including Win64)
* Tcl_WideAsLong - forgetful converter from wideInt to long.
* Tcl_LongAsWide - sign-extending converter from long to wideInt.
* Tcl_WideAsDouble - converter from wideInt to double.
diff --git a/generic/tclAssembly.c b/generic/tclAssembly.c
index f56da8f..120fd9a 100644
--- a/generic/tclAssembly.c
+++ b/generic/tclAssembly.c
@@ -137,6 +137,8 @@ typedef enum TalInstType {
* ranges */
ASSEM_BOOL, /* One Boolean operand */
ASSEM_BOOL_LVT4, /* One Boolean, one 4-byte LVT ref. */
+ ASSEM_CLOCK_READ, /* 1-byte unsigned-integer case number, in the
+ * range 0-3 */
ASSEM_CONCAT1, /* 1-byte unsigned-integer operand count, must
* be strictly positive, consumes N, produces
* 1 */
@@ -350,6 +352,7 @@ static const TalInstDesc TalInstructionTable[] = {
{"bitnot", ASSEM_1BYTE, INST_BITNOT, 1, 1},
{"bitor", ASSEM_1BYTE, INST_BITOR, 2, 1},
{"bitxor", ASSEM_1BYTE, INST_BITXOR, 2, 1},
+ {"clockRead", ASSEM_CLOCK_READ, INST_CLOCK_READ, 0, 1},
{"concat", ASSEM_CONCAT1, INST_STR_CONCAT1, INT_MIN,1},
{"concatStk", ASSEM_LIST, INST_CONCAT_STK, INT_MIN,1},
{"coroName", ASSEM_1BYTE, INST_COROUTINE_NAME, 0, 1},
@@ -1363,6 +1366,23 @@ AssembleOneLine(
TclEmitInt4(localVar, envPtr);
break;
+ case ASSEM_CLOCK_READ:
+ if (parsePtr->numWords != 2) {
+ Tcl_WrongNumArgs(interp, 1, &instNameObj, "imm8");
+ goto cleanup;
+ }
+ if (GetIntegerOperand(assemEnvPtr, &tokenPtr, &opnd) != TCL_OK) {
+ goto cleanup;
+ }
+ if (opnd < 0 || opnd > 3) {
+ Tcl_SetObjResult(interp,
+ Tcl_NewStringObj("operand must be [0..3]", -1));
+ Tcl_SetErrorCode(interp, "TCL", "ASSEM", "OPERAND<0,>3", NULL);
+ goto cleanup;
+ }
+ BBEmitInstInt1(assemEnvPtr, tblIdx, opnd, opnd);
+ break;
+
case ASSEM_CONCAT1:
if (parsePtr->numWords != 2) {
Tcl_WrongNumArgs(interp, 1, &instNameObj, "imm8");
diff --git a/generic/tclBasic.c b/generic/tclBasic.c
index d6a460d..0486383 100644
--- a/generic/tclBasic.c
+++ b/generic/tclBasic.c
@@ -265,7 +265,6 @@ static const CmdInfo builtInCmds[] = {
{"cd", Tcl_CdObjCmd, NULL, NULL, 0},
{"close", Tcl_CloseObjCmd, NULL, NULL, CMD_IS_SAFE},
{"eof", Tcl_EofObjCmd, NULL, NULL, CMD_IS_SAFE},
- {"encoding", Tcl_EncodingObjCmd, NULL, NULL, 0},
{"exec", Tcl_ExecObjCmd, NULL, NULL, 0},
{"exit", Tcl_ExitObjCmd, NULL, NULL, 0},
{"fblocked", Tcl_FblockedObjCmd, NULL, NULL, CMD_IS_SAFE},
@@ -789,16 +788,17 @@ Tcl_CreateInterp(void)
}
/*
- * Create the "array", "binary", "chan", "dict", "file", "info",
- * "namespace" and "string" ensembles. Note that all these commands (and
- * their subcommands that are not present in the global namespace) are
- * wholly safe *except* for "file".
+ * Create the "array", "binary", "chan", "clock", "dict", "encoding",
+ * "file", "info", "namespace" and "string" ensembles. Note that all these
+ * commands (and their subcommands that are not present in the global
+ * namespace) are wholly safe *except* for "clock", "encoding" and "file".
*/
TclInitArrayCmd(interp);
TclInitBinaryCmd(interp);
TclInitChanCmd(interp);
TclInitDictCmd(interp);
+ TclInitEncodingCmd(interp);
TclInitFileCmd(interp);
TclInitInfoCmd(interp);
TclInitNamespaceCmd(interp);
@@ -1026,6 +1026,7 @@ TclHideUnsafeCommands(
Tcl_HideCommand(interp, cmdInfoPtr->name, cmdInfoPtr->name);
}
}
+ TclMakeEncodingCommandSafe(interp); /* Ugh! */
TclMakeFileCommandSafe(interp); /* Ugh! */
return TCL_OK;
}
@@ -8747,6 +8748,35 @@ TclNRCoroutineActivateCallback(
/*
*----------------------------------------------------------------------
*
+ * TclNREvalList --
+ *
+ * Callback to invoke command as list, used in order to delayed
+ * processing of canonical list command in sane environment.
+ *
+ *----------------------------------------------------------------------
+ */
+
+static int
+TclNREvalList(
+ ClientData data[],
+ Tcl_Interp *interp,
+ int result)
+{
+ int objc;
+ Tcl_Obj **objv;
+ Tcl_Obj *listPtr = data[0];
+
+ Tcl_IncrRefCount(listPtr);
+
+ TclMarkTailcall(interp);
+ TclNRAddCallback(interp, TclNRReleaseValues, listPtr, NULL, NULL,NULL);
+ TclListObjGetElements(NULL, listPtr, &objc, &objv);
+ return TclNREvalObjv(interp, objc, objv, 0, NULL);
+}
+
+/*
+ *----------------------------------------------------------------------
+ *
* NRCoroInjectObjCmd --
*
* Implementation of [::tcl::unsupported::inject] command.
@@ -8798,7 +8828,8 @@ NRCoroInjectObjCmd(
*/
iPtr->execEnvPtr = corPtr->eePtr;
- TclNREvalObjEx(interp, Tcl_NewListObj(objc-2, objv+2), 0, NULL, INT_MIN);
+ TclNRAddCallback(interp, TclNREvalList, Tcl_NewListObj(objc-2, objv+2),
+ NULL, NULL, NULL);
iPtr->execEnvPtr = savedEEPtr;
return TCL_OK;
diff --git a/generic/tclBinary.c b/generic/tclBinary.c
index 981f174..2a4fd84 100644
--- a/generic/tclBinary.c
+++ b/generic/tclBinary.c
@@ -1653,7 +1653,15 @@ GetFormatSpec(
(*formatPtr)++;
*countPtr = BINARY_ALL;
} else if (isdigit(UCHAR(**formatPtr))) { /* INTL: digit */
- *countPtr = strtoul(*formatPtr, (char **) formatPtr, 10);
+ unsigned long int count;
+
+ errno = 0;
+ count = strtoul(*formatPtr, (char **) formatPtr, 10);
+ if (errno || (count > (unsigned long) INT_MAX)) {
+ *countPtr = INT_MAX;
+ } else {
+ *countPtr = (int) count;
+ }
} else {
*countPtr = BINARY_NOCOUNT;
}
diff --git a/generic/tclClock.c b/generic/tclClock.c
index c3b29e9..02b2845 100644
--- a/generic/tclClock.c
+++ b/generic/tclClock.c
@@ -208,11 +208,7 @@ struct ClockCommand {
};
static const struct ClockCommand clockCommands[] = {
- { "clicks", ClockClicksObjCmd },
{ "getenv", ClockGetenvObjCmd },
- { "microseconds", ClockMicrosecondsObjCmd },
- { "milliseconds", ClockMillisecondsObjCmd },
- { "seconds", ClockSecondsObjCmd },
{ "Oldscan", TclClockOldscanObjCmd },
{ "ConvertLocalToUTC", ClockConvertlocaltoutcObjCmd },
{ "GetDateFields", ClockGetdatefieldsObjCmd },
@@ -253,6 +249,19 @@ TclClockInit(
ClockClientData *data;
int i;
+ /* Structure of the 'clock' ensemble */
+
+ static const EnsembleImplMap clockImplMap[] = {
+ {"add", NULL, TclCompileBasicMin1ArgCmd, NULL, NULL, 0},
+ {"clicks", ClockClicksObjCmd, TclCompileClockClicksCmd, NULL, NULL, 0},
+ {"format", NULL, TclCompileBasicMin1ArgCmd, NULL, NULL, 0},
+ {"microseconds", ClockMicrosecondsObjCmd, TclCompileClockReadingCmd, NULL, INT2PTR(1), 0},
+ {"milliseconds", ClockMillisecondsObjCmd, TclCompileClockReadingCmd, NULL, INT2PTR(2), 0},
+ {"scan", NULL, TclCompileBasicMin1ArgCmd, NULL, NULL , 0},
+ {"seconds", ClockSecondsObjCmd, TclCompileClockReadingCmd, NULL, INT2PTR(3), 0},
+ {NULL, NULL, NULL, NULL, NULL, 0}
+ };
+
/*
* Safe interps get [::clock] as alias to a master, so do not need their
* own copies of the support routines.
@@ -276,6 +285,7 @@ TclClockInit(
/*
* Install the commands.
+ * TODO - Let Tcl_MakeEnsemble do this?
*/
#define TCL_CLOCK_PREFIX_LEN 14 /* == strlen("::tcl::clock::") */
@@ -286,6 +296,10 @@ TclClockInit(
Tcl_CreateObjCommand(interp, cmdName, clockCmdPtr->objCmdProc, data,
ClockDeleteCmdProc);
}
+
+ /* Make the clock ensemble */
+
+ TclMakeEnsemble(interp, "clock", clockImplMap);
}
/*
diff --git a/generic/tclCmdAH.c b/generic/tclCmdAH.c
index 4c299f8..a48dfc7 100644
--- a/generic/tclCmdAH.c
+++ b/generic/tclCmdAH.c
@@ -46,9 +46,24 @@ struct ForeachState {
static int CheckAccess(Tcl_Interp *interp, Tcl_Obj *pathPtr,
int mode);
+static int BadEncodingSubcommand(ClientData dummy,
+ Tcl_Interp *interp, int objc,
+ Tcl_Obj *const objv[]);
+static int EncodingConvertfromObjCmd(ClientData dummy,
+ Tcl_Interp *interp, int objc,
+ Tcl_Obj *const objv[]);
+static int EncodingConverttoObjCmd(ClientData dummy,
+ Tcl_Interp *interp, int objc,
+ Tcl_Obj *const objv[]);
static int EncodingDirsObjCmd(ClientData dummy,
Tcl_Interp *interp, int objc,
Tcl_Obj *const objv[]);
+static int EncodingNamesObjCmd(ClientData dummy,
+ Tcl_Interp *interp, int objc,
+ Tcl_Obj *const objv[]);
+static int EncodingSystemObjCmd(ClientData dummy,
+ Tcl_Interp *interp, int objc,
+ Tcl_Obj *const objv[]);
static inline int ForeachAssignments(Tcl_Interp *interp,
struct ForeachState *statePtr);
static inline void ForeachCleanup(Tcl_Interp *interp,
@@ -541,79 +556,280 @@ Tcl_EncodingObjCmd(
switch ((enum options) index) {
case ENC_CONVERTTO:
- case ENC_CONVERTFROM: {
- Tcl_Obj *data;
- Tcl_DString ds;
- Tcl_Encoding encoding;
- int length;
- const char *stringPtr;
-
- if (objc == 3) {
- encoding = Tcl_GetEncoding(interp, NULL);
- data = objv[2];
- } else if (objc == 4) {
- if (Tcl_GetEncodingFromObj(interp, objv[2], &encoding) != TCL_OK) {
- return TCL_ERROR;
- }
- data = objv[3];
- } else {
- Tcl_WrongNumArgs(interp, 2, objv, "?encoding? data");
- return TCL_ERROR;
- }
+ return EncodingConverttoObjCmd(dummy, interp, objc, objv);
+ case ENC_CONVERTFROM:
+ return EncodingConvertfromObjCmd(dummy, interp, objc, objv);
+ case ENC_DIRS:
+ return EncodingDirsObjCmd(dummy, interp, objc, objv);
+ case ENC_NAMES:
+ return EncodingNamesObjCmd(dummy, interp, objc, objv);
+ case ENC_SYSTEM:
+ return EncodingSystemObjCmd(dummy, interp, objc, objv);
+ }
+ return TCL_OK;
+}
+
+/*
+ *-----------------------------------------------------------------------------
+ *
+ * TclInitEncodingCmd --
+ *
+ * This function creates the 'encoding' ensemble.
+ *
+ * Results:
+ * Returns the Tcl_Command so created.
+ *
+ * Side effects:
+ * The ensemble is initialized.
+ *
+ * This command is hidden in a safe interpreter.
+ */
- if ((enum options) index == ENC_CONVERTFROM) {
- /*
- * Treat the string as binary data.
- */
+Tcl_Command
+TclInitEncodingCmd(
+ Tcl_Interp* interp) /* Tcl interpreter */
+{
+ static const EnsembleImplMap encodingImplMap[] = {
+ {"convertfrom", EncodingConvertfromObjCmd, TclCompileBasic1Or2ArgCmd, NULL, NULL, 0},
+ {"convertto", EncodingConverttoObjCmd, TclCompileBasic1Or2ArgCmd, NULL, NULL, 0},
+ {"dirs", EncodingDirsObjCmd, TclCompileBasic0Or1ArgCmd, NULL, NULL, 0},
+ {"names", EncodingNamesObjCmd, TclCompileBasic0ArgCmd, NULL, NULL, 0},
+ {"system", EncodingSystemObjCmd, TclCompileBasic0Or1ArgCmd, NULL, NULL, 0},
+ {NULL, NULL, NULL, NULL, NULL, 0}
+ };
- stringPtr = (char *) Tcl_GetByteArrayFromObj(data, &length);
- Tcl_ExternalToUtfDString(encoding, stringPtr, length, &ds);
+ return TclMakeEnsemble(interp, "encoding", encodingImplMap);
+}
+
+/*
+ *-----------------------------------------------------------------------------
+ *
+ * TclMakeEncodingCommandSafe --
+ *
+ * This function hides the unsafe 'dirs' and 'system' subcommands of
+ * the "encoding" Tcl command ensemble. It must be called only from
+ * TclHideUnsafeCommands.
+ *
+ * Results:
+ * A standard Tcl result
+ *
+ * Side effects:
+ * Adds commands to the table of hidden commands.
+ *
+ *-----------------------------------------------------------------------------
+ */
+
+int
+TclMakeEncodingCommandSafe(
+ Tcl_Interp* interp) /* Tcl interpreter */
+{
+ static const struct {
+ const char *cmdName;
+ int unsafe;
+ } unsafeInfo[] = {
+ {"convertfrom", 0},
+ {"convertto", 0},
+ {"dirs", 1},
+ {"names", 0},
+ {"system", 0},
+ {NULL, 0}
+ };
- /*
- * Note that we cannot use Tcl_DStringResult here because it will
- * truncate the string at the first null byte.
- */
+ int i;
+ Tcl_DString oldBuf, newBuf;
- Tcl_SetObjResult(interp, TclDStringToObj(&ds));
- } else {
- /*
- * Store the result as binary data.
- */
-
- stringPtr = TclGetStringFromObj(data, &length);
- Tcl_UtfToExternalDString(encoding, stringPtr, length, &ds);
- Tcl_SetObjResult(interp, Tcl_NewByteArrayObj(
- (unsigned char *) Tcl_DStringValue(&ds),
- Tcl_DStringLength(&ds)));
- Tcl_DStringFree(&ds);
+ Tcl_DStringInit(&oldBuf);
+ TclDStringAppendLiteral(&oldBuf, "::tcl::encoding::");
+ Tcl_DStringInit(&newBuf);
+ TclDStringAppendLiteral(&newBuf, "tcl:encoding:");
+ for (i=0 ; unsafeInfo[i].cmdName != NULL ; i++) {
+ if (unsafeInfo[i].unsafe) {
+ const char *oldName, *newName;
+
+ Tcl_DStringSetLength(&oldBuf, 17);
+ oldName = Tcl_DStringAppend(&oldBuf, unsafeInfo[i].cmdName, -1);
+ Tcl_DStringSetLength(&newBuf, 13);
+ newName = Tcl_DStringAppend(&newBuf, unsafeInfo[i].cmdName, -1);
+ if (TclRenameCommand(interp, oldName, "___tmp") != TCL_OK
+ || Tcl_HideCommand(interp, "___tmp", newName) != TCL_OK) {
+ Tcl_Panic("problem making 'encoding %s' safe: %s",
+ unsafeInfo[i].cmdName,
+ Tcl_GetString(Tcl_GetObjResult(interp)));
+ }
+ Tcl_CreateObjCommand(interp, oldName, BadEncodingSubcommand,
+ (ClientData) unsafeInfo[i].cmdName, NULL);
}
+ }
+ Tcl_DStringFree(&oldBuf);
+ Tcl_DStringFree(&newBuf);
- Tcl_FreeEncoding(encoding);
- break;
+ /*
+ * Ugh. The [encoding] command is now actually safe, but it is assumed by
+ * scripts that it is not, which messes up security policies.
+ */
+
+ if (Tcl_HideCommand(interp, "encoding", "encoding") != TCL_OK) {
+ Tcl_Panic("problem making 'encoding' safe: %s",
+ Tcl_GetString(Tcl_GetObjResult(interp)));
}
- case ENC_DIRS:
- return EncodingDirsObjCmd(dummy, interp, objc, objv);
- case ENC_NAMES:
- if (objc > 2) {
- Tcl_WrongNumArgs(interp, 2, objv, NULL);
+ return TCL_OK;
+}
+
+/*
+ *----------------------------------------------------------------------
+ *
+ * BadEncodingSubcommand --
+ *
+ * Command used to act as a backstop implementation when subcommands of
+ * "encoding" are unsafe (the real implementations of the subcommands are
+ * hidden). The clientData is always the full official subcommand name.
+ *
+ * Results:
+ * A standard Tcl result (always a TCL_ERROR).
+ *
+ * Side effects:
+ * None.
+ *
+ *----------------------------------------------------------------------
+ */
+
+static int
+BadEncodingSubcommand(
+ ClientData clientData,
+ Tcl_Interp *interp,
+ int objc,
+ Tcl_Obj *const objv[])
+{
+ const char *subcommandName = (const char *) clientData;
+
+ Tcl_SetObjResult(interp, Tcl_ObjPrintf(
+ "not allowed to invoke subcommand %s of encoding", subcommandName));
+ Tcl_SetErrorCode(interp, "TCL", "SAFE", "SUBCOMMAND", NULL);
+ return TCL_ERROR;
+}
+
+/*
+ *----------------------------------------------------------------------
+ *
+ * EncodingConvertfromObjCmd --
+ *
+ * This command converts a byte array in an external encoding into a
+ * Tcl string
+ *
+ * Results:
+ * A standard Tcl result.
+ *
+ *----------------------------------------------------------------------
+ */
+
+int
+EncodingConvertfromObjCmd(
+ ClientData dummy, /* Not used. */
+ Tcl_Interp *interp, /* Current interpreter. */
+ int objc, /* Number of arguments. */
+ Tcl_Obj *const objv[]) /* Argument objects. */
+{
+ Tcl_Obj *data; /* Byte array to convert */
+ Tcl_DString ds; /* Buffer to hold the string */
+ Tcl_Encoding encoding; /* Encoding to use */
+ int length; /* Length of the byte array being converted */
+ const char *bytesPtr; /* Pointer to the first byte of the array */
+
+ if (objc == 2) {
+ encoding = Tcl_GetEncoding(interp, NULL);
+ data = objv[1];
+ } else if (objc == 3) {
+ if (Tcl_GetEncodingFromObj(interp, objv[1], &encoding) != TCL_OK) {
return TCL_ERROR;
}
- Tcl_GetEncodingNames(interp);
- break;
- case ENC_SYSTEM:
- if (objc > 3) {
- Tcl_WrongNumArgs(interp, 2, objv, "?encoding?");
+ data = objv[2];
+ } else {
+ Tcl_WrongNumArgs(interp, 1, objv, "?encoding? data");
+ return TCL_ERROR;
+ }
+
+ /*
+ * Convert the string into a byte array in 'ds'
+ */
+ bytesPtr = (char *) Tcl_GetByteArrayFromObj(data, &length);
+ Tcl_ExternalToUtfDString(encoding, bytesPtr, length, &ds);
+
+ /*
+ * Note that we cannot use Tcl_DStringResult here because it will
+ * truncate the string at the first null byte.
+ */
+
+ Tcl_SetObjResult(interp, TclDStringToObj(&ds));
+
+ /*
+ * We're done with the encoding
+ */
+
+ Tcl_FreeEncoding(encoding);
+ return TCL_OK;
+
+}
+
+/*
+ *----------------------------------------------------------------------
+ *
+ * EncodingConverttoObjCmd --
+ *
+ * This command converts a Tcl string into a byte array that
+ * encodes the string according to some encoding.
+ *
+ * Results:
+ * A standard Tcl result.
+ *
+ *----------------------------------------------------------------------
+ */
+
+int
+EncodingConverttoObjCmd(
+ ClientData dummy, /* Not used. */
+ Tcl_Interp *interp, /* Current interpreter. */
+ int objc, /* Number of arguments. */
+ Tcl_Obj *const objv[]) /* Argument objects. */
+{
+ Tcl_Obj *data; /* String to convert */
+ Tcl_DString ds; /* Buffer to hold the byte array */
+ Tcl_Encoding encoding; /* Encoding to use */
+ int length; /* Length of the string being converted */
+ const char *stringPtr; /* Pointer to the first byte of the string */
+
+ /* TODO - ADJUST OBJ INDICES WHEN ENSEMBLIFYING THIS */
+
+ if (objc == 2) {
+ encoding = Tcl_GetEncoding(interp, NULL);
+ data = objv[1];
+ } else if (objc == 3) {
+ if (Tcl_GetEncodingFromObj(interp, objv[1], &encoding) != TCL_OK) {
return TCL_ERROR;
}
- if (objc == 2) {
- Tcl_SetObjResult(interp, Tcl_NewStringObj(
- Tcl_GetEncodingName(NULL), -1));
- } else {
- return Tcl_SetSystemEncoding(interp, TclGetString(objv[2]));
- }
- break;
+ data = objv[2];
+ } else {
+ Tcl_WrongNumArgs(interp, 1, objv, "?encoding? data");
+ return TCL_ERROR;
}
+
+ /*
+ * Convert the string to a byte array in 'ds'
+ */
+
+ stringPtr = TclGetStringFromObj(data, &length);
+ Tcl_UtfToExternalDString(encoding, stringPtr, length, &ds);
+ Tcl_SetObjResult(interp,
+ Tcl_NewByteArrayObj((unsigned char*) Tcl_DStringValue(&ds),
+ Tcl_DStringLength(&ds)));
+ Tcl_DStringFree(&ds);
+
+ /*
+ * We're done with the encoding
+ */
+
+ Tcl_FreeEncoding(encoding);
return TCL_OK;
+
}
/*
@@ -641,16 +857,16 @@ EncodingDirsObjCmd(
{
Tcl_Obj *dirListObj;
- if (objc > 3) {
- Tcl_WrongNumArgs(interp, 2, objv, "?dirList?");
+ if (objc > 2) {
+ Tcl_WrongNumArgs(interp, 1, objv, "?dirList?");
return TCL_ERROR;
}
- if (objc == 2) {
+ if (objc == 1) {
Tcl_SetObjResult(interp, Tcl_GetEncodingSearchPath());
return TCL_OK;
}
- dirListObj = objv[2];
+ dirListObj = objv[1];
if (Tcl_SetEncodingSearchPath(dirListObj) == TCL_ERROR) {
Tcl_SetObjResult(interp, Tcl_ObjPrintf(
"expected directory list but got \"%s\"",
@@ -664,6 +880,68 @@ EncodingDirsObjCmd(
}
/*
+ *-----------------------------------------------------------------------------
+ *
+ * EncodingNamesObjCmd --
+ *
+ * This command returns a list of the available encoding names
+ *
+ * Results:
+ * Returns a standard Tcl result
+ *
+ *-----------------------------------------------------------------------------
+ */
+
+int
+EncodingNamesObjCmd(ClientData dummy, /* Unused */
+ Tcl_Interp* interp, /* Tcl interpreter */
+ int objc, /* Number of command line args */
+ Tcl_Obj* const objv[]) /* Vector of command line args */
+{
+ if (objc > 1) {
+ Tcl_WrongNumArgs(interp, 1, objv, NULL);
+ return TCL_ERROR;
+ }
+ Tcl_GetEncodingNames(interp);
+ return TCL_OK;
+}
+
+/*
+ *-----------------------------------------------------------------------------
+ *
+ * EncodingSystemObjCmd --
+ *
+ * This command retrieves or changes the system encoding
+ *
+ * Results:
+ * Returns a standard Tcl result
+ *
+ * Side effects:
+ * May change the system encoding.
+ *
+ *-----------------------------------------------------------------------------
+ */
+
+int
+EncodingSystemObjCmd(ClientData dummy, /* Unused */
+ Tcl_Interp* interp, /* Tcl interpreter */
+ int objc, /* Number of command line args */
+ Tcl_Obj* const objv[]) /* Vector of command line args */
+{
+ if (objc > 2) {
+ Tcl_WrongNumArgs(interp, 1, objv, "?encoding?");
+ return TCL_ERROR;
+ }
+ if (objc == 1) {
+ Tcl_SetObjResult(interp,
+ Tcl_NewStringObj(Tcl_GetEncodingName(NULL), -1));
+ } else {
+ return Tcl_SetSystemEncoding(interp, TclGetString(objv[1]));
+ }
+ return TCL_OK;
+}
+
+/*
*----------------------------------------------------------------------
*
* Tcl_ErrorObjCmd --
diff --git a/generic/tclCompCmds.c b/generic/tclCompCmds.c
index 7dba232..c2b4bdb 100644
--- a/generic/tclCompCmds.c
+++ b/generic/tclCompCmds.c
@@ -734,6 +734,105 @@ TclCompileCatchCmd(
return TCL_OK;
}
+/*----------------------------------------------------------------------
+ *
+ * TclCompileClockClicksCmd --
+ *
+ * Procedure called to compile the "tcl::clock::clicks" command.
+ *
+ * Results:
+ * Returns TCL_OK for a successful compile. Returns TCL_ERROR to defer
+ * evaluation to run time.
+ *
+ * Side effects:
+ * Instructions are added to envPtr to execute the "clock clicks"
+ * command at runtime.
+ *
+ *----------------------------------------------------------------------
+ */
+
+int
+TclCompileClockClicksCmd(
+ Tcl_Interp* interp, /* Tcl interpreter */
+ Tcl_Parse *parsePtr, /* Points to a parse structure for the command
+ * created by Tcl_ParseCommand. */
+ Command *cmdPtr, /* Points to defintion of command being
+ * compiled. */
+ CompileEnv *envPtr) /* Holds resulting instructions. */
+{
+ Tcl_Token* tokenPtr;
+
+ switch (parsePtr->numWords) {
+ case 1:
+ /*
+ * No args
+ */
+ TclEmitInstInt1(INST_CLOCK_READ, 0, envPtr);
+ break;
+ case 2:
+ /*
+ * -milliseconds or -microseconds
+ */
+ tokenPtr = TokenAfter(parsePtr->tokenPtr);
+ if (tokenPtr->type != TCL_TOKEN_SIMPLE_WORD
+ || tokenPtr[1].size < 4
+ || tokenPtr[1].size > 13) {
+ return TCL_ERROR;
+ } else if (!strncmp(tokenPtr[1].start, "-microseconds",
+ tokenPtr[1].size)) {
+ TclEmitInstInt1(INST_CLOCK_READ, 1, envPtr);
+ break;
+ } else if (!strncmp(tokenPtr[1].start, "-milliseconds",
+ tokenPtr[1].size)) {
+ TclEmitInstInt1(INST_CLOCK_READ, 2, envPtr);
+ break;
+ } else {
+ return TCL_ERROR;
+ }
+ default:
+ return TCL_ERROR;
+ }
+ return TCL_OK;
+}
+
+
+/*----------------------------------------------------------------------
+ *
+ * TclCompileClockReadingCmd --
+ *
+ * Procedure called to compile the "tcl::clock::microseconds",
+ * "tcl::clock::milliseconds" and "tcl::clock::seconds" commands.
+ *
+ * Results:
+ * Returns TCL_OK for a successful compile. Returns TCL_ERROR to defer
+ * evaluation to run time.
+ *
+ * Side effects:
+ * Instructions are added to envPtr to execute the "clock clicks"
+ * command at runtime.
+ *
+ * Client data is 1 for microseconds, 2 for milliseconds, 3 for seconds.
+ *----------------------------------------------------------------------
+ */
+
+int
+TclCompileClockReadingCmd(
+ Tcl_Interp* interp, /* Tcl interpreter */
+ Tcl_Parse *parsePtr, /* Points to a parse structure for the command
+ * created by Tcl_ParseCommand. */
+ Command *cmdPtr, /* Points to defintion of command being
+ * compiled. */
+ CompileEnv *envPtr) /* Holds resulting instructions. */
+{
+ if (parsePtr->numWords != 1) {
+ return TCL_ERROR;
+ }
+
+ TclEmitInstInt1(INST_CLOCK_READ, PTR2INT(cmdPtr->objClientData), envPtr);
+
+ return TCL_OK;
+}
+
/*
*----------------------------------------------------------------------
*
diff --git a/generic/tclCompile.c b/generic/tclCompile.c
index f6b3c52..f716195 100644
--- a/generic/tclCompile.c
+++ b/generic/tclCompile.c
@@ -654,6 +654,11 @@ InstructionDesc const tclInstructionTable[] = {
/* Lappend list to general variable.
* Stack: ... varName list => ... listVarContents */
+ {"clockRead", 2, +1, 1, {OPERAND_UINT1}},
+ /* Read clock out to the stack. Operand is which clock to read
+ * 0=clicks, 1=microseconds, 2=milliseconds, 3=seconds.
+ * Stack: ... => ... time */
+
{NULL, 0, 0, 0, {OPERAND_NONE}}
};
diff --git a/generic/tclCompile.h b/generic/tclCompile.h
index ba6ad44..c04fc0e 100644
--- a/generic/tclCompile.h
+++ b/generic/tclCompile.h
@@ -821,8 +821,10 @@ typedef struct ByteCode {
#define INST_LAPPEND_LIST_ARRAY_STK 187
#define INST_LAPPEND_LIST_STK 188
+#define INST_CLOCK_READ 189
+
/* The last opcode */
-#define LAST_INST_OPCODE 188
+#define LAST_INST_OPCODE 189
/*
* Table describing the Tcl bytecode instructions: their name (for displaying
@@ -1259,10 +1261,10 @@ MODULE_SCOPE int TclPushProcCallFrame(ClientData clientData,
#define TclCheckStackDepth(depth, envPtr) \
do { \
- int dd = (depth); \
- if (dd != (envPtr)->currStackDepth) { \
+ int _dd = (depth); \
+ if (_dd != (envPtr)->currStackDepth) { \
Tcl_Panic("bad stack depth computations: is %i, should be %i", \
- (envPtr)->currStackDepth, dd); \
+ (envPtr)->currStackDepth, _dd); \
} \
} while (0)
@@ -1278,12 +1280,12 @@ MODULE_SCOPE int TclPushProcCallFrame(ClientData clientData,
#define TclUpdateStackReqs(op, i, envPtr) \
do { \
- int delta = tclInstructionTable[(op)].stackEffect; \
- if (delta) { \
- if (delta == INT_MIN) { \
- delta = 1 - (i); \
+ int _delta = tclInstructionTable[(op)].stackEffect; \
+ if (_delta) { \
+ if (_delta == INT_MIN) { \
+ _delta = 1 - (i); \
} \
- TclAdjustStackDepth(delta, envPtr); \
+ TclAdjustStackDepth(_delta, envPtr); \
} \
} while (0)
@@ -1397,11 +1399,11 @@ MODULE_SCOPE int TclPushProcCallFrame(ClientData clientData,
#define TclEmitPush(objIndex, envPtr) \
do { \
- register int objIndexCopy = (objIndex); \
- if (objIndexCopy <= 255) { \
- TclEmitInstInt1(INST_PUSH1, objIndexCopy, (envPtr)); \
+ register int _objIndexCopy = (objIndex); \
+ if (_objIndexCopy <= 255) { \
+ TclEmitInstInt1(INST_PUSH1, _objIndexCopy, (envPtr)); \
} else { \
- TclEmitInstInt4(INST_PUSH4, objIndexCopy, (envPtr)); \
+ TclEmitInstInt4(INST_PUSH4, _objIndexCopy, (envPtr)); \
} \
} while (0)
diff --git a/generic/tclDisassemble.c b/generic/tclDisassemble.c
index 1d616fb..f62c260 100644
--- a/generic/tclDisassemble.c
+++ b/generic/tclDisassemble.c
@@ -27,9 +27,8 @@ static Tcl_Obj * DisassembleByteCodeObj(Tcl_Interp *interp,
Tcl_Obj *objPtr);
static int FormatInstruction(ByteCode *codePtr,
const unsigned char *pc, Tcl_Obj *bufferObj);
-static void GetLocationInformation(Tcl_Interp *interp,
- Proc *procPtr, Tcl_Obj **fileObjPtr,
- int *linePtr);
+static void GetLocationInformation(Proc *procPtr,
+ Tcl_Obj **fileObjPtr, int *linePtr);
static void PrintSourceToObj(Tcl_Obj *appendObj,
const char *stringPtr, int maxChars);
static void UpdateStringOfInstName(Tcl_Obj *objPtr);
@@ -73,8 +72,6 @@ static const Tcl_ObjType tclInstNameType = {
static void
GetLocationInformation(
- Tcl_Interp *interp, /* Where to look up the location
- * information. */
Proc *procPtr, /* What to look up the information for. */
Tcl_Obj **fileObjPtr, /* Where to write the information about what
* file the code came from. Will be written
@@ -88,20 +85,21 @@ GetLocationInformation(
* either with the line number or with -1 if
* the information is not available. */
{
- Interp *iPtr = (Interp *) interp;
- Tcl_HashEntry *hePtr;
- CmdFrame *cfPtr;
+ CmdFrame *cfPtr = TclGetCmdFrameForProcedure(procPtr);
*fileObjPtr = NULL;
*linePtr = -1;
- if (iPtr != NULL && procPtr != NULL) {
- hePtr = Tcl_FindHashEntry(iPtr->linePBodyPtr, procPtr);
- if (hePtr != NULL && (cfPtr = Tcl_GetHashValue(hePtr)) != NULL) {
- *linePtr = cfPtr->line[0];
- if (cfPtr->type == TCL_LOCATION_SOURCE) {
- *fileObjPtr = cfPtr->data.eval.path;
- }
- }
+ if (cfPtr == NULL) {
+ return;
+ }
+
+ /*
+ * Get the source location data out of the CmdFrame.
+ */
+
+ *linePtr = cfPtr->line[0];
+ if (cfPtr->type == TCL_LOCATION_SOURCE) {
+ *fileObjPtr = cfPtr->data.eval.path;
}
}
@@ -278,7 +276,7 @@ DisassembleByteCodeObj(
Tcl_AppendToObj(bufferObj, " Source ", -1);
PrintSourceToObj(bufferObj, codePtr->source,
TclMin(codePtr->numSrcBytes, 55));
- GetLocationInformation(interp, codePtr->procPtr, &fileObj, &line);
+ GetLocationInformation(codePtr->procPtr, &fileObj, &line);
if (line > -1 && fileObj != NULL) {
Tcl_AppendPrintfToObj(bufferObj, "\n File \"%s\" Line %d",
Tcl_GetString(fileObj), line);
@@ -1221,7 +1219,7 @@ DisassembleByteCodeAsDicts(
* system if it is available.
*/
- GetLocationInformation(interp, codePtr->procPtr, &file, &line);
+ GetLocationInformation(codePtr->procPtr, &file, &line);
/*
* Build the overall result.
diff --git a/generic/tclExecute.c b/generic/tclExecute.c
index 1d3a825..6499cf8 100644
--- a/generic/tclExecute.c
+++ b/generic/tclExecute.c
@@ -510,8 +510,7 @@ VarHashCreateVar(
: (*(tPtr) = TCL_NUMBER_DOUBLE)), \
*(ptrPtr) = (ClientData) \
(&((objPtr)->internalRep.doubleValue)), TCL_OK) : \
- ((((objPtr)->typePtr == NULL) && ((objPtr)->bytes == NULL)) || \
- (((objPtr)->bytes != NULL) && ((objPtr)->length == 0))) \
+ (((objPtr)->bytes != NULL) && ((objPtr)->length == 0)) \
? (*(tPtr) = TCL_NUMBER_LONG),TCL_ERROR : \
TclGetNumberFromObj((interp), (objPtr), (ptrPtr), (tPtr)))
#else /* !TCL_WIDE_INT_IS_LONG */
@@ -530,8 +529,7 @@ VarHashCreateVar(
: (*(tPtr) = TCL_NUMBER_DOUBLE)), \
*(ptrPtr) = (ClientData) \
(&((objPtr)->internalRep.doubleValue)), TCL_OK) : \
- ((((objPtr)->typePtr == NULL) && ((objPtr)->bytes == NULL)) || \
- (((objPtr)->bytes != NULL) && ((objPtr)->length == 0))) \
+ (((objPtr)->bytes != NULL) && ((objPtr)->length == 0)) \
? (*(tPtr) = TCL_NUMBER_LONG),TCL_ERROR : \
TclGetNumberFromObj((interp), (objPtr), (ptrPtr), (tPtr)))
#endif /* TCL_WIDE_INT_IS_LONG */
@@ -7840,6 +7838,39 @@ TEBCresume(
* -----------------------------------------------------------------
*/
+ case INST_CLOCK_READ:
+ { /* Read the wall clock */
+ Tcl_WideInt wval;
+ Tcl_Time now;
+ switch(TclGetUInt1AtPtr(pc+1)) {
+ case 0: /* clicks */
+#ifdef TCL_WIDE_CLICKS
+ wval = TclpGetWideClicks();
+#else
+ wval = (Tcl_WideInt) TclpGetClicks();
+#endif
+ break;
+ case 1: /* microseconds */
+ Tcl_GetTime(&now);
+ wval = (Tcl_WideInt) now.sec * 1000000 + now.usec;
+ break;
+ case 2: /* milliseconds */
+ Tcl_GetTime(&now);
+ wval = (Tcl_WideInt) now.sec * 1000 + now.usec / 1000;
+ break;
+ case 3: /* seconds */
+ Tcl_GetTime(&now);
+ wval = (Tcl_WideInt) now.sec;
+ break;
+ default:
+ Tcl_Panic("clockRead instruction with unknown clock#");
+ }
+ /* TclNewWideObj(objResultPtr, wval); doesn't exist */
+ objResultPtr = Tcl_NewWideIntObj(wval);
+ TRACE_WITH_OBJ(("=> "), objResultPtr);
+ NEXT_INST_F(2, 0, 1);
+ }
+
default:
Tcl_Panic("TclNRExecuteByteCode: unrecognized opCode %u", *pc);
} /* end of switch on opCode */
@@ -9377,7 +9408,7 @@ TclCompareTwoNumbers(
Tcl_Obj *valuePtr,
Tcl_Obj *value2Ptr)
{
- int type1, type2, compare;
+ int type1 = TCL_NUMBER_NAN, type2 = TCL_NUMBER_NAN, compare;
ClientData ptr1, ptr2;
mp_int big1, big2;
double d1, d2, tmp;
diff --git a/generic/tclIO.c b/generic/tclIO.c
index ffd2430..64501fd 100644
--- a/generic/tclIO.c
+++ b/generic/tclIO.c
@@ -9317,7 +9317,7 @@ MBWrite(
* then the calculations involving extra must be made wide too.
*
* Noted with Win32/MSVC debug build treating the warning (possible of
- * data in int64 to int conversion) as error.
+ * data in __int64 to int conversion) as error.
*/
bufPtr = AllocChannelBuffer(extra);
diff --git a/generic/tclInt.h b/generic/tclInt.h
index 4d3c0b1..2938074 100644
--- a/generic/tclInt.h
+++ b/generic/tclInt.h
@@ -2940,7 +2940,8 @@ MODULE_SCOPE Tcl_Obj * TclGetBgErrorHandler(Tcl_Interp *interp);
MODULE_SCOPE int TclGetChannelFromObj(Tcl_Interp *interp,
Tcl_Obj *objPtr, Tcl_Channel *chanPtr,
int *modePtr, int flags);
-MODULE_SCOPE int TclGetCompletionCodeFromObj(Tcl_Interp *interp,
+MODULE_SCOPE CmdFrame * TclGetCmdFrameForProcedure(Proc *procPtr);
+MODULE_SCOPE int TclGetCompletionCodeFromObj(Tcl_Interp *interp,
Tcl_Obj *value, int *code);
MODULE_SCOPE int TclGetNumberFromObj(Tcl_Interp *interp,
Tcl_Obj *objPtr, ClientData *clientDataPtr,
@@ -3239,10 +3240,8 @@ MODULE_SCOPE int Tcl_AssembleObjCmd(ClientData clientData,
MODULE_SCOPE int TclNRAssembleObjCmd(ClientData clientData,
Tcl_Interp *interp, int objc,
Tcl_Obj *const objv[]);
-
-MODULE_SCOPE int Tcl_EncodingObjCmd(ClientData clientData,
- Tcl_Interp *interp, int objc,
- Tcl_Obj *const objv[]);
+MODULE_SCOPE Tcl_Command TclInitEncodingCmd(Tcl_Interp *interp);
+MODULE_SCOPE int TclMakeEncodingCommandSafe(Tcl_Interp *interp);
MODULE_SCOPE int Tcl_EofObjCmd(ClientData clientData,
Tcl_Interp *interp, int objc,
Tcl_Obj *const objv[]);
@@ -3480,6 +3479,12 @@ MODULE_SCOPE int TclCompileBreakCmd(Tcl_Interp *interp,
MODULE_SCOPE int TclCompileCatchCmd(Tcl_Interp *interp,
Tcl_Parse *parsePtr, Command *cmdPtr,
struct CompileEnv *envPtr);
+MODULE_SCOPE int TclCompileClockClicksCmd(Tcl_Interp *interp,
+ Tcl_Parse *parsePtr, Command *cmdPtr,
+ struct CompileEnv *envPtr);
+MODULE_SCOPE int TclCompileClockReadingCmd(Tcl_Interp *interp,
+ Tcl_Parse *parsePtr, Command *cmdPtr,
+ struct CompileEnv *envPtr);
MODULE_SCOPE int TclCompileConcatCmd(Tcl_Interp *interp,
Tcl_Parse *parsePtr, Command *cmdPtr,
struct CompileEnv *envPtr);
@@ -3916,7 +3921,7 @@ MODULE_SCOPE int TclCompileAssembleCmd(Tcl_Interp *interp,
struct CompileEnv *envPtr);
/*
- * Functions defined in generic/tclVar.c and currenttly exported only for use
+ * Functions defined in generic/tclVar.c and currently exported only for use
* by the bytecode compiler and engine. Some of these could later be placed in
* the public interface.
*/
@@ -4300,13 +4305,13 @@ MODULE_SCOPE void TclDbInitNewObj(Tcl_Obj *objPtr, const char *file,
#define TCL_MAX_TOKENS (int)(UINT_MAX / sizeof(Tcl_Token))
#define TclGrowTokenArray(tokenPtr, used, available, append, staticPtr) \
do { \
- int needed = (used) + (append); \
- if (needed > TCL_MAX_TOKENS) { \
+ int _needed = (used) + (append); \
+ if (_needed > TCL_MAX_TOKENS) { \
Tcl_Panic("max # of tokens for a Tcl parse (%d) exceeded", \
TCL_MAX_TOKENS); \
} \
- if (needed > (available)) { \
- int allocated = 2 * needed; \
+ if (_needed > (available)) { \
+ int allocated = 2 * _needed; \
Tcl_Token *oldPtr = (tokenPtr); \
Tcl_Token *newPtr; \
if (oldPtr == (staticPtr)) { \
@@ -4318,7 +4323,7 @@ MODULE_SCOPE void TclDbInitNewObj(Tcl_Obj *objPtr, const char *file,
newPtr = (Tcl_Token *) attemptckrealloc((char *) oldPtr, \
(unsigned int) (allocated * sizeof(Tcl_Token))); \
if (newPtr == NULL) { \
- allocated = needed + (append) + TCL_MIN_TOKEN_GROWTH; \
+ allocated = _needed + (append) + TCL_MIN_TOKEN_GROWTH; \
if (allocated > TCL_MAX_TOKENS) { \
allocated = TCL_MAX_TOKENS; \
} \
@@ -4370,14 +4375,14 @@ MODULE_SCOPE void TclDbInitNewObj(Tcl_Obj *objPtr, const char *file,
#define TclNumUtfChars(numChars, bytes, numBytes) \
do { \
- int count, i = (numBytes); \
- unsigned char *str = (unsigned char *) (bytes); \
- while (i && (*str < 0xC0)) { i--; str++; } \
- count = (numBytes) - i; \
- if (i) { \
- count += Tcl_NumUtfChars((bytes) + count, i); \
+ int _count, _i = (numBytes); \
+ unsigned char *_str = (unsigned char *) (bytes); \
+ while (_i && (*_str < 0xC0)) { _i--; _str++; } \
+ _count = (numBytes) - _i; \
+ if (_i) { \
+ _count += Tcl_NumUtfChars((bytes) + _count, _i); \
} \
- (numChars) = count; \
+ (numChars) = _count; \
} while (0);
/*
@@ -4736,11 +4741,11 @@ MODULE_SCOPE Tcl_PackageInitProc Procbodytest_SafeInit;
#ifndef TCL_MEM_DEBUG
#define TclSmallAllocEx(interp, nbytes, memPtr) \
do { \
- Tcl_Obj *objPtr; \
+ Tcl_Obj *_objPtr; \
TCL_CT_ASSERT((nbytes)<=sizeof(Tcl_Obj)); \
TclIncrObjsAllocated(); \
- TclAllocObjStorageEx((interp), (objPtr)); \
- memPtr = (ClientData) (objPtr); \
+ TclAllocObjStorageEx((interp), (_objPtr)); \
+ memPtr = (ClientData) (_objPtr); \
} while (0)
#define TclSmallFreeEx(interp, memPtr) \
@@ -4752,19 +4757,19 @@ MODULE_SCOPE Tcl_PackageInitProc Procbodytest_SafeInit;
#else /* TCL_MEM_DEBUG */
#define TclSmallAllocEx(interp, nbytes, memPtr) \
do { \
- Tcl_Obj *objPtr; \
+ Tcl_Obj *_objPtr; \
TCL_CT_ASSERT((nbytes)<=sizeof(Tcl_Obj)); \
- TclNewObj(objPtr); \
- memPtr = (ClientData) objPtr; \
+ TclNewObj(_objPtr); \
+ memPtr = (ClientData) _objPtr; \
} while (0)
#define TclSmallFreeEx(interp, memPtr) \
do { \
- Tcl_Obj *objPtr = (Tcl_Obj *) memPtr; \
+ Tcl_Obj *_objPtr = (Tcl_Obj *) memPtr; \
objPtr->bytes = NULL; \
objPtr->typePtr = NULL; \
objPtr->refCount = 1; \
- TclDecrRefCount(objPtr); \
+ TclDecrRefCount(_objPtr); \
} while (0)
#endif /* TCL_MEM_DEBUG */
@@ -4816,15 +4821,15 @@ typedef struct NRE_callback {
#define TclNRAddCallback(interp,postProcPtr,data0,data1,data2,data3) \
do { \
- NRE_callback *callbackPtr; \
- TCLNR_ALLOC((interp), (callbackPtr)); \
- callbackPtr->procPtr = (postProcPtr); \
- callbackPtr->data[0] = (ClientData)(data0); \
- callbackPtr->data[1] = (ClientData)(data1); \
- callbackPtr->data[2] = (ClientData)(data2); \
- callbackPtr->data[3] = (ClientData)(data3); \
- callbackPtr->nextPtr = TOP_CB(interp); \
- TOP_CB(interp) = callbackPtr; \
+ NRE_callback *_callbackPtr; \
+ TCLNR_ALLOC((interp), (_callbackPtr)); \
+ _callbackPtr->procPtr = (postProcPtr); \
+ _callbackPtr->data[0] = (ClientData)(data0); \
+ _callbackPtr->data[1] = (ClientData)(data1); \
+ _callbackPtr->data[2] = (ClientData)(data2); \
+ _callbackPtr->data[3] = (ClientData)(data3); \
+ _callbackPtr->nextPtr = TOP_CB(interp); \
+ TOP_CB(interp) = _callbackPtr; \
} while (0)
#if NRE_USE_SMALL_ALLOC
diff --git a/generic/tclOOCall.c b/generic/tclOOCall.c
index 8003345..ac0b94d 100644
--- a/generic/tclOOCall.c
+++ b/generic/tclOOCall.c
@@ -619,6 +619,7 @@ AddClassMethodNames(
int isWanted = (!(flags & PUBLIC_METHOD)
|| (mPtr->flags & PUBLIC_METHOD)) ? IN_LIST : 0;
+ isWanted |= (mPtr->typePtr == NULL ? NO_IMPLEMENTATION : 0);
Tcl_SetHashValue(hPtr, INT2PTR(isWanted));
} else if ((PTR2INT(Tcl_GetHashValue(hPtr)) & NO_IMPLEMENTATION)
&& mPtr->typePtr != NULL) {
diff --git a/generic/tclParse.c b/generic/tclParse.c
index 95abc45..ce87fb0 100644
--- a/generic/tclParse.c
+++ b/generic/tclParse.c
@@ -1193,6 +1193,8 @@ ParseTokens(
numBytes--;
nestedPtr = TclStackAlloc(parsePtr->interp, sizeof(Tcl_Parse));
while (1) {
+ const char *curEnd;
+
if (Tcl_ParseCommand(parsePtr->interp, src, numBytes, 1,
nestedPtr) != TCL_OK) {
parsePtr->errorType = nestedPtr->errorType;
@@ -1201,8 +1203,9 @@ ParseTokens(
TclStackFree(parsePtr->interp, nestedPtr);
return TCL_ERROR;
}
+ curEnd = src + numBytes;
src = nestedPtr->commandStart + nestedPtr->commandSize;
- numBytes = parsePtr->end - src;
+ numBytes = curEnd - src;
Tcl_FreeParse(nestedPtr);
/*
diff --git a/generic/tclPathObj.c b/generic/tclPathObj.c
index c2643bf..31ed68e 100644
--- a/generic/tclPathObj.c
+++ b/generic/tclPathObj.c
@@ -921,7 +921,17 @@ TclJoinPath(
if (res != NULL) {
TclDecrRefCount(res);
}
- return TclNewFSPathObj(elt, str, len);
+
+ if (PATHFLAGS(elt)) {
+ return TclNewFSPathObj(elt, str, len);
+ }
+ if (TCL_PATH_ABSOLUTE != Tcl_FSGetPathType(elt)) {
+ return TclNewFSPathObj(elt, str, len);
+ }
+ (void) Tcl_FSGetNormalizedPath(NULL, elt);
+ if (elt == PATHOBJ(elt)->normPathPtr) {
+ return TclNewFSPathObj(elt, str, len);
+ }
}
}
@@ -948,6 +958,7 @@ TclJoinPath(
}
}
strElt = Tcl_GetStringFromObj(elt, &strEltLen);
+ driveNameLength = 0;
type = TclGetPathType(elt, &fsPtr, &driveNameLength, &driveName);
if (type != TCL_PATH_RELATIVE) {
/*
@@ -1003,6 +1014,12 @@ TclJoinPath(
}
}
ptr = strElt;
+ /* [Bug f34cf83dd0] */
+ if (driveNameLength > 0) {
+ if (ptr[0] == '/' && ptr[-1] == '/') {
+ goto noQuickReturn;
+ }
+ }
while (*ptr != '\0') {
if (*ptr == '/' && (ptr[1] == '/' || ptr[1] == '\0')) {
/*
diff --git a/generic/tclProc.c b/generic/tclProc.c
index ae9e7cd..5c68e17 100644
--- a/generic/tclProc.c
+++ b/generic/tclProc.c
@@ -2774,6 +2774,41 @@ MakeLambdaError(
}
/*
+ *----------------------------------------------------------------------
+ *
+ * TclGetCmdFrameForProcedure --
+ *
+ * How to get the CmdFrame information for a procedure.
+ *
+ * Results:
+ * A pointer to the CmdFrame (only guaranteed to be valid until the next
+ * Tcl command is processed or the interpreter's state is otherwise
+ * modified) or a NULL if the information is not available.
+ *
+ * Side effects:
+ * none.
+ *
+ *----------------------------------------------------------------------
+ */
+
+CmdFrame *
+TclGetCmdFrameForProcedure(
+ Proc *procPtr) /* The procedure whose cmd-frame is to be
+ * looked up. */
+{
+ Tcl_HashEntry *hePtr;
+
+ if (procPtr == NULL || procPtr->iPtr == NULL) {
+ return NULL;
+ }
+ hePtr = Tcl_FindHashEntry(procPtr->iPtr->linePBodyPtr, procPtr);
+ if (hePtr == NULL) {
+ return NULL;
+ }
+ return (CmdFrame *) Tcl_GetHashValue(hePtr);
+}
+
+/*
* Local Variables:
* mode: c
* c-basic-offset: 4
diff --git a/generic/tclStrToD.c b/generic/tclStrToD.c
index 6da6df3..67b6482 100644
--- a/generic/tclStrToD.c
+++ b/generic/tclStrToD.c
@@ -3798,7 +3798,7 @@ ShorteningBignumConversion(
--s5;
/*
- * IDEA: It might possibly be a win to fall back to int64
+ * IDEA: It might possibly be a win to fall back to int64_t
* arithmetic here if S < 2**64/10. But it's a win only for
* a fairly narrow range of magnitudes so perhaps not worth
* bothering. We already know that we shorten the
@@ -3963,7 +3963,7 @@ StrictBignumConversion(
* As with the shortening bignum conversion, it's possible at this
* point that we will have reduced the denominator to less than
* 2**64/10, at which point it would be possible to fall back to
- * to int64 arithmetic. But the potential payoff is tremendously
+ * to int64_t arithmetic. But the potential payoff is tremendously
* less - unless we're working in F format - because we know that
* three groups of digits will always suffice for %#.17e, the
* longest format that doesn't introduce empty precision.
diff --git a/generic/tclStringObj.c b/generic/tclStringObj.c
index 91c0e74..4e19750 100644
--- a/generic/tclStringObj.c
+++ b/generic/tclStringObj.c
@@ -1702,8 +1702,11 @@ Tcl_AppendFormatToObj(
while (*format != '\0') {
char *end;
- int gotMinus, gotHash, gotZero, gotSpace, gotPlus, sawFlag;
- int width, gotPrecision, precision, useShort, useWide, useBig;
+ int gotMinus = 0, gotHash = 0, gotZero = 0, gotSpace = 0, gotPlus = 0;
+ int width, gotPrecision, precision, sawFlag, useShort = 0, useBig = 0;
+#ifndef TCL_WIDE_INT_IS_LONG
+ int useWide = 0;
+#endif
int newXpg, numChars, allocSegment = 0, segmentLimit, segmentNumBytes;
Tcl_Obj *segment;
Tcl_UniChar ch;
@@ -1779,7 +1782,6 @@ Tcl_AppendFormatToObj(
* Step 2. Set of flags.
*/
- gotMinus = gotHash = gotZero = gotSpace = gotPlus = 0;
sawFlag = 1;
do {
switch (ch) {
@@ -1880,7 +1882,6 @@ Tcl_AppendFormatToObj(
* Step 5. Length modifier.
*/
- useShort = useWide = useBig = 0;
if (ch == 'h') {
useShort = 1;
format += step;
@@ -1964,6 +1965,7 @@ Tcl_AppendFormatToObj(
goto error;
}
isNegative = (mp_cmp_d(&big, 0) == MP_LT);
+#ifndef TCL_WIDE_INT_IS_LONG
} else if (useWide) {
if (Tcl_GetWideIntFromObj(NULL, segment, &w) != TCL_OK) {
Tcl_Obj *objPtr;
@@ -1978,6 +1980,7 @@ Tcl_AppendFormatToObj(
Tcl_DecrRefCount(objPtr);
}
isNegative = (w < (Tcl_WideInt) 0);
+#endif
} else if (TclGetLongFromObj(NULL, segment, &l) != TCL_OK) {
if (Tcl_GetWideIntFromObj(NULL, segment, &w) != TCL_OK) {
Tcl_Obj *objPtr;
@@ -2044,8 +2047,10 @@ Tcl_AppendFormatToObj(
if (useShort) {
pure = Tcl_NewIntObj((int) s);
+#ifndef TCL_WIDE_INT_IS_LONG
} else if (useWide) {
pure = Tcl_NewWideIntObj(w);
+#endif
} else if (useBig) {
pure = Tcl_NewBignumObj(&big);
} else {
@@ -2128,6 +2133,7 @@ Tcl_AppendFormatToObj(
numDigits++;
us /= base;
}
+#ifndef TCL_WIDE_INT_IS_LONG
} else if (useWide) {
Tcl_WideUInt uw = (Tcl_WideUInt) w;
@@ -2136,6 +2142,7 @@ Tcl_AppendFormatToObj(
numDigits++;
uw /= base;
}
+#endif
} else if (useBig && big.used) {
int leftover = (big.used * DIGIT_BIT) % numBits;
mp_digit mask = (~(mp_digit)0) << (DIGIT_BIT-leftover);
@@ -2328,7 +2335,7 @@ Tcl_AppendFormatToObj(
}
}
- Tcl_GetStringFromObj(segment, &segmentNumBytes);
+ TclGetStringFromObj(segment, &segmentNumBytes);
if (segmentNumBytes > limit) {
if (allocSegment) {
Tcl_DecrRefCount(segment);
diff --git a/generic/tclThreadTest.c b/generic/tclThreadTest.c
index 9c66313..fcf3880 100644
--- a/generic/tclThreadTest.c
+++ b/generic/tclThreadTest.c
@@ -341,7 +341,7 @@ ThreadObjCmd(
} else if (objc == 3
&& strcmp("-main", Tcl_GetString(objv[2])) == 0) {
Tcl_MutexLock(&threadMutex);
- idObj = Tcl_NewLongObj((long)(size_t)mainThreadId);
+ idObj = Tcl_NewWideIntObj((Tcl_WideInt)(size_t)mainThreadId);
Tcl_MutexUnlock(&threadMutex);
} else {
Tcl_WrongNumArgs(interp, 2, objv, NULL);
diff --git a/generic/tclTomMath.h b/generic/tclTomMath.h
index c1d83c4..41512f0 100644
--- a/generic/tclTomMath.h
+++ b/generic/tclTomMath.h
@@ -87,7 +87,7 @@ extern "C" {
# define DIGIT_BIT 60
#else
/* this is the default case, 28-bit digits */
-
+
/* this is to make porting into LibTomCrypt easier :-) */
#ifndef CRYPT
# if defined(_MSC_VER) || defined(__BORLANDC__)
@@ -105,14 +105,14 @@ extern "C" {
#endif
typedef ulong64 mp_word;
-#ifdef MP_31BIT
+#ifdef MP_31BIT
/* this is an extension that uses 31-bit digits */
# define DIGIT_BIT 31
#else
/* default case is 28-bit digits, defines MP_28BIT as a handy macro to test */
# define DIGIT_BIT 28
# define MP_28BIT
-#endif
+#endif
#endif
/* define heap macros */
@@ -646,7 +646,7 @@ int mp_prime_miller_rabin(mp_int *a, mp_int *b, int *result);
*/
/* This gives [for a given bit size] the number of trials required
- * such that Miller-Rabin gives a prob of failure lower than 2^-96
+ * such that Miller-Rabin gives a prob of failure lower than 2^-96
*/
/*
int mp_prime_rabin_miller_trials(int size);
@@ -673,7 +673,7 @@ int mp_prime_next_prime(mp_int *a, int t, int bbs_style);
*/
/* makes a truly random prime of a given size (bytes),
- * call with bbs = 1 if you want it to be congruent to 3 mod 4
+ * call with bbs = 1 if you want it to be congruent to 3 mod 4
*
* You have to supply a callback which fills in a buffer with random bytes. "dat" is a parameter you can
* have passed to the callback (e.g. a state or something). This function doesn't use "dat" itself
@@ -686,7 +686,7 @@ int mp_prime_next_prime(mp_int *a, int t, int bbs_style);
/* makes a truly random prime of a given size (bits),
*
* Flags are as follows:
- *
+ *
* LTM_PRIME_BBS - make prime congruent to 3 mod 4
* LTM_PRIME_SAFE - make sure (p-1)/2 is prime as well (implies LTM_PRIME_BBS)
* LTM_PRIME_2MSB_OFF - make the 2nd highest bit zero
diff --git a/generic/tclZlib.c b/generic/tclZlib.c
index e5a5946..fc20d7e 100644
--- a/generic/tclZlib.c
+++ b/generic/tclZlib.c
@@ -1204,10 +1204,10 @@ Tcl_ZlibStreamPut(
zshPtr->stream.avail_in = size;
/*
- * Must not do a zero-length compress. [Bug 25842c161]
+ * Must not do a zero-length compress unless finalizing. [Bug 25842c161]
*/
- if (size == 0) {
+ if (size == 0 && flush != Z_FINISH) {
return TCL_OK;
}
@@ -3113,30 +3113,28 @@ ZlibTransformOutput(
errorCodePtr);
}
+ /*
+ * No zero-length writes. Flushes must be explicit.
+ */
+
+ if (toWrite == 0) {
+ return 0;
+ }
+
cd->outStream.next_in = (Bytef *) buf;
cd->outStream.avail_in = toWrite;
- do {
+ while (cd->outStream.avail_in > 0) {
e = Deflate(&cd->outStream, cd->outBuffer, cd->outAllocated,
Z_NO_FLUSH, &produced);
+ if (e != Z_OK || produced == 0) {
+ break;
+ }
- if ((e == Z_OK && produced > 0) || e == Z_BUF_ERROR) {
- /*
- * deflate() indicates that it is out of space by returning
- * Z_BUF_ERROR *or* by simply returning Z_OK with no remaining
- * space; in either case, we must write the whole buffer out and
- * retry to compress what is left.
- */
-
- if (e == Z_BUF_ERROR) {
- produced = cd->outAllocated;
- e = Z_OK;
- }
- if (Tcl_WriteRaw(cd->parent, cd->outBuffer, produced) < 0) {
- *errorCodePtr = Tcl_GetErrno();
- return -1;
- }
+ if (Tcl_WriteRaw(cd->parent, cd->outBuffer, produced) < 0) {
+ *errorCodePtr = Tcl_GetErrno();
+ return -1;
}
- } while (e == Z_OK && produced > 0 && cd->outStream.avail_in > 0);
+ }
if (e == Z_OK) {
return toWrite - cd->outStream.avail_in;
diff --git a/library/clock.tcl b/library/clock.tcl
index 8e4b657..8e4b657 100755..100644
--- a/library/clock.tcl
+++ b/library/clock.tcl
diff --git a/library/http/http.tcl b/library/http/http.tcl
index 19799b9..d950441 100644
--- a/library/http/http.tcl
+++ b/library/http/http.tcl
@@ -11,7 +11,7 @@
package require Tcl 8.6-
# Keep this in sync with pkgIndex.tcl and with the install directories in
# Makefiles
-package provide http 2.8.10
+package provide http 2.8.11
namespace eval http {
# Allow resourcing to not clobber existing data
@@ -28,10 +28,19 @@ namespace eval http {
# We need a useragent string of this style or various servers will refuse to
# send us compressed content even when we ask for it. This follows the
# de-facto layout of user-agent strings in current browsers.
- set http(-useragent) "Mozilla/5.0\
- ([string totitle $::tcl_platform(platform)]; U;\
- $::tcl_platform(os) $::tcl_platform(osVersion))\
- http/[package provide http] Tcl/[package provide Tcl]"
+ # Safe interpreters do not have ::tcl_platform(os) or
+ # ::tcl_platform(osVersion).
+ if {[interp issafe]} {
+ set http(-useragent) "Mozilla/5.0\
+ (Windows; U;\
+ Windows NT 10.0)\
+ http/[package provide http] Tcl/[package provide Tcl]"
+ } else {
+ set http(-useragent) "Mozilla/5.0\
+ ([string totitle $::tcl_platform(platform)]; U;\
+ $::tcl_platform(os) $::tcl_platform(osVersion))\
+ http/[package provide http] Tcl/[package provide Tcl]"
+ }
}
proc init {} {
diff --git a/library/http/pkgIndex.tcl b/library/http/pkgIndex.tcl
index 841b4eb..a0d28f1 100644
--- a/library/http/pkgIndex.tcl
+++ b/library/http/pkgIndex.tcl
@@ -1,2 +1,2 @@
if {![package vsatisfies [package provide Tcl] 8.6-]} {return}
-package ifneeded http 2.8.10 [list tclPkgSetup $dir http 2.8.10 {{http.tcl source {::http::config ::http::formatQuery ::http::geturl ::http::reset ::http::wait ::http::register ::http::unregister ::http::mapReply}}}]
+package ifneeded http 2.8.11 [list tclPkgSetup $dir http 2.8.11 {{http.tcl source {::http::config ::http::formatQuery ::http::geturl ::http::reset ::http::wait ::http::register ::http::unregister ::http::mapReply}}}]
diff --git a/library/init.tcl b/library/init.tcl
index 9ca4514..a202054 100644
--- a/library/init.tcl
+++ b/library/init.tcl
@@ -169,13 +169,7 @@ if {[interp issafe]} {
namespace eval ::tcl::clock [list variable TclLibDir $::tcl_library]
- proc clock args {
- namespace eval ::tcl::clock [list namespace ensemble create -command \
- [uplevel 1 [list namespace origin [lindex [info level 0] 0]]] \
- -subcommands {
- add clicks format microseconds milliseconds scan seconds
- }]
-
+ proc ::tcl::initClock {} {
# Auto-loading stubs for 'clock.tcl'
foreach cmd {add format scan} {
@@ -186,8 +180,9 @@ if {[interp issafe]} {
}
}
- return [uplevel 1 [info level 0]]
+ rename ::tcl::initClock {}
}
+ ::tcl::initClock
}
# Conditionalize for presence of exec.
diff --git a/library/tzdata/Africa/Accra b/library/tzdata/Africa/Accra
index 39db976..18f4522 100644
--- a/library/tzdata/Africa/Accra
+++ b/library/tzdata/Africa/Accra
@@ -2,51 +2,51 @@
set TZData(:Africa/Accra) {
{-9223372036854775808 -52 0 LMT}
- {-1640995148 0 0 GMT}
- {-1556841600 1200 1 GHST}
- {-1546388400 0 0 GMT}
- {-1525305600 1200 1 GHST}
- {-1514852400 0 0 GMT}
- {-1493769600 1200 1 GHST}
- {-1483316400 0 0 GMT}
- {-1462233600 1200 1 GHST}
- {-1451780400 0 0 GMT}
- {-1430611200 1200 1 GHST}
- {-1420158000 0 0 GMT}
- {-1399075200 1200 1 GHST}
- {-1388622000 0 0 GMT}
- {-1367539200 1200 1 GHST}
- {-1357086000 0 0 GMT}
- {-1336003200 1200 1 GHST}
- {-1325550000 0 0 GMT}
- {-1304380800 1200 1 GHST}
- {-1293927600 0 0 GMT}
- {-1272844800 1200 1 GHST}
- {-1262391600 0 0 GMT}
- {-1241308800 1200 1 GHST}
- {-1230855600 0 0 GMT}
- {-1209772800 1200 1 GHST}
- {-1199319600 0 0 GMT}
- {-1178150400 1200 1 GHST}
- {-1167697200 0 0 GMT}
- {-1146614400 1200 1 GHST}
- {-1136161200 0 0 GMT}
- {-1115078400 1200 1 GHST}
- {-1104625200 0 0 GMT}
- {-1083542400 1200 1 GHST}
- {-1073089200 0 0 GMT}
- {-1051920000 1200 1 GHST}
- {-1041466800 0 0 GMT}
- {-1020384000 1200 1 GHST}
- {-1009930800 0 0 GMT}
- {-988848000 1200 1 GHST}
- {-978394800 0 0 GMT}
- {-957312000 1200 1 GHST}
- {-946858800 0 0 GMT}
- {-925689600 1200 1 GHST}
- {-915236400 0 0 GMT}
- {-894153600 1200 1 GHST}
- {-883700400 0 0 GMT}
- {-862617600 1200 1 GHST}
- {-852164400 0 0 GMT}
+ {-1640995148 0 0 +0020}
+ {-1556841600 1200 1 +0020}
+ {-1546388400 0 0 +0020}
+ {-1525305600 1200 1 +0020}
+ {-1514852400 0 0 +0020}
+ {-1493769600 1200 1 +0020}
+ {-1483316400 0 0 +0020}
+ {-1462233600 1200 1 +0020}
+ {-1451780400 0 0 +0020}
+ {-1430611200 1200 1 +0020}
+ {-1420158000 0 0 +0020}
+ {-1399075200 1200 1 +0020}
+ {-1388622000 0 0 +0020}
+ {-1367539200 1200 1 +0020}
+ {-1357086000 0 0 +0020}
+ {-1336003200 1200 1 +0020}
+ {-1325550000 0 0 +0020}
+ {-1304380800 1200 1 +0020}
+ {-1293927600 0 0 +0020}
+ {-1272844800 1200 1 +0020}
+ {-1262391600 0 0 +0020}
+ {-1241308800 1200 1 +0020}
+ {-1230855600 0 0 +0020}
+ {-1209772800 1200 1 +0020}
+ {-1199319600 0 0 +0020}
+ {-1178150400 1200 1 +0020}
+ {-1167697200 0 0 +0020}
+ {-1146614400 1200 1 +0020}
+ {-1136161200 0 0 +0020}
+ {-1115078400 1200 1 +0020}
+ {-1104625200 0 0 +0020}
+ {-1083542400 1200 1 +0020}
+ {-1073089200 0 0 +0020}
+ {-1051920000 1200 1 +0020}
+ {-1041466800 0 0 +0020}
+ {-1020384000 1200 1 +0020}
+ {-1009930800 0 0 +0020}
+ {-988848000 1200 1 +0020}
+ {-978394800 0 0 +0020}
+ {-957312000 1200 1 +0020}
+ {-946858800 0 0 +0020}
+ {-925689600 1200 1 +0020}
+ {-915236400 0 0 +0020}
+ {-894153600 1200 1 +0020}
+ {-883700400 0 0 +0020}
+ {-862617600 1200 1 +0020}
+ {-852164400 0 0 +0020}
}
diff --git a/library/tzdata/Africa/Bissau b/library/tzdata/Africa/Bissau
index 5693228..88d9d03 100644
--- a/library/tzdata/Africa/Bissau
+++ b/library/tzdata/Africa/Bissau
@@ -2,6 +2,6 @@
set TZData(:Africa/Bissau) {
{-9223372036854775808 -3740 0 LMT}
- {-1830380260 -3600 0 WAT}
+ {-1830380260 -3600 0 -01}
{157770000 0 0 GMT}
}
diff --git a/library/tzdata/Africa/Ceuta b/library/tzdata/Africa/Ceuta
index 882c13d..057ca22 100644
--- a/library/tzdata/Africa/Ceuta
+++ b/library/tzdata/Africa/Ceuta
@@ -2,18 +2,18 @@
set TZData(:Africa/Ceuta) {
{-9223372036854775808 -1276 0 LMT}
- {-2177451524 0 0 WET}
+ {-2177452800 0 0 WET}
{-1630112400 3600 1 WEST}
{-1616810400 0 0 WET}
{-1451692800 0 0 WET}
{-1442451600 3600 1 WEST}
- {-1427677200 0 0 WET}
+ {-1427673600 0 0 WET}
{-1379293200 3600 1 WEST}
- {-1364778000 0 0 WET}
+ {-1364774400 0 0 WET}
{-1348448400 3600 1 WEST}
- {-1333328400 0 0 WET}
- {-1316394000 3600 1 WEST}
- {-1301274000 0 0 WET}
+ {-1333324800 0 0 WET}
+ {-1316390400 3600 1 WEST}
+ {-1301270400 0 0 WET}
{-1293840000 0 0 WET}
{-81432000 3600 1 WEST}
{-71110800 0 0 WET}
diff --git a/library/tzdata/Africa/El_Aaiun b/library/tzdata/Africa/El_Aaiun
index 77e149e..7bdc496 100644
--- a/library/tzdata/Africa/El_Aaiun
+++ b/library/tzdata/Africa/El_Aaiun
@@ -2,7 +2,7 @@
set TZData(:Africa/El_Aaiun) {
{-9223372036854775808 -3168 0 LMT}
- {-1136070432 -3600 0 WAT}
+ {-1136070432 -3600 0 -01}
{198291600 0 0 WET}
{199756800 3600 1 WEST}
{207702000 0 0 WET}
diff --git a/library/tzdata/Africa/Monrovia b/library/tzdata/Africa/Monrovia
index 1cfff58..2b311bb 100644
--- a/library/tzdata/Africa/Monrovia
+++ b/library/tzdata/Africa/Monrovia
@@ -3,6 +3,6 @@
set TZData(:Africa/Monrovia) {
{-9223372036854775808 -2588 0 LMT}
{-2776979812 -2588 0 MMT}
- {-1604359012 -2670 0 LRT}
- {73529070 0 0 GMT}
+ {-1604359012 -2670 0 MMT}
+ {63593070 0 0 GMT}
}
diff --git a/library/tzdata/Africa/Nairobi b/library/tzdata/Africa/Nairobi
index 6846069..715dc45 100644
--- a/library/tzdata/Africa/Nairobi
+++ b/library/tzdata/Africa/Nairobi
@@ -3,7 +3,7 @@
set TZData(:Africa/Nairobi) {
{-9223372036854775808 8836 0 LMT}
{-1309746436 10800 0 EAT}
- {-1262314800 9000 0 BEAT}
- {-946780200 9900 0 BEAUT}
+ {-1262314800 9000 0 +0230}
+ {-946780200 9900 0 +0245}
{-315629100 10800 0 EAT}
}
diff --git a/library/tzdata/Africa/Windhoek b/library/tzdata/Africa/Windhoek
index a655f2e..1b8f86a 100644
--- a/library/tzdata/Africa/Windhoek
+++ b/library/tzdata/Africa/Windhoek
@@ -2,7 +2,7 @@
set TZData(:Africa/Windhoek) {
{-9223372036854775808 4104 0 LMT}
- {-2458170504 5400 0 SWAT}
+ {-2458170504 5400 0 +0130}
{-2109288600 7200 0 SAST}
{-860976000 10800 1 SAST}
{-845254800 7200 0 SAST}
diff --git a/library/tzdata/America/Anchorage b/library/tzdata/America/Anchorage
index e02dd01..127d365 100644
--- a/library/tzdata/America/Anchorage
+++ b/library/tzdata/America/Anchorage
@@ -3,12 +3,11 @@
set TZData(:America/Anchorage) {
{-9223372036854775808 50424 0 LMT}
{-3225362424 -35976 0 LMT}
- {-2188951224 -36000 0 CAT}
- {-883576800 -36000 0 CAWT}
- {-880200000 -32400 1 CAWT}
- {-769395600 -32400 0 CAPT}
- {-765378000 -36000 0 CAPT}
- {-757346400 -36000 0 CAT}
+ {-2188951224 -36000 0 AST}
+ {-883576800 -36000 0 AST}
+ {-880200000 -32400 1 AWT}
+ {-769395600 -32400 1 APT}
+ {-765378000 -36000 0 AST}
{-86882400 -36000 0 AHST}
{-31500000 -36000 0 AHST}
{-21470400 -32400 1 AHDT}
diff --git a/library/tzdata/America/Araguaina b/library/tzdata/America/Araguaina
index e4a0d52..b9e2aec 100644
--- a/library/tzdata/America/Araguaina
+++ b/library/tzdata/America/Araguaina
@@ -2,59 +2,59 @@
set TZData(:America/Araguaina) {
{-9223372036854775808 -11568 0 LMT}
- {-1767214032 -10800 0 BRT}
- {-1206957600 -7200 1 BRST}
- {-1191362400 -10800 0 BRT}
- {-1175374800 -7200 1 BRST}
- {-1159826400 -10800 0 BRT}
- {-633819600 -7200 1 BRST}
- {-622069200 -10800 0 BRT}
- {-602283600 -7200 1 BRST}
- {-591832800 -10800 0 BRT}
- {-570747600 -7200 1 BRST}
- {-560210400 -10800 0 BRT}
- {-539125200 -7200 1 BRST}
- {-531352800 -10800 0 BRT}
- {-191365200 -7200 1 BRST}
- {-184197600 -10800 0 BRT}
- {-155163600 -7200 1 BRST}
- {-150069600 -10800 0 BRT}
- {-128898000 -7200 1 BRST}
- {-121125600 -10800 0 BRT}
- {-99954000 -7200 1 BRST}
- {-89589600 -10800 0 BRT}
- {-68418000 -7200 1 BRST}
- {-57967200 -10800 0 BRT}
- {499748400 -7200 1 BRST}
- {511236000 -10800 0 BRT}
- {530593200 -7200 1 BRST}
- {540266400 -10800 0 BRT}
- {562129200 -7200 1 BRST}
- {571197600 -10800 0 BRT}
- {592974000 -7200 1 BRST}
- {602042400 -10800 0 BRT}
- {624423600 -7200 1 BRST}
- {634701600 -10800 0 BRT}
- {653536800 -10800 0 BRT}
- {811047600 -10800 0 BRT}
- {813726000 -7200 1 BRST}
- {824004000 -10800 0 BRT}
- {844570800 -7200 1 BRST}
- {856058400 -10800 0 BRT}
- {876106800 -7200 1 BRST}
- {888717600 -10800 0 BRT}
- {908074800 -7200 1 BRST}
- {919562400 -10800 0 BRT}
- {938919600 -7200 1 BRST}
- {951616800 -10800 0 BRT}
- {970974000 -7200 1 BRST}
- {982461600 -10800 0 BRT}
- {1003028400 -7200 1 BRST}
- {1013911200 -10800 0 BRT}
- {1036292400 -7200 1 BRST}
- {1045360800 -10800 0 BRT}
- {1064368800 -10800 0 BRT}
- {1350788400 -7200 0 BRST}
- {1361066400 -10800 0 BRT}
- {1378000800 -10800 0 BRT}
+ {-1767214032 -10800 0 -03}
+ {-1206957600 -7200 1 -02}
+ {-1191362400 -10800 0 -03}
+ {-1175374800 -7200 1 -02}
+ {-1159826400 -10800 0 -03}
+ {-633819600 -7200 1 -02}
+ {-622069200 -10800 0 -03}
+ {-602283600 -7200 1 -02}
+ {-591832800 -10800 0 -03}
+ {-570747600 -7200 1 -02}
+ {-560210400 -10800 0 -03}
+ {-539125200 -7200 1 -02}
+ {-531352800 -10800 0 -03}
+ {-191365200 -7200 1 -02}
+ {-184197600 -10800 0 -03}
+ {-155163600 -7200 1 -02}
+ {-150069600 -10800 0 -03}
+ {-128898000 -7200 1 -02}
+ {-121125600 -10800 0 -03}
+ {-99954000 -7200 1 -02}
+ {-89589600 -10800 0 -03}
+ {-68418000 -7200 1 -02}
+ {-57967200 -10800 0 -03}
+ {499748400 -7200 1 -02}
+ {511236000 -10800 0 -03}
+ {530593200 -7200 1 -02}
+ {540266400 -10800 0 -03}
+ {562129200 -7200 1 -02}
+ {571197600 -10800 0 -03}
+ {592974000 -7200 1 -02}
+ {602042400 -10800 0 -03}
+ {624423600 -7200 1 -02}
+ {634701600 -10800 0 -03}
+ {653536800 -10800 0 -03}
+ {811047600 -10800 0 -03}
+ {813726000 -7200 1 -02}
+ {824004000 -10800 0 -03}
+ {844570800 -7200 1 -02}
+ {856058400 -10800 0 -03}
+ {876106800 -7200 1 -02}
+ {888717600 -10800 0 -03}
+ {908074800 -7200 1 -02}
+ {919562400 -10800 0 -03}
+ {938919600 -7200 1 -02}
+ {951616800 -10800 0 -03}
+ {970974000 -7200 1 -02}
+ {982461600 -10800 0 -03}
+ {1003028400 -7200 1 -02}
+ {1013911200 -10800 0 -03}
+ {1036292400 -7200 1 -02}
+ {1045360800 -10800 0 -03}
+ {1064368800 -10800 0 -03}
+ {1350788400 -7200 0 -02}
+ {1361066400 -10800 0 -03}
+ {1378000800 -10800 0 -03}
}
diff --git a/library/tzdata/America/Argentina/Buenos_Aires b/library/tzdata/America/Argentina/Buenos_Aires
index 73cc8e9..8be2c45 100644
--- a/library/tzdata/America/Argentina/Buenos_Aires
+++ b/library/tzdata/America/Argentina/Buenos_Aires
@@ -3,65 +3,65 @@
set TZData(:America/Argentina/Buenos_Aires) {
{-9223372036854775808 -14028 0 LMT}
{-2372097972 -15408 0 CMT}
- {-1567453392 -14400 0 ART}
- {-1233432000 -10800 0 ARST}
- {-1222981200 -14400 0 ART}
- {-1205956800 -10800 1 ARST}
- {-1194037200 -14400 0 ART}
- {-1172865600 -10800 1 ARST}
- {-1162501200 -14400 0 ART}
- {-1141329600 -10800 1 ARST}
- {-1130965200 -14400 0 ART}
- {-1109793600 -10800 1 ARST}
- {-1099429200 -14400 0 ART}
- {-1078257600 -10800 1 ARST}
- {-1067806800 -14400 0 ART}
- {-1046635200 -10800 1 ARST}
- {-1036270800 -14400 0 ART}
- {-1015099200 -10800 1 ARST}
- {-1004734800 -14400 0 ART}
- {-983563200 -10800 1 ARST}
- {-973198800 -14400 0 ART}
- {-952027200 -10800 1 ARST}
- {-941576400 -14400 0 ART}
- {-931032000 -10800 1 ARST}
- {-900882000 -14400 0 ART}
- {-890337600 -10800 1 ARST}
- {-833749200 -14400 0 ART}
- {-827265600 -10800 1 ARST}
- {-752274000 -14400 0 ART}
- {-733780800 -10800 1 ARST}
- {-197326800 -14400 0 ART}
- {-190843200 -10800 1 ARST}
- {-184194000 -14400 0 ART}
- {-164491200 -10800 1 ARST}
- {-152658000 -14400 0 ART}
- {-132955200 -10800 1 ARST}
- {-121122000 -14400 0 ART}
- {-101419200 -10800 1 ARST}
- {-86821200 -14400 0 ART}
- {-71092800 -10800 1 ARST}
- {-54766800 -14400 0 ART}
- {-39038400 -10800 1 ARST}
- {-23317200 -14400 0 ART}
- {-7588800 -10800 0 ART}
- {128142000 -7200 1 ARST}
- {136605600 -10800 0 ART}
- {596948400 -7200 1 ARST}
- {605066400 -10800 0 ART}
- {624423600 -7200 1 ARST}
- {636516000 -10800 0 ART}
- {656478000 -7200 1 ARST}
- {667965600 -10800 0 ART}
- {687927600 -7200 1 ARST}
- {699415200 -10800 0 ART}
- {719377200 -7200 1 ARST}
- {731469600 -10800 0 ART}
- {938916000 -10800 0 ART}
- {938919600 -10800 1 ARST}
- {952056000 -10800 0 ART}
- {1198983600 -7200 1 ARST}
- {1205632800 -10800 0 ART}
- {1224385200 -7200 1 ARST}
- {1237082400 -10800 0 ART}
+ {-1567453392 -14400 0 -04}
+ {-1233432000 -10800 0 -03}
+ {-1222981200 -14400 0 -04}
+ {-1205956800 -10800 1 -03}
+ {-1194037200 -14400 0 -04}
+ {-1172865600 -10800 1 -03}
+ {-1162501200 -14400 0 -04}
+ {-1141329600 -10800 1 -03}
+ {-1130965200 -14400 0 -04}
+ {-1109793600 -10800 1 -03}
+ {-1099429200 -14400 0 -04}
+ {-1078257600 -10800 1 -03}
+ {-1067806800 -14400 0 -04}
+ {-1046635200 -10800 1 -03}
+ {-1036270800 -14400 0 -04}
+ {-1015099200 -10800 1 -03}
+ {-1004734800 -14400 0 -04}
+ {-983563200 -10800 1 -03}
+ {-973198800 -14400 0 -04}
+ {-952027200 -10800 1 -03}
+ {-941576400 -14400 0 -04}
+ {-931032000 -10800 1 -03}
+ {-900882000 -14400 0 -04}
+ {-890337600 -10800 1 -03}
+ {-833749200 -14400 0 -04}
+ {-827265600 -10800 1 -03}
+ {-752274000 -14400 0 -04}
+ {-733780800 -10800 1 -03}
+ {-197326800 -14400 0 -04}
+ {-190843200 -10800 1 -03}
+ {-184194000 -14400 0 -04}
+ {-164491200 -10800 1 -03}
+ {-152658000 -14400 0 -04}
+ {-132955200 -10800 1 -03}
+ {-121122000 -14400 0 -04}
+ {-101419200 -10800 1 -03}
+ {-86821200 -14400 0 -04}
+ {-71092800 -10800 1 -03}
+ {-54766800 -14400 0 -04}
+ {-39038400 -10800 1 -03}
+ {-23317200 -14400 0 -04}
+ {-7588800 -10800 0 -03}
+ {128142000 -7200 1 -02}
+ {136605600 -10800 0 -03}
+ {596948400 -7200 1 -02}
+ {605066400 -10800 0 -03}
+ {624423600 -7200 1 -02}
+ {636516000 -10800 0 -03}
+ {656478000 -7200 1 -02}
+ {667965600 -10800 0 -03}
+ {687927600 -7200 1 -02}
+ {699415200 -10800 0 -03}
+ {719377200 -7200 1 -02}
+ {731469600 -10800 0 -03}
+ {938916000 -10800 0 -04}
+ {938919600 -10800 1 -03}
+ {952056000 -10800 0 -03}
+ {1198983600 -7200 1 -02}
+ {1205632800 -10800 0 -03}
+ {1224385200 -7200 1 -02}
+ {1237082400 -10800 0 -03}
}
diff --git a/library/tzdata/America/Argentina/Catamarca b/library/tzdata/America/Argentina/Catamarca
index 7739203..a546bfc 100644
--- a/library/tzdata/America/Argentina/Catamarca
+++ b/library/tzdata/America/Argentina/Catamarca
@@ -3,66 +3,66 @@
set TZData(:America/Argentina/Catamarca) {
{-9223372036854775808 -15788 0 LMT}
{-2372096212 -15408 0 CMT}
- {-1567453392 -14400 0 ART}
- {-1233432000 -10800 0 ARST}
- {-1222981200 -14400 0 ART}
- {-1205956800 -10800 1 ARST}
- {-1194037200 -14400 0 ART}
- {-1172865600 -10800 1 ARST}
- {-1162501200 -14400 0 ART}
- {-1141329600 -10800 1 ARST}
- {-1130965200 -14400 0 ART}
- {-1109793600 -10800 1 ARST}
- {-1099429200 -14400 0 ART}
- {-1078257600 -10800 1 ARST}
- {-1067806800 -14400 0 ART}
- {-1046635200 -10800 1 ARST}
- {-1036270800 -14400 0 ART}
- {-1015099200 -10800 1 ARST}
- {-1004734800 -14400 0 ART}
- {-983563200 -10800 1 ARST}
- {-973198800 -14400 0 ART}
- {-952027200 -10800 1 ARST}
- {-941576400 -14400 0 ART}
- {-931032000 -10800 1 ARST}
- {-900882000 -14400 0 ART}
- {-890337600 -10800 1 ARST}
- {-833749200 -14400 0 ART}
- {-827265600 -10800 1 ARST}
- {-752274000 -14400 0 ART}
- {-733780800 -10800 1 ARST}
- {-197326800 -14400 0 ART}
- {-190843200 -10800 1 ARST}
- {-184194000 -14400 0 ART}
- {-164491200 -10800 1 ARST}
- {-152658000 -14400 0 ART}
- {-132955200 -10800 1 ARST}
- {-121122000 -14400 0 ART}
- {-101419200 -10800 1 ARST}
- {-86821200 -14400 0 ART}
- {-71092800 -10800 1 ARST}
- {-54766800 -14400 0 ART}
- {-39038400 -10800 1 ARST}
- {-23317200 -14400 0 ART}
- {-7588800 -10800 0 ART}
- {128142000 -7200 1 ARST}
- {136605600 -10800 0 ART}
- {596948400 -7200 1 ARST}
- {605066400 -10800 0 ART}
- {624423600 -7200 1 ARST}
- {636516000 -10800 0 ART}
- {656478000 -7200 1 ARST}
- {667965600 -14400 0 WART}
- {687931200 -7200 0 ARST}
- {699415200 -10800 0 ART}
- {719377200 -7200 1 ARST}
- {731469600 -10800 0 ART}
- {938916000 -10800 0 ART}
- {938919600 -10800 1 ARST}
- {952056000 -10800 0 ART}
- {1086058800 -14400 0 WART}
- {1087704000 -10800 0 ART}
- {1198983600 -7200 1 ARST}
- {1205632800 -10800 0 ART}
- {1224295200 -10800 0 ART}
+ {-1567453392 -14400 0 -04}
+ {-1233432000 -10800 0 -03}
+ {-1222981200 -14400 0 -04}
+ {-1205956800 -10800 1 -03}
+ {-1194037200 -14400 0 -04}
+ {-1172865600 -10800 1 -03}
+ {-1162501200 -14400 0 -04}
+ {-1141329600 -10800 1 -03}
+ {-1130965200 -14400 0 -04}
+ {-1109793600 -10800 1 -03}
+ {-1099429200 -14400 0 -04}
+ {-1078257600 -10800 1 -03}
+ {-1067806800 -14400 0 -04}
+ {-1046635200 -10800 1 -03}
+ {-1036270800 -14400 0 -04}
+ {-1015099200 -10800 1 -03}
+ {-1004734800 -14400 0 -04}
+ {-983563200 -10800 1 -03}
+ {-973198800 -14400 0 -04}
+ {-952027200 -10800 1 -03}
+ {-941576400 -14400 0 -04}
+ {-931032000 -10800 1 -03}
+ {-900882000 -14400 0 -04}
+ {-890337600 -10800 1 -03}
+ {-833749200 -14400 0 -04}
+ {-827265600 -10800 1 -03}
+ {-752274000 -14400 0 -04}
+ {-733780800 -10800 1 -03}
+ {-197326800 -14400 0 -04}
+ {-190843200 -10800 1 -03}
+ {-184194000 -14400 0 -04}
+ {-164491200 -10800 1 -03}
+ {-152658000 -14400 0 -04}
+ {-132955200 -10800 1 -03}
+ {-121122000 -14400 0 -04}
+ {-101419200 -10800 1 -03}
+ {-86821200 -14400 0 -04}
+ {-71092800 -10800 1 -03}
+ {-54766800 -14400 0 -04}
+ {-39038400 -10800 1 -03}
+ {-23317200 -14400 0 -04}
+ {-7588800 -10800 0 -03}
+ {128142000 -7200 1 -02}
+ {136605600 -10800 0 -03}
+ {596948400 -7200 1 -02}
+ {605066400 -10800 0 -03}
+ {624423600 -7200 1 -02}
+ {636516000 -10800 0 -03}
+ {656478000 -7200 1 -02}
+ {667965600 -14400 0 -04}
+ {687931200 -7200 0 -02}
+ {699415200 -10800 0 -03}
+ {719377200 -7200 1 -02}
+ {731469600 -10800 0 -03}
+ {938916000 -10800 0 -04}
+ {938919600 -10800 1 -03}
+ {952056000 -10800 0 -03}
+ {1086058800 -14400 0 -04}
+ {1087704000 -10800 0 -03}
+ {1198983600 -7200 1 -02}
+ {1205632800 -10800 0 -03}
+ {1224295200 -10800 0 -03}
}
diff --git a/library/tzdata/America/Argentina/Cordoba b/library/tzdata/America/Argentina/Cordoba
index b08539e..ec6978e 100644
--- a/library/tzdata/America/Argentina/Cordoba
+++ b/library/tzdata/America/Argentina/Cordoba
@@ -3,65 +3,65 @@
set TZData(:America/Argentina/Cordoba) {
{-9223372036854775808 -15408 0 LMT}
{-2372096592 -15408 0 CMT}
- {-1567453392 -14400 0 ART}
- {-1233432000 -10800 0 ARST}
- {-1222981200 -14400 0 ART}
- {-1205956800 -10800 1 ARST}
- {-1194037200 -14400 0 ART}
- {-1172865600 -10800 1 ARST}
- {-1162501200 -14400 0 ART}
- {-1141329600 -10800 1 ARST}
- {-1130965200 -14400 0 ART}
- {-1109793600 -10800 1 ARST}
- {-1099429200 -14400 0 ART}
- {-1078257600 -10800 1 ARST}
- {-1067806800 -14400 0 ART}
- {-1046635200 -10800 1 ARST}
- {-1036270800 -14400 0 ART}
- {-1015099200 -10800 1 ARST}
- {-1004734800 -14400 0 ART}
- {-983563200 -10800 1 ARST}
- {-973198800 -14400 0 ART}
- {-952027200 -10800 1 ARST}
- {-941576400 -14400 0 ART}
- {-931032000 -10800 1 ARST}
- {-900882000 -14400 0 ART}
- {-890337600 -10800 1 ARST}
- {-833749200 -14400 0 ART}
- {-827265600 -10800 1 ARST}
- {-752274000 -14400 0 ART}
- {-733780800 -10800 1 ARST}
- {-197326800 -14400 0 ART}
- {-190843200 -10800 1 ARST}
- {-184194000 -14400 0 ART}
- {-164491200 -10800 1 ARST}
- {-152658000 -14400 0 ART}
- {-132955200 -10800 1 ARST}
- {-121122000 -14400 0 ART}
- {-101419200 -10800 1 ARST}
- {-86821200 -14400 0 ART}
- {-71092800 -10800 1 ARST}
- {-54766800 -14400 0 ART}
- {-39038400 -10800 1 ARST}
- {-23317200 -14400 0 ART}
- {-7588800 -10800 0 ART}
- {128142000 -7200 1 ARST}
- {136605600 -10800 0 ART}
- {596948400 -7200 1 ARST}
- {605066400 -10800 0 ART}
- {624423600 -7200 1 ARST}
- {636516000 -10800 0 ART}
- {656478000 -7200 1 ARST}
- {667965600 -14400 0 WART}
- {687931200 -7200 0 ARST}
- {699415200 -10800 0 ART}
- {719377200 -7200 1 ARST}
- {731469600 -10800 0 ART}
- {938916000 -10800 0 ART}
- {938919600 -10800 1 ARST}
- {952056000 -10800 0 ART}
- {1198983600 -7200 1 ARST}
- {1205632800 -10800 0 ART}
- {1224385200 -7200 1 ARST}
- {1237082400 -10800 0 ART}
+ {-1567453392 -14400 0 -04}
+ {-1233432000 -10800 0 -03}
+ {-1222981200 -14400 0 -04}
+ {-1205956800 -10800 1 -03}
+ {-1194037200 -14400 0 -04}
+ {-1172865600 -10800 1 -03}
+ {-1162501200 -14400 0 -04}
+ {-1141329600 -10800 1 -03}
+ {-1130965200 -14400 0 -04}
+ {-1109793600 -10800 1 -03}
+ {-1099429200 -14400 0 -04}
+ {-1078257600 -10800 1 -03}
+ {-1067806800 -14400 0 -04}
+ {-1046635200 -10800 1 -03}
+ {-1036270800 -14400 0 -04}
+ {-1015099200 -10800 1 -03}
+ {-1004734800 -14400 0 -04}
+ {-983563200 -10800 1 -03}
+ {-973198800 -14400 0 -04}
+ {-952027200 -10800 1 -03}
+ {-941576400 -14400 0 -04}
+ {-931032000 -10800 1 -03}
+ {-900882000 -14400 0 -04}
+ {-890337600 -10800 1 -03}
+ {-833749200 -14400 0 -04}
+ {-827265600 -10800 1 -03}
+ {-752274000 -14400 0 -04}
+ {-733780800 -10800 1 -03}
+ {-197326800 -14400 0 -04}
+ {-190843200 -10800 1 -03}
+ {-184194000 -14400 0 -04}
+ {-164491200 -10800 1 -03}
+ {-152658000 -14400 0 -04}
+ {-132955200 -10800 1 -03}
+ {-121122000 -14400 0 -04}
+ {-101419200 -10800 1 -03}
+ {-86821200 -14400 0 -04}
+ {-71092800 -10800 1 -03}
+ {-54766800 -14400 0 -04}
+ {-39038400 -10800 1 -03}
+ {-23317200 -14400 0 -04}
+ {-7588800 -10800 0 -03}
+ {128142000 -7200 1 -02}
+ {136605600 -10800 0 -03}
+ {596948400 -7200 1 -02}
+ {605066400 -10800 0 -03}
+ {624423600 -7200 1 -02}
+ {636516000 -10800 0 -03}
+ {656478000 -7200 1 -02}
+ {667965600 -14400 0 -04}
+ {687931200 -7200 0 -02}
+ {699415200 -10800 0 -03}
+ {719377200 -7200 1 -02}
+ {731469600 -10800 0 -03}
+ {938916000 -10800 0 -04}
+ {938919600 -10800 1 -03}
+ {952056000 -10800 0 -03}
+ {1198983600 -7200 1 -02}
+ {1205632800 -10800 0 -03}
+ {1224385200 -7200 1 -02}
+ {1237082400 -10800 0 -03}
}
diff --git a/library/tzdata/America/Argentina/Jujuy b/library/tzdata/America/Argentina/Jujuy
index 4f95f8a..0e11ba2 100644
--- a/library/tzdata/America/Argentina/Jujuy
+++ b/library/tzdata/America/Argentina/Jujuy
@@ -3,65 +3,65 @@
set TZData(:America/Argentina/Jujuy) {
{-9223372036854775808 -15672 0 LMT}
{-2372096328 -15408 0 CMT}
- {-1567453392 -14400 0 ART}
- {-1233432000 -10800 0 ARST}
- {-1222981200 -14400 0 ART}
- {-1205956800 -10800 1 ARST}
- {-1194037200 -14400 0 ART}
- {-1172865600 -10800 1 ARST}
- {-1162501200 -14400 0 ART}
- {-1141329600 -10800 1 ARST}
- {-1130965200 -14400 0 ART}
- {-1109793600 -10800 1 ARST}
- {-1099429200 -14400 0 ART}
- {-1078257600 -10800 1 ARST}
- {-1067806800 -14400 0 ART}
- {-1046635200 -10800 1 ARST}
- {-1036270800 -14400 0 ART}
- {-1015099200 -10800 1 ARST}
- {-1004734800 -14400 0 ART}
- {-983563200 -10800 1 ARST}
- {-973198800 -14400 0 ART}
- {-952027200 -10800 1 ARST}
- {-941576400 -14400 0 ART}
- {-931032000 -10800 1 ARST}
- {-900882000 -14400 0 ART}
- {-890337600 -10800 1 ARST}
- {-833749200 -14400 0 ART}
- {-827265600 -10800 1 ARST}
- {-752274000 -14400 0 ART}
- {-733780800 -10800 1 ARST}
- {-197326800 -14400 0 ART}
- {-190843200 -10800 1 ARST}
- {-184194000 -14400 0 ART}
- {-164491200 -10800 1 ARST}
- {-152658000 -14400 0 ART}
- {-132955200 -10800 1 ARST}
- {-121122000 -14400 0 ART}
- {-101419200 -10800 1 ARST}
- {-86821200 -14400 0 ART}
- {-71092800 -10800 1 ARST}
- {-54766800 -14400 0 ART}
- {-39038400 -10800 1 ARST}
- {-23317200 -14400 0 ART}
- {-7588800 -10800 0 ART}
- {128142000 -7200 1 ARST}
- {136605600 -10800 0 ART}
- {596948400 -7200 1 ARST}
- {605066400 -10800 0 ART}
- {624423600 -7200 1 ARST}
- {636516000 -14400 0 WART}
- {657086400 -10800 1 WARST}
- {669178800 -14400 0 WART}
- {686721600 -7200 1 ARST}
- {694231200 -7200 0 ART}
- {699415200 -10800 0 ART}
- {719377200 -7200 1 ARST}
- {731469600 -10800 0 ART}
- {938916000 -10800 0 ART}
- {938919600 -10800 1 ARST}
- {952056000 -10800 0 ART}
- {1198983600 -7200 1 ARST}
- {1205632800 -10800 0 ART}
- {1224295200 -10800 0 ART}
+ {-1567453392 -14400 0 -04}
+ {-1233432000 -10800 0 -03}
+ {-1222981200 -14400 0 -04}
+ {-1205956800 -10800 1 -03}
+ {-1194037200 -14400 0 -04}
+ {-1172865600 -10800 1 -03}
+ {-1162501200 -14400 0 -04}
+ {-1141329600 -10800 1 -03}
+ {-1130965200 -14400 0 -04}
+ {-1109793600 -10800 1 -03}
+ {-1099429200 -14400 0 -04}
+ {-1078257600 -10800 1 -03}
+ {-1067806800 -14400 0 -04}
+ {-1046635200 -10800 1 -03}
+ {-1036270800 -14400 0 -04}
+ {-1015099200 -10800 1 -03}
+ {-1004734800 -14400 0 -04}
+ {-983563200 -10800 1 -03}
+ {-973198800 -14400 0 -04}
+ {-952027200 -10800 1 -03}
+ {-941576400 -14400 0 -04}
+ {-931032000 -10800 1 -03}
+ {-900882000 -14400 0 -04}
+ {-890337600 -10800 1 -03}
+ {-833749200 -14400 0 -04}
+ {-827265600 -10800 1 -03}
+ {-752274000 -14400 0 -04}
+ {-733780800 -10800 1 -03}
+ {-197326800 -14400 0 -04}
+ {-190843200 -10800 1 -03}
+ {-184194000 -14400 0 -04}
+ {-164491200 -10800 1 -03}
+ {-152658000 -14400 0 -04}
+ {-132955200 -10800 1 -03}
+ {-121122000 -14400 0 -04}
+ {-101419200 -10800 1 -03}
+ {-86821200 -14400 0 -04}
+ {-71092800 -10800 1 -03}
+ {-54766800 -14400 0 -04}
+ {-39038400 -10800 1 -03}
+ {-23317200 -14400 0 -04}
+ {-7588800 -10800 0 -03}
+ {128142000 -7200 1 -02}
+ {136605600 -10800 0 -03}
+ {596948400 -7200 1 -02}
+ {605066400 -10800 0 -03}
+ {624423600 -7200 1 -02}
+ {636516000 -14400 0 -04}
+ {657086400 -10800 1 -03}
+ {669178800 -14400 0 -04}
+ {686721600 -7200 1 -02}
+ {694231200 -7200 0 -03}
+ {699415200 -10800 0 -03}
+ {719377200 -7200 1 -02}
+ {731469600 -10800 0 -03}
+ {938916000 -10800 0 -04}
+ {938919600 -10800 1 -03}
+ {952056000 -10800 0 -03}
+ {1198983600 -7200 1 -02}
+ {1205632800 -10800 0 -03}
+ {1224295200 -10800 0 -03}
}
diff --git a/library/tzdata/America/Argentina/La_Rioja b/library/tzdata/America/Argentina/La_Rioja
index 835e29d..90e0030 100644
--- a/library/tzdata/America/Argentina/La_Rioja
+++ b/library/tzdata/America/Argentina/La_Rioja
@@ -3,67 +3,67 @@
set TZData(:America/Argentina/La_Rioja) {
{-9223372036854775808 -16044 0 LMT}
{-2372095956 -15408 0 CMT}
- {-1567453392 -14400 0 ART}
- {-1233432000 -10800 0 ARST}
- {-1222981200 -14400 0 ART}
- {-1205956800 -10800 1 ARST}
- {-1194037200 -14400 0 ART}
- {-1172865600 -10800 1 ARST}
- {-1162501200 -14400 0 ART}
- {-1141329600 -10800 1 ARST}
- {-1130965200 -14400 0 ART}
- {-1109793600 -10800 1 ARST}
- {-1099429200 -14400 0 ART}
- {-1078257600 -10800 1 ARST}
- {-1067806800 -14400 0 ART}
- {-1046635200 -10800 1 ARST}
- {-1036270800 -14400 0 ART}
- {-1015099200 -10800 1 ARST}
- {-1004734800 -14400 0 ART}
- {-983563200 -10800 1 ARST}
- {-973198800 -14400 0 ART}
- {-952027200 -10800 1 ARST}
- {-941576400 -14400 0 ART}
- {-931032000 -10800 1 ARST}
- {-900882000 -14400 0 ART}
- {-890337600 -10800 1 ARST}
- {-833749200 -14400 0 ART}
- {-827265600 -10800 1 ARST}
- {-752274000 -14400 0 ART}
- {-733780800 -10800 1 ARST}
- {-197326800 -14400 0 ART}
- {-190843200 -10800 1 ARST}
- {-184194000 -14400 0 ART}
- {-164491200 -10800 1 ARST}
- {-152658000 -14400 0 ART}
- {-132955200 -10800 1 ARST}
- {-121122000 -14400 0 ART}
- {-101419200 -10800 1 ARST}
- {-86821200 -14400 0 ART}
- {-71092800 -10800 1 ARST}
- {-54766800 -14400 0 ART}
- {-39038400 -10800 1 ARST}
- {-23317200 -14400 0 ART}
- {-7588800 -10800 0 ART}
- {128142000 -7200 1 ARST}
- {136605600 -10800 0 ART}
- {596948400 -7200 1 ARST}
- {605066400 -10800 0 ART}
- {624423600 -7200 1 ARST}
- {636516000 -10800 0 ART}
- {656478000 -7200 1 ARST}
- {667792800 -14400 0 WART}
- {673588800 -10800 0 ART}
- {687927600 -7200 1 ARST}
- {699415200 -10800 0 ART}
- {719377200 -7200 1 ARST}
- {731469600 -10800 0 ART}
- {938916000 -10800 0 ART}
- {938919600 -10800 1 ARST}
- {952056000 -10800 0 ART}
- {1086058800 -14400 0 WART}
- {1087704000 -10800 0 ART}
- {1198983600 -7200 1 ARST}
- {1205632800 -10800 0 ART}
- {1224295200 -10800 0 ART}
+ {-1567453392 -14400 0 -04}
+ {-1233432000 -10800 0 -03}
+ {-1222981200 -14400 0 -04}
+ {-1205956800 -10800 1 -03}
+ {-1194037200 -14400 0 -04}
+ {-1172865600 -10800 1 -03}
+ {-1162501200 -14400 0 -04}
+ {-1141329600 -10800 1 -03}
+ {-1130965200 -14400 0 -04}
+ {-1109793600 -10800 1 -03}
+ {-1099429200 -14400 0 -04}
+ {-1078257600 -10800 1 -03}
+ {-1067806800 -14400 0 -04}
+ {-1046635200 -10800 1 -03}
+ {-1036270800 -14400 0 -04}
+ {-1015099200 -10800 1 -03}
+ {-1004734800 -14400 0 -04}
+ {-983563200 -10800 1 -03}
+ {-973198800 -14400 0 -04}
+ {-952027200 -10800 1 -03}
+ {-941576400 -14400 0 -04}
+ {-931032000 -10800 1 -03}
+ {-900882000 -14400 0 -04}
+ {-890337600 -10800 1 -03}
+ {-833749200 -14400 0 -04}
+ {-827265600 -10800 1 -03}
+ {-752274000 -14400 0 -04}
+ {-733780800 -10800 1 -03}
+ {-197326800 -14400 0 -04}
+ {-190843200 -10800 1 -03}
+ {-184194000 -14400 0 -04}
+ {-164491200 -10800 1 -03}
+ {-152658000 -14400 0 -04}
+ {-132955200 -10800 1 -03}
+ {-121122000 -14400 0 -04}
+ {-101419200 -10800 1 -03}
+ {-86821200 -14400 0 -04}
+ {-71092800 -10800 1 -03}
+ {-54766800 -14400 0 -04}
+ {-39038400 -10800 1 -03}
+ {-23317200 -14400 0 -04}
+ {-7588800 -10800 0 -03}
+ {128142000 -7200 1 -02}
+ {136605600 -10800 0 -03}
+ {596948400 -7200 1 -02}
+ {605066400 -10800 0 -03}
+ {624423600 -7200 1 -02}
+ {636516000 -10800 0 -03}
+ {656478000 -7200 1 -02}
+ {667792800 -14400 0 -04}
+ {673588800 -10800 0 -03}
+ {687927600 -7200 1 -02}
+ {699415200 -10800 0 -03}
+ {719377200 -7200 1 -02}
+ {731469600 -10800 0 -03}
+ {938916000 -10800 0 -04}
+ {938919600 -10800 1 -03}
+ {952056000 -10800 0 -03}
+ {1086058800 -14400 0 -04}
+ {1087704000 -10800 0 -03}
+ {1198983600 -7200 1 -02}
+ {1205632800 -10800 0 -03}
+ {1224295200 -10800 0 -03}
}
diff --git a/library/tzdata/America/Argentina/Mendoza b/library/tzdata/America/Argentina/Mendoza
index 2c6fb58..8dfcd2b 100644
--- a/library/tzdata/America/Argentina/Mendoza
+++ b/library/tzdata/America/Argentina/Mendoza
@@ -3,66 +3,66 @@
set TZData(:America/Argentina/Mendoza) {
{-9223372036854775808 -16516 0 LMT}
{-2372095484 -15408 0 CMT}
- {-1567453392 -14400 0 ART}
- {-1233432000 -10800 0 ARST}
- {-1222981200 -14400 0 ART}
- {-1205956800 -10800 1 ARST}
- {-1194037200 -14400 0 ART}
- {-1172865600 -10800 1 ARST}
- {-1162501200 -14400 0 ART}
- {-1141329600 -10800 1 ARST}
- {-1130965200 -14400 0 ART}
- {-1109793600 -10800 1 ARST}
- {-1099429200 -14400 0 ART}
- {-1078257600 -10800 1 ARST}
- {-1067806800 -14400 0 ART}
- {-1046635200 -10800 1 ARST}
- {-1036270800 -14400 0 ART}
- {-1015099200 -10800 1 ARST}
- {-1004734800 -14400 0 ART}
- {-983563200 -10800 1 ARST}
- {-973198800 -14400 0 ART}
- {-952027200 -10800 1 ARST}
- {-941576400 -14400 0 ART}
- {-931032000 -10800 1 ARST}
- {-900882000 -14400 0 ART}
- {-890337600 -10800 1 ARST}
- {-833749200 -14400 0 ART}
- {-827265600 -10800 1 ARST}
- {-752274000 -14400 0 ART}
- {-733780800 -10800 1 ARST}
- {-197326800 -14400 0 ART}
- {-190843200 -10800 1 ARST}
- {-184194000 -14400 0 ART}
- {-164491200 -10800 1 ARST}
- {-152658000 -14400 0 ART}
- {-132955200 -10800 1 ARST}
- {-121122000 -14400 0 ART}
- {-101419200 -10800 1 ARST}
- {-86821200 -14400 0 ART}
- {-71092800 -10800 1 ARST}
- {-54766800 -14400 0 ART}
- {-39038400 -10800 1 ARST}
- {-23317200 -14400 0 ART}
- {-7588800 -10800 0 ART}
- {128142000 -7200 1 ARST}
- {136605600 -10800 0 ART}
- {596948400 -7200 1 ARST}
- {605066400 -10800 0 ART}
- {624423600 -7200 1 ARST}
- {636516000 -14400 0 WART}
- {655963200 -10800 1 WARST}
- {667796400 -14400 0 WART}
- {687499200 -10800 1 WARST}
- {699418800 -14400 0 WART}
- {719380800 -7200 0 ARST}
- {731469600 -10800 0 ART}
- {938916000 -10800 0 ART}
- {938919600 -10800 1 ARST}
- {952056000 -10800 0 ART}
- {1085281200 -14400 0 WART}
- {1096171200 -10800 0 ART}
- {1198983600 -7200 1 ARST}
- {1205632800 -10800 0 ART}
- {1224295200 -10800 0 ART}
+ {-1567453392 -14400 0 -04}
+ {-1233432000 -10800 0 -03}
+ {-1222981200 -14400 0 -04}
+ {-1205956800 -10800 1 -03}
+ {-1194037200 -14400 0 -04}
+ {-1172865600 -10800 1 -03}
+ {-1162501200 -14400 0 -04}
+ {-1141329600 -10800 1 -03}
+ {-1130965200 -14400 0 -04}
+ {-1109793600 -10800 1 -03}
+ {-1099429200 -14400 0 -04}
+ {-1078257600 -10800 1 -03}
+ {-1067806800 -14400 0 -04}
+ {-1046635200 -10800 1 -03}
+ {-1036270800 -14400 0 -04}
+ {-1015099200 -10800 1 -03}
+ {-1004734800 -14400 0 -04}
+ {-983563200 -10800 1 -03}
+ {-973198800 -14400 0 -04}
+ {-952027200 -10800 1 -03}
+ {-941576400 -14400 0 -04}
+ {-931032000 -10800 1 -03}
+ {-900882000 -14400 0 -04}
+ {-890337600 -10800 1 -03}
+ {-833749200 -14400 0 -04}
+ {-827265600 -10800 1 -03}
+ {-752274000 -14400 0 -04}
+ {-733780800 -10800 1 -03}
+ {-197326800 -14400 0 -04}
+ {-190843200 -10800 1 -03}
+ {-184194000 -14400 0 -04}
+ {-164491200 -10800 1 -03}
+ {-152658000 -14400 0 -04}
+ {-132955200 -10800 1 -03}
+ {-121122000 -14400 0 -04}
+ {-101419200 -10800 1 -03}
+ {-86821200 -14400 0 -04}
+ {-71092800 -10800 1 -03}
+ {-54766800 -14400 0 -04}
+ {-39038400 -10800 1 -03}
+ {-23317200 -14400 0 -04}
+ {-7588800 -10800 0 -03}
+ {128142000 -7200 1 -02}
+ {136605600 -10800 0 -03}
+ {596948400 -7200 1 -02}
+ {605066400 -10800 0 -03}
+ {624423600 -7200 1 -02}
+ {636516000 -14400 0 -04}
+ {655963200 -10800 1 -03}
+ {667796400 -14400 0 -04}
+ {687499200 -10800 1 -03}
+ {699418800 -14400 0 -04}
+ {719380800 -7200 0 -02}
+ {731469600 -10800 0 -03}
+ {938916000 -10800 0 -04}
+ {938919600 -10800 1 -03}
+ {952056000 -10800 0 -03}
+ {1085281200 -14400 0 -04}
+ {1096171200 -10800 0 -03}
+ {1198983600 -7200 1 -02}
+ {1205632800 -10800 0 -03}
+ {1224295200 -10800 0 -03}
}
diff --git a/library/tzdata/America/Argentina/Rio_Gallegos b/library/tzdata/America/Argentina/Rio_Gallegos
index 91d37dd..4b2a348 100644
--- a/library/tzdata/America/Argentina/Rio_Gallegos
+++ b/library/tzdata/America/Argentina/Rio_Gallegos
@@ -3,66 +3,66 @@
set TZData(:America/Argentina/Rio_Gallegos) {
{-9223372036854775808 -16612 0 LMT}
{-2372095388 -15408 0 CMT}
- {-1567453392 -14400 0 ART}
- {-1233432000 -10800 0 ARST}
- {-1222981200 -14400 0 ART}
- {-1205956800 -10800 1 ARST}
- {-1194037200 -14400 0 ART}
- {-1172865600 -10800 1 ARST}
- {-1162501200 -14400 0 ART}
- {-1141329600 -10800 1 ARST}
- {-1130965200 -14400 0 ART}
- {-1109793600 -10800 1 ARST}
- {-1099429200 -14400 0 ART}
- {-1078257600 -10800 1 ARST}
- {-1067806800 -14400 0 ART}
- {-1046635200 -10800 1 ARST}
- {-1036270800 -14400 0 ART}
- {-1015099200 -10800 1 ARST}
- {-1004734800 -14400 0 ART}
- {-983563200 -10800 1 ARST}
- {-973198800 -14400 0 ART}
- {-952027200 -10800 1 ARST}
- {-941576400 -14400 0 ART}
- {-931032000 -10800 1 ARST}
- {-900882000 -14400 0 ART}
- {-890337600 -10800 1 ARST}
- {-833749200 -14400 0 ART}
- {-827265600 -10800 1 ARST}
- {-752274000 -14400 0 ART}
- {-733780800 -10800 1 ARST}
- {-197326800 -14400 0 ART}
- {-190843200 -10800 1 ARST}
- {-184194000 -14400 0 ART}
- {-164491200 -10800 1 ARST}
- {-152658000 -14400 0 ART}
- {-132955200 -10800 1 ARST}
- {-121122000 -14400 0 ART}
- {-101419200 -10800 1 ARST}
- {-86821200 -14400 0 ART}
- {-71092800 -10800 1 ARST}
- {-54766800 -14400 0 ART}
- {-39038400 -10800 1 ARST}
- {-23317200 -14400 0 ART}
- {-7588800 -10800 0 ART}
- {128142000 -7200 1 ARST}
- {136605600 -10800 0 ART}
- {596948400 -7200 1 ARST}
- {605066400 -10800 0 ART}
- {624423600 -7200 1 ARST}
- {636516000 -10800 0 ART}
- {656478000 -7200 1 ARST}
- {667965600 -10800 0 ART}
- {687927600 -7200 1 ARST}
- {699415200 -10800 0 ART}
- {719377200 -7200 1 ARST}
- {731469600 -10800 0 ART}
- {938916000 -10800 0 ART}
- {938919600 -10800 1 ARST}
- {952056000 -10800 0 ART}
- {1086058800 -14400 0 WART}
- {1087704000 -10800 0 ART}
- {1198983600 -7200 1 ARST}
- {1205632800 -10800 0 ART}
- {1224295200 -10800 0 ART}
+ {-1567453392 -14400 0 -04}
+ {-1233432000 -10800 0 -03}
+ {-1222981200 -14400 0 -04}
+ {-1205956800 -10800 1 -03}
+ {-1194037200 -14400 0 -04}
+ {-1172865600 -10800 1 -03}
+ {-1162501200 -14400 0 -04}
+ {-1141329600 -10800 1 -03}
+ {-1130965200 -14400 0 -04}
+ {-1109793600 -10800 1 -03}
+ {-1099429200 -14400 0 -04}
+ {-1078257600 -10800 1 -03}
+ {-1067806800 -14400 0 -04}
+ {-1046635200 -10800 1 -03}
+ {-1036270800 -14400 0 -04}
+ {-1015099200 -10800 1 -03}
+ {-1004734800 -14400 0 -04}
+ {-983563200 -10800 1 -03}
+ {-973198800 -14400 0 -04}
+ {-952027200 -10800 1 -03}
+ {-941576400 -14400 0 -04}
+ {-931032000 -10800 1 -03}
+ {-900882000 -14400 0 -04}
+ {-890337600 -10800 1 -03}
+ {-833749200 -14400 0 -04}
+ {-827265600 -10800 1 -03}
+ {-752274000 -14400 0 -04}
+ {-733780800 -10800 1 -03}
+ {-197326800 -14400 0 -04}
+ {-190843200 -10800 1 -03}
+ {-184194000 -14400 0 -04}
+ {-164491200 -10800 1 -03}
+ {-152658000 -14400 0 -04}
+ {-132955200 -10800 1 -03}
+ {-121122000 -14400 0 -04}
+ {-101419200 -10800 1 -03}
+ {-86821200 -14400 0 -04}
+ {-71092800 -10800 1 -03}
+ {-54766800 -14400 0 -04}
+ {-39038400 -10800 1 -03}
+ {-23317200 -14400 0 -04}
+ {-7588800 -10800 0 -03}
+ {128142000 -7200 1 -02}
+ {136605600 -10800 0 -03}
+ {596948400 -7200 1 -02}
+ {605066400 -10800 0 -03}
+ {624423600 -7200 1 -02}
+ {636516000 -10800 0 -03}
+ {656478000 -7200 1 -02}
+ {667965600 -10800 0 -03}
+ {687927600 -7200 1 -02}
+ {699415200 -10800 0 -03}
+ {719377200 -7200 1 -02}
+ {731469600 -10800 0 -03}
+ {938916000 -10800 0 -04}
+ {938919600 -10800 1 -03}
+ {952056000 -10800 0 -03}
+ {1086058800 -14400 0 -04}
+ {1087704000 -10800 0 -03}
+ {1198983600 -7200 1 -02}
+ {1205632800 -10800 0 -03}
+ {1224295200 -10800 0 -03}
}
diff --git a/library/tzdata/America/Argentina/Salta b/library/tzdata/America/Argentina/Salta
index a5a7010..4f9ccf9 100644
--- a/library/tzdata/America/Argentina/Salta
+++ b/library/tzdata/America/Argentina/Salta
@@ -3,64 +3,64 @@
set TZData(:America/Argentina/Salta) {
{-9223372036854775808 -15700 0 LMT}
{-2372096300 -15408 0 CMT}
- {-1567453392 -14400 0 ART}
- {-1233432000 -10800 0 ARST}
- {-1222981200 -14400 0 ART}
- {-1205956800 -10800 1 ARST}
- {-1194037200 -14400 0 ART}
- {-1172865600 -10800 1 ARST}
- {-1162501200 -14400 0 ART}
- {-1141329600 -10800 1 ARST}
- {-1130965200 -14400 0 ART}
- {-1109793600 -10800 1 ARST}
- {-1099429200 -14400 0 ART}
- {-1078257600 -10800 1 ARST}
- {-1067806800 -14400 0 ART}
- {-1046635200 -10800 1 ARST}
- {-1036270800 -14400 0 ART}
- {-1015099200 -10800 1 ARST}
- {-1004734800 -14400 0 ART}
- {-983563200 -10800 1 ARST}
- {-973198800 -14400 0 ART}
- {-952027200 -10800 1 ARST}
- {-941576400 -14400 0 ART}
- {-931032000 -10800 1 ARST}
- {-900882000 -14400 0 ART}
- {-890337600 -10800 1 ARST}
- {-833749200 -14400 0 ART}
- {-827265600 -10800 1 ARST}
- {-752274000 -14400 0 ART}
- {-733780800 -10800 1 ARST}
- {-197326800 -14400 0 ART}
- {-190843200 -10800 1 ARST}
- {-184194000 -14400 0 ART}
- {-164491200 -10800 1 ARST}
- {-152658000 -14400 0 ART}
- {-132955200 -10800 1 ARST}
- {-121122000 -14400 0 ART}
- {-101419200 -10800 1 ARST}
- {-86821200 -14400 0 ART}
- {-71092800 -10800 1 ARST}
- {-54766800 -14400 0 ART}
- {-39038400 -10800 1 ARST}
- {-23317200 -14400 0 ART}
- {-7588800 -10800 0 ART}
- {128142000 -7200 1 ARST}
- {136605600 -10800 0 ART}
- {596948400 -7200 1 ARST}
- {605066400 -10800 0 ART}
- {624423600 -7200 1 ARST}
- {636516000 -10800 0 ART}
- {656478000 -7200 1 ARST}
- {667965600 -14400 0 WART}
- {687931200 -7200 0 ARST}
- {699415200 -10800 0 ART}
- {719377200 -7200 1 ARST}
- {731469600 -10800 0 ART}
- {938916000 -10800 0 ART}
- {938919600 -10800 1 ARST}
- {952056000 -10800 0 ART}
- {1198983600 -7200 1 ARST}
- {1205632800 -10800 0 ART}
- {1224295200 -10800 0 ART}
+ {-1567453392 -14400 0 -04}
+ {-1233432000 -10800 0 -03}
+ {-1222981200 -14400 0 -04}
+ {-1205956800 -10800 1 -03}
+ {-1194037200 -14400 0 -04}
+ {-1172865600 -10800 1 -03}
+ {-1162501200 -14400 0 -04}
+ {-1141329600 -10800 1 -03}
+ {-1130965200 -14400 0 -04}
+ {-1109793600 -10800 1 -03}
+ {-1099429200 -14400 0 -04}
+ {-1078257600 -10800 1 -03}
+ {-1067806800 -14400 0 -04}
+ {-1046635200 -10800 1 -03}
+ {-1036270800 -14400 0 -04}
+ {-1015099200 -10800 1 -03}
+ {-1004734800 -14400 0 -04}
+ {-983563200 -10800 1 -03}
+ {-973198800 -14400 0 -04}
+ {-952027200 -10800 1 -03}
+ {-941576400 -14400 0 -04}
+ {-931032000 -10800 1 -03}
+ {-900882000 -14400 0 -04}
+ {-890337600 -10800 1 -03}
+ {-833749200 -14400 0 -04}
+ {-827265600 -10800 1 -03}
+ {-752274000 -14400 0 -04}
+ {-733780800 -10800 1 -03}
+ {-197326800 -14400 0 -04}
+ {-190843200 -10800 1 -03}
+ {-184194000 -14400 0 -04}
+ {-164491200 -10800 1 -03}
+ {-152658000 -14400 0 -04}
+ {-132955200 -10800 1 -03}
+ {-121122000 -14400 0 -04}
+ {-101419200 -10800 1 -03}
+ {-86821200 -14400 0 -04}
+ {-71092800 -10800 1 -03}
+ {-54766800 -14400 0 -04}
+ {-39038400 -10800 1 -03}
+ {-23317200 -14400 0 -04}
+ {-7588800 -10800 0 -03}
+ {128142000 -7200 1 -02}
+ {136605600 -10800 0 -03}
+ {596948400 -7200 1 -02}
+ {605066400 -10800 0 -03}
+ {624423600 -7200 1 -02}
+ {636516000 -10800 0 -03}
+ {656478000 -7200 1 -02}
+ {667965600 -14400 0 -04}
+ {687931200 -7200 0 -02}
+ {699415200 -10800 0 -03}
+ {719377200 -7200 1 -02}
+ {731469600 -10800 0 -03}
+ {938916000 -10800 0 -04}
+ {938919600 -10800 1 -03}
+ {952056000 -10800 0 -03}
+ {1198983600 -7200 1 -02}
+ {1205632800 -10800 0 -03}
+ {1224295200 -10800 0 -03}
}
diff --git a/library/tzdata/America/Argentina/San_Juan b/library/tzdata/America/Argentina/San_Juan
index 417e234..1f0530a 100644
--- a/library/tzdata/America/Argentina/San_Juan
+++ b/library/tzdata/America/Argentina/San_Juan
@@ -3,67 +3,67 @@
set TZData(:America/Argentina/San_Juan) {
{-9223372036854775808 -16444 0 LMT}
{-2372095556 -15408 0 CMT}
- {-1567453392 -14400 0 ART}
- {-1233432000 -10800 0 ARST}
- {-1222981200 -14400 0 ART}
- {-1205956800 -10800 1 ARST}
- {-1194037200 -14400 0 ART}
- {-1172865600 -10800 1 ARST}
- {-1162501200 -14400 0 ART}
- {-1141329600 -10800 1 ARST}
- {-1130965200 -14400 0 ART}
- {-1109793600 -10800 1 ARST}
- {-1099429200 -14400 0 ART}
- {-1078257600 -10800 1 ARST}
- {-1067806800 -14400 0 ART}
- {-1046635200 -10800 1 ARST}
- {-1036270800 -14400 0 ART}
- {-1015099200 -10800 1 ARST}
- {-1004734800 -14400 0 ART}
- {-983563200 -10800 1 ARST}
- {-973198800 -14400 0 ART}
- {-952027200 -10800 1 ARST}
- {-941576400 -14400 0 ART}
- {-931032000 -10800 1 ARST}
- {-900882000 -14400 0 ART}
- {-890337600 -10800 1 ARST}
- {-833749200 -14400 0 ART}
- {-827265600 -10800 1 ARST}
- {-752274000 -14400 0 ART}
- {-733780800 -10800 1 ARST}
- {-197326800 -14400 0 ART}
- {-190843200 -10800 1 ARST}
- {-184194000 -14400 0 ART}
- {-164491200 -10800 1 ARST}
- {-152658000 -14400 0 ART}
- {-132955200 -10800 1 ARST}
- {-121122000 -14400 0 ART}
- {-101419200 -10800 1 ARST}
- {-86821200 -14400 0 ART}
- {-71092800 -10800 1 ARST}
- {-54766800 -14400 0 ART}
- {-39038400 -10800 1 ARST}
- {-23317200 -14400 0 ART}
- {-7588800 -10800 0 ART}
- {128142000 -7200 1 ARST}
- {136605600 -10800 0 ART}
- {596948400 -7200 1 ARST}
- {605066400 -10800 0 ART}
- {624423600 -7200 1 ARST}
- {636516000 -10800 0 ART}
- {656478000 -7200 1 ARST}
- {667792800 -14400 0 WART}
- {673588800 -10800 0 ART}
- {687927600 -7200 1 ARST}
- {699415200 -10800 0 ART}
- {719377200 -7200 1 ARST}
- {731469600 -10800 0 ART}
- {938916000 -10800 0 ART}
- {938919600 -10800 1 ARST}
- {952056000 -10800 0 ART}
- {1085972400 -14400 0 WART}
- {1090728000 -10800 0 ART}
- {1198983600 -7200 1 ARST}
- {1205632800 -10800 0 ART}
- {1224295200 -10800 0 ART}
+ {-1567453392 -14400 0 -04}
+ {-1233432000 -10800 0 -03}
+ {-1222981200 -14400 0 -04}
+ {-1205956800 -10800 1 -03}
+ {-1194037200 -14400 0 -04}
+ {-1172865600 -10800 1 -03}
+ {-1162501200 -14400 0 -04}
+ {-1141329600 -10800 1 -03}
+ {-1130965200 -14400 0 -04}
+ {-1109793600 -10800 1 -03}
+ {-1099429200 -14400 0 -04}
+ {-1078257600 -10800 1 -03}
+ {-1067806800 -14400 0 -04}
+ {-1046635200 -10800 1 -03}
+ {-1036270800 -14400 0 -04}
+ {-1015099200 -10800 1 -03}
+ {-1004734800 -14400 0 -04}
+ {-983563200 -10800 1 -03}
+ {-973198800 -14400 0 -04}
+ {-952027200 -10800 1 -03}
+ {-941576400 -14400 0 -04}
+ {-931032000 -10800 1 -03}
+ {-900882000 -14400 0 -04}
+ {-890337600 -10800 1 -03}
+ {-833749200 -14400 0 -04}
+ {-827265600 -10800 1 -03}
+ {-752274000 -14400 0 -04}
+ {-733780800 -10800 1 -03}
+ {-197326800 -14400 0 -04}
+ {-190843200 -10800 1 -03}
+ {-184194000 -14400 0 -04}
+ {-164491200 -10800 1 -03}
+ {-152658000 -14400 0 -04}
+ {-132955200 -10800 1 -03}
+ {-121122000 -14400 0 -04}
+ {-101419200 -10800 1 -03}
+ {-86821200 -14400 0 -04}
+ {-71092800 -10800 1 -03}
+ {-54766800 -14400 0 -04}
+ {-39038400 -10800 1 -03}
+ {-23317200 -14400 0 -04}
+ {-7588800 -10800 0 -03}
+ {128142000 -7200 1 -02}
+ {136605600 -10800 0 -03}
+ {596948400 -7200 1 -02}
+ {605066400 -10800 0 -03}
+ {624423600 -7200 1 -02}
+ {636516000 -10800 0 -03}
+ {656478000 -7200 1 -02}
+ {667792800 -14400 0 -04}
+ {673588800 -10800 0 -03}
+ {687927600 -7200 1 -02}
+ {699415200 -10800 0 -03}
+ {719377200 -7200 1 -02}
+ {731469600 -10800 0 -03}
+ {938916000 -10800 0 -04}
+ {938919600 -10800 1 -03}
+ {952056000 -10800 0 -03}
+ {1085972400 -14400 0 -04}
+ {1090728000 -10800 0 -03}
+ {1198983600 -7200 1 -02}
+ {1205632800 -10800 0 -03}
+ {1224295200 -10800 0 -03}
}
diff --git a/library/tzdata/America/Argentina/San_Luis b/library/tzdata/America/Argentina/San_Luis
index 8ca55d7..3583a39 100644
--- a/library/tzdata/America/Argentina/San_Luis
+++ b/library/tzdata/America/Argentina/San_Luis
@@ -3,66 +3,66 @@
set TZData(:America/Argentina/San_Luis) {
{-9223372036854775808 -15924 0 LMT}
{-2372096076 -15408 0 CMT}
- {-1567453392 -14400 0 ART}
- {-1233432000 -10800 0 ARST}
- {-1222981200 -14400 0 ART}
- {-1205956800 -10800 1 ARST}
- {-1194037200 -14400 0 ART}
- {-1172865600 -10800 1 ARST}
- {-1162501200 -14400 0 ART}
- {-1141329600 -10800 1 ARST}
- {-1130965200 -14400 0 ART}
- {-1109793600 -10800 1 ARST}
- {-1099429200 -14400 0 ART}
- {-1078257600 -10800 1 ARST}
- {-1067806800 -14400 0 ART}
- {-1046635200 -10800 1 ARST}
- {-1036270800 -14400 0 ART}
- {-1015099200 -10800 1 ARST}
- {-1004734800 -14400 0 ART}
- {-983563200 -10800 1 ARST}
- {-973198800 -14400 0 ART}
- {-952027200 -10800 1 ARST}
- {-941576400 -14400 0 ART}
- {-931032000 -10800 1 ARST}
- {-900882000 -14400 0 ART}
- {-890337600 -10800 1 ARST}
- {-833749200 -14400 0 ART}
- {-827265600 -10800 1 ARST}
- {-752274000 -14400 0 ART}
- {-733780800 -10800 1 ARST}
- {-197326800 -14400 0 ART}
- {-190843200 -10800 1 ARST}
- {-184194000 -14400 0 ART}
- {-164491200 -10800 1 ARST}
- {-152658000 -14400 0 ART}
- {-132955200 -10800 1 ARST}
- {-121122000 -14400 0 ART}
- {-101419200 -10800 1 ARST}
- {-86821200 -14400 0 ART}
- {-71092800 -10800 1 ARST}
- {-54766800 -14400 0 ART}
- {-39038400 -10800 1 ARST}
- {-23317200 -14400 0 ART}
- {-7588800 -10800 0 ART}
- {128142000 -7200 1 ARST}
- {136605600 -10800 0 ART}
- {596948400 -7200 1 ARST}
- {605066400 -10800 0 ART}
- {624423600 -7200 1 ARST}
- {631159200 -7200 1 ARST}
- {637380000 -14400 0 WART}
- {655963200 -10800 1 WARST}
- {667796400 -14400 0 WART}
- {675748800 -10800 0 ART}
- {938919600 -10800 1 WARST}
- {952052400 -10800 0 ART}
- {1085972400 -14400 0 WART}
- {1090728000 -10800 0 ART}
- {1198983600 -7200 1 ARST}
- {1200880800 -10800 0 WART}
- {1205031600 -14400 0 WART}
- {1223784000 -10800 1 WARST}
- {1236481200 -14400 0 WART}
- {1255233600 -10800 0 ART}
+ {-1567453392 -14400 0 -04}
+ {-1233432000 -10800 0 -03}
+ {-1222981200 -14400 0 -04}
+ {-1205956800 -10800 1 -03}
+ {-1194037200 -14400 0 -04}
+ {-1172865600 -10800 1 -03}
+ {-1162501200 -14400 0 -04}
+ {-1141329600 -10800 1 -03}
+ {-1130965200 -14400 0 -04}
+ {-1109793600 -10800 1 -03}
+ {-1099429200 -14400 0 -04}
+ {-1078257600 -10800 1 -03}
+ {-1067806800 -14400 0 -04}
+ {-1046635200 -10800 1 -03}
+ {-1036270800 -14400 0 -04}
+ {-1015099200 -10800 1 -03}
+ {-1004734800 -14400 0 -04}
+ {-983563200 -10800 1 -03}
+ {-973198800 -14400 0 -04}
+ {-952027200 -10800 1 -03}
+ {-941576400 -14400 0 -04}
+ {-931032000 -10800 1 -03}
+ {-900882000 -14400 0 -04}
+ {-890337600 -10800 1 -03}
+ {-833749200 -14400 0 -04}
+ {-827265600 -10800 1 -03}
+ {-752274000 -14400 0 -04}
+ {-733780800 -10800 1 -03}
+ {-197326800 -14400 0 -04}
+ {-190843200 -10800 1 -03}
+ {-184194000 -14400 0 -04}
+ {-164491200 -10800 1 -03}
+ {-152658000 -14400 0 -04}
+ {-132955200 -10800 1 -03}
+ {-121122000 -14400 0 -04}
+ {-101419200 -10800 1 -03}
+ {-86821200 -14400 0 -04}
+ {-71092800 -10800 1 -03}
+ {-54766800 -14400 0 -04}
+ {-39038400 -10800 1 -03}
+ {-23317200 -14400 0 -04}
+ {-7588800 -10800 0 -03}
+ {128142000 -7200 1 -02}
+ {136605600 -10800 0 -03}
+ {596948400 -7200 1 -02}
+ {605066400 -10800 0 -03}
+ {624423600 -7200 1 -02}
+ {631159200 -7200 1 -02}
+ {637380000 -14400 0 -04}
+ {655963200 -10800 1 -03}
+ {667796400 -14400 0 -04}
+ {675748800 -10800 0 -03}
+ {938919600 -10800 1 -03}
+ {952052400 -10800 0 -03}
+ {1085972400 -14400 0 -04}
+ {1090728000 -10800 0 -03}
+ {1198983600 -7200 1 -02}
+ {1200880800 -10800 0 -04}
+ {1205031600 -14400 0 -04}
+ {1223784000 -10800 1 -03}
+ {1236481200 -14400 0 -04}
+ {1255233600 -10800 0 -03}
}
diff --git a/library/tzdata/America/Argentina/Tucuman b/library/tzdata/America/Argentina/Tucuman
index 3500986..15c5c63 100644
--- a/library/tzdata/America/Argentina/Tucuman
+++ b/library/tzdata/America/Argentina/Tucuman
@@ -3,67 +3,67 @@
set TZData(:America/Argentina/Tucuman) {
{-9223372036854775808 -15652 0 LMT}
{-2372096348 -15408 0 CMT}
- {-1567453392 -14400 0 ART}
- {-1233432000 -10800 0 ARST}
- {-1222981200 -14400 0 ART}
- {-1205956800 -10800 1 ARST}
- {-1194037200 -14400 0 ART}
- {-1172865600 -10800 1 ARST}
- {-1162501200 -14400 0 ART}
- {-1141329600 -10800 1 ARST}
- {-1130965200 -14400 0 ART}
- {-1109793600 -10800 1 ARST}
- {-1099429200 -14400 0 ART}
- {-1078257600 -10800 1 ARST}
- {-1067806800 -14400 0 ART}
- {-1046635200 -10800 1 ARST}
- {-1036270800 -14400 0 ART}
- {-1015099200 -10800 1 ARST}
- {-1004734800 -14400 0 ART}
- {-983563200 -10800 1 ARST}
- {-973198800 -14400 0 ART}
- {-952027200 -10800 1 ARST}
- {-941576400 -14400 0 ART}
- {-931032000 -10800 1 ARST}
- {-900882000 -14400 0 ART}
- {-890337600 -10800 1 ARST}
- {-833749200 -14400 0 ART}
- {-827265600 -10800 1 ARST}
- {-752274000 -14400 0 ART}
- {-733780800 -10800 1 ARST}
- {-197326800 -14400 0 ART}
- {-190843200 -10800 1 ARST}
- {-184194000 -14400 0 ART}
- {-164491200 -10800 1 ARST}
- {-152658000 -14400 0 ART}
- {-132955200 -10800 1 ARST}
- {-121122000 -14400 0 ART}
- {-101419200 -10800 1 ARST}
- {-86821200 -14400 0 ART}
- {-71092800 -10800 1 ARST}
- {-54766800 -14400 0 ART}
- {-39038400 -10800 1 ARST}
- {-23317200 -14400 0 ART}
- {-7588800 -10800 0 ART}
- {128142000 -7200 1 ARST}
- {136605600 -10800 0 ART}
- {596948400 -7200 1 ARST}
- {605066400 -10800 0 ART}
- {624423600 -7200 1 ARST}
- {636516000 -10800 0 ART}
- {656478000 -7200 1 ARST}
- {667965600 -14400 0 WART}
- {687931200 -7200 0 ARST}
- {699415200 -10800 0 ART}
- {719377200 -7200 1 ARST}
- {731469600 -10800 0 ART}
- {938916000 -10800 0 ART}
- {938919600 -10800 1 ARST}
- {952056000 -10800 0 ART}
- {1086058800 -14400 0 WART}
- {1087099200 -10800 0 ART}
- {1198983600 -7200 1 ARST}
- {1205632800 -10800 0 ART}
- {1224385200 -7200 1 ARST}
- {1237082400 -10800 0 ART}
+ {-1567453392 -14400 0 -04}
+ {-1233432000 -10800 0 -03}
+ {-1222981200 -14400 0 -04}
+ {-1205956800 -10800 1 -03}
+ {-1194037200 -14400 0 -04}
+ {-1172865600 -10800 1 -03}
+ {-1162501200 -14400 0 -04}
+ {-1141329600 -10800 1 -03}
+ {-1130965200 -14400 0 -04}
+ {-1109793600 -10800 1 -03}
+ {-1099429200 -14400 0 -04}
+ {-1078257600 -10800 1 -03}
+ {-1067806800 -14400 0 -04}
+ {-1046635200 -10800 1 -03}
+ {-1036270800 -14400 0 -04}
+ {-1015099200 -10800 1 -03}
+ {-1004734800 -14400 0 -04}
+ {-983563200 -10800 1 -03}
+ {-973198800 -14400 0 -04}
+ {-952027200 -10800 1 -03}
+ {-941576400 -14400 0 -04}
+ {-931032000 -10800 1 -03}
+ {-900882000 -14400 0 -04}
+ {-890337600 -10800 1 -03}
+ {-833749200 -14400 0 -04}
+ {-827265600 -10800 1 -03}
+ {-752274000 -14400 0 -04}
+ {-733780800 -10800 1 -03}
+ {-197326800 -14400 0 -04}
+ {-190843200 -10800 1 -03}
+ {-184194000 -14400 0 -04}
+ {-164491200 -10800 1 -03}
+ {-152658000 -14400 0 -04}
+ {-132955200 -10800 1 -03}
+ {-121122000 -14400 0 -04}
+ {-101419200 -10800 1 -03}
+ {-86821200 -14400 0 -04}
+ {-71092800 -10800 1 -03}
+ {-54766800 -14400 0 -04}
+ {-39038400 -10800 1 -03}
+ {-23317200 -14400 0 -04}
+ {-7588800 -10800 0 -03}
+ {128142000 -7200 1 -02}
+ {136605600 -10800 0 -03}
+ {596948400 -7200 1 -02}
+ {605066400 -10800 0 -03}
+ {624423600 -7200 1 -02}
+ {636516000 -10800 0 -03}
+ {656478000 -7200 1 -02}
+ {667965600 -14400 0 -04}
+ {687931200 -7200 0 -02}
+ {699415200 -10800 0 -03}
+ {719377200 -7200 1 -02}
+ {731469600 -10800 0 -03}
+ {938916000 -10800 0 -04}
+ {938919600 -10800 1 -03}
+ {952056000 -10800 0 -03}
+ {1086058800 -14400 0 -04}
+ {1087099200 -10800 0 -03}
+ {1198983600 -7200 1 -02}
+ {1205632800 -10800 0 -03}
+ {1224385200 -7200 1 -02}
+ {1237082400 -10800 0 -03}
}
diff --git a/library/tzdata/America/Argentina/Ushuaia b/library/tzdata/America/Argentina/Ushuaia
index 4fcf92d..4214c1d 100644
--- a/library/tzdata/America/Argentina/Ushuaia
+++ b/library/tzdata/America/Argentina/Ushuaia
@@ -3,66 +3,66 @@
set TZData(:America/Argentina/Ushuaia) {
{-9223372036854775808 -16392 0 LMT}
{-2372095608 -15408 0 CMT}
- {-1567453392 -14400 0 ART}
- {-1233432000 -10800 0 ARST}
- {-1222981200 -14400 0 ART}
- {-1205956800 -10800 1 ARST}
- {-1194037200 -14400 0 ART}
- {-1172865600 -10800 1 ARST}
- {-1162501200 -14400 0 ART}
- {-1141329600 -10800 1 ARST}
- {-1130965200 -14400 0 ART}
- {-1109793600 -10800 1 ARST}
- {-1099429200 -14400 0 ART}
- {-1078257600 -10800 1 ARST}
- {-1067806800 -14400 0 ART}
- {-1046635200 -10800 1 ARST}
- {-1036270800 -14400 0 ART}
- {-1015099200 -10800 1 ARST}
- {-1004734800 -14400 0 ART}
- {-983563200 -10800 1 ARST}
- {-973198800 -14400 0 ART}
- {-952027200 -10800 1 ARST}
- {-941576400 -14400 0 ART}
- {-931032000 -10800 1 ARST}
- {-900882000 -14400 0 ART}
- {-890337600 -10800 1 ARST}
- {-833749200 -14400 0 ART}
- {-827265600 -10800 1 ARST}
- {-752274000 -14400 0 ART}
- {-733780800 -10800 1 ARST}
- {-197326800 -14400 0 ART}
- {-190843200 -10800 1 ARST}
- {-184194000 -14400 0 ART}
- {-164491200 -10800 1 ARST}
- {-152658000 -14400 0 ART}
- {-132955200 -10800 1 ARST}
- {-121122000 -14400 0 ART}
- {-101419200 -10800 1 ARST}
- {-86821200 -14400 0 ART}
- {-71092800 -10800 1 ARST}
- {-54766800 -14400 0 ART}
- {-39038400 -10800 1 ARST}
- {-23317200 -14400 0 ART}
- {-7588800 -10800 0 ART}
- {128142000 -7200 1 ARST}
- {136605600 -10800 0 ART}
- {596948400 -7200 1 ARST}
- {605066400 -10800 0 ART}
- {624423600 -7200 1 ARST}
- {636516000 -10800 0 ART}
- {656478000 -7200 1 ARST}
- {667965600 -10800 0 ART}
- {687927600 -7200 1 ARST}
- {699415200 -10800 0 ART}
- {719377200 -7200 1 ARST}
- {731469600 -10800 0 ART}
- {938916000 -10800 0 ART}
- {938919600 -10800 1 ARST}
- {952056000 -10800 0 ART}
- {1085886000 -14400 0 WART}
- {1087704000 -10800 0 ART}
- {1198983600 -7200 1 ARST}
- {1205632800 -10800 0 ART}
- {1224295200 -10800 0 ART}
+ {-1567453392 -14400 0 -04}
+ {-1233432000 -10800 0 -03}
+ {-1222981200 -14400 0 -04}
+ {-1205956800 -10800 1 -03}
+ {-1194037200 -14400 0 -04}
+ {-1172865600 -10800 1 -03}
+ {-1162501200 -14400 0 -04}
+ {-1141329600 -10800 1 -03}
+ {-1130965200 -14400 0 -04}
+ {-1109793600 -10800 1 -03}
+ {-1099429200 -14400 0 -04}
+ {-1078257600 -10800 1 -03}
+ {-1067806800 -14400 0 -04}
+ {-1046635200 -10800 1 -03}
+ {-1036270800 -14400 0 -04}
+ {-1015099200 -10800 1 -03}
+ {-1004734800 -14400 0 -04}
+ {-983563200 -10800 1 -03}
+ {-973198800 -14400 0 -04}
+ {-952027200 -10800 1 -03}
+ {-941576400 -14400 0 -04}
+ {-931032000 -10800 1 -03}
+ {-900882000 -14400 0 -04}
+ {-890337600 -10800 1 -03}
+ {-833749200 -14400 0 -04}
+ {-827265600 -10800 1 -03}
+ {-752274000 -14400 0 -04}
+ {-733780800 -10800 1 -03}
+ {-197326800 -14400 0 -04}
+ {-190843200 -10800 1 -03}
+ {-184194000 -14400 0 -04}
+ {-164491200 -10800 1 -03}
+ {-152658000 -14400 0 -04}
+ {-132955200 -10800 1 -03}
+ {-121122000 -14400 0 -04}
+ {-101419200 -10800 1 -03}
+ {-86821200 -14400 0 -04}
+ {-71092800 -10800 1 -03}
+ {-54766800 -14400 0 -04}
+ {-39038400 -10800 1 -03}
+ {-23317200 -14400 0 -04}
+ {-7588800 -10800 0 -03}
+ {128142000 -7200 1 -02}
+ {136605600 -10800 0 -03}
+ {596948400 -7200 1 -02}
+ {605066400 -10800 0 -03}
+ {624423600 -7200 1 -02}
+ {636516000 -10800 0 -03}
+ {656478000 -7200 1 -02}
+ {667965600 -10800 0 -03}
+ {687927600 -7200 1 -02}
+ {699415200 -10800 0 -03}
+ {719377200 -7200 1 -02}
+ {731469600 -10800 0 -03}
+ {938916000 -10800 0 -04}
+ {938919600 -10800 1 -03}
+ {952056000 -10800 0 -03}
+ {1085886000 -14400 0 -04}
+ {1087704000 -10800 0 -03}
+ {1198983600 -7200 1 -02}
+ {1205632800 -10800 0 -03}
+ {1224295200 -10800 0 -03}
}
diff --git a/library/tzdata/America/Asuncion b/library/tzdata/America/Asuncion
index 9ea30da..606db57 100644
--- a/library/tzdata/America/Asuncion
+++ b/library/tzdata/America/Asuncion
@@ -3,257 +3,257 @@
set TZData(:America/Asuncion) {
{-9223372036854775808 -13840 0 LMT}
{-2524507760 -13840 0 AMT}
- {-1206389360 -14400 0 PYT}
- {86760000 -10800 0 PYT}
- {134017200 -14400 0 PYT}
- {162878400 -14400 0 PYT}
- {181368000 -10800 1 PYST}
- {194497200 -14400 0 PYT}
- {212990400 -10800 1 PYST}
- {226033200 -14400 0 PYT}
- {244526400 -10800 1 PYST}
- {257569200 -14400 0 PYT}
- {276062400 -10800 1 PYST}
- {291783600 -14400 0 PYT}
- {307598400 -10800 1 PYST}
- {323406000 -14400 0 PYT}
- {339220800 -10800 1 PYST}
- {354942000 -14400 0 PYT}
- {370756800 -10800 1 PYST}
- {386478000 -14400 0 PYT}
- {402292800 -10800 1 PYST}
- {418014000 -14400 0 PYT}
- {433828800 -10800 1 PYST}
- {449636400 -14400 0 PYT}
- {465451200 -10800 1 PYST}
- {481172400 -14400 0 PYT}
- {496987200 -10800 1 PYST}
- {512708400 -14400 0 PYT}
- {528523200 -10800 1 PYST}
- {544244400 -14400 0 PYT}
- {560059200 -10800 1 PYST}
- {575866800 -14400 0 PYT}
- {591681600 -10800 1 PYST}
- {607402800 -14400 0 PYT}
- {625032000 -10800 1 PYST}
- {638938800 -14400 0 PYT}
- {654753600 -10800 1 PYST}
- {670474800 -14400 0 PYT}
- {686721600 -10800 1 PYST}
- {699418800 -14400 0 PYT}
- {718257600 -10800 1 PYST}
- {733546800 -14400 0 PYT}
- {749448000 -10800 1 PYST}
- {762318000 -14400 0 PYT}
- {780984000 -10800 1 PYST}
- {793767600 -14400 0 PYT}
- {812520000 -10800 1 PYST}
- {825649200 -14400 0 PYT}
- {844574400 -10800 1 PYST}
- {856666800 -14400 0 PYT}
- {876024000 -10800 1 PYST}
- {888721200 -14400 0 PYT}
- {907473600 -10800 1 PYST}
- {920775600 -14400 0 PYT}
- {938923200 -10800 1 PYST}
- {952225200 -14400 0 PYT}
- {970372800 -10800 1 PYST}
- {983674800 -14400 0 PYT}
- {1002427200 -10800 1 PYST}
- {1018148400 -14400 0 PYT}
- {1030852800 -10800 1 PYST}
- {1049598000 -14400 0 PYT}
- {1062907200 -10800 1 PYST}
- {1081047600 -14400 0 PYT}
- {1097985600 -10800 1 PYST}
- {1110682800 -14400 0 PYT}
- {1129435200 -10800 1 PYST}
- {1142132400 -14400 0 PYT}
- {1160884800 -10800 1 PYST}
- {1173582000 -14400 0 PYT}
- {1192939200 -10800 1 PYST}
- {1205031600 -14400 0 PYT}
- {1224388800 -10800 1 PYST}
- {1236481200 -14400 0 PYT}
- {1255838400 -10800 1 PYST}
- {1270954800 -14400 0 PYT}
- {1286078400 -10800 1 PYST}
- {1302404400 -14400 0 PYT}
- {1317528000 -10800 1 PYST}
- {1333854000 -14400 0 PYT}
- {1349582400 -10800 1 PYST}
- {1364094000 -14400 0 PYT}
- {1381032000 -10800 1 PYST}
- {1395543600 -14400 0 PYT}
- {1412481600 -10800 1 PYST}
- {1426993200 -14400 0 PYT}
- {1443931200 -10800 1 PYST}
- {1459047600 -14400 0 PYT}
- {1475380800 -10800 1 PYST}
- {1490497200 -14400 0 PYT}
- {1506830400 -10800 1 PYST}
- {1521946800 -14400 0 PYT}
- {1538884800 -10800 1 PYST}
- {1553396400 -14400 0 PYT}
- {1570334400 -10800 1 PYST}
- {1584846000 -14400 0 PYT}
- {1601784000 -10800 1 PYST}
- {1616900400 -14400 0 PYT}
- {1633233600 -10800 1 PYST}
- {1648350000 -14400 0 PYT}
- {1664683200 -10800 1 PYST}
- {1679799600 -14400 0 PYT}
- {1696132800 -10800 1 PYST}
- {1711249200 -14400 0 PYT}
- {1728187200 -10800 1 PYST}
- {1742698800 -14400 0 PYT}
- {1759636800 -10800 1 PYST}
- {1774148400 -14400 0 PYT}
- {1791086400 -10800 1 PYST}
- {1806202800 -14400 0 PYT}
- {1822536000 -10800 1 PYST}
- {1837652400 -14400 0 PYT}
- {1853985600 -10800 1 PYST}
- {1869102000 -14400 0 PYT}
- {1886040000 -10800 1 PYST}
- {1900551600 -14400 0 PYT}
- {1917489600 -10800 1 PYST}
- {1932001200 -14400 0 PYT}
- {1948939200 -10800 1 PYST}
- {1964055600 -14400 0 PYT}
- {1980388800 -10800 1 PYST}
- {1995505200 -14400 0 PYT}
- {2011838400 -10800 1 PYST}
- {2026954800 -14400 0 PYT}
- {2043288000 -10800 1 PYST}
- {2058404400 -14400 0 PYT}
- {2075342400 -10800 1 PYST}
- {2089854000 -14400 0 PYT}
- {2106792000 -10800 1 PYST}
- {2121303600 -14400 0 PYT}
- {2138241600 -10800 1 PYST}
- {2153358000 -14400 0 PYT}
- {2169691200 -10800 1 PYST}
- {2184807600 -14400 0 PYT}
- {2201140800 -10800 1 PYST}
- {2216257200 -14400 0 PYT}
- {2233195200 -10800 1 PYST}
- {2247706800 -14400 0 PYT}
- {2264644800 -10800 1 PYST}
- {2279156400 -14400 0 PYT}
- {2296094400 -10800 1 PYST}
- {2310606000 -14400 0 PYT}
- {2327544000 -10800 1 PYST}
- {2342660400 -14400 0 PYT}
- {2358993600 -10800 1 PYST}
- {2374110000 -14400 0 PYT}
- {2390443200 -10800 1 PYST}
- {2405559600 -14400 0 PYT}
- {2422497600 -10800 1 PYST}
- {2437009200 -14400 0 PYT}
- {2453947200 -10800 1 PYST}
- {2468458800 -14400 0 PYT}
- {2485396800 -10800 1 PYST}
- {2500513200 -14400 0 PYT}
- {2516846400 -10800 1 PYST}
- {2531962800 -14400 0 PYT}
- {2548296000 -10800 1 PYST}
- {2563412400 -14400 0 PYT}
- {2579745600 -10800 1 PYST}
- {2594862000 -14400 0 PYT}
- {2611800000 -10800 1 PYST}
- {2626311600 -14400 0 PYT}
- {2643249600 -10800 1 PYST}
- {2657761200 -14400 0 PYT}
- {2674699200 -10800 1 PYST}
- {2689815600 -14400 0 PYT}
- {2706148800 -10800 1 PYST}
- {2721265200 -14400 0 PYT}
- {2737598400 -10800 1 PYST}
- {2752714800 -14400 0 PYT}
- {2769652800 -10800 1 PYST}
- {2784164400 -14400 0 PYT}
- {2801102400 -10800 1 PYST}
- {2815614000 -14400 0 PYT}
- {2832552000 -10800 1 PYST}
- {2847668400 -14400 0 PYT}
- {2864001600 -10800 1 PYST}
- {2879118000 -14400 0 PYT}
- {2895451200 -10800 1 PYST}
- {2910567600 -14400 0 PYT}
- {2926900800 -10800 1 PYST}
- {2942017200 -14400 0 PYT}
- {2958955200 -10800 1 PYST}
- {2973466800 -14400 0 PYT}
- {2990404800 -10800 1 PYST}
- {3004916400 -14400 0 PYT}
- {3021854400 -10800 1 PYST}
- {3036970800 -14400 0 PYT}
- {3053304000 -10800 1 PYST}
- {3068420400 -14400 0 PYT}
- {3084753600 -10800 1 PYST}
- {3099870000 -14400 0 PYT}
- {3116808000 -10800 1 PYST}
- {3131319600 -14400 0 PYT}
- {3148257600 -10800 1 PYST}
- {3162769200 -14400 0 PYT}
- {3179707200 -10800 1 PYST}
- {3194218800 -14400 0 PYT}
- {3211156800 -10800 1 PYST}
- {3226273200 -14400 0 PYT}
- {3242606400 -10800 1 PYST}
- {3257722800 -14400 0 PYT}
- {3274056000 -10800 1 PYST}
- {3289172400 -14400 0 PYT}
- {3306110400 -10800 1 PYST}
- {3320622000 -14400 0 PYT}
- {3337560000 -10800 1 PYST}
- {3352071600 -14400 0 PYT}
- {3369009600 -10800 1 PYST}
- {3384126000 -14400 0 PYT}
- {3400459200 -10800 1 PYST}
- {3415575600 -14400 0 PYT}
- {3431908800 -10800 1 PYST}
- {3447025200 -14400 0 PYT}
- {3463358400 -10800 1 PYST}
- {3478474800 -14400 0 PYT}
- {3495412800 -10800 1 PYST}
- {3509924400 -14400 0 PYT}
- {3526862400 -10800 1 PYST}
- {3541374000 -14400 0 PYT}
- {3558312000 -10800 1 PYST}
- {3573428400 -14400 0 PYT}
- {3589761600 -10800 1 PYST}
- {3604878000 -14400 0 PYT}
- {3621211200 -10800 1 PYST}
- {3636327600 -14400 0 PYT}
- {3653265600 -10800 1 PYST}
- {3667777200 -14400 0 PYT}
- {3684715200 -10800 1 PYST}
- {3699226800 -14400 0 PYT}
- {3716164800 -10800 1 PYST}
- {3731281200 -14400 0 PYT}
- {3747614400 -10800 1 PYST}
- {3762730800 -14400 0 PYT}
- {3779064000 -10800 1 PYST}
- {3794180400 -14400 0 PYT}
- {3810513600 -10800 1 PYST}
- {3825630000 -14400 0 PYT}
- {3842568000 -10800 1 PYST}
- {3857079600 -14400 0 PYT}
- {3874017600 -10800 1 PYST}
- {3888529200 -14400 0 PYT}
- {3905467200 -10800 1 PYST}
- {3920583600 -14400 0 PYT}
- {3936916800 -10800 1 PYST}
- {3952033200 -14400 0 PYT}
- {3968366400 -10800 1 PYST}
- {3983482800 -14400 0 PYT}
- {4000420800 -10800 1 PYST}
- {4014932400 -14400 0 PYT}
- {4031870400 -10800 1 PYST}
- {4046382000 -14400 0 PYT}
- {4063320000 -10800 1 PYST}
- {4077831600 -14400 0 PYT}
- {4094769600 -10800 1 PYST}
+ {-1206389360 -14400 0 -04}
+ {86760000 -10800 0 -03}
+ {134017200 -14400 0 -04}
+ {162878400 -14400 0 -04}
+ {181368000 -10800 1 -03}
+ {194497200 -14400 0 -04}
+ {212990400 -10800 1 -03}
+ {226033200 -14400 0 -04}
+ {244526400 -10800 1 -03}
+ {257569200 -14400 0 -04}
+ {276062400 -10800 1 -03}
+ {291783600 -14400 0 -04}
+ {307598400 -10800 1 -03}
+ {323406000 -14400 0 -04}
+ {339220800 -10800 1 -03}
+ {354942000 -14400 0 -04}
+ {370756800 -10800 1 -03}
+ {386478000 -14400 0 -04}
+ {402292800 -10800 1 -03}
+ {418014000 -14400 0 -04}
+ {433828800 -10800 1 -03}
+ {449636400 -14400 0 -04}
+ {465451200 -10800 1 -03}
+ {481172400 -14400 0 -04}
+ {496987200 -10800 1 -03}
+ {512708400 -14400 0 -04}
+ {528523200 -10800 1 -03}
+ {544244400 -14400 0 -04}
+ {560059200 -10800 1 -03}
+ {575866800 -14400 0 -04}
+ {591681600 -10800 1 -03}
+ {607402800 -14400 0 -04}
+ {625032000 -10800 1 -03}
+ {638938800 -14400 0 -04}
+ {654753600 -10800 1 -03}
+ {670474800 -14400 0 -04}
+ {686721600 -10800 1 -03}
+ {699418800 -14400 0 -04}
+ {718257600 -10800 1 -03}
+ {733546800 -14400 0 -04}
+ {749448000 -10800 1 -03}
+ {762318000 -14400 0 -04}
+ {780984000 -10800 1 -03}
+ {793767600 -14400 0 -04}
+ {812520000 -10800 1 -03}
+ {825649200 -14400 0 -04}
+ {844574400 -10800 1 -03}
+ {856666800 -14400 0 -04}
+ {876024000 -10800 1 -03}
+ {888721200 -14400 0 -04}
+ {907473600 -10800 1 -03}
+ {920775600 -14400 0 -04}
+ {938923200 -10800 1 -03}
+ {952225200 -14400 0 -04}
+ {970372800 -10800 1 -03}
+ {983674800 -14400 0 -04}
+ {1002427200 -10800 1 -03}
+ {1018148400 -14400 0 -04}
+ {1030852800 -10800 1 -03}
+ {1049598000 -14400 0 -04}
+ {1062907200 -10800 1 -03}
+ {1081047600 -14400 0 -04}
+ {1097985600 -10800 1 -03}
+ {1110682800 -14400 0 -04}
+ {1129435200 -10800 1 -03}
+ {1142132400 -14400 0 -04}
+ {1160884800 -10800 1 -03}
+ {1173582000 -14400 0 -04}
+ {1192939200 -10800 1 -03}
+ {1205031600 -14400 0 -04}
+ {1224388800 -10800 1 -03}
+ {1236481200 -14400 0 -04}
+ {1255838400 -10800 1 -03}
+ {1270954800 -14400 0 -04}
+ {1286078400 -10800 1 -03}
+ {1302404400 -14400 0 -04}
+ {1317528000 -10800 1 -03}
+ {1333854000 -14400 0 -04}
+ {1349582400 -10800 1 -03}
+ {1364094000 -14400 0 -04}
+ {1381032000 -10800 1 -03}
+ {1395543600 -14400 0 -04}
+ {1412481600 -10800 1 -03}
+ {1426993200 -14400 0 -04}
+ {1443931200 -10800 1 -03}
+ {1459047600 -14400 0 -04}
+ {1475380800 -10800 1 -03}
+ {1490497200 -14400 0 -04}
+ {1506830400 -10800 1 -03}
+ {1521946800 -14400 0 -04}
+ {1538884800 -10800 1 -03}
+ {1553396400 -14400 0 -04}
+ {1570334400 -10800 1 -03}
+ {1584846000 -14400 0 -04}
+ {1601784000 -10800 1 -03}
+ {1616900400 -14400 0 -04}
+ {1633233600 -10800 1 -03}
+ {1648350000 -14400 0 -04}
+ {1664683200 -10800 1 -03}
+ {1679799600 -14400 0 -04}
+ {1696132800 -10800 1 -03}
+ {1711249200 -14400 0 -04}
+ {1728187200 -10800 1 -03}
+ {1742698800 -14400 0 -04}
+ {1759636800 -10800 1 -03}
+ {1774148400 -14400 0 -04}
+ {1791086400 -10800 1 -03}
+ {1806202800 -14400 0 -04}
+ {1822536000 -10800 1 -03}
+ {1837652400 -14400 0 -04}
+ {1853985600 -10800 1 -03}
+ {1869102000 -14400 0 -04}
+ {1886040000 -10800 1 -03}
+ {1900551600 -14400 0 -04}
+ {1917489600 -10800 1 -03}
+ {1932001200 -14400 0 -04}
+ {1948939200 -10800 1 -03}
+ {1964055600 -14400 0 -04}
+ {1980388800 -10800 1 -03}
+ {1995505200 -14400 0 -04}
+ {2011838400 -10800 1 -03}
+ {2026954800 -14400 0 -04}
+ {2043288000 -10800 1 -03}
+ {2058404400 -14400 0 -04}
+ {2075342400 -10800 1 -03}
+ {2089854000 -14400 0 -04}
+ {2106792000 -10800 1 -03}
+ {2121303600 -14400 0 -04}
+ {2138241600 -10800 1 -03}
+ {2153358000 -14400 0 -04}
+ {2169691200 -10800 1 -03}
+ {2184807600 -14400 0 -04}
+ {2201140800 -10800 1 -03}
+ {2216257200 -14400 0 -04}
+ {2233195200 -10800 1 -03}
+ {2247706800 -14400 0 -04}
+ {2264644800 -10800 1 -03}
+ {2279156400 -14400 0 -04}
+ {2296094400 -10800 1 -03}
+ {2310606000 -14400 0 -04}
+ {2327544000 -10800 1 -03}
+ {2342660400 -14400 0 -04}
+ {2358993600 -10800 1 -03}
+ {2374110000 -14400 0 -04}
+ {2390443200 -10800 1 -03}
+ {2405559600 -14400 0 -04}
+ {2422497600 -10800 1 -03}
+ {2437009200 -14400 0 -04}
+ {2453947200 -10800 1 -03}
+ {2468458800 -14400 0 -04}
+ {2485396800 -10800 1 -03}
+ {2500513200 -14400 0 -04}
+ {2516846400 -10800 1 -03}
+ {2531962800 -14400 0 -04}
+ {2548296000 -10800 1 -03}
+ {2563412400 -14400 0 -04}
+ {2579745600 -10800 1 -03}
+ {2594862000 -14400 0 -04}
+ {2611800000 -10800 1 -03}
+ {2626311600 -14400 0 -04}
+ {2643249600 -10800 1 -03}
+ {2657761200 -14400 0 -04}
+ {2674699200 -10800 1 -03}
+ {2689815600 -14400 0 -04}
+ {2706148800 -10800 1 -03}
+ {2721265200 -14400 0 -04}
+ {2737598400 -10800 1 -03}
+ {2752714800 -14400 0 -04}
+ {2769652800 -10800 1 -03}
+ {2784164400 -14400 0 -04}
+ {2801102400 -10800 1 -03}
+ {2815614000 -14400 0 -04}
+ {2832552000 -10800 1 -03}
+ {2847668400 -14400 0 -04}
+ {2864001600 -10800 1 -03}
+ {2879118000 -14400 0 -04}
+ {2895451200 -10800 1 -03}
+ {2910567600 -14400 0 -04}
+ {2926900800 -10800 1 -03}
+ {2942017200 -14400 0 -04}
+ {2958955200 -10800 1 -03}
+ {2973466800 -14400 0 -04}
+ {2990404800 -10800 1 -03}
+ {3004916400 -14400 0 -04}
+ {3021854400 -10800 1 -03}
+ {3036970800 -14400 0 -04}
+ {3053304000 -10800 1 -03}
+ {3068420400 -14400 0 -04}
+ {3084753600 -10800 1 -03}
+ {3099870000 -14400 0 -04}
+ {3116808000 -10800 1 -03}
+ {3131319600 -14400 0 -04}
+ {3148257600 -10800 1 -03}
+ {3162769200 -14400 0 -04}
+ {3179707200 -10800 1 -03}
+ {3194218800 -14400 0 -04}
+ {3211156800 -10800 1 -03}
+ {3226273200 -14400 0 -04}
+ {3242606400 -10800 1 -03}
+ {3257722800 -14400 0 -04}
+ {3274056000 -10800 1 -03}
+ {3289172400 -14400 0 -04}
+ {3306110400 -10800 1 -03}
+ {3320622000 -14400 0 -04}
+ {3337560000 -10800 1 -03}
+ {3352071600 -14400 0 -04}
+ {3369009600 -10800 1 -03}
+ {3384126000 -14400 0 -04}
+ {3400459200 -10800 1 -03}
+ {3415575600 -14400 0 -04}
+ {3431908800 -10800 1 -03}
+ {3447025200 -14400 0 -04}
+ {3463358400 -10800 1 -03}
+ {3478474800 -14400 0 -04}
+ {3495412800 -10800 1 -03}
+ {3509924400 -14400 0 -04}
+ {3526862400 -10800 1 -03}
+ {3541374000 -14400 0 -04}
+ {3558312000 -10800 1 -03}
+ {3573428400 -14400 0 -04}
+ {3589761600 -10800 1 -03}
+ {3604878000 -14400 0 -04}
+ {3621211200 -10800 1 -03}
+ {3636327600 -14400 0 -04}
+ {3653265600 -10800 1 -03}
+ {3667777200 -14400 0 -04}
+ {3684715200 -10800 1 -03}
+ {3699226800 -14400 0 -04}
+ {3716164800 -10800 1 -03}
+ {3731281200 -14400 0 -04}
+ {3747614400 -10800 1 -03}
+ {3762730800 -14400 0 -04}
+ {3779064000 -10800 1 -03}
+ {3794180400 -14400 0 -04}
+ {3810513600 -10800 1 -03}
+ {3825630000 -14400 0 -04}
+ {3842568000 -10800 1 -03}
+ {3857079600 -14400 0 -04}
+ {3874017600 -10800 1 -03}
+ {3888529200 -14400 0 -04}
+ {3905467200 -10800 1 -03}
+ {3920583600 -14400 0 -04}
+ {3936916800 -10800 1 -03}
+ {3952033200 -14400 0 -04}
+ {3968366400 -10800 1 -03}
+ {3983482800 -14400 0 -04}
+ {4000420800 -10800 1 -03}
+ {4014932400 -14400 0 -04}
+ {4031870400 -10800 1 -03}
+ {4046382000 -14400 0 -04}
+ {4063320000 -10800 1 -03}
+ {4077831600 -14400 0 -04}
+ {4094769600 -10800 1 -03}
}
diff --git a/library/tzdata/America/Bahia b/library/tzdata/America/Bahia
index ac67b71..7dbcb90 100644
--- a/library/tzdata/America/Bahia
+++ b/library/tzdata/America/Bahia
@@ -2,67 +2,67 @@
set TZData(:America/Bahia) {
{-9223372036854775808 -9244 0 LMT}
- {-1767216356 -10800 0 BRT}
- {-1206957600 -7200 1 BRST}
- {-1191362400 -10800 0 BRT}
- {-1175374800 -7200 1 BRST}
- {-1159826400 -10800 0 BRT}
- {-633819600 -7200 1 BRST}
- {-622069200 -10800 0 BRT}
- {-602283600 -7200 1 BRST}
- {-591832800 -10800 0 BRT}
- {-570747600 -7200 1 BRST}
- {-560210400 -10800 0 BRT}
- {-539125200 -7200 1 BRST}
- {-531352800 -10800 0 BRT}
- {-191365200 -7200 1 BRST}
- {-184197600 -10800 0 BRT}
- {-155163600 -7200 1 BRST}
- {-150069600 -10800 0 BRT}
- {-128898000 -7200 1 BRST}
- {-121125600 -10800 0 BRT}
- {-99954000 -7200 1 BRST}
- {-89589600 -10800 0 BRT}
- {-68418000 -7200 1 BRST}
- {-57967200 -10800 0 BRT}
- {499748400 -7200 1 BRST}
- {511236000 -10800 0 BRT}
- {530593200 -7200 1 BRST}
- {540266400 -10800 0 BRT}
- {562129200 -7200 1 BRST}
- {571197600 -10800 0 BRT}
- {592974000 -7200 1 BRST}
- {602042400 -10800 0 BRT}
- {624423600 -7200 1 BRST}
- {634701600 -10800 0 BRT}
- {656478000 -7200 1 BRST}
- {666756000 -10800 0 BRT}
- {687927600 -7200 1 BRST}
- {697600800 -10800 0 BRT}
- {719982000 -7200 1 BRST}
- {728445600 -10800 0 BRT}
- {750826800 -7200 1 BRST}
- {761709600 -10800 0 BRT}
- {782276400 -7200 1 BRST}
- {793159200 -10800 0 BRT}
- {813726000 -7200 1 BRST}
- {824004000 -10800 0 BRT}
- {844570800 -7200 1 BRST}
- {856058400 -10800 0 BRT}
- {876106800 -7200 1 BRST}
- {888717600 -10800 0 BRT}
- {908074800 -7200 1 BRST}
- {919562400 -10800 0 BRT}
- {938919600 -7200 1 BRST}
- {951616800 -10800 0 BRT}
- {970974000 -7200 1 BRST}
- {982461600 -10800 0 BRT}
- {1003028400 -7200 1 BRST}
- {1013911200 -10800 0 BRT}
- {1036292400 -7200 1 BRST}
- {1045360800 -10800 0 BRT}
- {1064368800 -10800 0 BRT}
- {1318734000 -7200 0 BRST}
- {1330221600 -10800 0 BRT}
- {1350784800 -10800 0 BRT}
+ {-1767216356 -10800 0 -03}
+ {-1206957600 -7200 1 -02}
+ {-1191362400 -10800 0 -03}
+ {-1175374800 -7200 1 -02}
+ {-1159826400 -10800 0 -03}
+ {-633819600 -7200 1 -02}
+ {-622069200 -10800 0 -03}
+ {-602283600 -7200 1 -02}
+ {-591832800 -10800 0 -03}
+ {-570747600 -7200 1 -02}
+ {-560210400 -10800 0 -03}
+ {-539125200 -7200 1 -02}
+ {-531352800 -10800 0 -03}
+ {-191365200 -7200 1 -02}
+ {-184197600 -10800 0 -03}
+ {-155163600 -7200 1 -02}
+ {-150069600 -10800 0 -03}
+ {-128898000 -7200 1 -02}
+ {-121125600 -10800 0 -03}
+ {-99954000 -7200 1 -02}
+ {-89589600 -10800 0 -03}
+ {-68418000 -7200 1 -02}
+ {-57967200 -10800 0 -03}
+ {499748400 -7200 1 -02}
+ {511236000 -10800 0 -03}
+ {530593200 -7200 1 -02}
+ {540266400 -10800 0 -03}
+ {562129200 -7200 1 -02}
+ {571197600 -10800 0 -03}
+ {592974000 -7200 1 -02}
+ {602042400 -10800 0 -03}
+ {624423600 -7200 1 -02}
+ {634701600 -10800 0 -03}
+ {656478000 -7200 1 -02}
+ {666756000 -10800 0 -03}
+ {687927600 -7200 1 -02}
+ {697600800 -10800 0 -03}
+ {719982000 -7200 1 -02}
+ {728445600 -10800 0 -03}
+ {750826800 -7200 1 -02}
+ {761709600 -10800 0 -03}
+ {782276400 -7200 1 -02}
+ {793159200 -10800 0 -03}
+ {813726000 -7200 1 -02}
+ {824004000 -10800 0 -03}
+ {844570800 -7200 1 -02}
+ {856058400 -10800 0 -03}
+ {876106800 -7200 1 -02}
+ {888717600 -10800 0 -03}
+ {908074800 -7200 1 -02}
+ {919562400 -10800 0 -03}
+ {938919600 -7200 1 -02}
+ {951616800 -10800 0 -03}
+ {970974000 -7200 1 -02}
+ {982461600 -10800 0 -03}
+ {1003028400 -7200 1 -02}
+ {1013911200 -10800 0 -03}
+ {1036292400 -7200 1 -02}
+ {1045360800 -10800 0 -03}
+ {1064368800 -10800 0 -03}
+ {1318734000 -7200 0 -02}
+ {1330221600 -10800 0 -03}
+ {1350784800 -10800 0 -03}
}
diff --git a/library/tzdata/America/Belem b/library/tzdata/America/Belem
index ed92fd1..b2bf3a6 100644
--- a/library/tzdata/America/Belem
+++ b/library/tzdata/America/Belem
@@ -2,34 +2,34 @@
set TZData(:America/Belem) {
{-9223372036854775808 -11636 0 LMT}
- {-1767213964 -10800 0 BRT}
- {-1206957600 -7200 1 BRST}
- {-1191362400 -10800 0 BRT}
- {-1175374800 -7200 1 BRST}
- {-1159826400 -10800 0 BRT}
- {-633819600 -7200 1 BRST}
- {-622069200 -10800 0 BRT}
- {-602283600 -7200 1 BRST}
- {-591832800 -10800 0 BRT}
- {-570747600 -7200 1 BRST}
- {-560210400 -10800 0 BRT}
- {-539125200 -7200 1 BRST}
- {-531352800 -10800 0 BRT}
- {-191365200 -7200 1 BRST}
- {-184197600 -10800 0 BRT}
- {-155163600 -7200 1 BRST}
- {-150069600 -10800 0 BRT}
- {-128898000 -7200 1 BRST}
- {-121125600 -10800 0 BRT}
- {-99954000 -7200 1 BRST}
- {-89589600 -10800 0 BRT}
- {-68418000 -7200 1 BRST}
- {-57967200 -10800 0 BRT}
- {499748400 -7200 1 BRST}
- {511236000 -10800 0 BRT}
- {530593200 -7200 1 BRST}
- {540266400 -10800 0 BRT}
- {562129200 -7200 1 BRST}
- {571197600 -10800 0 BRT}
- {590032800 -10800 0 BRT}
+ {-1767213964 -10800 0 -03}
+ {-1206957600 -7200 1 -02}
+ {-1191362400 -10800 0 -03}
+ {-1175374800 -7200 1 -02}
+ {-1159826400 -10800 0 -03}
+ {-633819600 -7200 1 -02}
+ {-622069200 -10800 0 -03}
+ {-602283600 -7200 1 -02}
+ {-591832800 -10800 0 -03}
+ {-570747600 -7200 1 -02}
+ {-560210400 -10800 0 -03}
+ {-539125200 -7200 1 -02}
+ {-531352800 -10800 0 -03}
+ {-191365200 -7200 1 -02}
+ {-184197600 -10800 0 -03}
+ {-155163600 -7200 1 -02}
+ {-150069600 -10800 0 -03}
+ {-128898000 -7200 1 -02}
+ {-121125600 -10800 0 -03}
+ {-99954000 -7200 1 -02}
+ {-89589600 -10800 0 -03}
+ {-68418000 -7200 1 -02}
+ {-57967200 -10800 0 -03}
+ {499748400 -7200 1 -02}
+ {511236000 -10800 0 -03}
+ {530593200 -7200 1 -02}
+ {540266400 -10800 0 -03}
+ {562129200 -7200 1 -02}
+ {571197600 -10800 0 -03}
+ {590032800 -10800 0 -03}
}
diff --git a/library/tzdata/America/Belize b/library/tzdata/America/Belize
index 547fd72..5b46388 100644
--- a/library/tzdata/America/Belize
+++ b/library/tzdata/America/Belize
@@ -3,55 +3,55 @@
set TZData(:America/Belize) {
{-9223372036854775808 -21168 0 LMT}
{-1822500432 -21600 0 CST}
- {-1616954400 -19800 1 CHDT}
+ {-1616954400 -19800 1 -0530}
{-1606069800 -21600 0 CST}
- {-1585504800 -19800 1 CHDT}
+ {-1585504800 -19800 1 -0530}
{-1574015400 -21600 0 CST}
- {-1554055200 -19800 1 CHDT}
+ {-1554055200 -19800 1 -0530}
{-1542565800 -21600 0 CST}
- {-1522605600 -19800 1 CHDT}
+ {-1522605600 -19800 1 -0530}
{-1511116200 -21600 0 CST}
- {-1490551200 -19800 1 CHDT}
+ {-1490551200 -19800 1 -0530}
{-1479666600 -21600 0 CST}
- {-1459101600 -19800 1 CHDT}
+ {-1459101600 -19800 1 -0530}
{-1448217000 -21600 0 CST}
- {-1427652000 -19800 1 CHDT}
+ {-1427652000 -19800 1 -0530}
{-1416162600 -21600 0 CST}
- {-1396202400 -19800 1 CHDT}
+ {-1396202400 -19800 1 -0530}
{-1384713000 -21600 0 CST}
- {-1364752800 -19800 1 CHDT}
+ {-1364752800 -19800 1 -0530}
{-1353263400 -21600 0 CST}
- {-1333303200 -19800 1 CHDT}
+ {-1333303200 -19800 1 -0530}
{-1321813800 -21600 0 CST}
- {-1301248800 -19800 1 CHDT}
+ {-1301248800 -19800 1 -0530}
{-1290364200 -21600 0 CST}
- {-1269799200 -19800 1 CHDT}
+ {-1269799200 -19800 1 -0530}
{-1258914600 -21600 0 CST}
- {-1238349600 -19800 1 CHDT}
+ {-1238349600 -19800 1 -0530}
{-1226860200 -21600 0 CST}
- {-1206900000 -19800 1 CHDT}
+ {-1206900000 -19800 1 -0530}
{-1195410600 -21600 0 CST}
- {-1175450400 -19800 1 CHDT}
+ {-1175450400 -19800 1 -0530}
{-1163961000 -21600 0 CST}
- {-1143396000 -19800 1 CHDT}
+ {-1143396000 -19800 1 -0530}
{-1132511400 -21600 0 CST}
- {-1111946400 -19800 1 CHDT}
+ {-1111946400 -19800 1 -0530}
{-1101061800 -21600 0 CST}
- {-1080496800 -19800 1 CHDT}
+ {-1080496800 -19800 1 -0530}
{-1069612200 -21600 0 CST}
- {-1049047200 -19800 1 CHDT}
+ {-1049047200 -19800 1 -0530}
{-1037557800 -21600 0 CST}
- {-1017597600 -19800 1 CHDT}
+ {-1017597600 -19800 1 -0530}
{-1006108200 -21600 0 CST}
- {-986148000 -19800 1 CHDT}
+ {-986148000 -19800 1 -0530}
{-974658600 -21600 0 CST}
- {-954093600 -19800 1 CHDT}
+ {-954093600 -19800 1 -0530}
{-943209000 -21600 0 CST}
- {-922644000 -19800 1 CHDT}
+ {-922644000 -19800 1 -0530}
{-911759400 -21600 0 CST}
- {-891194400 -19800 1 CHDT}
+ {-891194400 -19800 1 -0530}
{-879705000 -21600 0 CST}
- {-859744800 -19800 1 CHDT}
+ {-859744800 -19800 1 -0530}
{-848255400 -21600 0 CST}
{123919200 -18000 1 CDT}
{129618000 -21600 0 CST}
diff --git a/library/tzdata/America/Boa_Vista b/library/tzdata/America/Boa_Vista
index c85bc27..982249b 100644
--- a/library/tzdata/America/Boa_Vista
+++ b/library/tzdata/America/Boa_Vista
@@ -2,39 +2,39 @@
set TZData(:America/Boa_Vista) {
{-9223372036854775808 -14560 0 LMT}
- {-1767211040 -14400 0 AMT}
- {-1206954000 -10800 1 AMST}
- {-1191358800 -14400 0 AMT}
- {-1175371200 -10800 1 AMST}
- {-1159822800 -14400 0 AMT}
- {-633816000 -10800 1 AMST}
- {-622065600 -14400 0 AMT}
- {-602280000 -10800 1 AMST}
- {-591829200 -14400 0 AMT}
- {-570744000 -10800 1 AMST}
- {-560206800 -14400 0 AMT}
- {-539121600 -10800 1 AMST}
- {-531349200 -14400 0 AMT}
- {-191361600 -10800 1 AMST}
- {-184194000 -14400 0 AMT}
- {-155160000 -10800 1 AMST}
- {-150066000 -14400 0 AMT}
- {-128894400 -10800 1 AMST}
- {-121122000 -14400 0 AMT}
- {-99950400 -10800 1 AMST}
- {-89586000 -14400 0 AMT}
- {-68414400 -10800 1 AMST}
- {-57963600 -14400 0 AMT}
- {499752000 -10800 1 AMST}
- {511239600 -14400 0 AMT}
- {530596800 -10800 1 AMST}
- {540270000 -14400 0 AMT}
- {562132800 -10800 1 AMST}
- {571201200 -14400 0 AMT}
- {590036400 -14400 0 AMT}
- {938664000 -14400 0 AMT}
- {938923200 -10800 1 AMST}
- {951620400 -14400 0 AMT}
- {970977600 -10800 1 AMST}
- {971578800 -14400 0 AMT}
+ {-1767211040 -14400 0 -04}
+ {-1206954000 -10800 1 -03}
+ {-1191358800 -14400 0 -04}
+ {-1175371200 -10800 1 -03}
+ {-1159822800 -14400 0 -04}
+ {-633816000 -10800 1 -03}
+ {-622065600 -14400 0 -04}
+ {-602280000 -10800 1 -03}
+ {-591829200 -14400 0 -04}
+ {-570744000 -10800 1 -03}
+ {-560206800 -14400 0 -04}
+ {-539121600 -10800 1 -03}
+ {-531349200 -14400 0 -04}
+ {-191361600 -10800 1 -03}
+ {-184194000 -14400 0 -04}
+ {-155160000 -10800 1 -03}
+ {-150066000 -14400 0 -04}
+ {-128894400 -10800 1 -03}
+ {-121122000 -14400 0 -04}
+ {-99950400 -10800 1 -03}
+ {-89586000 -14400 0 -04}
+ {-68414400 -10800 1 -03}
+ {-57963600 -14400 0 -04}
+ {499752000 -10800 1 -03}
+ {511239600 -14400 0 -04}
+ {530596800 -10800 1 -03}
+ {540270000 -14400 0 -04}
+ {562132800 -10800 1 -03}
+ {571201200 -14400 0 -04}
+ {590036400 -14400 0 -04}
+ {938664000 -14400 0 -04}
+ {938923200 -10800 1 -03}
+ {951620400 -14400 0 -04}
+ {970977600 -10800 1 -03}
+ {971578800 -14400 0 -04}
}
diff --git a/library/tzdata/America/Bogota b/library/tzdata/America/Bogota
index b28abc1..69e4557 100644
--- a/library/tzdata/America/Bogota
+++ b/library/tzdata/America/Bogota
@@ -3,7 +3,7 @@
set TZData(:America/Bogota) {
{-9223372036854775808 -17776 0 LMT}
{-2707671824 -17776 0 BMT}
- {-1739041424 -18000 0 COT}
- {704869200 -14400 1 COST}
- {733896000 -18000 0 COT}
+ {-1739041424 -18000 0 -05}
+ {704869200 -14400 1 -04}
+ {733896000 -18000 0 -05}
}
diff --git a/library/tzdata/America/Campo_Grande b/library/tzdata/America/Campo_Grande
index 2cafe14..77cb4d1 100644
--- a/library/tzdata/America/Campo_Grande
+++ b/library/tzdata/America/Campo_Grande
@@ -2,256 +2,256 @@
set TZData(:America/Campo_Grande) {
{-9223372036854775808 -13108 0 LMT}
- {-1767212492 -14400 0 AMT}
- {-1206954000 -10800 1 AMST}
- {-1191358800 -14400 0 AMT}
- {-1175371200 -10800 1 AMST}
- {-1159822800 -14400 0 AMT}
- {-633816000 -10800 1 AMST}
- {-622065600 -14400 0 AMT}
- {-602280000 -10800 1 AMST}
- {-591829200 -14400 0 AMT}
- {-570744000 -10800 1 AMST}
- {-560206800 -14400 0 AMT}
- {-539121600 -10800 1 AMST}
- {-531349200 -14400 0 AMT}
- {-191361600 -10800 1 AMST}
- {-184194000 -14400 0 AMT}
- {-155160000 -10800 1 AMST}
- {-150066000 -14400 0 AMT}
- {-128894400 -10800 1 AMST}
- {-121122000 -14400 0 AMT}
- {-99950400 -10800 1 AMST}
- {-89586000 -14400 0 AMT}
- {-68414400 -10800 1 AMST}
- {-57963600 -14400 0 AMT}
- {499752000 -10800 1 AMST}
- {511239600 -14400 0 AMT}
- {530596800 -10800 1 AMST}
- {540270000 -14400 0 AMT}
- {562132800 -10800 1 AMST}
- {571201200 -14400 0 AMT}
- {592977600 -10800 1 AMST}
- {602046000 -14400 0 AMT}
- {624427200 -10800 1 AMST}
- {634705200 -14400 0 AMT}
- {656481600 -10800 1 AMST}
- {666759600 -14400 0 AMT}
- {687931200 -10800 1 AMST}
- {697604400 -14400 0 AMT}
- {719985600 -10800 1 AMST}
- {728449200 -14400 0 AMT}
- {750830400 -10800 1 AMST}
- {761713200 -14400 0 AMT}
- {782280000 -10800 1 AMST}
- {793162800 -14400 0 AMT}
- {813729600 -10800 1 AMST}
- {824007600 -14400 0 AMT}
- {844574400 -10800 1 AMST}
- {856062000 -14400 0 AMT}
- {876110400 -10800 1 AMST}
- {888721200 -14400 0 AMT}
- {908078400 -10800 1 AMST}
- {919566000 -14400 0 AMT}
- {938923200 -10800 1 AMST}
- {951620400 -14400 0 AMT}
- {970977600 -10800 1 AMST}
- {982465200 -14400 0 AMT}
- {1003032000 -10800 1 AMST}
- {1013914800 -14400 0 AMT}
- {1036296000 -10800 1 AMST}
- {1045364400 -14400 0 AMT}
- {1066536000 -10800 1 AMST}
- {1076814000 -14400 0 AMT}
- {1099368000 -10800 1 AMST}
- {1108868400 -14400 0 AMT}
- {1129435200 -10800 1 AMST}
- {1140318000 -14400 0 AMT}
- {1162699200 -10800 1 AMST}
- {1172372400 -14400 0 AMT}
- {1192334400 -10800 1 AMST}
- {1203217200 -14400 0 AMT}
- {1224388800 -10800 1 AMST}
- {1234666800 -14400 0 AMT}
- {1255838400 -10800 1 AMST}
- {1266721200 -14400 0 AMT}
- {1287288000 -10800 1 AMST}
- {1298170800 -14400 0 AMT}
- {1318737600 -10800 1 AMST}
- {1330225200 -14400 0 AMT}
- {1350792000 -10800 1 AMST}
- {1361070000 -14400 0 AMT}
- {1382241600 -10800 1 AMST}
- {1392519600 -14400 0 AMT}
- {1413691200 -10800 1 AMST}
- {1424574000 -14400 0 AMT}
- {1445140800 -10800 1 AMST}
- {1456023600 -14400 0 AMT}
- {1476590400 -10800 1 AMST}
- {1487473200 -14400 0 AMT}
- {1508040000 -10800 1 AMST}
- {1518922800 -14400 0 AMT}
- {1540094400 -10800 1 AMST}
- {1550372400 -14400 0 AMT}
- {1571544000 -10800 1 AMST}
- {1581822000 -14400 0 AMT}
- {1602993600 -10800 1 AMST}
- {1613876400 -14400 0 AMT}
- {1634443200 -10800 1 AMST}
- {1645326000 -14400 0 AMT}
- {1665892800 -10800 1 AMST}
- {1677380400 -14400 0 AMT}
- {1697342400 -10800 1 AMST}
- {1708225200 -14400 0 AMT}
- {1729396800 -10800 1 AMST}
- {1739674800 -14400 0 AMT}
- {1760846400 -10800 1 AMST}
- {1771729200 -14400 0 AMT}
- {1792296000 -10800 1 AMST}
- {1803178800 -14400 0 AMT}
- {1823745600 -10800 1 AMST}
- {1834628400 -14400 0 AMT}
- {1855195200 -10800 1 AMST}
- {1866078000 -14400 0 AMT}
- {1887249600 -10800 1 AMST}
- {1897527600 -14400 0 AMT}
- {1918699200 -10800 1 AMST}
- {1928977200 -14400 0 AMT}
- {1950148800 -10800 1 AMST}
- {1960426800 -14400 0 AMT}
- {1981598400 -10800 1 AMST}
- {1992481200 -14400 0 AMT}
- {2013048000 -10800 1 AMST}
- {2024535600 -14400 0 AMT}
- {2044497600 -10800 1 AMST}
- {2055380400 -14400 0 AMT}
- {2076552000 -10800 1 AMST}
- {2086830000 -14400 0 AMT}
- {2108001600 -10800 1 AMST}
- {2118884400 -14400 0 AMT}
- {2139451200 -10800 1 AMST}
- {2150334000 -14400 0 AMT}
- {2170900800 -10800 1 AMST}
- {2181783600 -14400 0 AMT}
- {2202350400 -10800 1 AMST}
- {2213233200 -14400 0 AMT}
- {2234404800 -10800 1 AMST}
- {2244682800 -14400 0 AMT}
- {2265854400 -10800 1 AMST}
- {2276132400 -14400 0 AMT}
- {2297304000 -10800 1 AMST}
- {2307582000 -14400 0 AMT}
- {2328753600 -10800 1 AMST}
- {2339636400 -14400 0 AMT}
- {2360203200 -10800 1 AMST}
- {2371086000 -14400 0 AMT}
- {2391652800 -10800 1 AMST}
- {2402535600 -14400 0 AMT}
- {2423707200 -10800 1 AMST}
- {2433985200 -14400 0 AMT}
- {2455156800 -10800 1 AMST}
- {2465434800 -14400 0 AMT}
- {2486606400 -10800 1 AMST}
- {2497489200 -14400 0 AMT}
- {2518056000 -10800 1 AMST}
- {2528938800 -14400 0 AMT}
- {2549505600 -10800 1 AMST}
- {2560388400 -14400 0 AMT}
- {2580955200 -10800 1 AMST}
- {2591838000 -14400 0 AMT}
- {2613009600 -10800 1 AMST}
- {2623287600 -14400 0 AMT}
- {2644459200 -10800 1 AMST}
- {2654737200 -14400 0 AMT}
- {2675908800 -10800 1 AMST}
- {2686791600 -14400 0 AMT}
- {2707358400 -10800 1 AMST}
- {2718241200 -14400 0 AMT}
- {2738808000 -10800 1 AMST}
- {2749690800 -14400 0 AMT}
- {2770862400 -10800 1 AMST}
- {2781140400 -14400 0 AMT}
- {2802312000 -10800 1 AMST}
- {2812590000 -14400 0 AMT}
- {2833761600 -10800 1 AMST}
- {2844039600 -14400 0 AMT}
- {2865211200 -10800 1 AMST}
- {2876094000 -14400 0 AMT}
- {2896660800 -10800 1 AMST}
- {2907543600 -14400 0 AMT}
- {2928110400 -10800 1 AMST}
- {2938993200 -14400 0 AMT}
- {2960164800 -10800 1 AMST}
- {2970442800 -14400 0 AMT}
- {2991614400 -10800 1 AMST}
- {3001892400 -14400 0 AMT}
- {3023064000 -10800 1 AMST}
- {3033946800 -14400 0 AMT}
- {3054513600 -10800 1 AMST}
- {3065396400 -14400 0 AMT}
- {3085963200 -10800 1 AMST}
- {3096846000 -14400 0 AMT}
- {3118017600 -10800 1 AMST}
- {3128295600 -14400 0 AMT}
- {3149467200 -10800 1 AMST}
- {3159745200 -14400 0 AMT}
- {3180916800 -10800 1 AMST}
- {3191194800 -14400 0 AMT}
- {3212366400 -10800 1 AMST}
- {3223249200 -14400 0 AMT}
- {3243816000 -10800 1 AMST}
- {3254698800 -14400 0 AMT}
- {3275265600 -10800 1 AMST}
- {3286148400 -14400 0 AMT}
- {3307320000 -10800 1 AMST}
- {3317598000 -14400 0 AMT}
- {3338769600 -10800 1 AMST}
- {3349047600 -14400 0 AMT}
- {3370219200 -10800 1 AMST}
- {3381102000 -14400 0 AMT}
- {3401668800 -10800 1 AMST}
- {3412551600 -14400 0 AMT}
- {3433118400 -10800 1 AMST}
- {3444001200 -14400 0 AMT}
- {3464568000 -10800 1 AMST}
- {3475450800 -14400 0 AMT}
- {3496622400 -10800 1 AMST}
- {3506900400 -14400 0 AMT}
- {3528072000 -10800 1 AMST}
- {3538350000 -14400 0 AMT}
- {3559521600 -10800 1 AMST}
- {3570404400 -14400 0 AMT}
- {3590971200 -10800 1 AMST}
- {3601854000 -14400 0 AMT}
- {3622420800 -10800 1 AMST}
- {3633303600 -14400 0 AMT}
- {3654475200 -10800 1 AMST}
- {3664753200 -14400 0 AMT}
- {3685924800 -10800 1 AMST}
- {3696202800 -14400 0 AMT}
- {3717374400 -10800 1 AMST}
- {3727652400 -14400 0 AMT}
- {3748824000 -10800 1 AMST}
- {3759706800 -14400 0 AMT}
- {3780273600 -10800 1 AMST}
- {3791156400 -14400 0 AMT}
- {3811723200 -10800 1 AMST}
- {3822606000 -14400 0 AMT}
- {3843777600 -10800 1 AMST}
- {3854055600 -14400 0 AMT}
- {3875227200 -10800 1 AMST}
- {3885505200 -14400 0 AMT}
- {3906676800 -10800 1 AMST}
- {3917559600 -14400 0 AMT}
- {3938126400 -10800 1 AMST}
- {3949009200 -14400 0 AMT}
- {3969576000 -10800 1 AMST}
- {3980458800 -14400 0 AMT}
- {4001630400 -10800 1 AMST}
- {4011908400 -14400 0 AMT}
- {4033080000 -10800 1 AMST}
- {4043358000 -14400 0 AMT}
- {4064529600 -10800 1 AMST}
- {4074807600 -14400 0 AMT}
- {4095979200 -10800 1 AMST}
+ {-1767212492 -14400 0 -04}
+ {-1206954000 -10800 1 -03}
+ {-1191358800 -14400 0 -04}
+ {-1175371200 -10800 1 -03}
+ {-1159822800 -14400 0 -04}
+ {-633816000 -10800 1 -03}
+ {-622065600 -14400 0 -04}
+ {-602280000 -10800 1 -03}
+ {-591829200 -14400 0 -04}
+ {-570744000 -10800 1 -03}
+ {-560206800 -14400 0 -04}
+ {-539121600 -10800 1 -03}
+ {-531349200 -14400 0 -04}
+ {-191361600 -10800 1 -03}
+ {-184194000 -14400 0 -04}
+ {-155160000 -10800 1 -03}
+ {-150066000 -14400 0 -04}
+ {-128894400 -10800 1 -03}
+ {-121122000 -14400 0 -04}
+ {-99950400 -10800 1 -03}
+ {-89586000 -14400 0 -04}
+ {-68414400 -10800 1 -03}
+ {-57963600 -14400 0 -04}
+ {499752000 -10800 1 -03}
+ {511239600 -14400 0 -04}
+ {530596800 -10800 1 -03}
+ {540270000 -14400 0 -04}
+ {562132800 -10800 1 -03}
+ {571201200 -14400 0 -04}
+ {592977600 -10800 1 -03}
+ {602046000 -14400 0 -04}
+ {624427200 -10800 1 -03}
+ {634705200 -14400 0 -04}
+ {656481600 -10800 1 -03}
+ {666759600 -14400 0 -04}
+ {687931200 -10800 1 -03}
+ {697604400 -14400 0 -04}
+ {719985600 -10800 1 -03}
+ {728449200 -14400 0 -04}
+ {750830400 -10800 1 -03}
+ {761713200 -14400 0 -04}
+ {782280000 -10800 1 -03}
+ {793162800 -14400 0 -04}
+ {813729600 -10800 1 -03}
+ {824007600 -14400 0 -04}
+ {844574400 -10800 1 -03}
+ {856062000 -14400 0 -04}
+ {876110400 -10800 1 -03}
+ {888721200 -14400 0 -04}
+ {908078400 -10800 1 -03}
+ {919566000 -14400 0 -04}
+ {938923200 -10800 1 -03}
+ {951620400 -14400 0 -04}
+ {970977600 -10800 1 -03}
+ {982465200 -14400 0 -04}
+ {1003032000 -10800 1 -03}
+ {1013914800 -14400 0 -04}
+ {1036296000 -10800 1 -03}
+ {1045364400 -14400 0 -04}
+ {1066536000 -10800 1 -03}
+ {1076814000 -14400 0 -04}
+ {1099368000 -10800 1 -03}
+ {1108868400 -14400 0 -04}
+ {1129435200 -10800 1 -03}
+ {1140318000 -14400 0 -04}
+ {1162699200 -10800 1 -03}
+ {1172372400 -14400 0 -04}
+ {1192334400 -10800 1 -03}
+ {1203217200 -14400 0 -04}
+ {1224388800 -10800 1 -03}
+ {1234666800 -14400 0 -04}
+ {1255838400 -10800 1 -03}
+ {1266721200 -14400 0 -04}
+ {1287288000 -10800 1 -03}
+ {1298170800 -14400 0 -04}
+ {1318737600 -10800 1 -03}
+ {1330225200 -14400 0 -04}
+ {1350792000 -10800 1 -03}
+ {1361070000 -14400 0 -04}
+ {1382241600 -10800 1 -03}
+ {1392519600 -14400 0 -04}
+ {1413691200 -10800 1 -03}
+ {1424574000 -14400 0 -04}
+ {1445140800 -10800 1 -03}
+ {1456023600 -14400 0 -04}
+ {1476590400 -10800 1 -03}
+ {1487473200 -14400 0 -04}
+ {1508040000 -10800 1 -03}
+ {1518922800 -14400 0 -04}
+ {1540094400 -10800 1 -03}
+ {1550372400 -14400 0 -04}
+ {1571544000 -10800 1 -03}
+ {1581822000 -14400 0 -04}
+ {1602993600 -10800 1 -03}
+ {1613876400 -14400 0 -04}
+ {1634443200 -10800 1 -03}
+ {1645326000 -14400 0 -04}
+ {1665892800 -10800 1 -03}
+ {1677380400 -14400 0 -04}
+ {1697342400 -10800 1 -03}
+ {1708225200 -14400 0 -04}
+ {1729396800 -10800 1 -03}
+ {1739674800 -14400 0 -04}
+ {1760846400 -10800 1 -03}
+ {1771729200 -14400 0 -04}
+ {1792296000 -10800 1 -03}
+ {1803178800 -14400 0 -04}
+ {1823745600 -10800 1 -03}
+ {1834628400 -14400 0 -04}
+ {1855195200 -10800 1 -03}
+ {1866078000 -14400 0 -04}
+ {1887249600 -10800 1 -03}
+ {1897527600 -14400 0 -04}
+ {1918699200 -10800 1 -03}
+ {1928977200 -14400 0 -04}
+ {1950148800 -10800 1 -03}
+ {1960426800 -14400 0 -04}
+ {1981598400 -10800 1 -03}
+ {1992481200 -14400 0 -04}
+ {2013048000 -10800 1 -03}
+ {2024535600 -14400 0 -04}
+ {2044497600 -10800 1 -03}
+ {2055380400 -14400 0 -04}
+ {2076552000 -10800 1 -03}
+ {2086830000 -14400 0 -04}
+ {2108001600 -10800 1 -03}
+ {2118884400 -14400 0 -04}
+ {2139451200 -10800 1 -03}
+ {2150334000 -14400 0 -04}
+ {2170900800 -10800 1 -03}
+ {2181783600 -14400 0 -04}
+ {2202350400 -10800 1 -03}
+ {2213233200 -14400 0 -04}
+ {2234404800 -10800 1 -03}
+ {2244682800 -14400 0 -04}
+ {2265854400 -10800 1 -03}
+ {2276132400 -14400 0 -04}
+ {2297304000 -10800 1 -03}
+ {2307582000 -14400 0 -04}
+ {2328753600 -10800 1 -03}
+ {2339636400 -14400 0 -04}
+ {2360203200 -10800 1 -03}
+ {2371086000 -14400 0 -04}
+ {2391652800 -10800 1 -03}
+ {2402535600 -14400 0 -04}
+ {2423707200 -10800 1 -03}
+ {2433985200 -14400 0 -04}
+ {2455156800 -10800 1 -03}
+ {2465434800 -14400 0 -04}
+ {2486606400 -10800 1 -03}
+ {2497489200 -14400 0 -04}
+ {2518056000 -10800 1 -03}
+ {2528938800 -14400 0 -04}
+ {2549505600 -10800 1 -03}
+ {2560388400 -14400 0 -04}
+ {2580955200 -10800 1 -03}
+ {2591838000 -14400 0 -04}
+ {2613009600 -10800 1 -03}
+ {2623287600 -14400 0 -04}
+ {2644459200 -10800 1 -03}
+ {2654737200 -14400 0 -04}
+ {2675908800 -10800 1 -03}
+ {2686791600 -14400 0 -04}
+ {2707358400 -10800 1 -03}
+ {2718241200 -14400 0 -04}
+ {2738808000 -10800 1 -03}
+ {2749690800 -14400 0 -04}
+ {2770862400 -10800 1 -03}
+ {2781140400 -14400 0 -04}
+ {2802312000 -10800 1 -03}
+ {2812590000 -14400 0 -04}
+ {2833761600 -10800 1 -03}
+ {2844039600 -14400 0 -04}
+ {2865211200 -10800 1 -03}
+ {2876094000 -14400 0 -04}
+ {2896660800 -10800 1 -03}
+ {2907543600 -14400 0 -04}
+ {2928110400 -10800 1 -03}
+ {2938993200 -14400 0 -04}
+ {2960164800 -10800 1 -03}
+ {2970442800 -14400 0 -04}
+ {2991614400 -10800 1 -03}
+ {3001892400 -14400 0 -04}
+ {3023064000 -10800 1 -03}
+ {3033946800 -14400 0 -04}
+ {3054513600 -10800 1 -03}
+ {3065396400 -14400 0 -04}
+ {3085963200 -10800 1 -03}
+ {3096846000 -14400 0 -04}
+ {3118017600 -10800 1 -03}
+ {3128295600 -14400 0 -04}
+ {3149467200 -10800 1 -03}
+ {3159745200 -14400 0 -04}
+ {3180916800 -10800 1 -03}
+ {3191194800 -14400 0 -04}
+ {3212366400 -10800 1 -03}
+ {3223249200 -14400 0 -04}
+ {3243816000 -10800 1 -03}
+ {3254698800 -14400 0 -04}
+ {3275265600 -10800 1 -03}
+ {3286148400 -14400 0 -04}
+ {3307320000 -10800 1 -03}
+ {3317598000 -14400 0 -04}
+ {3338769600 -10800 1 -03}
+ {3349047600 -14400 0 -04}
+ {3370219200 -10800 1 -03}
+ {3381102000 -14400 0 -04}
+ {3401668800 -10800 1 -03}
+ {3412551600 -14400 0 -04}
+ {3433118400 -10800 1 -03}
+ {3444001200 -14400 0 -04}
+ {3464568000 -10800 1 -03}
+ {3475450800 -14400 0 -04}
+ {3496622400 -10800 1 -03}
+ {3506900400 -14400 0 -04}
+ {3528072000 -10800 1 -03}
+ {3538350000 -14400 0 -04}
+ {3559521600 -10800 1 -03}
+ {3570404400 -14400 0 -04}
+ {3590971200 -10800 1 -03}
+ {3601854000 -14400 0 -04}
+ {3622420800 -10800 1 -03}
+ {3633303600 -14400 0 -04}
+ {3654475200 -10800 1 -03}
+ {3664753200 -14400 0 -04}
+ {3685924800 -10800 1 -03}
+ {3696202800 -14400 0 -04}
+ {3717374400 -10800 1 -03}
+ {3727652400 -14400 0 -04}
+ {3748824000 -10800 1 -03}
+ {3759706800 -14400 0 -04}
+ {3780273600 -10800 1 -03}
+ {3791156400 -14400 0 -04}
+ {3811723200 -10800 1 -03}
+ {3822606000 -14400 0 -04}
+ {3843777600 -10800 1 -03}
+ {3854055600 -14400 0 -04}
+ {3875227200 -10800 1 -03}
+ {3885505200 -14400 0 -04}
+ {3906676800 -10800 1 -03}
+ {3917559600 -14400 0 -04}
+ {3938126400 -10800 1 -03}
+ {3949009200 -14400 0 -04}
+ {3969576000 -10800 1 -03}
+ {3980458800 -14400 0 -04}
+ {4001630400 -10800 1 -03}
+ {4011908400 -14400 0 -04}
+ {4033080000 -10800 1 -03}
+ {4043358000 -14400 0 -04}
+ {4064529600 -10800 1 -03}
+ {4074807600 -14400 0 -04}
+ {4095979200 -10800 1 -03}
}
diff --git a/library/tzdata/America/Caracas b/library/tzdata/America/Caracas
index 253c4ce..f0dbffe 100644
--- a/library/tzdata/America/Caracas
+++ b/library/tzdata/America/Caracas
@@ -3,8 +3,8 @@
set TZData(:America/Caracas) {
{-9223372036854775808 -16064 0 LMT}
{-2524505536 -16060 0 CMT}
- {-1826739140 -16200 0 VET}
- {-157750200 -14400 0 VET}
- {1197183600 -16200 0 VET}
- {1462086000 -14400 0 VET}
+ {-1826739140 -16200 0 -0430}
+ {-157750200 -14400 0 -04}
+ {1197183600 -16200 0 -0430}
+ {1462086000 -14400 0 -04}
}
diff --git a/library/tzdata/America/Cayenne b/library/tzdata/America/Cayenne
index de3d65b..6b1a3e9 100644
--- a/library/tzdata/America/Cayenne
+++ b/library/tzdata/America/Cayenne
@@ -2,6 +2,6 @@
set TZData(:America/Cayenne) {
{-9223372036854775808 -12560 0 LMT}
- {-1846269040 -14400 0 GFT}
- {-71092800 -10800 0 GFT}
+ {-1846269040 -14400 0 -04}
+ {-71092800 -10800 0 -03}
}
diff --git a/library/tzdata/America/Cuiaba b/library/tzdata/America/Cuiaba
index 0301862..57cd38c 100644
--- a/library/tzdata/America/Cuiaba
+++ b/library/tzdata/America/Cuiaba
@@ -2,256 +2,256 @@
set TZData(:America/Cuiaba) {
{-9223372036854775808 -13460 0 LMT}
- {-1767212140 -14400 0 AMT}
- {-1206954000 -10800 1 AMST}
- {-1191358800 -14400 0 AMT}
- {-1175371200 -10800 1 AMST}
- {-1159822800 -14400 0 AMT}
- {-633816000 -10800 1 AMST}
- {-622065600 -14400 0 AMT}
- {-602280000 -10800 1 AMST}
- {-591829200 -14400 0 AMT}
- {-570744000 -10800 1 AMST}
- {-560206800 -14400 0 AMT}
- {-539121600 -10800 1 AMST}
- {-531349200 -14400 0 AMT}
- {-191361600 -10800 1 AMST}
- {-184194000 -14400 0 AMT}
- {-155160000 -10800 1 AMST}
- {-150066000 -14400 0 AMT}
- {-128894400 -10800 1 AMST}
- {-121122000 -14400 0 AMT}
- {-99950400 -10800 1 AMST}
- {-89586000 -14400 0 AMT}
- {-68414400 -10800 1 AMST}
- {-57963600 -14400 0 AMT}
- {499752000 -10800 1 AMST}
- {511239600 -14400 0 AMT}
- {530596800 -10800 1 AMST}
- {540270000 -14400 0 AMT}
- {562132800 -10800 1 AMST}
- {571201200 -14400 0 AMT}
- {592977600 -10800 1 AMST}
- {602046000 -14400 0 AMT}
- {624427200 -10800 1 AMST}
- {634705200 -14400 0 AMT}
- {656481600 -10800 1 AMST}
- {666759600 -14400 0 AMT}
- {687931200 -10800 1 AMST}
- {697604400 -14400 0 AMT}
- {719985600 -10800 1 AMST}
- {728449200 -14400 0 AMT}
- {750830400 -10800 1 AMST}
- {761713200 -14400 0 AMT}
- {782280000 -10800 1 AMST}
- {793162800 -14400 0 AMT}
- {813729600 -10800 1 AMST}
- {824007600 -14400 0 AMT}
- {844574400 -10800 1 AMST}
- {856062000 -14400 0 AMT}
- {876110400 -10800 1 AMST}
- {888721200 -14400 0 AMT}
- {908078400 -10800 1 AMST}
- {919566000 -14400 0 AMT}
- {938923200 -10800 1 AMST}
- {951620400 -14400 0 AMT}
- {970977600 -10800 1 AMST}
- {982465200 -14400 0 AMT}
- {1003032000 -10800 1 AMST}
- {1013914800 -14400 0 AMT}
- {1036296000 -10800 1 AMST}
- {1045364400 -14400 0 AMT}
- {1064372400 -14400 0 AMT}
- {1096603200 -14400 0 AMT}
- {1099368000 -10800 1 AMST}
- {1108868400 -14400 0 AMT}
- {1129435200 -10800 1 AMST}
- {1140318000 -14400 0 AMT}
- {1162699200 -10800 1 AMST}
- {1172372400 -14400 0 AMT}
- {1192334400 -10800 1 AMST}
- {1203217200 -14400 0 AMT}
- {1224388800 -10800 1 AMST}
- {1234666800 -14400 0 AMT}
- {1255838400 -10800 1 AMST}
- {1266721200 -14400 0 AMT}
- {1287288000 -10800 1 AMST}
- {1298170800 -14400 0 AMT}
- {1318737600 -10800 1 AMST}
- {1330225200 -14400 0 AMT}
- {1350792000 -10800 1 AMST}
- {1361070000 -14400 0 AMT}
- {1382241600 -10800 1 AMST}
- {1392519600 -14400 0 AMT}
- {1413691200 -10800 1 AMST}
- {1424574000 -14400 0 AMT}
- {1445140800 -10800 1 AMST}
- {1456023600 -14400 0 AMT}
- {1476590400 -10800 1 AMST}
- {1487473200 -14400 0 AMT}
- {1508040000 -10800 1 AMST}
- {1518922800 -14400 0 AMT}
- {1540094400 -10800 1 AMST}
- {1550372400 -14400 0 AMT}
- {1571544000 -10800 1 AMST}
- {1581822000 -14400 0 AMT}
- {1602993600 -10800 1 AMST}
- {1613876400 -14400 0 AMT}
- {1634443200 -10800 1 AMST}
- {1645326000 -14400 0 AMT}
- {1665892800 -10800 1 AMST}
- {1677380400 -14400 0 AMT}
- {1697342400 -10800 1 AMST}
- {1708225200 -14400 0 AMT}
- {1729396800 -10800 1 AMST}
- {1739674800 -14400 0 AMT}
- {1760846400 -10800 1 AMST}
- {1771729200 -14400 0 AMT}
- {1792296000 -10800 1 AMST}
- {1803178800 -14400 0 AMT}
- {1823745600 -10800 1 AMST}
- {1834628400 -14400 0 AMT}
- {1855195200 -10800 1 AMST}
- {1866078000 -14400 0 AMT}
- {1887249600 -10800 1 AMST}
- {1897527600 -14400 0 AMT}
- {1918699200 -10800 1 AMST}
- {1928977200 -14400 0 AMT}
- {1950148800 -10800 1 AMST}
- {1960426800 -14400 0 AMT}
- {1981598400 -10800 1 AMST}
- {1992481200 -14400 0 AMT}
- {2013048000 -10800 1 AMST}
- {2024535600 -14400 0 AMT}
- {2044497600 -10800 1 AMST}
- {2055380400 -14400 0 AMT}
- {2076552000 -10800 1 AMST}
- {2086830000 -14400 0 AMT}
- {2108001600 -10800 1 AMST}
- {2118884400 -14400 0 AMT}
- {2139451200 -10800 1 AMST}
- {2150334000 -14400 0 AMT}
- {2170900800 -10800 1 AMST}
- {2181783600 -14400 0 AMT}
- {2202350400 -10800 1 AMST}
- {2213233200 -14400 0 AMT}
- {2234404800 -10800 1 AMST}
- {2244682800 -14400 0 AMT}
- {2265854400 -10800 1 AMST}
- {2276132400 -14400 0 AMT}
- {2297304000 -10800 1 AMST}
- {2307582000 -14400 0 AMT}
- {2328753600 -10800 1 AMST}
- {2339636400 -14400 0 AMT}
- {2360203200 -10800 1 AMST}
- {2371086000 -14400 0 AMT}
- {2391652800 -10800 1 AMST}
- {2402535600 -14400 0 AMT}
- {2423707200 -10800 1 AMST}
- {2433985200 -14400 0 AMT}
- {2455156800 -10800 1 AMST}
- {2465434800 -14400 0 AMT}
- {2486606400 -10800 1 AMST}
- {2497489200 -14400 0 AMT}
- {2518056000 -10800 1 AMST}
- {2528938800 -14400 0 AMT}
- {2549505600 -10800 1 AMST}
- {2560388400 -14400 0 AMT}
- {2580955200 -10800 1 AMST}
- {2591838000 -14400 0 AMT}
- {2613009600 -10800 1 AMST}
- {2623287600 -14400 0 AMT}
- {2644459200 -10800 1 AMST}
- {2654737200 -14400 0 AMT}
- {2675908800 -10800 1 AMST}
- {2686791600 -14400 0 AMT}
- {2707358400 -10800 1 AMST}
- {2718241200 -14400 0 AMT}
- {2738808000 -10800 1 AMST}
- {2749690800 -14400 0 AMT}
- {2770862400 -10800 1 AMST}
- {2781140400 -14400 0 AMT}
- {2802312000 -10800 1 AMST}
- {2812590000 -14400 0 AMT}
- {2833761600 -10800 1 AMST}
- {2844039600 -14400 0 AMT}
- {2865211200 -10800 1 AMST}
- {2876094000 -14400 0 AMT}
- {2896660800 -10800 1 AMST}
- {2907543600 -14400 0 AMT}
- {2928110400 -10800 1 AMST}
- {2938993200 -14400 0 AMT}
- {2960164800 -10800 1 AMST}
- {2970442800 -14400 0 AMT}
- {2991614400 -10800 1 AMST}
- {3001892400 -14400 0 AMT}
- {3023064000 -10800 1 AMST}
- {3033946800 -14400 0 AMT}
- {3054513600 -10800 1 AMST}
- {3065396400 -14400 0 AMT}
- {3085963200 -10800 1 AMST}
- {3096846000 -14400 0 AMT}
- {3118017600 -10800 1 AMST}
- {3128295600 -14400 0 AMT}
- {3149467200 -10800 1 AMST}
- {3159745200 -14400 0 AMT}
- {3180916800 -10800 1 AMST}
- {3191194800 -14400 0 AMT}
- {3212366400 -10800 1 AMST}
- {3223249200 -14400 0 AMT}
- {3243816000 -10800 1 AMST}
- {3254698800 -14400 0 AMT}
- {3275265600 -10800 1 AMST}
- {3286148400 -14400 0 AMT}
- {3307320000 -10800 1 AMST}
- {3317598000 -14400 0 AMT}
- {3338769600 -10800 1 AMST}
- {3349047600 -14400 0 AMT}
- {3370219200 -10800 1 AMST}
- {3381102000 -14400 0 AMT}
- {3401668800 -10800 1 AMST}
- {3412551600 -14400 0 AMT}
- {3433118400 -10800 1 AMST}
- {3444001200 -14400 0 AMT}
- {3464568000 -10800 1 AMST}
- {3475450800 -14400 0 AMT}
- {3496622400 -10800 1 AMST}
- {3506900400 -14400 0 AMT}
- {3528072000 -10800 1 AMST}
- {3538350000 -14400 0 AMT}
- {3559521600 -10800 1 AMST}
- {3570404400 -14400 0 AMT}
- {3590971200 -10800 1 AMST}
- {3601854000 -14400 0 AMT}
- {3622420800 -10800 1 AMST}
- {3633303600 -14400 0 AMT}
- {3654475200 -10800 1 AMST}
- {3664753200 -14400 0 AMT}
- {3685924800 -10800 1 AMST}
- {3696202800 -14400 0 AMT}
- {3717374400 -10800 1 AMST}
- {3727652400 -14400 0 AMT}
- {3748824000 -10800 1 AMST}
- {3759706800 -14400 0 AMT}
- {3780273600 -10800 1 AMST}
- {3791156400 -14400 0 AMT}
- {3811723200 -10800 1 AMST}
- {3822606000 -14400 0 AMT}
- {3843777600 -10800 1 AMST}
- {3854055600 -14400 0 AMT}
- {3875227200 -10800 1 AMST}
- {3885505200 -14400 0 AMT}
- {3906676800 -10800 1 AMST}
- {3917559600 -14400 0 AMT}
- {3938126400 -10800 1 AMST}
- {3949009200 -14400 0 AMT}
- {3969576000 -10800 1 AMST}
- {3980458800 -14400 0 AMT}
- {4001630400 -10800 1 AMST}
- {4011908400 -14400 0 AMT}
- {4033080000 -10800 1 AMST}
- {4043358000 -14400 0 AMT}
- {4064529600 -10800 1 AMST}
- {4074807600 -14400 0 AMT}
- {4095979200 -10800 1 AMST}
+ {-1767212140 -14400 0 -04}
+ {-1206954000 -10800 1 -03}
+ {-1191358800 -14400 0 -04}
+ {-1175371200 -10800 1 -03}
+ {-1159822800 -14400 0 -04}
+ {-633816000 -10800 1 -03}
+ {-622065600 -14400 0 -04}
+ {-602280000 -10800 1 -03}
+ {-591829200 -14400 0 -04}
+ {-570744000 -10800 1 -03}
+ {-560206800 -14400 0 -04}
+ {-539121600 -10800 1 -03}
+ {-531349200 -14400 0 -04}
+ {-191361600 -10800 1 -03}
+ {-184194000 -14400 0 -04}
+ {-155160000 -10800 1 -03}
+ {-150066000 -14400 0 -04}
+ {-128894400 -10800 1 -03}
+ {-121122000 -14400 0 -04}
+ {-99950400 -10800 1 -03}
+ {-89586000 -14400 0 -04}
+ {-68414400 -10800 1 -03}
+ {-57963600 -14400 0 -04}
+ {499752000 -10800 1 -03}
+ {511239600 -14400 0 -04}
+ {530596800 -10800 1 -03}
+ {540270000 -14400 0 -04}
+ {562132800 -10800 1 -03}
+ {571201200 -14400 0 -04}
+ {592977600 -10800 1 -03}
+ {602046000 -14400 0 -04}
+ {624427200 -10800 1 -03}
+ {634705200 -14400 0 -04}
+ {656481600 -10800 1 -03}
+ {666759600 -14400 0 -04}
+ {687931200 -10800 1 -03}
+ {697604400 -14400 0 -04}
+ {719985600 -10800 1 -03}
+ {728449200 -14400 0 -04}
+ {750830400 -10800 1 -03}
+ {761713200 -14400 0 -04}
+ {782280000 -10800 1 -03}
+ {793162800 -14400 0 -04}
+ {813729600 -10800 1 -03}
+ {824007600 -14400 0 -04}
+ {844574400 -10800 1 -03}
+ {856062000 -14400 0 -04}
+ {876110400 -10800 1 -03}
+ {888721200 -14400 0 -04}
+ {908078400 -10800 1 -03}
+ {919566000 -14400 0 -04}
+ {938923200 -10800 1 -03}
+ {951620400 -14400 0 -04}
+ {970977600 -10800 1 -03}
+ {982465200 -14400 0 -04}
+ {1003032000 -10800 1 -03}
+ {1013914800 -14400 0 -04}
+ {1036296000 -10800 1 -03}
+ {1045364400 -14400 0 -04}
+ {1064372400 -14400 0 -04}
+ {1096603200 -14400 0 -04}
+ {1099368000 -10800 1 -03}
+ {1108868400 -14400 0 -04}
+ {1129435200 -10800 1 -03}
+ {1140318000 -14400 0 -04}
+ {1162699200 -10800 1 -03}
+ {1172372400 -14400 0 -04}
+ {1192334400 -10800 1 -03}
+ {1203217200 -14400 0 -04}
+ {1224388800 -10800 1 -03}
+ {1234666800 -14400 0 -04}
+ {1255838400 -10800 1 -03}
+ {1266721200 -14400 0 -04}
+ {1287288000 -10800 1 -03}
+ {1298170800 -14400 0 -04}
+ {1318737600 -10800 1 -03}
+ {1330225200 -14400 0 -04}
+ {1350792000 -10800 1 -03}
+ {1361070000 -14400 0 -04}
+ {1382241600 -10800 1 -03}
+ {1392519600 -14400 0 -04}
+ {1413691200 -10800 1 -03}
+ {1424574000 -14400 0 -04}
+ {1445140800 -10800 1 -03}
+ {1456023600 -14400 0 -04}
+ {1476590400 -10800 1 -03}
+ {1487473200 -14400 0 -04}
+ {1508040000 -10800 1 -03}
+ {1518922800 -14400 0 -04}
+ {1540094400 -10800 1 -03}
+ {1550372400 -14400 0 -04}
+ {1571544000 -10800 1 -03}
+ {1581822000 -14400 0 -04}
+ {1602993600 -10800 1 -03}
+ {1613876400 -14400 0 -04}
+ {1634443200 -10800 1 -03}
+ {1645326000 -14400 0 -04}
+ {1665892800 -10800 1 -03}
+ {1677380400 -14400 0 -04}
+ {1697342400 -10800 1 -03}
+ {1708225200 -14400 0 -04}
+ {1729396800 -10800 1 -03}
+ {1739674800 -14400 0 -04}
+ {1760846400 -10800 1 -03}
+ {1771729200 -14400 0 -04}
+ {1792296000 -10800 1 -03}
+ {1803178800 -14400 0 -04}
+ {1823745600 -10800 1 -03}
+ {1834628400 -14400 0 -04}
+ {1855195200 -10800 1 -03}
+ {1866078000 -14400 0 -04}
+ {1887249600 -10800 1 -03}
+ {1897527600 -14400 0 -04}
+ {1918699200 -10800 1 -03}
+ {1928977200 -14400 0 -04}
+ {1950148800 -10800 1 -03}
+ {1960426800 -14400 0 -04}
+ {1981598400 -10800 1 -03}
+ {1992481200 -14400 0 -04}
+ {2013048000 -10800 1 -03}
+ {2024535600 -14400 0 -04}
+ {2044497600 -10800 1 -03}
+ {2055380400 -14400 0 -04}
+ {2076552000 -10800 1 -03}
+ {2086830000 -14400 0 -04}
+ {2108001600 -10800 1 -03}
+ {2118884400 -14400 0 -04}
+ {2139451200 -10800 1 -03}
+ {2150334000 -14400 0 -04}
+ {2170900800 -10800 1 -03}
+ {2181783600 -14400 0 -04}
+ {2202350400 -10800 1 -03}
+ {2213233200 -14400 0 -04}
+ {2234404800 -10800 1 -03}
+ {2244682800 -14400 0 -04}
+ {2265854400 -10800 1 -03}
+ {2276132400 -14400 0 -04}
+ {2297304000 -10800 1 -03}
+ {2307582000 -14400 0 -04}
+ {2328753600 -10800 1 -03}
+ {2339636400 -14400 0 -04}
+ {2360203200 -10800 1 -03}
+ {2371086000 -14400 0 -04}
+ {2391652800 -10800 1 -03}
+ {2402535600 -14400 0 -04}
+ {2423707200 -10800 1 -03}
+ {2433985200 -14400 0 -04}
+ {2455156800 -10800 1 -03}
+ {2465434800 -14400 0 -04}
+ {2486606400 -10800 1 -03}
+ {2497489200 -14400 0 -04}
+ {2518056000 -10800 1 -03}
+ {2528938800 -14400 0 -04}
+ {2549505600 -10800 1 -03}
+ {2560388400 -14400 0 -04}
+ {2580955200 -10800 1 -03}
+ {2591838000 -14400 0 -04}
+ {2613009600 -10800 1 -03}
+ {2623287600 -14400 0 -04}
+ {2644459200 -10800 1 -03}
+ {2654737200 -14400 0 -04}
+ {2675908800 -10800 1 -03}
+ {2686791600 -14400 0 -04}
+ {2707358400 -10800 1 -03}
+ {2718241200 -14400 0 -04}
+ {2738808000 -10800 1 -03}
+ {2749690800 -14400 0 -04}
+ {2770862400 -10800 1 -03}
+ {2781140400 -14400 0 -04}
+ {2802312000 -10800 1 -03}
+ {2812590000 -14400 0 -04}
+ {2833761600 -10800 1 -03}
+ {2844039600 -14400 0 -04}
+ {2865211200 -10800 1 -03}
+ {2876094000 -14400 0 -04}
+ {2896660800 -10800 1 -03}
+ {2907543600 -14400 0 -04}
+ {2928110400 -10800 1 -03}
+ {2938993200 -14400 0 -04}
+ {2960164800 -10800 1 -03}
+ {2970442800 -14400 0 -04}
+ {2991614400 -10800 1 -03}
+ {3001892400 -14400 0 -04}
+ {3023064000 -10800 1 -03}
+ {3033946800 -14400 0 -04}
+ {3054513600 -10800 1 -03}
+ {3065396400 -14400 0 -04}
+ {3085963200 -10800 1 -03}
+ {3096846000 -14400 0 -04}
+ {3118017600 -10800 1 -03}
+ {3128295600 -14400 0 -04}
+ {3149467200 -10800 1 -03}
+ {3159745200 -14400 0 -04}
+ {3180916800 -10800 1 -03}
+ {3191194800 -14400 0 -04}
+ {3212366400 -10800 1 -03}
+ {3223249200 -14400 0 -04}
+ {3243816000 -10800 1 -03}
+ {3254698800 -14400 0 -04}
+ {3275265600 -10800 1 -03}
+ {3286148400 -14400 0 -04}
+ {3307320000 -10800 1 -03}
+ {3317598000 -14400 0 -04}
+ {3338769600 -10800 1 -03}
+ {3349047600 -14400 0 -04}
+ {3370219200 -10800 1 -03}
+ {3381102000 -14400 0 -04}
+ {3401668800 -10800 1 -03}
+ {3412551600 -14400 0 -04}
+ {3433118400 -10800 1 -03}
+ {3444001200 -14400 0 -04}
+ {3464568000 -10800 1 -03}
+ {3475450800 -14400 0 -04}
+ {3496622400 -10800 1 -03}
+ {3506900400 -14400 0 -04}
+ {3528072000 -10800 1 -03}
+ {3538350000 -14400 0 -04}
+ {3559521600 -10800 1 -03}
+ {3570404400 -14400 0 -04}
+ {3590971200 -10800 1 -03}
+ {3601854000 -14400 0 -04}
+ {3622420800 -10800 1 -03}
+ {3633303600 -14400 0 -04}
+ {3654475200 -10800 1 -03}
+ {3664753200 -14400 0 -04}
+ {3685924800 -10800 1 -03}
+ {3696202800 -14400 0 -04}
+ {3717374400 -10800 1 -03}
+ {3727652400 -14400 0 -04}
+ {3748824000 -10800 1 -03}
+ {3759706800 -14400 0 -04}
+ {3780273600 -10800 1 -03}
+ {3791156400 -14400 0 -04}
+ {3811723200 -10800 1 -03}
+ {3822606000 -14400 0 -04}
+ {3843777600 -10800 1 -03}
+ {3854055600 -14400 0 -04}
+ {3875227200 -10800 1 -03}
+ {3885505200 -14400 0 -04}
+ {3906676800 -10800 1 -03}
+ {3917559600 -14400 0 -04}
+ {3938126400 -10800 1 -03}
+ {3949009200 -14400 0 -04}
+ {3969576000 -10800 1 -03}
+ {3980458800 -14400 0 -04}
+ {4001630400 -10800 1 -03}
+ {4011908400 -14400 0 -04}
+ {4033080000 -10800 1 -03}
+ {4043358000 -14400 0 -04}
+ {4064529600 -10800 1 -03}
+ {4074807600 -14400 0 -04}
+ {4095979200 -10800 1 -03}
}
diff --git a/library/tzdata/America/Curacao b/library/tzdata/America/Curacao
index 5189e9c..0a19090 100644
--- a/library/tzdata/America/Curacao
+++ b/library/tzdata/America/Curacao
@@ -2,6 +2,6 @@
set TZData(:America/Curacao) {
{-9223372036854775808 -16547 0 LMT}
- {-1826738653 -16200 0 ANT}
+ {-1826738653 -16200 0 -0430}
{-157750200 -14400 0 AST}
}
diff --git a/library/tzdata/America/Danmarkshavn b/library/tzdata/America/Danmarkshavn
index 8d66d3a..4d9d7bb 100644
--- a/library/tzdata/America/Danmarkshavn
+++ b/library/tzdata/America/Danmarkshavn
@@ -2,38 +2,38 @@
set TZData(:America/Danmarkshavn) {
{-9223372036854775808 -4480 0 LMT}
- {-1686091520 -10800 0 WGT}
- {323845200 -7200 0 WGST}
- {338950800 -10800 0 WGT}
- {354675600 -7200 1 WGST}
- {370400400 -10800 0 WGT}
- {386125200 -7200 1 WGST}
- {401850000 -10800 0 WGT}
- {417574800 -7200 1 WGST}
- {433299600 -10800 0 WGT}
- {449024400 -7200 1 WGST}
- {465354000 -10800 0 WGT}
- {481078800 -7200 1 WGST}
- {496803600 -10800 0 WGT}
- {512528400 -7200 1 WGST}
- {528253200 -10800 0 WGT}
- {543978000 -7200 1 WGST}
- {559702800 -10800 0 WGT}
- {575427600 -7200 1 WGST}
- {591152400 -10800 0 WGT}
- {606877200 -7200 1 WGST}
- {622602000 -10800 0 WGT}
- {638326800 -7200 1 WGST}
- {654656400 -10800 0 WGT}
- {670381200 -7200 1 WGST}
- {686106000 -10800 0 WGT}
- {701830800 -7200 1 WGST}
- {717555600 -10800 0 WGT}
- {733280400 -7200 1 WGST}
- {749005200 -10800 0 WGT}
- {764730000 -7200 1 WGST}
- {780454800 -10800 0 WGT}
- {796179600 -7200 1 WGST}
- {811904400 -10800 0 WGT}
+ {-1686091520 -10800 0 -03}
+ {323845200 -7200 0 -02}
+ {338950800 -10800 0 -03}
+ {354675600 -7200 1 -02}
+ {370400400 -10800 0 -03}
+ {386125200 -7200 1 -02}
+ {401850000 -10800 0 -03}
+ {417574800 -7200 1 -02}
+ {433299600 -10800 0 -03}
+ {449024400 -7200 1 -02}
+ {465354000 -10800 0 -03}
+ {481078800 -7200 1 -02}
+ {496803600 -10800 0 -03}
+ {512528400 -7200 1 -02}
+ {528253200 -10800 0 -03}
+ {543978000 -7200 1 -02}
+ {559702800 -10800 0 -03}
+ {575427600 -7200 1 -02}
+ {591152400 -10800 0 -03}
+ {606877200 -7200 1 -02}
+ {622602000 -10800 0 -03}
+ {638326800 -7200 1 -02}
+ {654656400 -10800 0 -03}
+ {670381200 -7200 1 -02}
+ {686106000 -10800 0 -03}
+ {701830800 -7200 1 -02}
+ {717555600 -10800 0 -03}
+ {733280400 -7200 1 -02}
+ {749005200 -10800 0 -03}
+ {764730000 -7200 1 -02}
+ {780454800 -10800 0 -03}
+ {796179600 -7200 1 -02}
+ {811904400 -10800 0 -03}
{820465200 0 0 GMT}
}
diff --git a/library/tzdata/America/Eirunepe b/library/tzdata/America/Eirunepe
index a05631f..41b4cc9 100644
--- a/library/tzdata/America/Eirunepe
+++ b/library/tzdata/America/Eirunepe
@@ -2,40 +2,40 @@
set TZData(:America/Eirunepe) {
{-9223372036854775808 -16768 0 LMT}
- {-1767208832 -18000 0 ACT}
- {-1206950400 -14400 1 ACST}
- {-1191355200 -18000 0 ACT}
- {-1175367600 -14400 1 ACST}
- {-1159819200 -18000 0 ACT}
- {-633812400 -14400 1 ACST}
- {-622062000 -18000 0 ACT}
- {-602276400 -14400 1 ACST}
- {-591825600 -18000 0 ACT}
- {-570740400 -14400 1 ACST}
- {-560203200 -18000 0 ACT}
- {-539118000 -14400 1 ACST}
- {-531345600 -18000 0 ACT}
- {-191358000 -14400 1 ACST}
- {-184190400 -18000 0 ACT}
- {-155156400 -14400 1 ACST}
- {-150062400 -18000 0 ACT}
- {-128890800 -14400 1 ACST}
- {-121118400 -18000 0 ACT}
- {-99946800 -14400 1 ACST}
- {-89582400 -18000 0 ACT}
- {-68410800 -14400 1 ACST}
- {-57960000 -18000 0 ACT}
- {499755600 -14400 1 ACST}
- {511243200 -18000 0 ACT}
- {530600400 -14400 1 ACST}
- {540273600 -18000 0 ACT}
- {562136400 -14400 1 ACST}
- {571204800 -18000 0 ACT}
- {590040000 -18000 0 ACT}
- {749192400 -18000 0 ACT}
- {750834000 -14400 1 ACST}
- {761716800 -18000 0 ACT}
- {780206400 -18000 0 ACT}
- {1214283600 -14400 0 AMT}
- {1384056000 -18000 0 ACT}
+ {-1767208832 -18000 0 -05}
+ {-1206950400 -14400 1 -04}
+ {-1191355200 -18000 0 -05}
+ {-1175367600 -14400 1 -04}
+ {-1159819200 -18000 0 -05}
+ {-633812400 -14400 1 -04}
+ {-622062000 -18000 0 -05}
+ {-602276400 -14400 1 -04}
+ {-591825600 -18000 0 -05}
+ {-570740400 -14400 1 -04}
+ {-560203200 -18000 0 -05}
+ {-539118000 -14400 1 -04}
+ {-531345600 -18000 0 -05}
+ {-191358000 -14400 1 -04}
+ {-184190400 -18000 0 -05}
+ {-155156400 -14400 1 -04}
+ {-150062400 -18000 0 -05}
+ {-128890800 -14400 1 -04}
+ {-121118400 -18000 0 -05}
+ {-99946800 -14400 1 -04}
+ {-89582400 -18000 0 -05}
+ {-68410800 -14400 1 -04}
+ {-57960000 -18000 0 -05}
+ {499755600 -14400 1 -04}
+ {511243200 -18000 0 -05}
+ {530600400 -14400 1 -04}
+ {540273600 -18000 0 -05}
+ {562136400 -14400 1 -04}
+ {571204800 -18000 0 -05}
+ {590040000 -18000 0 -05}
+ {749192400 -18000 0 -05}
+ {750834000 -14400 1 -04}
+ {761716800 -18000 0 -05}
+ {780206400 -18000 0 -05}
+ {1214283600 -14400 0 -04}
+ {1384056000 -18000 0 -05}
}
diff --git a/library/tzdata/America/Fortaleza b/library/tzdata/America/Fortaleza
index 581faa5..06c7b84 100644
--- a/library/tzdata/America/Fortaleza
+++ b/library/tzdata/America/Fortaleza
@@ -2,47 +2,47 @@
set TZData(:America/Fortaleza) {
{-9223372036854775808 -9240 0 LMT}
- {-1767216360 -10800 0 BRT}
- {-1206957600 -7200 1 BRST}
- {-1191362400 -10800 0 BRT}
- {-1175374800 -7200 1 BRST}
- {-1159826400 -10800 0 BRT}
- {-633819600 -7200 1 BRST}
- {-622069200 -10800 0 BRT}
- {-602283600 -7200 1 BRST}
- {-591832800 -10800 0 BRT}
- {-570747600 -7200 1 BRST}
- {-560210400 -10800 0 BRT}
- {-539125200 -7200 1 BRST}
- {-531352800 -10800 0 BRT}
- {-191365200 -7200 1 BRST}
- {-184197600 -10800 0 BRT}
- {-155163600 -7200 1 BRST}
- {-150069600 -10800 0 BRT}
- {-128898000 -7200 1 BRST}
- {-121125600 -10800 0 BRT}
- {-99954000 -7200 1 BRST}
- {-89589600 -10800 0 BRT}
- {-68418000 -7200 1 BRST}
- {-57967200 -10800 0 BRT}
- {499748400 -7200 1 BRST}
- {511236000 -10800 0 BRT}
- {530593200 -7200 1 BRST}
- {540266400 -10800 0 BRT}
- {562129200 -7200 1 BRST}
- {571197600 -10800 0 BRT}
- {592974000 -7200 1 BRST}
- {602042400 -10800 0 BRT}
- {624423600 -7200 1 BRST}
- {634701600 -10800 0 BRT}
- {653536800 -10800 0 BRT}
- {938660400 -10800 0 BRT}
- {938919600 -7200 1 BRST}
- {951616800 -10800 0 BRT}
- {970974000 -7200 1 BRST}
- {972180000 -10800 0 BRT}
- {1000350000 -10800 0 BRT}
- {1003028400 -7200 1 BRST}
- {1013911200 -10800 0 BRT}
- {1033437600 -10800 0 BRT}
+ {-1767216360 -10800 0 -03}
+ {-1206957600 -7200 1 -02}
+ {-1191362400 -10800 0 -03}
+ {-1175374800 -7200 1 -02}
+ {-1159826400 -10800 0 -03}
+ {-633819600 -7200 1 -02}
+ {-622069200 -10800 0 -03}
+ {-602283600 -7200 1 -02}
+ {-591832800 -10800 0 -03}
+ {-570747600 -7200 1 -02}
+ {-560210400 -10800 0 -03}
+ {-539125200 -7200 1 -02}
+ {-531352800 -10800 0 -03}
+ {-191365200 -7200 1 -02}
+ {-184197600 -10800 0 -03}
+ {-155163600 -7200 1 -02}
+ {-150069600 -10800 0 -03}
+ {-128898000 -7200 1 -02}
+ {-121125600 -10800 0 -03}
+ {-99954000 -7200 1 -02}
+ {-89589600 -10800 0 -03}
+ {-68418000 -7200 1 -02}
+ {-57967200 -10800 0 -03}
+ {499748400 -7200 1 -02}
+ {511236000 -10800 0 -03}
+ {530593200 -7200 1 -02}
+ {540266400 -10800 0 -03}
+ {562129200 -7200 1 -02}
+ {571197600 -10800 0 -03}
+ {592974000 -7200 1 -02}
+ {602042400 -10800 0 -03}
+ {624423600 -7200 1 -02}
+ {634701600 -10800 0 -03}
+ {653536800 -10800 0 -03}
+ {938660400 -10800 0 -03}
+ {938919600 -7200 1 -02}
+ {951616800 -10800 0 -03}
+ {970974000 -7200 1 -02}
+ {972180000 -10800 0 -03}
+ {1000350000 -10800 0 -03}
+ {1003028400 -7200 1 -02}
+ {1013911200 -10800 0 -03}
+ {1033437600 -10800 0 -03}
}
diff --git a/library/tzdata/America/Godthab b/library/tzdata/America/Godthab
index 3c003cc..3e45f87 100644
--- a/library/tzdata/America/Godthab
+++ b/library/tzdata/America/Godthab
@@ -2,245 +2,245 @@
set TZData(:America/Godthab) {
{-9223372036854775808 -12416 0 LMT}
- {-1686083584 -10800 0 WGT}
- {323845200 -7200 0 WGST}
- {338950800 -10800 0 WGT}
- {354675600 -7200 1 WGST}
- {370400400 -10800 0 WGT}
- {386125200 -7200 1 WGST}
- {401850000 -10800 0 WGT}
- {417574800 -7200 1 WGST}
- {433299600 -10800 0 WGT}
- {449024400 -7200 1 WGST}
- {465354000 -10800 0 WGT}
- {481078800 -7200 1 WGST}
- {496803600 -10800 0 WGT}
- {512528400 -7200 1 WGST}
- {528253200 -10800 0 WGT}
- {543978000 -7200 1 WGST}
- {559702800 -10800 0 WGT}
- {575427600 -7200 1 WGST}
- {591152400 -10800 0 WGT}
- {606877200 -7200 1 WGST}
- {622602000 -10800 0 WGT}
- {638326800 -7200 1 WGST}
- {654656400 -10800 0 WGT}
- {670381200 -7200 1 WGST}
- {686106000 -10800 0 WGT}
- {701830800 -7200 1 WGST}
- {717555600 -10800 0 WGT}
- {733280400 -7200 1 WGST}
- {749005200 -10800 0 WGT}
- {764730000 -7200 1 WGST}
- {780454800 -10800 0 WGT}
- {796179600 -7200 1 WGST}
- {811904400 -10800 0 WGT}
- {828234000 -7200 1 WGST}
- {846378000 -10800 0 WGT}
- {859683600 -7200 1 WGST}
- {877827600 -10800 0 WGT}
- {891133200 -7200 1 WGST}
- {909277200 -10800 0 WGT}
- {922582800 -7200 1 WGST}
- {941331600 -10800 0 WGT}
- {954032400 -7200 1 WGST}
- {972781200 -10800 0 WGT}
- {985482000 -7200 1 WGST}
- {1004230800 -10800 0 WGT}
- {1017536400 -7200 1 WGST}
- {1035680400 -10800 0 WGT}
- {1048986000 -7200 1 WGST}
- {1067130000 -10800 0 WGT}
- {1080435600 -7200 1 WGST}
- {1099184400 -10800 0 WGT}
- {1111885200 -7200 1 WGST}
- {1130634000 -10800 0 WGT}
- {1143334800 -7200 1 WGST}
- {1162083600 -10800 0 WGT}
- {1174784400 -7200 1 WGST}
- {1193533200 -10800 0 WGT}
- {1206838800 -7200 1 WGST}
- {1224982800 -10800 0 WGT}
- {1238288400 -7200 1 WGST}
- {1256432400 -10800 0 WGT}
- {1269738000 -7200 1 WGST}
- {1288486800 -10800 0 WGT}
- {1301187600 -7200 1 WGST}
- {1319936400 -10800 0 WGT}
- {1332637200 -7200 1 WGST}
- {1351386000 -10800 0 WGT}
- {1364691600 -7200 1 WGST}
- {1382835600 -10800 0 WGT}
- {1396141200 -7200 1 WGST}
- {1414285200 -10800 0 WGT}
- {1427590800 -7200 1 WGST}
- {1445734800 -10800 0 WGT}
- {1459040400 -7200 1 WGST}
- {1477789200 -10800 0 WGT}
- {1490490000 -7200 1 WGST}
- {1509238800 -10800 0 WGT}
- {1521939600 -7200 1 WGST}
- {1540688400 -10800 0 WGT}
- {1553994000 -7200 1 WGST}
- {1572138000 -10800 0 WGT}
- {1585443600 -7200 1 WGST}
- {1603587600 -10800 0 WGT}
- {1616893200 -7200 1 WGST}
- {1635642000 -10800 0 WGT}
- {1648342800 -7200 1 WGST}
- {1667091600 -10800 0 WGT}
- {1679792400 -7200 1 WGST}
- {1698541200 -10800 0 WGT}
- {1711846800 -7200 1 WGST}
- {1729990800 -10800 0 WGT}
- {1743296400 -7200 1 WGST}
- {1761440400 -10800 0 WGT}
- {1774746000 -7200 1 WGST}
- {1792890000 -10800 0 WGT}
- {1806195600 -7200 1 WGST}
- {1824944400 -10800 0 WGT}
- {1837645200 -7200 1 WGST}
- {1856394000 -10800 0 WGT}
- {1869094800 -7200 1 WGST}
- {1887843600 -10800 0 WGT}
- {1901149200 -7200 1 WGST}
- {1919293200 -10800 0 WGT}
- {1932598800 -7200 1 WGST}
- {1950742800 -10800 0 WGT}
- {1964048400 -7200 1 WGST}
- {1982797200 -10800 0 WGT}
- {1995498000 -7200 1 WGST}
- {2014246800 -10800 0 WGT}
- {2026947600 -7200 1 WGST}
- {2045696400 -10800 0 WGT}
- {2058397200 -7200 1 WGST}
- {2077146000 -10800 0 WGT}
- {2090451600 -7200 1 WGST}
- {2108595600 -10800 0 WGT}
- {2121901200 -7200 1 WGST}
- {2140045200 -10800 0 WGT}
- {2153350800 -7200 1 WGST}
- {2172099600 -10800 0 WGT}
- {2184800400 -7200 1 WGST}
- {2203549200 -10800 0 WGT}
- {2216250000 -7200 1 WGST}
- {2234998800 -10800 0 WGT}
- {2248304400 -7200 1 WGST}
- {2266448400 -10800 0 WGT}
- {2279754000 -7200 1 WGST}
- {2297898000 -10800 0 WGT}
- {2311203600 -7200 1 WGST}
- {2329347600 -10800 0 WGT}
- {2342653200 -7200 1 WGST}
- {2361402000 -10800 0 WGT}
- {2374102800 -7200 1 WGST}
- {2392851600 -10800 0 WGT}
- {2405552400 -7200 1 WGST}
- {2424301200 -10800 0 WGT}
- {2437606800 -7200 1 WGST}
- {2455750800 -10800 0 WGT}
- {2469056400 -7200 1 WGST}
- {2487200400 -10800 0 WGT}
- {2500506000 -7200 1 WGST}
- {2519254800 -10800 0 WGT}
- {2531955600 -7200 1 WGST}
- {2550704400 -10800 0 WGT}
- {2563405200 -7200 1 WGST}
- {2582154000 -10800 0 WGT}
- {2595459600 -7200 1 WGST}
- {2613603600 -10800 0 WGT}
- {2626909200 -7200 1 WGST}
- {2645053200 -10800 0 WGT}
- {2658358800 -7200 1 WGST}
- {2676502800 -10800 0 WGT}
- {2689808400 -7200 1 WGST}
- {2708557200 -10800 0 WGT}
- {2721258000 -7200 1 WGST}
- {2740006800 -10800 0 WGT}
- {2752707600 -7200 1 WGST}
- {2771456400 -10800 0 WGT}
- {2784762000 -7200 1 WGST}
- {2802906000 -10800 0 WGT}
- {2816211600 -7200 1 WGST}
- {2834355600 -10800 0 WGT}
- {2847661200 -7200 1 WGST}
- {2866410000 -10800 0 WGT}
- {2879110800 -7200 1 WGST}
- {2897859600 -10800 0 WGT}
- {2910560400 -7200 1 WGST}
- {2929309200 -10800 0 WGT}
- {2942010000 -7200 1 WGST}
- {2960758800 -10800 0 WGT}
- {2974064400 -7200 1 WGST}
- {2992208400 -10800 0 WGT}
- {3005514000 -7200 1 WGST}
- {3023658000 -10800 0 WGT}
- {3036963600 -7200 1 WGST}
- {3055712400 -10800 0 WGT}
- {3068413200 -7200 1 WGST}
- {3087162000 -10800 0 WGT}
- {3099862800 -7200 1 WGST}
- {3118611600 -10800 0 WGT}
- {3131917200 -7200 1 WGST}
- {3150061200 -10800 0 WGT}
- {3163366800 -7200 1 WGST}
- {3181510800 -10800 0 WGT}
- {3194816400 -7200 1 WGST}
- {3212960400 -10800 0 WGT}
- {3226266000 -7200 1 WGST}
- {3245014800 -10800 0 WGT}
- {3257715600 -7200 1 WGST}
- {3276464400 -10800 0 WGT}
- {3289165200 -7200 1 WGST}
- {3307914000 -10800 0 WGT}
- {3321219600 -7200 1 WGST}
- {3339363600 -10800 0 WGT}
- {3352669200 -7200 1 WGST}
- {3370813200 -10800 0 WGT}
- {3384118800 -7200 1 WGST}
- {3402867600 -10800 0 WGT}
- {3415568400 -7200 1 WGST}
- {3434317200 -10800 0 WGT}
- {3447018000 -7200 1 WGST}
- {3465766800 -10800 0 WGT}
- {3479072400 -7200 1 WGST}
- {3497216400 -10800 0 WGT}
- {3510522000 -7200 1 WGST}
- {3528666000 -10800 0 WGT}
- {3541971600 -7200 1 WGST}
- {3560115600 -10800 0 WGT}
- {3573421200 -7200 1 WGST}
- {3592170000 -10800 0 WGT}
- {3604870800 -7200 1 WGST}
- {3623619600 -10800 0 WGT}
- {3636320400 -7200 1 WGST}
- {3655069200 -10800 0 WGT}
- {3668374800 -7200 1 WGST}
- {3686518800 -10800 0 WGT}
- {3699824400 -7200 1 WGST}
- {3717968400 -10800 0 WGT}
- {3731274000 -7200 1 WGST}
- {3750022800 -10800 0 WGT}
- {3762723600 -7200 1 WGST}
- {3781472400 -10800 0 WGT}
- {3794173200 -7200 1 WGST}
- {3812922000 -10800 0 WGT}
- {3825622800 -7200 1 WGST}
- {3844371600 -10800 0 WGT}
- {3857677200 -7200 1 WGST}
- {3875821200 -10800 0 WGT}
- {3889126800 -7200 1 WGST}
- {3907270800 -10800 0 WGT}
- {3920576400 -7200 1 WGST}
- {3939325200 -10800 0 WGT}
- {3952026000 -7200 1 WGST}
- {3970774800 -10800 0 WGT}
- {3983475600 -7200 1 WGST}
- {4002224400 -10800 0 WGT}
- {4015530000 -7200 1 WGST}
- {4033674000 -10800 0 WGT}
- {4046979600 -7200 1 WGST}
- {4065123600 -10800 0 WGT}
- {4078429200 -7200 1 WGST}
- {4096573200 -10800 0 WGT}
+ {-1686083584 -10800 0 -03}
+ {323845200 -7200 0 -02}
+ {338950800 -10800 0 -03}
+ {354675600 -7200 1 -02}
+ {370400400 -10800 0 -03}
+ {386125200 -7200 1 -02}
+ {401850000 -10800 0 -03}
+ {417574800 -7200 1 -02}
+ {433299600 -10800 0 -03}
+ {449024400 -7200 1 -02}
+ {465354000 -10800 0 -03}
+ {481078800 -7200 1 -02}
+ {496803600 -10800 0 -03}
+ {512528400 -7200 1 -02}
+ {528253200 -10800 0 -03}
+ {543978000 -7200 1 -02}
+ {559702800 -10800 0 -03}
+ {575427600 -7200 1 -02}
+ {591152400 -10800 0 -03}
+ {606877200 -7200 1 -02}
+ {622602000 -10800 0 -03}
+ {638326800 -7200 1 -02}
+ {654656400 -10800 0 -03}
+ {670381200 -7200 1 -02}
+ {686106000 -10800 0 -03}
+ {701830800 -7200 1 -02}
+ {717555600 -10800 0 -03}
+ {733280400 -7200 1 -02}
+ {749005200 -10800 0 -03}
+ {764730000 -7200 1 -02}
+ {780454800 -10800 0 -03}
+ {796179600 -7200 1 -02}
+ {811904400 -10800 0 -03}
+ {828234000 -7200 1 -02}
+ {846378000 -10800 0 -03}
+ {859683600 -7200 1 -02}
+ {877827600 -10800 0 -03}
+ {891133200 -7200 1 -02}
+ {909277200 -10800 0 -03}
+ {922582800 -7200 1 -02}
+ {941331600 -10800 0 -03}
+ {954032400 -7200 1 -02}
+ {972781200 -10800 0 -03}
+ {985482000 -7200 1 -02}
+ {1004230800 -10800 0 -03}
+ {1017536400 -7200 1 -02}
+ {1035680400 -10800 0 -03}
+ {1048986000 -7200 1 -02}
+ {1067130000 -10800 0 -03}
+ {1080435600 -7200 1 -02}
+ {1099184400 -10800 0 -03}
+ {1111885200 -7200 1 -02}
+ {1130634000 -10800 0 -03}
+ {1143334800 -7200 1 -02}
+ {1162083600 -10800 0 -03}
+ {1174784400 -7200 1 -02}
+ {1193533200 -10800 0 -03}
+ {1206838800 -7200 1 -02}
+ {1224982800 -10800 0 -03}
+ {1238288400 -7200 1 -02}
+ {1256432400 -10800 0 -03}
+ {1269738000 -7200 1 -02}
+ {1288486800 -10800 0 -03}
+ {1301187600 -7200 1 -02}
+ {1319936400 -10800 0 -03}
+ {1332637200 -7200 1 -02}
+ {1351386000 -10800 0 -03}
+ {1364691600 -7200 1 -02}
+ {1382835600 -10800 0 -03}
+ {1396141200 -7200 1 -02}
+ {1414285200 -10800 0 -03}
+ {1427590800 -7200 1 -02}
+ {1445734800 -10800 0 -03}
+ {1459040400 -7200 1 -02}
+ {1477789200 -10800 0 -03}
+ {1490490000 -7200 1 -02}
+ {1509238800 -10800 0 -03}
+ {1521939600 -7200 1 -02}
+ {1540688400 -10800 0 -03}
+ {1553994000 -7200 1 -02}
+ {1572138000 -10800 0 -03}
+ {1585443600 -7200 1 -02}
+ {1603587600 -10800 0 -03}
+ {1616893200 -7200 1 -02}
+ {1635642000 -10800 0 -03}
+ {1648342800 -7200 1 -02}
+ {1667091600 -10800 0 -03}
+ {1679792400 -7200 1 -02}
+ {1698541200 -10800 0 -03}
+ {1711846800 -7200 1 -02}
+ {1729990800 -10800 0 -03}
+ {1743296400 -7200 1 -02}
+ {1761440400 -10800 0 -03}
+ {1774746000 -7200 1 -02}
+ {1792890000 -10800 0 -03}
+ {1806195600 -7200 1 -02}
+ {1824944400 -10800 0 -03}
+ {1837645200 -7200 1 -02}
+ {1856394000 -10800 0 -03}
+ {1869094800 -7200 1 -02}
+ {1887843600 -10800 0 -03}
+ {1901149200 -7200 1 -02}
+ {1919293200 -10800 0 -03}
+ {1932598800 -7200 1 -02}
+ {1950742800 -10800 0 -03}
+ {1964048400 -7200 1 -02}
+ {1982797200 -10800 0 -03}
+ {1995498000 -7200 1 -02}
+ {2014246800 -10800 0 -03}
+ {2026947600 -7200 1 -02}
+ {2045696400 -10800 0 -03}
+ {2058397200 -7200 1 -02}
+ {2077146000 -10800 0 -03}
+ {2090451600 -7200 1 -02}
+ {2108595600 -10800 0 -03}
+ {2121901200 -7200 1 -02}
+ {2140045200 -10800 0 -03}
+ {2153350800 -7200 1 -02}
+ {2172099600 -10800 0 -03}
+ {2184800400 -7200 1 -02}
+ {2203549200 -10800 0 -03}
+ {2216250000 -7200 1 -02}
+ {2234998800 -10800 0 -03}
+ {2248304400 -7200 1 -02}
+ {2266448400 -10800 0 -03}
+ {2279754000 -7200 1 -02}
+ {2297898000 -10800 0 -03}
+ {2311203600 -7200 1 -02}
+ {2329347600 -10800 0 -03}
+ {2342653200 -7200 1 -02}
+ {2361402000 -10800 0 -03}
+ {2374102800 -7200 1 -02}
+ {2392851600 -10800 0 -03}
+ {2405552400 -7200 1 -02}
+ {2424301200 -10800 0 -03}
+ {2437606800 -7200 1 -02}
+ {2455750800 -10800 0 -03}
+ {2469056400 -7200 1 -02}
+ {2487200400 -10800 0 -03}
+ {2500506000 -7200 1 -02}
+ {2519254800 -10800 0 -03}
+ {2531955600 -7200 1 -02}
+ {2550704400 -10800 0 -03}
+ {2563405200 -7200 1 -02}
+ {2582154000 -10800 0 -03}
+ {2595459600 -7200 1 -02}
+ {2613603600 -10800 0 -03}
+ {2626909200 -7200 1 -02}
+ {2645053200 -10800 0 -03}
+ {2658358800 -7200 1 -02}
+ {2676502800 -10800 0 -03}
+ {2689808400 -7200 1 -02}
+ {2708557200 -10800 0 -03}
+ {2721258000 -7200 1 -02}
+ {2740006800 -10800 0 -03}
+ {2752707600 -7200 1 -02}
+ {2771456400 -10800 0 -03}
+ {2784762000 -7200 1 -02}
+ {2802906000 -10800 0 -03}
+ {2816211600 -7200 1 -02}
+ {2834355600 -10800 0 -03}
+ {2847661200 -7200 1 -02}
+ {2866410000 -10800 0 -03}
+ {2879110800 -7200 1 -02}
+ {2897859600 -10800 0 -03}
+ {2910560400 -7200 1 -02}
+ {2929309200 -10800 0 -03}
+ {2942010000 -7200 1 -02}
+ {2960758800 -10800 0 -03}
+ {2974064400 -7200 1 -02}
+ {2992208400 -10800 0 -03}
+ {3005514000 -7200 1 -02}
+ {3023658000 -10800 0 -03}
+ {3036963600 -7200 1 -02}
+ {3055712400 -10800 0 -03}
+ {3068413200 -7200 1 -02}
+ {3087162000 -10800 0 -03}
+ {3099862800 -7200 1 -02}
+ {3118611600 -10800 0 -03}
+ {3131917200 -7200 1 -02}
+ {3150061200 -10800 0 -03}
+ {3163366800 -7200 1 -02}
+ {3181510800 -10800 0 -03}
+ {3194816400 -7200 1 -02}
+ {3212960400 -10800 0 -03}
+ {3226266000 -7200 1 -02}
+ {3245014800 -10800 0 -03}
+ {3257715600 -7200 1 -02}
+ {3276464400 -10800 0 -03}
+ {3289165200 -7200 1 -02}
+ {3307914000 -10800 0 -03}
+ {3321219600 -7200 1 -02}
+ {3339363600 -10800 0 -03}
+ {3352669200 -7200 1 -02}
+ {3370813200 -10800 0 -03}
+ {3384118800 -7200 1 -02}
+ {3402867600 -10800 0 -03}
+ {3415568400 -7200 1 -02}
+ {3434317200 -10800 0 -03}
+ {3447018000 -7200 1 -02}
+ {3465766800 -10800 0 -03}
+ {3479072400 -7200 1 -02}
+ {3497216400 -10800 0 -03}
+ {3510522000 -7200 1 -02}
+ {3528666000 -10800 0 -03}
+ {3541971600 -7200 1 -02}
+ {3560115600 -10800 0 -03}
+ {3573421200 -7200 1 -02}
+ {3592170000 -10800 0 -03}
+ {3604870800 -7200 1 -02}
+ {3623619600 -10800 0 -03}
+ {3636320400 -7200 1 -02}
+ {3655069200 -10800 0 -03}
+ {3668374800 -7200 1 -02}
+ {3686518800 -10800 0 -03}
+ {3699824400 -7200 1 -02}
+ {3717968400 -10800 0 -03}
+ {3731274000 -7200 1 -02}
+ {3750022800 -10800 0 -03}
+ {3762723600 -7200 1 -02}
+ {3781472400 -10800 0 -03}
+ {3794173200 -7200 1 -02}
+ {3812922000 -10800 0 -03}
+ {3825622800 -7200 1 -02}
+ {3844371600 -10800 0 -03}
+ {3857677200 -7200 1 -02}
+ {3875821200 -10800 0 -03}
+ {3889126800 -7200 1 -02}
+ {3907270800 -10800 0 -03}
+ {3920576400 -7200 1 -02}
+ {3939325200 -10800 0 -03}
+ {3952026000 -7200 1 -02}
+ {3970774800 -10800 0 -03}
+ {3983475600 -7200 1 -02}
+ {4002224400 -10800 0 -03}
+ {4015530000 -7200 1 -02}
+ {4033674000 -10800 0 -03}
+ {4046979600 -7200 1 -02}
+ {4065123600 -10800 0 -03}
+ {4078429200 -7200 1 -02}
+ {4096573200 -10800 0 -03}
}
diff --git a/library/tzdata/America/Guayaquil b/library/tzdata/America/Guayaquil
index e940a5b..353eb69 100644
--- a/library/tzdata/America/Guayaquil
+++ b/library/tzdata/America/Guayaquil
@@ -3,5 +3,7 @@
set TZData(:America/Guayaquil) {
{-9223372036854775808 -19160 0 LMT}
{-2524502440 -18840 0 QMT}
- {-1230749160 -18000 0 ECT}
+ {-1230749160 -18000 0 -05}
+ {722926800 -14400 1 -04}
+ {728884800 -18000 0 -05}
}
diff --git a/library/tzdata/America/Guyana b/library/tzdata/America/Guyana
index c58a989..fab7855 100644
--- a/library/tzdata/America/Guyana
+++ b/library/tzdata/America/Guyana
@@ -2,8 +2,7 @@
set TZData(:America/Guyana) {
{-9223372036854775808 -13960 0 LMT}
- {-1730578040 -13500 0 GBGT}
- {-113688900 -13500 0 GYT}
- {176010300 -10800 0 GYT}
- {662698800 -14400 0 GYT}
+ {-1730578040 -13500 0 -0345}
+ {176010300 -10800 0 -03}
+ {662698800 -14400 0 -04}
}
diff --git a/library/tzdata/America/La_Paz b/library/tzdata/America/La_Paz
index 38ffbb0..a245afd 100644
--- a/library/tzdata/America/La_Paz
+++ b/library/tzdata/America/La_Paz
@@ -4,5 +4,5 @@ set TZData(:America/La_Paz) {
{-9223372036854775808 -16356 0 LMT}
{-2524505244 -16356 0 CMT}
{-1205954844 -12756 1 BOST}
- {-1192307244 -14400 0 BOT}
+ {-1192307244 -14400 0 -04}
}
diff --git a/library/tzdata/America/Lima b/library/tzdata/America/Lima
index c6e6ac1..b224a64 100644
--- a/library/tzdata/America/Lima
+++ b/library/tzdata/America/Lima
@@ -3,14 +3,14 @@
set TZData(:America/Lima) {
{-9223372036854775808 -18492 0 LMT}
{-2524503108 -18516 0 LMT}
- {-1938538284 -14400 0 PEST}
- {-1002052800 -18000 0 PET}
- {-986756400 -14400 1 PEST}
- {-971035200 -18000 0 PET}
- {-955306800 -14400 1 PEST}
- {-939585600 -18000 0 PET}
- {512712000 -18000 0 PET}
- {544248000 -18000 0 PET}
- {638942400 -18000 0 PET}
- {765172800 -18000 0 PET}
+ {-1938538284 -14400 0 -04}
+ {-1002052800 -18000 0 -05}
+ {-986756400 -14400 1 -04}
+ {-971035200 -18000 0 -05}
+ {-955306800 -14400 1 -04}
+ {-939585600 -18000 0 -05}
+ {512712000 -18000 0 -05}
+ {544248000 -18000 0 -05}
+ {638942400 -18000 0 -05}
+ {765172800 -18000 0 -05}
}
diff --git a/library/tzdata/America/Maceio b/library/tzdata/America/Maceio
index 333b878..e6ed548 100644
--- a/library/tzdata/America/Maceio
+++ b/library/tzdata/America/Maceio
@@ -2,51 +2,51 @@
set TZData(:America/Maceio) {
{-9223372036854775808 -8572 0 LMT}
- {-1767217028 -10800 0 BRT}
- {-1206957600 -7200 1 BRST}
- {-1191362400 -10800 0 BRT}
- {-1175374800 -7200 1 BRST}
- {-1159826400 -10800 0 BRT}
- {-633819600 -7200 1 BRST}
- {-622069200 -10800 0 BRT}
- {-602283600 -7200 1 BRST}
- {-591832800 -10800 0 BRT}
- {-570747600 -7200 1 BRST}
- {-560210400 -10800 0 BRT}
- {-539125200 -7200 1 BRST}
- {-531352800 -10800 0 BRT}
- {-191365200 -7200 1 BRST}
- {-184197600 -10800 0 BRT}
- {-155163600 -7200 1 BRST}
- {-150069600 -10800 0 BRT}
- {-128898000 -7200 1 BRST}
- {-121125600 -10800 0 BRT}
- {-99954000 -7200 1 BRST}
- {-89589600 -10800 0 BRT}
- {-68418000 -7200 1 BRST}
- {-57967200 -10800 0 BRT}
- {499748400 -7200 1 BRST}
- {511236000 -10800 0 BRT}
- {530593200 -7200 1 BRST}
- {540266400 -10800 0 BRT}
- {562129200 -7200 1 BRST}
- {571197600 -10800 0 BRT}
- {592974000 -7200 1 BRST}
- {602042400 -10800 0 BRT}
- {624423600 -7200 1 BRST}
- {634701600 -10800 0 BRT}
- {653536800 -10800 0 BRT}
- {813553200 -10800 0 BRT}
- {813726000 -7200 1 BRST}
- {824004000 -10800 0 BRT}
- {841802400 -10800 0 BRT}
- {938660400 -10800 0 BRT}
- {938919600 -7200 1 BRST}
- {951616800 -10800 0 BRT}
- {970974000 -7200 1 BRST}
- {972180000 -10800 0 BRT}
- {1000350000 -10800 0 BRT}
- {1003028400 -7200 1 BRST}
- {1013911200 -10800 0 BRT}
- {1033437600 -10800 0 BRT}
+ {-1767217028 -10800 0 -03}
+ {-1206957600 -7200 1 -02}
+ {-1191362400 -10800 0 -03}
+ {-1175374800 -7200 1 -02}
+ {-1159826400 -10800 0 -03}
+ {-633819600 -7200 1 -02}
+ {-622069200 -10800 0 -03}
+ {-602283600 -7200 1 -02}
+ {-591832800 -10800 0 -03}
+ {-570747600 -7200 1 -02}
+ {-560210400 -10800 0 -03}
+ {-539125200 -7200 1 -02}
+ {-531352800 -10800 0 -03}
+ {-191365200 -7200 1 -02}
+ {-184197600 -10800 0 -03}
+ {-155163600 -7200 1 -02}
+ {-150069600 -10800 0 -03}
+ {-128898000 -7200 1 -02}
+ {-121125600 -10800 0 -03}
+ {-99954000 -7200 1 -02}
+ {-89589600 -10800 0 -03}
+ {-68418000 -7200 1 -02}
+ {-57967200 -10800 0 -03}
+ {499748400 -7200 1 -02}
+ {511236000 -10800 0 -03}
+ {530593200 -7200 1 -02}
+ {540266400 -10800 0 -03}
+ {562129200 -7200 1 -02}
+ {571197600 -10800 0 -03}
+ {592974000 -7200 1 -02}
+ {602042400 -10800 0 -03}
+ {624423600 -7200 1 -02}
+ {634701600 -10800 0 -03}
+ {653536800 -10800 0 -03}
+ {813553200 -10800 0 -03}
+ {813726000 -7200 1 -02}
+ {824004000 -10800 0 -03}
+ {841802400 -10800 0 -03}
+ {938660400 -10800 0 -03}
+ {938919600 -7200 1 -02}
+ {951616800 -10800 0 -03}
+ {970974000 -7200 1 -02}
+ {972180000 -10800 0 -03}
+ {1000350000 -10800 0 -03}
+ {1003028400 -7200 1 -02}
+ {1013911200 -10800 0 -03}
+ {1033437600 -10800 0 -03}
}
diff --git a/library/tzdata/America/Manaus b/library/tzdata/America/Manaus
index 058e0f7..f17023c 100644
--- a/library/tzdata/America/Manaus
+++ b/library/tzdata/America/Manaus
@@ -2,38 +2,38 @@
set TZData(:America/Manaus) {
{-9223372036854775808 -14404 0 LMT}
- {-1767211196 -14400 0 AMT}
- {-1206954000 -10800 1 AMST}
- {-1191358800 -14400 0 AMT}
- {-1175371200 -10800 1 AMST}
- {-1159822800 -14400 0 AMT}
- {-633816000 -10800 1 AMST}
- {-622065600 -14400 0 AMT}
- {-602280000 -10800 1 AMST}
- {-591829200 -14400 0 AMT}
- {-570744000 -10800 1 AMST}
- {-560206800 -14400 0 AMT}
- {-539121600 -10800 1 AMST}
- {-531349200 -14400 0 AMT}
- {-191361600 -10800 1 AMST}
- {-184194000 -14400 0 AMT}
- {-155160000 -10800 1 AMST}
- {-150066000 -14400 0 AMT}
- {-128894400 -10800 1 AMST}
- {-121122000 -14400 0 AMT}
- {-99950400 -10800 1 AMST}
- {-89586000 -14400 0 AMT}
- {-68414400 -10800 1 AMST}
- {-57963600 -14400 0 AMT}
- {499752000 -10800 1 AMST}
- {511239600 -14400 0 AMT}
- {530596800 -10800 1 AMST}
- {540270000 -14400 0 AMT}
- {562132800 -10800 1 AMST}
- {571201200 -14400 0 AMT}
- {590036400 -14400 0 AMT}
- {749188800 -14400 0 AMT}
- {750830400 -10800 1 AMST}
- {761713200 -14400 0 AMT}
- {780202800 -14400 0 AMT}
+ {-1767211196 -14400 0 -04}
+ {-1206954000 -10800 1 -03}
+ {-1191358800 -14400 0 -04}
+ {-1175371200 -10800 1 -03}
+ {-1159822800 -14400 0 -04}
+ {-633816000 -10800 1 -03}
+ {-622065600 -14400 0 -04}
+ {-602280000 -10800 1 -03}
+ {-591829200 -14400 0 -04}
+ {-570744000 -10800 1 -03}
+ {-560206800 -14400 0 -04}
+ {-539121600 -10800 1 -03}
+ {-531349200 -14400 0 -04}
+ {-191361600 -10800 1 -03}
+ {-184194000 -14400 0 -04}
+ {-155160000 -10800 1 -03}
+ {-150066000 -14400 0 -04}
+ {-128894400 -10800 1 -03}
+ {-121122000 -14400 0 -04}
+ {-99950400 -10800 1 -03}
+ {-89586000 -14400 0 -04}
+ {-68414400 -10800 1 -03}
+ {-57963600 -14400 0 -04}
+ {499752000 -10800 1 -03}
+ {511239600 -14400 0 -04}
+ {530596800 -10800 1 -03}
+ {540270000 -14400 0 -04}
+ {562132800 -10800 1 -03}
+ {571201200 -14400 0 -04}
+ {590036400 -14400 0 -04}
+ {749188800 -14400 0 -04}
+ {750830400 -10800 1 -03}
+ {761713200 -14400 0 -04}
+ {780202800 -14400 0 -04}
}
diff --git a/library/tzdata/America/Miquelon b/library/tzdata/America/Miquelon
index a7410f1..c299be6 100644
--- a/library/tzdata/America/Miquelon
+++ b/library/tzdata/America/Miquelon
@@ -3,232 +3,232 @@
set TZData(:America/Miquelon) {
{-9223372036854775808 -13480 0 LMT}
{-1850328920 -14400 0 AST}
- {326001600 -10800 0 PMST}
- {536468400 -10800 0 PMST}
- {544597200 -7200 1 PMDT}
- {562132800 -10800 0 PMST}
- {576046800 -7200 1 PMDT}
- {594187200 -10800 0 PMST}
- {607496400 -7200 1 PMDT}
- {625636800 -10800 0 PMST}
- {638946000 -7200 1 PMDT}
- {657086400 -10800 0 PMST}
- {671000400 -7200 1 PMDT}
- {688536000 -10800 0 PMST}
- {702450000 -7200 1 PMDT}
- {719985600 -10800 0 PMST}
- {733899600 -7200 1 PMDT}
- {752040000 -10800 0 PMST}
- {765349200 -7200 1 PMDT}
- {783489600 -10800 0 PMST}
- {796798800 -7200 1 PMDT}
- {814939200 -10800 0 PMST}
- {828853200 -7200 1 PMDT}
- {846388800 -10800 0 PMST}
- {860302800 -7200 1 PMDT}
- {877838400 -10800 0 PMST}
- {891752400 -7200 1 PMDT}
- {909288000 -10800 0 PMST}
- {923202000 -7200 1 PMDT}
- {941342400 -10800 0 PMST}
- {954651600 -7200 1 PMDT}
- {972792000 -10800 0 PMST}
- {986101200 -7200 1 PMDT}
- {1004241600 -10800 0 PMST}
- {1018155600 -7200 1 PMDT}
- {1035691200 -10800 0 PMST}
- {1049605200 -7200 1 PMDT}
- {1067140800 -10800 0 PMST}
- {1081054800 -7200 1 PMDT}
- {1099195200 -10800 0 PMST}
- {1112504400 -7200 1 PMDT}
- {1130644800 -10800 0 PMST}
- {1143954000 -7200 1 PMDT}
- {1162094400 -10800 0 PMST}
- {1173589200 -7200 1 PMDT}
- {1194148800 -10800 0 PMST}
- {1205038800 -7200 1 PMDT}
- {1225598400 -10800 0 PMST}
- {1236488400 -7200 1 PMDT}
- {1257048000 -10800 0 PMST}
- {1268542800 -7200 1 PMDT}
- {1289102400 -10800 0 PMST}
- {1299992400 -7200 1 PMDT}
- {1320552000 -10800 0 PMST}
- {1331442000 -7200 1 PMDT}
- {1352001600 -10800 0 PMST}
- {1362891600 -7200 1 PMDT}
- {1383451200 -10800 0 PMST}
- {1394341200 -7200 1 PMDT}
- {1414900800 -10800 0 PMST}
- {1425790800 -7200 1 PMDT}
- {1446350400 -10800 0 PMST}
- {1457845200 -7200 1 PMDT}
- {1478404800 -10800 0 PMST}
- {1489294800 -7200 1 PMDT}
- {1509854400 -10800 0 PMST}
- {1520744400 -7200 1 PMDT}
- {1541304000 -10800 0 PMST}
- {1552194000 -7200 1 PMDT}
- {1572753600 -10800 0 PMST}
- {1583643600 -7200 1 PMDT}
- {1604203200 -10800 0 PMST}
- {1615698000 -7200 1 PMDT}
- {1636257600 -10800 0 PMST}
- {1647147600 -7200 1 PMDT}
- {1667707200 -10800 0 PMST}
- {1678597200 -7200 1 PMDT}
- {1699156800 -10800 0 PMST}
- {1710046800 -7200 1 PMDT}
- {1730606400 -10800 0 PMST}
- {1741496400 -7200 1 PMDT}
- {1762056000 -10800 0 PMST}
- {1772946000 -7200 1 PMDT}
- {1793505600 -10800 0 PMST}
- {1805000400 -7200 1 PMDT}
- {1825560000 -10800 0 PMST}
- {1836450000 -7200 1 PMDT}
- {1857009600 -10800 0 PMST}
- {1867899600 -7200 1 PMDT}
- {1888459200 -10800 0 PMST}
- {1899349200 -7200 1 PMDT}
- {1919908800 -10800 0 PMST}
- {1930798800 -7200 1 PMDT}
- {1951358400 -10800 0 PMST}
- {1962853200 -7200 1 PMDT}
- {1983412800 -10800 0 PMST}
- {1994302800 -7200 1 PMDT}
- {2014862400 -10800 0 PMST}
- {2025752400 -7200 1 PMDT}
- {2046312000 -10800 0 PMST}
- {2057202000 -7200 1 PMDT}
- {2077761600 -10800 0 PMST}
- {2088651600 -7200 1 PMDT}
- {2109211200 -10800 0 PMST}
- {2120101200 -7200 1 PMDT}
- {2140660800 -10800 0 PMST}
- {2152155600 -7200 1 PMDT}
- {2172715200 -10800 0 PMST}
- {2183605200 -7200 1 PMDT}
- {2204164800 -10800 0 PMST}
- {2215054800 -7200 1 PMDT}
- {2235614400 -10800 0 PMST}
- {2246504400 -7200 1 PMDT}
- {2267064000 -10800 0 PMST}
- {2277954000 -7200 1 PMDT}
- {2298513600 -10800 0 PMST}
- {2309403600 -7200 1 PMDT}
- {2329963200 -10800 0 PMST}
- {2341458000 -7200 1 PMDT}
- {2362017600 -10800 0 PMST}
- {2372907600 -7200 1 PMDT}
- {2393467200 -10800 0 PMST}
- {2404357200 -7200 1 PMDT}
- {2424916800 -10800 0 PMST}
- {2435806800 -7200 1 PMDT}
- {2456366400 -10800 0 PMST}
- {2467256400 -7200 1 PMDT}
- {2487816000 -10800 0 PMST}
- {2499310800 -7200 1 PMDT}
- {2519870400 -10800 0 PMST}
- {2530760400 -7200 1 PMDT}
- {2551320000 -10800 0 PMST}
- {2562210000 -7200 1 PMDT}
- {2582769600 -10800 0 PMST}
- {2593659600 -7200 1 PMDT}
- {2614219200 -10800 0 PMST}
- {2625109200 -7200 1 PMDT}
- {2645668800 -10800 0 PMST}
- {2656558800 -7200 1 PMDT}
- {2677118400 -10800 0 PMST}
- {2688613200 -7200 1 PMDT}
- {2709172800 -10800 0 PMST}
- {2720062800 -7200 1 PMDT}
- {2740622400 -10800 0 PMST}
- {2751512400 -7200 1 PMDT}
- {2772072000 -10800 0 PMST}
- {2782962000 -7200 1 PMDT}
- {2803521600 -10800 0 PMST}
- {2814411600 -7200 1 PMDT}
- {2834971200 -10800 0 PMST}
- {2846466000 -7200 1 PMDT}
- {2867025600 -10800 0 PMST}
- {2877915600 -7200 1 PMDT}
- {2898475200 -10800 0 PMST}
- {2909365200 -7200 1 PMDT}
- {2929924800 -10800 0 PMST}
- {2940814800 -7200 1 PMDT}
- {2961374400 -10800 0 PMST}
- {2972264400 -7200 1 PMDT}
- {2992824000 -10800 0 PMST}
- {3003714000 -7200 1 PMDT}
- {3024273600 -10800 0 PMST}
- {3035768400 -7200 1 PMDT}
- {3056328000 -10800 0 PMST}
- {3067218000 -7200 1 PMDT}
- {3087777600 -10800 0 PMST}
- {3098667600 -7200 1 PMDT}
- {3119227200 -10800 0 PMST}
- {3130117200 -7200 1 PMDT}
- {3150676800 -10800 0 PMST}
- {3161566800 -7200 1 PMDT}
- {3182126400 -10800 0 PMST}
- {3193016400 -7200 1 PMDT}
- {3213576000 -10800 0 PMST}
- {3225070800 -7200 1 PMDT}
- {3245630400 -10800 0 PMST}
- {3256520400 -7200 1 PMDT}
- {3277080000 -10800 0 PMST}
- {3287970000 -7200 1 PMDT}
- {3308529600 -10800 0 PMST}
- {3319419600 -7200 1 PMDT}
- {3339979200 -10800 0 PMST}
- {3350869200 -7200 1 PMDT}
- {3371428800 -10800 0 PMST}
- {3382923600 -7200 1 PMDT}
- {3403483200 -10800 0 PMST}
- {3414373200 -7200 1 PMDT}
- {3434932800 -10800 0 PMST}
- {3445822800 -7200 1 PMDT}
- {3466382400 -10800 0 PMST}
- {3477272400 -7200 1 PMDT}
- {3497832000 -10800 0 PMST}
- {3508722000 -7200 1 PMDT}
- {3529281600 -10800 0 PMST}
- {3540171600 -7200 1 PMDT}
- {3560731200 -10800 0 PMST}
- {3572226000 -7200 1 PMDT}
- {3592785600 -10800 0 PMST}
- {3603675600 -7200 1 PMDT}
- {3624235200 -10800 0 PMST}
- {3635125200 -7200 1 PMDT}
- {3655684800 -10800 0 PMST}
- {3666574800 -7200 1 PMDT}
- {3687134400 -10800 0 PMST}
- {3698024400 -7200 1 PMDT}
- {3718584000 -10800 0 PMST}
- {3730078800 -7200 1 PMDT}
- {3750638400 -10800 0 PMST}
- {3761528400 -7200 1 PMDT}
- {3782088000 -10800 0 PMST}
- {3792978000 -7200 1 PMDT}
- {3813537600 -10800 0 PMST}
- {3824427600 -7200 1 PMDT}
- {3844987200 -10800 0 PMST}
- {3855877200 -7200 1 PMDT}
- {3876436800 -10800 0 PMST}
- {3887326800 -7200 1 PMDT}
- {3907886400 -10800 0 PMST}
- {3919381200 -7200 1 PMDT}
- {3939940800 -10800 0 PMST}
- {3950830800 -7200 1 PMDT}
- {3971390400 -10800 0 PMST}
- {3982280400 -7200 1 PMDT}
- {4002840000 -10800 0 PMST}
- {4013730000 -7200 1 PMDT}
- {4034289600 -10800 0 PMST}
- {4045179600 -7200 1 PMDT}
- {4065739200 -10800 0 PMST}
- {4076629200 -7200 1 PMDT}
- {4097188800 -10800 0 PMST}
+ {326001600 -10800 0 -03}
+ {536468400 -10800 0 -02}
+ {544597200 -7200 1 -02}
+ {562132800 -10800 0 -02}
+ {576046800 -7200 1 -02}
+ {594187200 -10800 0 -02}
+ {607496400 -7200 1 -02}
+ {625636800 -10800 0 -02}
+ {638946000 -7200 1 -02}
+ {657086400 -10800 0 -02}
+ {671000400 -7200 1 -02}
+ {688536000 -10800 0 -02}
+ {702450000 -7200 1 -02}
+ {719985600 -10800 0 -02}
+ {733899600 -7200 1 -02}
+ {752040000 -10800 0 -02}
+ {765349200 -7200 1 -02}
+ {783489600 -10800 0 -02}
+ {796798800 -7200 1 -02}
+ {814939200 -10800 0 -02}
+ {828853200 -7200 1 -02}
+ {846388800 -10800 0 -02}
+ {860302800 -7200 1 -02}
+ {877838400 -10800 0 -02}
+ {891752400 -7200 1 -02}
+ {909288000 -10800 0 -02}
+ {923202000 -7200 1 -02}
+ {941342400 -10800 0 -02}
+ {954651600 -7200 1 -02}
+ {972792000 -10800 0 -02}
+ {986101200 -7200 1 -02}
+ {1004241600 -10800 0 -02}
+ {1018155600 -7200 1 -02}
+ {1035691200 -10800 0 -02}
+ {1049605200 -7200 1 -02}
+ {1067140800 -10800 0 -02}
+ {1081054800 -7200 1 -02}
+ {1099195200 -10800 0 -02}
+ {1112504400 -7200 1 -02}
+ {1130644800 -10800 0 -02}
+ {1143954000 -7200 1 -02}
+ {1162094400 -10800 0 -02}
+ {1173589200 -7200 1 -02}
+ {1194148800 -10800 0 -02}
+ {1205038800 -7200 1 -02}
+ {1225598400 -10800 0 -02}
+ {1236488400 -7200 1 -02}
+ {1257048000 -10800 0 -02}
+ {1268542800 -7200 1 -02}
+ {1289102400 -10800 0 -02}
+ {1299992400 -7200 1 -02}
+ {1320552000 -10800 0 -02}
+ {1331442000 -7200 1 -02}
+ {1352001600 -10800 0 -02}
+ {1362891600 -7200 1 -02}
+ {1383451200 -10800 0 -02}
+ {1394341200 -7200 1 -02}
+ {1414900800 -10800 0 -02}
+ {1425790800 -7200 1 -02}
+ {1446350400 -10800 0 -02}
+ {1457845200 -7200 1 -02}
+ {1478404800 -10800 0 -02}
+ {1489294800 -7200 1 -02}
+ {1509854400 -10800 0 -02}
+ {1520744400 -7200 1 -02}
+ {1541304000 -10800 0 -02}
+ {1552194000 -7200 1 -02}
+ {1572753600 -10800 0 -02}
+ {1583643600 -7200 1 -02}
+ {1604203200 -10800 0 -02}
+ {1615698000 -7200 1 -02}
+ {1636257600 -10800 0 -02}
+ {1647147600 -7200 1 -02}
+ {1667707200 -10800 0 -02}
+ {1678597200 -7200 1 -02}
+ {1699156800 -10800 0 -02}
+ {1710046800 -7200 1 -02}
+ {1730606400 -10800 0 -02}
+ {1741496400 -7200 1 -02}
+ {1762056000 -10800 0 -02}
+ {1772946000 -7200 1 -02}
+ {1793505600 -10800 0 -02}
+ {1805000400 -7200 1 -02}
+ {1825560000 -10800 0 -02}
+ {1836450000 -7200 1 -02}
+ {1857009600 -10800 0 -02}
+ {1867899600 -7200 1 -02}
+ {1888459200 -10800 0 -02}
+ {1899349200 -7200 1 -02}
+ {1919908800 -10800 0 -02}
+ {1930798800 -7200 1 -02}
+ {1951358400 -10800 0 -02}
+ {1962853200 -7200 1 -02}
+ {1983412800 -10800 0 -02}
+ {1994302800 -7200 1 -02}
+ {2014862400 -10800 0 -02}
+ {2025752400 -7200 1 -02}
+ {2046312000 -10800 0 -02}
+ {2057202000 -7200 1 -02}
+ {2077761600 -10800 0 -02}
+ {2088651600 -7200 1 -02}
+ {2109211200 -10800 0 -02}
+ {2120101200 -7200 1 -02}
+ {2140660800 -10800 0 -02}
+ {2152155600 -7200 1 -02}
+ {2172715200 -10800 0 -02}
+ {2183605200 -7200 1 -02}
+ {2204164800 -10800 0 -02}
+ {2215054800 -7200 1 -02}
+ {2235614400 -10800 0 -02}
+ {2246504400 -7200 1 -02}
+ {2267064000 -10800 0 -02}
+ {2277954000 -7200 1 -02}
+ {2298513600 -10800 0 -02}
+ {2309403600 -7200 1 -02}
+ {2329963200 -10800 0 -02}
+ {2341458000 -7200 1 -02}
+ {2362017600 -10800 0 -02}
+ {2372907600 -7200 1 -02}
+ {2393467200 -10800 0 -02}
+ {2404357200 -7200 1 -02}
+ {2424916800 -10800 0 -02}
+ {2435806800 -7200 1 -02}
+ {2456366400 -10800 0 -02}
+ {2467256400 -7200 1 -02}
+ {2487816000 -10800 0 -02}
+ {2499310800 -7200 1 -02}
+ {2519870400 -10800 0 -02}
+ {2530760400 -7200 1 -02}
+ {2551320000 -10800 0 -02}
+ {2562210000 -7200 1 -02}
+ {2582769600 -10800 0 -02}
+ {2593659600 -7200 1 -02}
+ {2614219200 -10800 0 -02}
+ {2625109200 -7200 1 -02}
+ {2645668800 -10800 0 -02}
+ {2656558800 -7200 1 -02}
+ {2677118400 -10800 0 -02}
+ {2688613200 -7200 1 -02}
+ {2709172800 -10800 0 -02}
+ {2720062800 -7200 1 -02}
+ {2740622400 -10800 0 -02}
+ {2751512400 -7200 1 -02}
+ {2772072000 -10800 0 -02}
+ {2782962000 -7200 1 -02}
+ {2803521600 -10800 0 -02}
+ {2814411600 -7200 1 -02}
+ {2834971200 -10800 0 -02}
+ {2846466000 -7200 1 -02}
+ {2867025600 -10800 0 -02}
+ {2877915600 -7200 1 -02}
+ {2898475200 -10800 0 -02}
+ {2909365200 -7200 1 -02}
+ {2929924800 -10800 0 -02}
+ {2940814800 -7200 1 -02}
+ {2961374400 -10800 0 -02}
+ {2972264400 -7200 1 -02}
+ {2992824000 -10800 0 -02}
+ {3003714000 -7200 1 -02}
+ {3024273600 -10800 0 -02}
+ {3035768400 -7200 1 -02}
+ {3056328000 -10800 0 -02}
+ {3067218000 -7200 1 -02}
+ {3087777600 -10800 0 -02}
+ {3098667600 -7200 1 -02}
+ {3119227200 -10800 0 -02}
+ {3130117200 -7200 1 -02}
+ {3150676800 -10800 0 -02}
+ {3161566800 -7200 1 -02}
+ {3182126400 -10800 0 -02}
+ {3193016400 -7200 1 -02}
+ {3213576000 -10800 0 -02}
+ {3225070800 -7200 1 -02}
+ {3245630400 -10800 0 -02}
+ {3256520400 -7200 1 -02}
+ {3277080000 -10800 0 -02}
+ {3287970000 -7200 1 -02}
+ {3308529600 -10800 0 -02}
+ {3319419600 -7200 1 -02}
+ {3339979200 -10800 0 -02}
+ {3350869200 -7200 1 -02}
+ {3371428800 -10800 0 -02}
+ {3382923600 -7200 1 -02}
+ {3403483200 -10800 0 -02}
+ {3414373200 -7200 1 -02}
+ {3434932800 -10800 0 -02}
+ {3445822800 -7200 1 -02}
+ {3466382400 -10800 0 -02}
+ {3477272400 -7200 1 -02}
+ {3497832000 -10800 0 -02}
+ {3508722000 -7200 1 -02}
+ {3529281600 -10800 0 -02}
+ {3540171600 -7200 1 -02}
+ {3560731200 -10800 0 -02}
+ {3572226000 -7200 1 -02}
+ {3592785600 -10800 0 -02}
+ {3603675600 -7200 1 -02}
+ {3624235200 -10800 0 -02}
+ {3635125200 -7200 1 -02}
+ {3655684800 -10800 0 -02}
+ {3666574800 -7200 1 -02}
+ {3687134400 -10800 0 -02}
+ {3698024400 -7200 1 -02}
+ {3718584000 -10800 0 -02}
+ {3730078800 -7200 1 -02}
+ {3750638400 -10800 0 -02}
+ {3761528400 -7200 1 -02}
+ {3782088000 -10800 0 -02}
+ {3792978000 -7200 1 -02}
+ {3813537600 -10800 0 -02}
+ {3824427600 -7200 1 -02}
+ {3844987200 -10800 0 -02}
+ {3855877200 -7200 1 -02}
+ {3876436800 -10800 0 -02}
+ {3887326800 -7200 1 -02}
+ {3907886400 -10800 0 -02}
+ {3919381200 -7200 1 -02}
+ {3939940800 -10800 0 -02}
+ {3950830800 -7200 1 -02}
+ {3971390400 -10800 0 -02}
+ {3982280400 -7200 1 -02}
+ {4002840000 -10800 0 -02}
+ {4013730000 -7200 1 -02}
+ {4034289600 -10800 0 -02}
+ {4045179600 -7200 1 -02}
+ {4065739200 -10800 0 -02}
+ {4076629200 -7200 1 -02}
+ {4097188800 -10800 0 -02}
}
diff --git a/library/tzdata/America/Montevideo b/library/tzdata/America/Montevideo
index 91a5117..ff85fb3 100644
--- a/library/tzdata/America/Montevideo
+++ b/library/tzdata/America/Montevideo
@@ -3,90 +3,94 @@
set TZData(:America/Montevideo) {
{-9223372036854775808 -13484 0 LMT}
{-2256668116 -13484 0 MMT}
- {-1567455316 -12600 0 UYT}
- {-1459542600 -10800 1 UYHST}
- {-1443819600 -12600 0 UYT}
- {-1428006600 -10800 1 UYHST}
- {-1412283600 -12600 0 UYT}
- {-1396470600 -10800 1 UYHST}
- {-1380747600 -12600 0 UYT}
- {-1141590600 -10800 1 UYHST}
- {-1128286800 -12600 0 UYT}
- {-1110141000 -10800 1 UYHST}
- {-1096837200 -12600 0 UYT}
- {-1078691400 -10800 1 UYHST}
- {-1065387600 -12600 0 UYT}
- {-1046637000 -10800 1 UYHST}
- {-1033938000 -12600 0 UYT}
- {-1015187400 -10800 1 UYHST}
- {-1002488400 -12600 0 UYT}
- {-983737800 -10800 1 UYHST}
- {-971038800 -12600 0 UYT}
- {-952288200 -10800 1 UYHST}
- {-938984400 -12600 0 UYT}
- {-920838600 -10800 1 UYHST}
- {-907534800 -12600 0 UYT}
- {-896819400 -10800 1 UYHST}
- {-853623000 -10800 0 UYT}
- {-853621200 -7200 1 UYST}
- {-845848800 -10800 0 UYT}
- {-334789200 -7200 1 UYST}
- {-319672800 -10800 0 UYT}
- {-314226000 -7200 1 UYST}
- {-309996000 -10800 0 UYT}
- {-149720400 -7200 1 UYST}
- {-134604000 -10800 0 UYT}
- {-118270800 -7200 1 UYST}
- {-100044000 -10800 0 UYT}
- {-86821200 -7200 1 UYST}
- {-68508000 -10800 0 UYT}
- {-50446800 -9000 1 UYHST}
- {-34119000 -10800 0 UYT}
- {-18910800 -9000 1 UYHST}
- {-2583000 -10800 0 UYT}
- {12625200 -9000 1 UYHST}
- {28953000 -10800 0 UYT}
- {72932400 -7200 1 UYST}
- {82692000 -10800 0 UYT}
- {132116400 -9000 1 UYHST}
- {156911400 -7200 1 UYST}
- {212983200 -10800 0 UYT}
- {250052400 -7200 1 UYST}
- {260244000 -10800 0 UYT}
- {307594800 -7200 1 UYST}
- {325994400 -10800 0 UYT}
- {566449200 -7200 1 UYST}
- {574308000 -10800 0 UYT}
- {597812400 -7200 1 UYST}
- {605671200 -10800 0 UYT}
- {625633200 -7200 1 UYST}
- {636516000 -10800 0 UYT}
- {656478000 -7200 1 UYST}
- {667965600 -10800 0 UYT}
- {688532400 -7200 1 UYST}
- {699415200 -10800 0 UYT}
- {719377200 -7200 1 UYST}
- {730864800 -10800 0 UYT}
- {1095562800 -7200 1 UYST}
- {1111896000 -10800 0 UYT}
- {1128834000 -7200 1 UYST}
- {1142136000 -10800 0 UYT}
- {1159678800 -7200 1 UYST}
- {1173585600 -10800 0 UYT}
- {1191733200 -7200 1 UYST}
- {1205035200 -10800 0 UYT}
- {1223182800 -7200 1 UYST}
- {1236484800 -10800 0 UYT}
- {1254632400 -7200 1 UYST}
- {1268539200 -10800 0 UYT}
- {1286082000 -7200 1 UYST}
- {1299988800 -10800 0 UYT}
- {1317531600 -7200 1 UYST}
- {1331438400 -10800 0 UYT}
- {1349586000 -7200 1 UYST}
- {1362888000 -10800 0 UYT}
- {1381035600 -7200 1 UYST}
- {1394337600 -10800 0 UYT}
- {1412485200 -7200 1 UYST}
- {1425787200 -10800 0 UYT}
+ {-1567455316 -12600 0 -0330}
+ {-1459542600 -10800 1 -03}
+ {-1443819600 -12600 0 -0330}
+ {-1428006600 -10800 1 -03}
+ {-1412283600 -12600 0 -0330}
+ {-1396470600 -10800 1 -03}
+ {-1380747600 -12600 0 -0330}
+ {-1141590600 -10800 1 -03}
+ {-1128286800 -12600 0 -0330}
+ {-1110141000 -10800 1 -03}
+ {-1096837200 -12600 0 -0330}
+ {-1078691400 -10800 1 -03}
+ {-1065387600 -12600 0 -0330}
+ {-1046637000 -10800 1 -03}
+ {-1033938000 -12600 0 -0330}
+ {-1015187400 -10800 1 -03}
+ {-1002488400 -12600 0 -0330}
+ {-983737800 -10800 1 -03}
+ {-971038800 -12600 0 -0330}
+ {-952288200 -10800 1 -03}
+ {-938984400 -12600 0 -0330}
+ {-920838600 -10800 1 -03}
+ {-907534800 -12600 0 -0330}
+ {-896819400 -10800 1 -03}
+ {-853623000 -10800 0 -03}
+ {-853621200 -7200 1 -02}
+ {-845848800 -10800 0 -03}
+ {-334789200 -7200 1 -02}
+ {-319672800 -10800 0 -03}
+ {-314226000 -7200 1 -02}
+ {-309996000 -10800 0 -03}
+ {-149720400 -7200 1 -02}
+ {-134604000 -10800 0 -03}
+ {-118270800 -7200 1 -02}
+ {-100044000 -10800 0 -03}
+ {-86821200 -7200 1 -02}
+ {-68508000 -10800 0 -03}
+ {-63147600 -10800 0 -03}
+ {-50446800 -9000 1 -0230}
+ {-34119000 -10800 0 -03}
+ {-18910800 -9000 1 -0230}
+ {-2583000 -10800 0 -03}
+ {12625200 -9000 1 -0230}
+ {28953000 -10800 0 -03}
+ {31546800 -10800 0 -03}
+ {72932400 -7200 1 -02}
+ {82692000 -10800 0 -03}
+ {126241200 -10800 0 -03}
+ {132116400 -9000 1 -0230}
+ {156909600 -9000 0 -02}
+ {156911400 -7200 1 -02}
+ {212983200 -10800 0 -03}
+ {250052400 -7200 1 -02}
+ {260244000 -10800 0 -03}
+ {307594800 -7200 1 -02}
+ {325994400 -10800 0 -03}
+ {566449200 -7200 1 -02}
+ {574308000 -10800 0 -03}
+ {597812400 -7200 1 -02}
+ {605671200 -10800 0 -03}
+ {625633200 -7200 1 -02}
+ {636516000 -10800 0 -03}
+ {656478000 -7200 1 -02}
+ {667965600 -10800 0 -03}
+ {688532400 -7200 1 -02}
+ {699415200 -10800 0 -03}
+ {719377200 -7200 1 -02}
+ {730864800 -10800 0 -03}
+ {1095562800 -7200 1 -02}
+ {1111896000 -10800 0 -03}
+ {1128834000 -7200 1 -02}
+ {1142136000 -10800 0 -03}
+ {1159678800 -7200 1 -02}
+ {1173585600 -10800 0 -03}
+ {1191733200 -7200 1 -02}
+ {1205035200 -10800 0 -03}
+ {1223182800 -7200 1 -02}
+ {1236484800 -10800 0 -03}
+ {1254632400 -7200 1 -02}
+ {1268539200 -10800 0 -03}
+ {1286082000 -7200 1 -02}
+ {1299988800 -10800 0 -03}
+ {1317531600 -7200 1 -02}
+ {1331438400 -10800 0 -03}
+ {1349586000 -7200 1 -02}
+ {1362888000 -10800 0 -03}
+ {1381035600 -7200 1 -02}
+ {1394337600 -10800 0 -03}
+ {1412485200 -7200 1 -02}
+ {1425787200 -10800 0 -03}
}
diff --git a/library/tzdata/America/Noronha b/library/tzdata/America/Noronha
index 94d6f42..f24b412 100644
--- a/library/tzdata/America/Noronha
+++ b/library/tzdata/America/Noronha
@@ -2,47 +2,47 @@
set TZData(:America/Noronha) {
{-9223372036854775808 -7780 0 LMT}
- {-1767217820 -7200 0 FNT}
- {-1206961200 -3600 1 FNST}
- {-1191366000 -7200 0 FNT}
- {-1175378400 -3600 1 FNST}
- {-1159830000 -7200 0 FNT}
- {-633823200 -3600 1 FNST}
- {-622072800 -7200 0 FNT}
- {-602287200 -3600 1 FNST}
- {-591836400 -7200 0 FNT}
- {-570751200 -3600 1 FNST}
- {-560214000 -7200 0 FNT}
- {-539128800 -3600 1 FNST}
- {-531356400 -7200 0 FNT}
- {-191368800 -3600 1 FNST}
- {-184201200 -7200 0 FNT}
- {-155167200 -3600 1 FNST}
- {-150073200 -7200 0 FNT}
- {-128901600 -3600 1 FNST}
- {-121129200 -7200 0 FNT}
- {-99957600 -3600 1 FNST}
- {-89593200 -7200 0 FNT}
- {-68421600 -3600 1 FNST}
- {-57970800 -7200 0 FNT}
- {499744800 -3600 1 FNST}
- {511232400 -7200 0 FNT}
- {530589600 -3600 1 FNST}
- {540262800 -7200 0 FNT}
- {562125600 -3600 1 FNST}
- {571194000 -7200 0 FNT}
- {592970400 -3600 1 FNST}
- {602038800 -7200 0 FNT}
- {624420000 -3600 1 FNST}
- {634698000 -7200 0 FNT}
- {653533200 -7200 0 FNT}
- {938656800 -7200 0 FNT}
- {938916000 -3600 1 FNST}
- {951613200 -7200 0 FNT}
- {970970400 -3600 1 FNST}
- {971571600 -7200 0 FNT}
- {1000346400 -7200 0 FNT}
- {1003024800 -3600 1 FNST}
- {1013907600 -7200 0 FNT}
- {1033434000 -7200 0 FNT}
+ {-1767217820 -7200 0 -02}
+ {-1206961200 -3600 1 -01}
+ {-1191366000 -7200 0 -02}
+ {-1175378400 -3600 1 -01}
+ {-1159830000 -7200 0 -02}
+ {-633823200 -3600 1 -01}
+ {-622072800 -7200 0 -02}
+ {-602287200 -3600 1 -01}
+ {-591836400 -7200 0 -02}
+ {-570751200 -3600 1 -01}
+ {-560214000 -7200 0 -02}
+ {-539128800 -3600 1 -01}
+ {-531356400 -7200 0 -02}
+ {-191368800 -3600 1 -01}
+ {-184201200 -7200 0 -02}
+ {-155167200 -3600 1 -01}
+ {-150073200 -7200 0 -02}
+ {-128901600 -3600 1 -01}
+ {-121129200 -7200 0 -02}
+ {-99957600 -3600 1 -01}
+ {-89593200 -7200 0 -02}
+ {-68421600 -3600 1 -01}
+ {-57970800 -7200 0 -02}
+ {499744800 -3600 1 -01}
+ {511232400 -7200 0 -02}
+ {530589600 -3600 1 -01}
+ {540262800 -7200 0 -02}
+ {562125600 -3600 1 -01}
+ {571194000 -7200 0 -02}
+ {592970400 -3600 1 -01}
+ {602038800 -7200 0 -02}
+ {624420000 -3600 1 -01}
+ {634698000 -7200 0 -02}
+ {653533200 -7200 0 -02}
+ {938656800 -7200 0 -02}
+ {938916000 -3600 1 -01}
+ {951613200 -7200 0 -02}
+ {970970400 -3600 1 -01}
+ {971571600 -7200 0 -02}
+ {1000346400 -7200 0 -02}
+ {1003024800 -3600 1 -01}
+ {1013907600 -7200 0 -02}
+ {1033434000 -7200 0 -02}
}
diff --git a/library/tzdata/America/Paramaribo b/library/tzdata/America/Paramaribo
index d15f5c7..7a80f1d 100644
--- a/library/tzdata/America/Paramaribo
+++ b/library/tzdata/America/Paramaribo
@@ -4,7 +4,6 @@ set TZData(:America/Paramaribo) {
{-9223372036854775808 -13240 0 LMT}
{-1861906760 -13252 0 PMT}
{-1104524348 -13236 0 PMT}
- {-765317964 -12600 0 NEGT}
- {185686200 -12600 0 SRT}
- {465449400 -10800 0 SRT}
+ {-765317964 -12600 0 -0330}
+ {465449400 -10800 0 -03}
}
diff --git a/library/tzdata/America/Port-au-Prince b/library/tzdata/America/Port-au-Prince
index b8b60d6..23e7de4 100644
--- a/library/tzdata/America/Port-au-Prince
+++ b/library/tzdata/America/Port-au-Prince
@@ -46,4 +46,170 @@ set TZData(:America/Port-au-Prince) {
{1414908000 -18000 0 EST}
{1425798000 -14400 1 EDT}
{1446357600 -18000 0 EST}
+ {1489302000 -14400 1 EDT}
+ {1509861600 -18000 0 EST}
+ {1520751600 -14400 1 EDT}
+ {1541311200 -18000 0 EST}
+ {1552201200 -14400 1 EDT}
+ {1572760800 -18000 0 EST}
+ {1583650800 -14400 1 EDT}
+ {1604210400 -18000 0 EST}
+ {1615705200 -14400 1 EDT}
+ {1636264800 -18000 0 EST}
+ {1647154800 -14400 1 EDT}
+ {1667714400 -18000 0 EST}
+ {1678604400 -14400 1 EDT}
+ {1699164000 -18000 0 EST}
+ {1710054000 -14400 1 EDT}
+ {1730613600 -18000 0 EST}
+ {1741503600 -14400 1 EDT}
+ {1762063200 -18000 0 EST}
+ {1772953200 -14400 1 EDT}
+ {1793512800 -18000 0 EST}
+ {1805007600 -14400 1 EDT}
+ {1825567200 -18000 0 EST}
+ {1836457200 -14400 1 EDT}
+ {1857016800 -18000 0 EST}
+ {1867906800 -14400 1 EDT}
+ {1888466400 -18000 0 EST}
+ {1899356400 -14400 1 EDT}
+ {1919916000 -18000 0 EST}
+ {1930806000 -14400 1 EDT}
+ {1951365600 -18000 0 EST}
+ {1962860400 -14400 1 EDT}
+ {1983420000 -18000 0 EST}
+ {1994310000 -14400 1 EDT}
+ {2014869600 -18000 0 EST}
+ {2025759600 -14400 1 EDT}
+ {2046319200 -18000 0 EST}
+ {2057209200 -14400 1 EDT}
+ {2077768800 -18000 0 EST}
+ {2088658800 -14400 1 EDT}
+ {2109218400 -18000 0 EST}
+ {2120108400 -14400 1 EDT}
+ {2140668000 -18000 0 EST}
+ {2152162800 -14400 1 EDT}
+ {2172722400 -18000 0 EST}
+ {2183612400 -14400 1 EDT}
+ {2204172000 -18000 0 EST}
+ {2215062000 -14400 1 EDT}
+ {2235621600 -18000 0 EST}
+ {2246511600 -14400 1 EDT}
+ {2267071200 -18000 0 EST}
+ {2277961200 -14400 1 EDT}
+ {2298520800 -18000 0 EST}
+ {2309410800 -14400 1 EDT}
+ {2329970400 -18000 0 EST}
+ {2341465200 -14400 1 EDT}
+ {2362024800 -18000 0 EST}
+ {2372914800 -14400 1 EDT}
+ {2393474400 -18000 0 EST}
+ {2404364400 -14400 1 EDT}
+ {2424924000 -18000 0 EST}
+ {2435814000 -14400 1 EDT}
+ {2456373600 -18000 0 EST}
+ {2467263600 -14400 1 EDT}
+ {2487823200 -18000 0 EST}
+ {2499318000 -14400 1 EDT}
+ {2519877600 -18000 0 EST}
+ {2530767600 -14400 1 EDT}
+ {2551327200 -18000 0 EST}
+ {2562217200 -14400 1 EDT}
+ {2582776800 -18000 0 EST}
+ {2593666800 -14400 1 EDT}
+ {2614226400 -18000 0 EST}
+ {2625116400 -14400 1 EDT}
+ {2645676000 -18000 0 EST}
+ {2656566000 -14400 1 EDT}
+ {2677125600 -18000 0 EST}
+ {2688620400 -14400 1 EDT}
+ {2709180000 -18000 0 EST}
+ {2720070000 -14400 1 EDT}
+ {2740629600 -18000 0 EST}
+ {2751519600 -14400 1 EDT}
+ {2772079200 -18000 0 EST}
+ {2782969200 -14400 1 EDT}
+ {2803528800 -18000 0 EST}
+ {2814418800 -14400 1 EDT}
+ {2834978400 -18000 0 EST}
+ {2846473200 -14400 1 EDT}
+ {2867032800 -18000 0 EST}
+ {2877922800 -14400 1 EDT}
+ {2898482400 -18000 0 EST}
+ {2909372400 -14400 1 EDT}
+ {2929932000 -18000 0 EST}
+ {2940822000 -14400 1 EDT}
+ {2961381600 -18000 0 EST}
+ {2972271600 -14400 1 EDT}
+ {2992831200 -18000 0 EST}
+ {3003721200 -14400 1 EDT}
+ {3024280800 -18000 0 EST}
+ {3035775600 -14400 1 EDT}
+ {3056335200 -18000 0 EST}
+ {3067225200 -14400 1 EDT}
+ {3087784800 -18000 0 EST}
+ {3098674800 -14400 1 EDT}
+ {3119234400 -18000 0 EST}
+ {3130124400 -14400 1 EDT}
+ {3150684000 -18000 0 EST}
+ {3161574000 -14400 1 EDT}
+ {3182133600 -18000 0 EST}
+ {3193023600 -14400 1 EDT}
+ {3213583200 -18000 0 EST}
+ {3225078000 -14400 1 EDT}
+ {3245637600 -18000 0 EST}
+ {3256527600 -14400 1 EDT}
+ {3277087200 -18000 0 EST}
+ {3287977200 -14400 1 EDT}
+ {3308536800 -18000 0 EST}
+ {3319426800 -14400 1 EDT}
+ {3339986400 -18000 0 EST}
+ {3350876400 -14400 1 EDT}
+ {3371436000 -18000 0 EST}
+ {3382930800 -14400 1 EDT}
+ {3403490400 -18000 0 EST}
+ {3414380400 -14400 1 EDT}
+ {3434940000 -18000 0 EST}
+ {3445830000 -14400 1 EDT}
+ {3466389600 -18000 0 EST}
+ {3477279600 -14400 1 EDT}
+ {3497839200 -18000 0 EST}
+ {3508729200 -14400 1 EDT}
+ {3529288800 -18000 0 EST}
+ {3540178800 -14400 1 EDT}
+ {3560738400 -18000 0 EST}
+ {3572233200 -14400 1 EDT}
+ {3592792800 -18000 0 EST}
+ {3603682800 -14400 1 EDT}
+ {3624242400 -18000 0 EST}
+ {3635132400 -14400 1 EDT}
+ {3655692000 -18000 0 EST}
+ {3666582000 -14400 1 EDT}
+ {3687141600 -18000 0 EST}
+ {3698031600 -14400 1 EDT}
+ {3718591200 -18000 0 EST}
+ {3730086000 -14400 1 EDT}
+ {3750645600 -18000 0 EST}
+ {3761535600 -14400 1 EDT}
+ {3782095200 -18000 0 EST}
+ {3792985200 -14400 1 EDT}
+ {3813544800 -18000 0 EST}
+ {3824434800 -14400 1 EDT}
+ {3844994400 -18000 0 EST}
+ {3855884400 -14400 1 EDT}
+ {3876444000 -18000 0 EST}
+ {3887334000 -14400 1 EDT}
+ {3907893600 -18000 0 EST}
+ {3919388400 -14400 1 EDT}
+ {3939948000 -18000 0 EST}
+ {3950838000 -14400 1 EDT}
+ {3971397600 -18000 0 EST}
+ {3982287600 -14400 1 EDT}
+ {4002847200 -18000 0 EST}
+ {4013737200 -14400 1 EDT}
+ {4034296800 -18000 0 EST}
+ {4045186800 -14400 1 EDT}
+ {4065746400 -18000 0 EST}
+ {4076636400 -14400 1 EDT}
+ {4097196000 -18000 0 EST}
}
diff --git a/library/tzdata/America/Porto_Velho b/library/tzdata/America/Porto_Velho
index ce611d2..42566ad 100644
--- a/library/tzdata/America/Porto_Velho
+++ b/library/tzdata/America/Porto_Velho
@@ -2,34 +2,34 @@
set TZData(:America/Porto_Velho) {
{-9223372036854775808 -15336 0 LMT}
- {-1767210264 -14400 0 AMT}
- {-1206954000 -10800 1 AMST}
- {-1191358800 -14400 0 AMT}
- {-1175371200 -10800 1 AMST}
- {-1159822800 -14400 0 AMT}
- {-633816000 -10800 1 AMST}
- {-622065600 -14400 0 AMT}
- {-602280000 -10800 1 AMST}
- {-591829200 -14400 0 AMT}
- {-570744000 -10800 1 AMST}
- {-560206800 -14400 0 AMT}
- {-539121600 -10800 1 AMST}
- {-531349200 -14400 0 AMT}
- {-191361600 -10800 1 AMST}
- {-184194000 -14400 0 AMT}
- {-155160000 -10800 1 AMST}
- {-150066000 -14400 0 AMT}
- {-128894400 -10800 1 AMST}
- {-121122000 -14400 0 AMT}
- {-99950400 -10800 1 AMST}
- {-89586000 -14400 0 AMT}
- {-68414400 -10800 1 AMST}
- {-57963600 -14400 0 AMT}
- {499752000 -10800 1 AMST}
- {511239600 -14400 0 AMT}
- {530596800 -10800 1 AMST}
- {540270000 -14400 0 AMT}
- {562132800 -10800 1 AMST}
- {571201200 -14400 0 AMT}
- {590036400 -14400 0 AMT}
+ {-1767210264 -14400 0 -04}
+ {-1206954000 -10800 1 -03}
+ {-1191358800 -14400 0 -04}
+ {-1175371200 -10800 1 -03}
+ {-1159822800 -14400 0 -04}
+ {-633816000 -10800 1 -03}
+ {-622065600 -14400 0 -04}
+ {-602280000 -10800 1 -03}
+ {-591829200 -14400 0 -04}
+ {-570744000 -10800 1 -03}
+ {-560206800 -14400 0 -04}
+ {-539121600 -10800 1 -03}
+ {-531349200 -14400 0 -04}
+ {-191361600 -10800 1 -03}
+ {-184194000 -14400 0 -04}
+ {-155160000 -10800 1 -03}
+ {-150066000 -14400 0 -04}
+ {-128894400 -10800 1 -03}
+ {-121122000 -14400 0 -04}
+ {-99950400 -10800 1 -03}
+ {-89586000 -14400 0 -04}
+ {-68414400 -10800 1 -03}
+ {-57963600 -14400 0 -04}
+ {499752000 -10800 1 -03}
+ {511239600 -14400 0 -04}
+ {530596800 -10800 1 -03}
+ {540270000 -14400 0 -04}
+ {562132800 -10800 1 -03}
+ {571201200 -14400 0 -04}
+ {590036400 -14400 0 -04}
}
diff --git a/library/tzdata/America/Punta_Arenas b/library/tzdata/America/Punta_Arenas
new file mode 100644
index 0000000..75487e7
--- /dev/null
+++ b/library/tzdata/America/Punta_Arenas
@@ -0,0 +1,122 @@
+# created by tools/tclZIC.tcl - do not edit
+
+set TZData(:America/Punta_Arenas) {
+ {-9223372036854775808 -17020 0 LMT}
+ {-2524504580 -16966 0 SMT}
+ {-1892661434 -18000 0 -05}
+ {-1688410800 -16966 0 SMT}
+ {-1619205434 -14400 0 -04}
+ {-1593806400 -16966 0 SMT}
+ {-1335986234 -18000 0 -05}
+ {-1335985200 -14400 1 -04}
+ {-1317585600 -18000 0 -05}
+ {-1304362800 -14400 1 -04}
+ {-1286049600 -18000 0 -05}
+ {-1272826800 -14400 1 -04}
+ {-1254513600 -18000 0 -05}
+ {-1241290800 -14400 1 -04}
+ {-1222977600 -18000 0 -05}
+ {-1209754800 -14400 1 -04}
+ {-1191355200 -18000 0 -05}
+ {-1178132400 -14400 0 -04}
+ {-870552000 -18000 0 -05}
+ {-865278000 -14400 0 -04}
+ {-718056000 -18000 0 -05}
+ {-713649600 -14400 0 -04}
+ {-36619200 -10800 1 -03}
+ {-23922000 -14400 0 -04}
+ {-3355200 -10800 1 -03}
+ {7527600 -14400 0 -04}
+ {24465600 -10800 1 -03}
+ {37767600 -14400 0 -04}
+ {55915200 -10800 1 -03}
+ {69217200 -14400 0 -04}
+ {87969600 -10800 1 -03}
+ {100666800 -14400 0 -04}
+ {118209600 -10800 1 -03}
+ {132116400 -14400 0 -04}
+ {150868800 -10800 1 -03}
+ {163566000 -14400 0 -04}
+ {182318400 -10800 1 -03}
+ {195620400 -14400 0 -04}
+ {213768000 -10800 1 -03}
+ {227070000 -14400 0 -04}
+ {245217600 -10800 1 -03}
+ {258519600 -14400 0 -04}
+ {277272000 -10800 1 -03}
+ {289969200 -14400 0 -04}
+ {308721600 -10800 1 -03}
+ {321418800 -14400 0 -04}
+ {340171200 -10800 1 -03}
+ {353473200 -14400 0 -04}
+ {371620800 -10800 1 -03}
+ {384922800 -14400 0 -04}
+ {403070400 -10800 1 -03}
+ {416372400 -14400 0 -04}
+ {434520000 -10800 1 -03}
+ {447822000 -14400 0 -04}
+ {466574400 -10800 1 -03}
+ {479271600 -14400 0 -04}
+ {498024000 -10800 1 -03}
+ {510721200 -14400 0 -04}
+ {529473600 -10800 1 -03}
+ {545194800 -14400 0 -04}
+ {560923200 -10800 1 -03}
+ {574225200 -14400 0 -04}
+ {592372800 -10800 1 -03}
+ {605674800 -14400 0 -04}
+ {624427200 -10800 1 -03}
+ {637124400 -14400 0 -04}
+ {653457600 -10800 1 -03}
+ {668574000 -14400 0 -04}
+ {687326400 -10800 1 -03}
+ {700628400 -14400 0 -04}
+ {718776000 -10800 1 -03}
+ {732078000 -14400 0 -04}
+ {750225600 -10800 1 -03}
+ {763527600 -14400 0 -04}
+ {781675200 -10800 1 -03}
+ {794977200 -14400 0 -04}
+ {813729600 -10800 1 -03}
+ {826426800 -14400 0 -04}
+ {845179200 -10800 1 -03}
+ {859690800 -14400 0 -04}
+ {876628800 -10800 1 -03}
+ {889930800 -14400 0 -04}
+ {906868800 -10800 1 -03}
+ {923194800 -14400 0 -04}
+ {939528000 -10800 1 -03}
+ {952830000 -14400 0 -04}
+ {971582400 -10800 1 -03}
+ {984279600 -14400 0 -04}
+ {1003032000 -10800 1 -03}
+ {1015729200 -14400 0 -04}
+ {1034481600 -10800 1 -03}
+ {1047178800 -14400 0 -04}
+ {1065931200 -10800 1 -03}
+ {1079233200 -14400 0 -04}
+ {1097380800 -10800 1 -03}
+ {1110682800 -14400 0 -04}
+ {1128830400 -10800 1 -03}
+ {1142132400 -14400 0 -04}
+ {1160884800 -10800 1 -03}
+ {1173582000 -14400 0 -04}
+ {1192334400 -10800 1 -03}
+ {1206846000 -14400 0 -04}
+ {1223784000 -10800 1 -03}
+ {1237086000 -14400 0 -04}
+ {1255233600 -10800 1 -03}
+ {1270350000 -14400 0 -04}
+ {1286683200 -10800 1 -03}
+ {1304823600 -14400 0 -04}
+ {1313899200 -10800 1 -03}
+ {1335668400 -14400 0 -04}
+ {1346558400 -10800 1 -03}
+ {1367118000 -14400 0 -04}
+ {1378612800 -10800 1 -03}
+ {1398567600 -14400 0 -04}
+ {1410062400 -10800 1 -03}
+ {1463281200 -14400 0 -04}
+ {1471147200 -10800 1 -03}
+ {1480820400 -10800 0 -03}
+}
diff --git a/library/tzdata/America/Recife b/library/tzdata/America/Recife
index f6ae00e..8eae571 100644
--- a/library/tzdata/America/Recife
+++ b/library/tzdata/America/Recife
@@ -2,47 +2,47 @@
set TZData(:America/Recife) {
{-9223372036854775808 -8376 0 LMT}
- {-1767217224 -10800 0 BRT}
- {-1206957600 -7200 1 BRST}
- {-1191362400 -10800 0 BRT}
- {-1175374800 -7200 1 BRST}
- {-1159826400 -10800 0 BRT}
- {-633819600 -7200 1 BRST}
- {-622069200 -10800 0 BRT}
- {-602283600 -7200 1 BRST}
- {-591832800 -10800 0 BRT}
- {-570747600 -7200 1 BRST}
- {-560210400 -10800 0 BRT}
- {-539125200 -7200 1 BRST}
- {-531352800 -10800 0 BRT}
- {-191365200 -7200 1 BRST}
- {-184197600 -10800 0 BRT}
- {-155163600 -7200 1 BRST}
- {-150069600 -10800 0 BRT}
- {-128898000 -7200 1 BRST}
- {-121125600 -10800 0 BRT}
- {-99954000 -7200 1 BRST}
- {-89589600 -10800 0 BRT}
- {-68418000 -7200 1 BRST}
- {-57967200 -10800 0 BRT}
- {499748400 -7200 1 BRST}
- {511236000 -10800 0 BRT}
- {530593200 -7200 1 BRST}
- {540266400 -10800 0 BRT}
- {562129200 -7200 1 BRST}
- {571197600 -10800 0 BRT}
- {592974000 -7200 1 BRST}
- {602042400 -10800 0 BRT}
- {624423600 -7200 1 BRST}
- {634701600 -10800 0 BRT}
- {653536800 -10800 0 BRT}
- {938660400 -10800 0 BRT}
- {938919600 -7200 1 BRST}
- {951616800 -10800 0 BRT}
- {970974000 -7200 1 BRST}
- {971575200 -10800 0 BRT}
- {1000350000 -10800 0 BRT}
- {1003028400 -7200 1 BRST}
- {1013911200 -10800 0 BRT}
- {1033437600 -10800 0 BRT}
+ {-1767217224 -10800 0 -03}
+ {-1206957600 -7200 1 -02}
+ {-1191362400 -10800 0 -03}
+ {-1175374800 -7200 1 -02}
+ {-1159826400 -10800 0 -03}
+ {-633819600 -7200 1 -02}
+ {-622069200 -10800 0 -03}
+ {-602283600 -7200 1 -02}
+ {-591832800 -10800 0 -03}
+ {-570747600 -7200 1 -02}
+ {-560210400 -10800 0 -03}
+ {-539125200 -7200 1 -02}
+ {-531352800 -10800 0 -03}
+ {-191365200 -7200 1 -02}
+ {-184197600 -10800 0 -03}
+ {-155163600 -7200 1 -02}
+ {-150069600 -10800 0 -03}
+ {-128898000 -7200 1 -02}
+ {-121125600 -10800 0 -03}
+ {-99954000 -7200 1 -02}
+ {-89589600 -10800 0 -03}
+ {-68418000 -7200 1 -02}
+ {-57967200 -10800 0 -03}
+ {499748400 -7200 1 -02}
+ {511236000 -10800 0 -03}
+ {530593200 -7200 1 -02}
+ {540266400 -10800 0 -03}
+ {562129200 -7200 1 -02}
+ {571197600 -10800 0 -03}
+ {592974000 -7200 1 -02}
+ {602042400 -10800 0 -03}
+ {624423600 -7200 1 -02}
+ {634701600 -10800 0 -03}
+ {653536800 -10800 0 -03}
+ {938660400 -10800 0 -03}
+ {938919600 -7200 1 -02}
+ {951616800 -10800 0 -03}
+ {970974000 -7200 1 -02}
+ {971575200 -10800 0 -03}
+ {1000350000 -10800 0 -03}
+ {1003028400 -7200 1 -02}
+ {1013911200 -10800 0 -03}
+ {1033437600 -10800 0 -03}
}
diff --git a/library/tzdata/America/Rio_Branco b/library/tzdata/America/Rio_Branco
index f0ff7fa..e3c2f31 100644
--- a/library/tzdata/America/Rio_Branco
+++ b/library/tzdata/America/Rio_Branco
@@ -2,36 +2,36 @@
set TZData(:America/Rio_Branco) {
{-9223372036854775808 -16272 0 LMT}
- {-1767209328 -18000 0 ACT}
- {-1206950400 -14400 1 ACST}
- {-1191355200 -18000 0 ACT}
- {-1175367600 -14400 1 ACST}
- {-1159819200 -18000 0 ACT}
- {-633812400 -14400 1 ACST}
- {-622062000 -18000 0 ACT}
- {-602276400 -14400 1 ACST}
- {-591825600 -18000 0 ACT}
- {-570740400 -14400 1 ACST}
- {-560203200 -18000 0 ACT}
- {-539118000 -14400 1 ACST}
- {-531345600 -18000 0 ACT}
- {-191358000 -14400 1 ACST}
- {-184190400 -18000 0 ACT}
- {-155156400 -14400 1 ACST}
- {-150062400 -18000 0 ACT}
- {-128890800 -14400 1 ACST}
- {-121118400 -18000 0 ACT}
- {-99946800 -14400 1 ACST}
- {-89582400 -18000 0 ACT}
- {-68410800 -14400 1 ACST}
- {-57960000 -18000 0 ACT}
- {499755600 -14400 1 ACST}
- {511243200 -18000 0 ACT}
- {530600400 -14400 1 ACST}
- {540273600 -18000 0 ACT}
- {562136400 -14400 1 ACST}
- {571204800 -18000 0 ACT}
- {590040000 -18000 0 ACT}
- {1214283600 -14400 0 AMT}
- {1384056000 -18000 0 ACT}
+ {-1767209328 -18000 0 -05}
+ {-1206950400 -14400 1 -04}
+ {-1191355200 -18000 0 -05}
+ {-1175367600 -14400 1 -04}
+ {-1159819200 -18000 0 -05}
+ {-633812400 -14400 1 -04}
+ {-622062000 -18000 0 -05}
+ {-602276400 -14400 1 -04}
+ {-591825600 -18000 0 -05}
+ {-570740400 -14400 1 -04}
+ {-560203200 -18000 0 -05}
+ {-539118000 -14400 1 -04}
+ {-531345600 -18000 0 -05}
+ {-191358000 -14400 1 -04}
+ {-184190400 -18000 0 -05}
+ {-155156400 -14400 1 -04}
+ {-150062400 -18000 0 -05}
+ {-128890800 -14400 1 -04}
+ {-121118400 -18000 0 -05}
+ {-99946800 -14400 1 -04}
+ {-89582400 -18000 0 -05}
+ {-68410800 -14400 1 -04}
+ {-57960000 -18000 0 -05}
+ {499755600 -14400 1 -04}
+ {511243200 -18000 0 -05}
+ {530600400 -14400 1 -04}
+ {540273600 -18000 0 -05}
+ {562136400 -14400 1 -04}
+ {571204800 -18000 0 -05}
+ {590040000 -18000 0 -05}
+ {1214283600 -14400 0 -04}
+ {1384056000 -18000 0 -05}
}
diff --git a/library/tzdata/America/Santarem b/library/tzdata/America/Santarem
index b6e9264..f81e9b6 100644
--- a/library/tzdata/America/Santarem
+++ b/library/tzdata/America/Santarem
@@ -2,35 +2,35 @@
set TZData(:America/Santarem) {
{-9223372036854775808 -13128 0 LMT}
- {-1767212472 -14400 0 AMT}
- {-1206954000 -10800 1 AMST}
- {-1191358800 -14400 0 AMT}
- {-1175371200 -10800 1 AMST}
- {-1159822800 -14400 0 AMT}
- {-633816000 -10800 1 AMST}
- {-622065600 -14400 0 AMT}
- {-602280000 -10800 1 AMST}
- {-591829200 -14400 0 AMT}
- {-570744000 -10800 1 AMST}
- {-560206800 -14400 0 AMT}
- {-539121600 -10800 1 AMST}
- {-531349200 -14400 0 AMT}
- {-191361600 -10800 1 AMST}
- {-184194000 -14400 0 AMT}
- {-155160000 -10800 1 AMST}
- {-150066000 -14400 0 AMT}
- {-128894400 -10800 1 AMST}
- {-121122000 -14400 0 AMT}
- {-99950400 -10800 1 AMST}
- {-89586000 -14400 0 AMT}
- {-68414400 -10800 1 AMST}
- {-57963600 -14400 0 AMT}
- {499752000 -10800 1 AMST}
- {511239600 -14400 0 AMT}
- {530596800 -10800 1 AMST}
- {540270000 -14400 0 AMT}
- {562132800 -10800 1 AMST}
- {571201200 -14400 0 AMT}
- {590036400 -14400 0 AMT}
- {1214280000 -10800 0 BRT}
+ {-1767212472 -14400 0 -04}
+ {-1206954000 -10800 1 -03}
+ {-1191358800 -14400 0 -04}
+ {-1175371200 -10800 1 -03}
+ {-1159822800 -14400 0 -04}
+ {-633816000 -10800 1 -03}
+ {-622065600 -14400 0 -04}
+ {-602280000 -10800 1 -03}
+ {-591829200 -14400 0 -04}
+ {-570744000 -10800 1 -03}
+ {-560206800 -14400 0 -04}
+ {-539121600 -10800 1 -03}
+ {-531349200 -14400 0 -04}
+ {-191361600 -10800 1 -03}
+ {-184194000 -14400 0 -04}
+ {-155160000 -10800 1 -03}
+ {-150066000 -14400 0 -04}
+ {-128894400 -10800 1 -03}
+ {-121122000 -14400 0 -04}
+ {-99950400 -10800 1 -03}
+ {-89586000 -14400 0 -04}
+ {-68414400 -10800 1 -03}
+ {-57963600 -14400 0 -04}
+ {499752000 -10800 1 -03}
+ {511239600 -14400 0 -04}
+ {530596800 -10800 1 -03}
+ {540270000 -14400 0 -04}
+ {562132800 -10800 1 -03}
+ {571201200 -14400 0 -04}
+ {590036400 -14400 0 -04}
+ {1214280000 -10800 0 -03}
}
diff --git a/library/tzdata/America/Santiago b/library/tzdata/America/Santiago
index 3a5c0fd..95e920d 100644
--- a/library/tzdata/America/Santiago
+++ b/library/tzdata/America/Santiago
@@ -3,287 +3,287 @@
set TZData(:America/Santiago) {
{-9223372036854775808 -16966 0 LMT}
{-2524504634 -16966 0 SMT}
- {-1892661434 -18000 0 CLT}
+ {-1892661434 -18000 0 -05}
{-1688410800 -16966 0 SMT}
- {-1619205434 -14400 0 CLT}
+ {-1619205434 -14400 0 -04}
{-1593806400 -16966 0 SMT}
- {-1335986234 -18000 0 CLT}
- {-1335985200 -14400 1 CLST}
- {-1317585600 -18000 0 CLT}
- {-1304362800 -14400 1 CLST}
- {-1286049600 -18000 0 CLT}
- {-1272826800 -14400 1 CLST}
- {-1254513600 -18000 0 CLT}
- {-1241290800 -14400 1 CLST}
- {-1222977600 -18000 0 CLT}
- {-1209754800 -14400 1 CLST}
- {-1191355200 -18000 0 CLT}
- {-1178132400 -14400 0 CLT}
- {-870552000 -18000 0 CLT}
- {-865278000 -14400 0 CLT}
- {-740520000 -10800 1 CLST}
- {-736376400 -14400 0 CLT}
- {-718056000 -18000 0 CLT}
- {-713649600 -14400 0 CLT}
- {-36619200 -10800 1 CLST}
- {-23922000 -14400 0 CLT}
- {-3355200 -10800 1 CLST}
- {7527600 -14400 0 CLT}
- {24465600 -10800 1 CLST}
- {37767600 -14400 0 CLT}
- {55915200 -10800 1 CLST}
- {69217200 -14400 0 CLT}
- {87969600 -10800 1 CLST}
- {100666800 -14400 0 CLT}
- {118209600 -10800 1 CLST}
- {132116400 -14400 0 CLT}
- {150868800 -10800 1 CLST}
- {163566000 -14400 0 CLT}
- {182318400 -10800 1 CLST}
- {195620400 -14400 0 CLT}
- {213768000 -10800 1 CLST}
- {227070000 -14400 0 CLT}
- {245217600 -10800 1 CLST}
- {258519600 -14400 0 CLT}
- {277272000 -10800 1 CLST}
- {289969200 -14400 0 CLT}
- {308721600 -10800 1 CLST}
- {321418800 -14400 0 CLT}
- {340171200 -10800 1 CLST}
- {353473200 -14400 0 CLT}
- {371620800 -10800 1 CLST}
- {384922800 -14400 0 CLT}
- {403070400 -10800 1 CLST}
- {416372400 -14400 0 CLT}
- {434520000 -10800 1 CLST}
- {447822000 -14400 0 CLT}
- {466574400 -10800 1 CLST}
- {479271600 -14400 0 CLT}
- {498024000 -10800 1 CLST}
- {510721200 -14400 0 CLT}
- {529473600 -10800 1 CLST}
- {545194800 -14400 0 CLT}
- {560923200 -10800 1 CLST}
- {574225200 -14400 0 CLT}
- {592372800 -10800 1 CLST}
- {605674800 -14400 0 CLT}
- {624427200 -10800 1 CLST}
- {637124400 -14400 0 CLT}
- {653457600 -10800 1 CLST}
- {668574000 -14400 0 CLT}
- {687326400 -10800 1 CLST}
- {700628400 -14400 0 CLT}
- {718776000 -10800 1 CLST}
- {732078000 -14400 0 CLT}
- {750225600 -10800 1 CLST}
- {763527600 -14400 0 CLT}
- {781675200 -10800 1 CLST}
- {794977200 -14400 0 CLT}
- {813729600 -10800 1 CLST}
- {826426800 -14400 0 CLT}
- {845179200 -10800 1 CLST}
- {859690800 -14400 0 CLT}
- {876628800 -10800 1 CLST}
- {889930800 -14400 0 CLT}
- {906868800 -10800 1 CLST}
- {923194800 -14400 0 CLT}
- {939528000 -10800 1 CLST}
- {952830000 -14400 0 CLT}
- {971582400 -10800 1 CLST}
- {984279600 -14400 0 CLT}
- {1003032000 -10800 1 CLST}
- {1015729200 -14400 0 CLT}
- {1034481600 -10800 1 CLST}
- {1047178800 -14400 0 CLT}
- {1065931200 -10800 1 CLST}
- {1079233200 -14400 0 CLT}
- {1097380800 -10800 1 CLST}
- {1110682800 -14400 0 CLT}
- {1128830400 -10800 1 CLST}
- {1142132400 -14400 0 CLT}
- {1160884800 -10800 1 CLST}
- {1173582000 -14400 0 CLT}
- {1192334400 -10800 1 CLST}
- {1206846000 -14400 0 CLT}
- {1223784000 -10800 1 CLST}
- {1237086000 -14400 0 CLT}
- {1255233600 -10800 1 CLST}
- {1270350000 -14400 0 CLT}
- {1286683200 -10800 1 CLST}
- {1304823600 -14400 0 CLT}
- {1313899200 -10800 1 CLST}
- {1335668400 -14400 0 CLT}
- {1346558400 -10800 1 CLST}
- {1367118000 -14400 0 CLT}
- {1378612800 -10800 1 CLST}
- {1398567600 -14400 0 CLT}
- {1410062400 -10800 1 CLST}
- {1463281200 -14400 0 CLT}
- {1471147200 -10800 1 CLST}
- {1494730800 -14400 0 CLT}
- {1502596800 -10800 1 CLST}
- {1526180400 -14400 0 CLT}
- {1534046400 -10800 1 CLST}
- {1557630000 -14400 0 CLT}
- {1565496000 -10800 1 CLST}
- {1589079600 -14400 0 CLT}
- {1596945600 -10800 1 CLST}
- {1620529200 -14400 0 CLT}
- {1629000000 -10800 1 CLST}
- {1652583600 -14400 0 CLT}
- {1660449600 -10800 1 CLST}
- {1684033200 -14400 0 CLT}
- {1691899200 -10800 1 CLST}
- {1715482800 -14400 0 CLT}
- {1723348800 -10800 1 CLST}
- {1746932400 -14400 0 CLT}
- {1754798400 -10800 1 CLST}
- {1778382000 -14400 0 CLT}
- {1786248000 -10800 1 CLST}
- {1809831600 -14400 0 CLT}
- {1818302400 -10800 1 CLST}
- {1841886000 -14400 0 CLT}
- {1849752000 -10800 1 CLST}
- {1873335600 -14400 0 CLT}
- {1881201600 -10800 1 CLST}
- {1904785200 -14400 0 CLT}
- {1912651200 -10800 1 CLST}
- {1936234800 -14400 0 CLT}
- {1944100800 -10800 1 CLST}
- {1967684400 -14400 0 CLT}
- {1976155200 -10800 1 CLST}
- {1999738800 -14400 0 CLT}
- {2007604800 -10800 1 CLST}
- {2031188400 -14400 0 CLT}
- {2039054400 -10800 1 CLST}
- {2062638000 -14400 0 CLT}
- {2070504000 -10800 1 CLST}
- {2094087600 -14400 0 CLT}
- {2101953600 -10800 1 CLST}
- {2125537200 -14400 0 CLT}
- {2133403200 -10800 1 CLST}
- {2156986800 -14400 0 CLT}
- {2165457600 -10800 1 CLST}
- {2189041200 -14400 0 CLT}
- {2196907200 -10800 1 CLST}
- {2220490800 -14400 0 CLT}
- {2228356800 -10800 1 CLST}
- {2251940400 -14400 0 CLT}
- {2259806400 -10800 1 CLST}
- {2283390000 -14400 0 CLT}
- {2291256000 -10800 1 CLST}
- {2314839600 -14400 0 CLT}
- {2322705600 -10800 1 CLST}
- {2346894000 -14400 0 CLT}
- {2354760000 -10800 1 CLST}
- {2378343600 -14400 0 CLT}
- {2386209600 -10800 1 CLST}
- {2409793200 -14400 0 CLT}
- {2417659200 -10800 1 CLST}
- {2441242800 -14400 0 CLT}
- {2449108800 -10800 1 CLST}
- {2472692400 -14400 0 CLT}
- {2480558400 -10800 1 CLST}
- {2504142000 -14400 0 CLT}
- {2512612800 -10800 1 CLST}
- {2536196400 -14400 0 CLT}
- {2544062400 -10800 1 CLST}
- {2567646000 -14400 0 CLT}
- {2575512000 -10800 1 CLST}
- {2599095600 -14400 0 CLT}
- {2606961600 -10800 1 CLST}
- {2630545200 -14400 0 CLT}
- {2638411200 -10800 1 CLST}
- {2661994800 -14400 0 CLT}
- {2669860800 -10800 1 CLST}
- {2693444400 -14400 0 CLT}
- {2701915200 -10800 1 CLST}
- {2725498800 -14400 0 CLT}
- {2733364800 -10800 1 CLST}
- {2756948400 -14400 0 CLT}
- {2764814400 -10800 1 CLST}
- {2788398000 -14400 0 CLT}
- {2796264000 -10800 1 CLST}
- {2819847600 -14400 0 CLT}
- {2827713600 -10800 1 CLST}
- {2851297200 -14400 0 CLT}
- {2859768000 -10800 1 CLST}
- {2883351600 -14400 0 CLT}
- {2891217600 -10800 1 CLST}
- {2914801200 -14400 0 CLT}
- {2922667200 -10800 1 CLST}
- {2946250800 -14400 0 CLT}
- {2954116800 -10800 1 CLST}
- {2977700400 -14400 0 CLT}
- {2985566400 -10800 1 CLST}
- {3009150000 -14400 0 CLT}
- {3017016000 -10800 1 CLST}
- {3040599600 -14400 0 CLT}
- {3049070400 -10800 1 CLST}
- {3072654000 -14400 0 CLT}
- {3080520000 -10800 1 CLST}
- {3104103600 -14400 0 CLT}
- {3111969600 -10800 1 CLST}
- {3135553200 -14400 0 CLT}
- {3143419200 -10800 1 CLST}
- {3167002800 -14400 0 CLT}
- {3174868800 -10800 1 CLST}
- {3198452400 -14400 0 CLT}
- {3206318400 -10800 1 CLST}
- {3230506800 -14400 0 CLT}
- {3238372800 -10800 1 CLST}
- {3261956400 -14400 0 CLT}
- {3269822400 -10800 1 CLST}
- {3293406000 -14400 0 CLT}
- {3301272000 -10800 1 CLST}
- {3324855600 -14400 0 CLT}
- {3332721600 -10800 1 CLST}
- {3356305200 -14400 0 CLT}
- {3364171200 -10800 1 CLST}
- {3387754800 -14400 0 CLT}
- {3396225600 -10800 1 CLST}
- {3419809200 -14400 0 CLT}
- {3427675200 -10800 1 CLST}
- {3451258800 -14400 0 CLT}
- {3459124800 -10800 1 CLST}
- {3482708400 -14400 0 CLT}
- {3490574400 -10800 1 CLST}
- {3514158000 -14400 0 CLT}
- {3522024000 -10800 1 CLST}
- {3545607600 -14400 0 CLT}
- {3553473600 -10800 1 CLST}
- {3577057200 -14400 0 CLT}
- {3585528000 -10800 1 CLST}
- {3609111600 -14400 0 CLT}
- {3616977600 -10800 1 CLST}
- {3640561200 -14400 0 CLT}
- {3648427200 -10800 1 CLST}
- {3672010800 -14400 0 CLT}
- {3679876800 -10800 1 CLST}
- {3703460400 -14400 0 CLT}
- {3711326400 -10800 1 CLST}
- {3734910000 -14400 0 CLT}
- {3743380800 -10800 1 CLST}
- {3766964400 -14400 0 CLT}
- {3774830400 -10800 1 CLST}
- {3798414000 -14400 0 CLT}
- {3806280000 -10800 1 CLST}
- {3829863600 -14400 0 CLT}
- {3837729600 -10800 1 CLST}
- {3861313200 -14400 0 CLT}
- {3869179200 -10800 1 CLST}
- {3892762800 -14400 0 CLT}
- {3900628800 -10800 1 CLST}
- {3924212400 -14400 0 CLT}
- {3932683200 -10800 1 CLST}
- {3956266800 -14400 0 CLT}
- {3964132800 -10800 1 CLST}
- {3987716400 -14400 0 CLT}
- {3995582400 -10800 1 CLST}
- {4019166000 -14400 0 CLT}
- {4027032000 -10800 1 CLST}
- {4050615600 -14400 0 CLT}
- {4058481600 -10800 1 CLST}
- {4082065200 -14400 0 CLT}
- {4089931200 -10800 1 CLST}
+ {-1335986234 -18000 0 -05}
+ {-1335985200 -14400 1 -04}
+ {-1317585600 -18000 0 -05}
+ {-1304362800 -14400 1 -04}
+ {-1286049600 -18000 0 -05}
+ {-1272826800 -14400 1 -04}
+ {-1254513600 -18000 0 -05}
+ {-1241290800 -14400 1 -04}
+ {-1222977600 -18000 0 -05}
+ {-1209754800 -14400 1 -04}
+ {-1191355200 -18000 0 -05}
+ {-1178132400 -14400 0 -04}
+ {-870552000 -18000 0 -05}
+ {-865278000 -14400 0 -04}
+ {-740520000 -10800 1 -03}
+ {-736376400 -14400 0 -04}
+ {-718056000 -18000 0 -05}
+ {-713649600 -14400 0 -04}
+ {-36619200 -10800 1 -03}
+ {-23922000 -14400 0 -04}
+ {-3355200 -10800 1 -03}
+ {7527600 -14400 0 -04}
+ {24465600 -10800 1 -03}
+ {37767600 -14400 0 -04}
+ {55915200 -10800 1 -03}
+ {69217200 -14400 0 -04}
+ {87969600 -10800 1 -03}
+ {100666800 -14400 0 -04}
+ {118209600 -10800 1 -03}
+ {132116400 -14400 0 -04}
+ {150868800 -10800 1 -03}
+ {163566000 -14400 0 -04}
+ {182318400 -10800 1 -03}
+ {195620400 -14400 0 -04}
+ {213768000 -10800 1 -03}
+ {227070000 -14400 0 -04}
+ {245217600 -10800 1 -03}
+ {258519600 -14400 0 -04}
+ {277272000 -10800 1 -03}
+ {289969200 -14400 0 -04}
+ {308721600 -10800 1 -03}
+ {321418800 -14400 0 -04}
+ {340171200 -10800 1 -03}
+ {353473200 -14400 0 -04}
+ {371620800 -10800 1 -03}
+ {384922800 -14400 0 -04}
+ {403070400 -10800 1 -03}
+ {416372400 -14400 0 -04}
+ {434520000 -10800 1 -03}
+ {447822000 -14400 0 -04}
+ {466574400 -10800 1 -03}
+ {479271600 -14400 0 -04}
+ {498024000 -10800 1 -03}
+ {510721200 -14400 0 -04}
+ {529473600 -10800 1 -03}
+ {545194800 -14400 0 -04}
+ {560923200 -10800 1 -03}
+ {574225200 -14400 0 -04}
+ {592372800 -10800 1 -03}
+ {605674800 -14400 0 -04}
+ {624427200 -10800 1 -03}
+ {637124400 -14400 0 -04}
+ {653457600 -10800 1 -03}
+ {668574000 -14400 0 -04}
+ {687326400 -10800 1 -03}
+ {700628400 -14400 0 -04}
+ {718776000 -10800 1 -03}
+ {732078000 -14400 0 -04}
+ {750225600 -10800 1 -03}
+ {763527600 -14400 0 -04}
+ {781675200 -10800 1 -03}
+ {794977200 -14400 0 -04}
+ {813729600 -10800 1 -03}
+ {826426800 -14400 0 -04}
+ {845179200 -10800 1 -03}
+ {859690800 -14400 0 -04}
+ {876628800 -10800 1 -03}
+ {889930800 -14400 0 -04}
+ {906868800 -10800 1 -03}
+ {923194800 -14400 0 -04}
+ {939528000 -10800 1 -03}
+ {952830000 -14400 0 -04}
+ {971582400 -10800 1 -03}
+ {984279600 -14400 0 -04}
+ {1003032000 -10800 1 -03}
+ {1015729200 -14400 0 -04}
+ {1034481600 -10800 1 -03}
+ {1047178800 -14400 0 -04}
+ {1065931200 -10800 1 -03}
+ {1079233200 -14400 0 -04}
+ {1097380800 -10800 1 -03}
+ {1110682800 -14400 0 -04}
+ {1128830400 -10800 1 -03}
+ {1142132400 -14400 0 -04}
+ {1160884800 -10800 1 -03}
+ {1173582000 -14400 0 -04}
+ {1192334400 -10800 1 -03}
+ {1206846000 -14400 0 -04}
+ {1223784000 -10800 1 -03}
+ {1237086000 -14400 0 -04}
+ {1255233600 -10800 1 -03}
+ {1270350000 -14400 0 -04}
+ {1286683200 -10800 1 -03}
+ {1304823600 -14400 0 -04}
+ {1313899200 -10800 1 -03}
+ {1335668400 -14400 0 -04}
+ {1346558400 -10800 1 -03}
+ {1367118000 -14400 0 -04}
+ {1378612800 -10800 1 -03}
+ {1398567600 -14400 0 -04}
+ {1410062400 -10800 1 -03}
+ {1463281200 -14400 0 -04}
+ {1471147200 -10800 1 -03}
+ {1494730800 -14400 0 -04}
+ {1502596800 -10800 1 -03}
+ {1526180400 -14400 0 -04}
+ {1534046400 -10800 1 -03}
+ {1557630000 -14400 0 -04}
+ {1565496000 -10800 1 -03}
+ {1589079600 -14400 0 -04}
+ {1596945600 -10800 1 -03}
+ {1620529200 -14400 0 -04}
+ {1629000000 -10800 1 -03}
+ {1652583600 -14400 0 -04}
+ {1660449600 -10800 1 -03}
+ {1684033200 -14400 0 -04}
+ {1691899200 -10800 1 -03}
+ {1715482800 -14400 0 -04}
+ {1723348800 -10800 1 -03}
+ {1746932400 -14400 0 -04}
+ {1754798400 -10800 1 -03}
+ {1778382000 -14400 0 -04}
+ {1786248000 -10800 1 -03}
+ {1809831600 -14400 0 -04}
+ {1818302400 -10800 1 -03}
+ {1841886000 -14400 0 -04}
+ {1849752000 -10800 1 -03}
+ {1873335600 -14400 0 -04}
+ {1881201600 -10800 1 -03}
+ {1904785200 -14400 0 -04}
+ {1912651200 -10800 1 -03}
+ {1936234800 -14400 0 -04}
+ {1944100800 -10800 1 -03}
+ {1967684400 -14400 0 -04}
+ {1976155200 -10800 1 -03}
+ {1999738800 -14400 0 -04}
+ {2007604800 -10800 1 -03}
+ {2031188400 -14400 0 -04}
+ {2039054400 -10800 1 -03}
+ {2062638000 -14400 0 -04}
+ {2070504000 -10800 1 -03}
+ {2094087600 -14400 0 -04}
+ {2101953600 -10800 1 -03}
+ {2125537200 -14400 0 -04}
+ {2133403200 -10800 1 -03}
+ {2156986800 -14400 0 -04}
+ {2165457600 -10800 1 -03}
+ {2189041200 -14400 0 -04}
+ {2196907200 -10800 1 -03}
+ {2220490800 -14400 0 -04}
+ {2228356800 -10800 1 -03}
+ {2251940400 -14400 0 -04}
+ {2259806400 -10800 1 -03}
+ {2283390000 -14400 0 -04}
+ {2291256000 -10800 1 -03}
+ {2314839600 -14400 0 -04}
+ {2322705600 -10800 1 -03}
+ {2346894000 -14400 0 -04}
+ {2354760000 -10800 1 -03}
+ {2378343600 -14400 0 -04}
+ {2386209600 -10800 1 -03}
+ {2409793200 -14400 0 -04}
+ {2417659200 -10800 1 -03}
+ {2441242800 -14400 0 -04}
+ {2449108800 -10800 1 -03}
+ {2472692400 -14400 0 -04}
+ {2480558400 -10800 1 -03}
+ {2504142000 -14400 0 -04}
+ {2512612800 -10800 1 -03}
+ {2536196400 -14400 0 -04}
+ {2544062400 -10800 1 -03}
+ {2567646000 -14400 0 -04}
+ {2575512000 -10800 1 -03}
+ {2599095600 -14400 0 -04}
+ {2606961600 -10800 1 -03}
+ {2630545200 -14400 0 -04}
+ {2638411200 -10800 1 -03}
+ {2661994800 -14400 0 -04}
+ {2669860800 -10800 1 -03}
+ {2693444400 -14400 0 -04}
+ {2701915200 -10800 1 -03}
+ {2725498800 -14400 0 -04}
+ {2733364800 -10800 1 -03}
+ {2756948400 -14400 0 -04}
+ {2764814400 -10800 1 -03}
+ {2788398000 -14400 0 -04}
+ {2796264000 -10800 1 -03}
+ {2819847600 -14400 0 -04}
+ {2827713600 -10800 1 -03}
+ {2851297200 -14400 0 -04}
+ {2859768000 -10800 1 -03}
+ {2883351600 -14400 0 -04}
+ {2891217600 -10800 1 -03}
+ {2914801200 -14400 0 -04}
+ {2922667200 -10800 1 -03}
+ {2946250800 -14400 0 -04}
+ {2954116800 -10800 1 -03}
+ {2977700400 -14400 0 -04}
+ {2985566400 -10800 1 -03}
+ {3009150000 -14400 0 -04}
+ {3017016000 -10800 1 -03}
+ {3040599600 -14400 0 -04}
+ {3049070400 -10800 1 -03}
+ {3072654000 -14400 0 -04}
+ {3080520000 -10800 1 -03}
+ {3104103600 -14400 0 -04}
+ {3111969600 -10800 1 -03}
+ {3135553200 -14400 0 -04}
+ {3143419200 -10800 1 -03}
+ {3167002800 -14400 0 -04}
+ {3174868800 -10800 1 -03}
+ {3198452400 -14400 0 -04}
+ {3206318400 -10800 1 -03}
+ {3230506800 -14400 0 -04}
+ {3238372800 -10800 1 -03}
+ {3261956400 -14400 0 -04}
+ {3269822400 -10800 1 -03}
+ {3293406000 -14400 0 -04}
+ {3301272000 -10800 1 -03}
+ {3324855600 -14400 0 -04}
+ {3332721600 -10800 1 -03}
+ {3356305200 -14400 0 -04}
+ {3364171200 -10800 1 -03}
+ {3387754800 -14400 0 -04}
+ {3396225600 -10800 1 -03}
+ {3419809200 -14400 0 -04}
+ {3427675200 -10800 1 -03}
+ {3451258800 -14400 0 -04}
+ {3459124800 -10800 1 -03}
+ {3482708400 -14400 0 -04}
+ {3490574400 -10800 1 -03}
+ {3514158000 -14400 0 -04}
+ {3522024000 -10800 1 -03}
+ {3545607600 -14400 0 -04}
+ {3553473600 -10800 1 -03}
+ {3577057200 -14400 0 -04}
+ {3585528000 -10800 1 -03}
+ {3609111600 -14400 0 -04}
+ {3616977600 -10800 1 -03}
+ {3640561200 -14400 0 -04}
+ {3648427200 -10800 1 -03}
+ {3672010800 -14400 0 -04}
+ {3679876800 -10800 1 -03}
+ {3703460400 -14400 0 -04}
+ {3711326400 -10800 1 -03}
+ {3734910000 -14400 0 -04}
+ {3743380800 -10800 1 -03}
+ {3766964400 -14400 0 -04}
+ {3774830400 -10800 1 -03}
+ {3798414000 -14400 0 -04}
+ {3806280000 -10800 1 -03}
+ {3829863600 -14400 0 -04}
+ {3837729600 -10800 1 -03}
+ {3861313200 -14400 0 -04}
+ {3869179200 -10800 1 -03}
+ {3892762800 -14400 0 -04}
+ {3900628800 -10800 1 -03}
+ {3924212400 -14400 0 -04}
+ {3932683200 -10800 1 -03}
+ {3956266800 -14400 0 -04}
+ {3964132800 -10800 1 -03}
+ {3987716400 -14400 0 -04}
+ {3995582400 -10800 1 -03}
+ {4019166000 -14400 0 -04}
+ {4027032000 -10800 1 -03}
+ {4050615600 -14400 0 -04}
+ {4058481600 -10800 1 -03}
+ {4082065200 -14400 0 -04}
+ {4089931200 -10800 1 -03}
}
diff --git a/library/tzdata/America/Santo_Domingo b/library/tzdata/America/Santo_Domingo
index 7706918..28d3a9c 100644
--- a/library/tzdata/America/Santo_Domingo
+++ b/library/tzdata/America/Santo_Domingo
@@ -6,15 +6,15 @@ set TZData(:America/Santo_Domingo) {
{-1159773600 -18000 0 EST}
{-100119600 -14400 1 EDT}
{-89668800 -18000 0 EST}
- {-5770800 -16200 1 EHDT}
+ {-5770800 -16200 1 -0430}
{4422600 -18000 0 EST}
- {25678800 -16200 1 EHDT}
+ {25678800 -16200 1 -0430}
{33193800 -18000 0 EST}
- {57733200 -16200 1 EHDT}
+ {57733200 -16200 1 -0430}
{64816200 -18000 0 EST}
- {89182800 -16200 1 EHDT}
+ {89182800 -16200 1 -0430}
{96438600 -18000 0 EST}
- {120632400 -16200 1 EHDT}
+ {120632400 -16200 1 -0430}
{127974600 -18000 0 EST}
{152082000 -14400 0 AST}
{975823200 -14400 0 AST}
diff --git a/library/tzdata/America/Sao_Paulo b/library/tzdata/America/Sao_Paulo
index 8d70063..a61c638 100644
--- a/library/tzdata/America/Sao_Paulo
+++ b/library/tzdata/America/Sao_Paulo
@@ -2,257 +2,257 @@
set TZData(:America/Sao_Paulo) {
{-9223372036854775808 -11188 0 LMT}
- {-1767214412 -10800 0 BRT}
- {-1206957600 -7200 1 BRST}
- {-1191362400 -10800 0 BRT}
- {-1175374800 -7200 1 BRST}
- {-1159826400 -10800 0 BRT}
- {-633819600 -7200 1 BRST}
- {-622069200 -10800 0 BRT}
- {-602283600 -7200 1 BRST}
- {-591832800 -10800 0 BRT}
- {-570747600 -7200 1 BRST}
- {-560210400 -10800 0 BRT}
- {-539125200 -7200 1 BRST}
- {-531352800 -10800 0 BRT}
- {-195429600 -7200 1 BRST}
- {-189381600 -7200 0 BRT}
- {-184197600 -10800 0 BRT}
- {-155163600 -7200 1 BRST}
- {-150069600 -10800 0 BRT}
- {-128898000 -7200 1 BRST}
- {-121125600 -10800 0 BRT}
- {-99954000 -7200 1 BRST}
- {-89589600 -10800 0 BRT}
- {-68418000 -7200 1 BRST}
- {-57967200 -10800 0 BRT}
- {499748400 -7200 1 BRST}
- {511236000 -10800 0 BRT}
- {530593200 -7200 1 BRST}
- {540266400 -10800 0 BRT}
- {562129200 -7200 1 BRST}
- {571197600 -10800 0 BRT}
- {592974000 -7200 1 BRST}
- {602042400 -10800 0 BRT}
- {624423600 -7200 1 BRST}
- {634701600 -10800 0 BRT}
- {656478000 -7200 1 BRST}
- {666756000 -10800 0 BRT}
- {687927600 -7200 1 BRST}
- {697600800 -10800 0 BRT}
- {719982000 -7200 1 BRST}
- {728445600 -10800 0 BRT}
- {750826800 -7200 1 BRST}
- {761709600 -10800 0 BRT}
- {782276400 -7200 1 BRST}
- {793159200 -10800 0 BRT}
- {813726000 -7200 1 BRST}
- {824004000 -10800 0 BRT}
- {844570800 -7200 1 BRST}
- {856058400 -10800 0 BRT}
- {876106800 -7200 1 BRST}
- {888717600 -10800 0 BRT}
- {908074800 -7200 1 BRST}
- {919562400 -10800 0 BRT}
- {938919600 -7200 1 BRST}
- {951616800 -10800 0 BRT}
- {970974000 -7200 1 BRST}
- {982461600 -10800 0 BRT}
- {1003028400 -7200 1 BRST}
- {1013911200 -10800 0 BRT}
- {1036292400 -7200 1 BRST}
- {1045360800 -10800 0 BRT}
- {1066532400 -7200 1 BRST}
- {1076810400 -10800 0 BRT}
- {1099364400 -7200 1 BRST}
- {1108864800 -10800 0 BRT}
- {1129431600 -7200 1 BRST}
- {1140314400 -10800 0 BRT}
- {1162695600 -7200 1 BRST}
- {1172368800 -10800 0 BRT}
- {1192330800 -7200 1 BRST}
- {1203213600 -10800 0 BRT}
- {1224385200 -7200 1 BRST}
- {1234663200 -10800 0 BRT}
- {1255834800 -7200 1 BRST}
- {1266717600 -10800 0 BRT}
- {1287284400 -7200 1 BRST}
- {1298167200 -10800 0 BRT}
- {1318734000 -7200 1 BRST}
- {1330221600 -10800 0 BRT}
- {1350788400 -7200 1 BRST}
- {1361066400 -10800 0 BRT}
- {1382238000 -7200 1 BRST}
- {1392516000 -10800 0 BRT}
- {1413687600 -7200 1 BRST}
- {1424570400 -10800 0 BRT}
- {1445137200 -7200 1 BRST}
- {1456020000 -10800 0 BRT}
- {1476586800 -7200 1 BRST}
- {1487469600 -10800 0 BRT}
- {1508036400 -7200 1 BRST}
- {1518919200 -10800 0 BRT}
- {1540090800 -7200 1 BRST}
- {1550368800 -10800 0 BRT}
- {1571540400 -7200 1 BRST}
- {1581818400 -10800 0 BRT}
- {1602990000 -7200 1 BRST}
- {1613872800 -10800 0 BRT}
- {1634439600 -7200 1 BRST}
- {1645322400 -10800 0 BRT}
- {1665889200 -7200 1 BRST}
- {1677376800 -10800 0 BRT}
- {1697338800 -7200 1 BRST}
- {1708221600 -10800 0 BRT}
- {1729393200 -7200 1 BRST}
- {1739671200 -10800 0 BRT}
- {1760842800 -7200 1 BRST}
- {1771725600 -10800 0 BRT}
- {1792292400 -7200 1 BRST}
- {1803175200 -10800 0 BRT}
- {1823742000 -7200 1 BRST}
- {1834624800 -10800 0 BRT}
- {1855191600 -7200 1 BRST}
- {1866074400 -10800 0 BRT}
- {1887246000 -7200 1 BRST}
- {1897524000 -10800 0 BRT}
- {1918695600 -7200 1 BRST}
- {1928973600 -10800 0 BRT}
- {1950145200 -7200 1 BRST}
- {1960423200 -10800 0 BRT}
- {1981594800 -7200 1 BRST}
- {1992477600 -10800 0 BRT}
- {2013044400 -7200 1 BRST}
- {2024532000 -10800 0 BRT}
- {2044494000 -7200 1 BRST}
- {2055376800 -10800 0 BRT}
- {2076548400 -7200 1 BRST}
- {2086826400 -10800 0 BRT}
- {2107998000 -7200 1 BRST}
- {2118880800 -10800 0 BRT}
- {2139447600 -7200 1 BRST}
- {2150330400 -10800 0 BRT}
- {2170897200 -7200 1 BRST}
- {2181780000 -10800 0 BRT}
- {2202346800 -7200 1 BRST}
- {2213229600 -10800 0 BRT}
- {2234401200 -7200 1 BRST}
- {2244679200 -10800 0 BRT}
- {2265850800 -7200 1 BRST}
- {2276128800 -10800 0 BRT}
- {2297300400 -7200 1 BRST}
- {2307578400 -10800 0 BRT}
- {2328750000 -7200 1 BRST}
- {2339632800 -10800 0 BRT}
- {2360199600 -7200 1 BRST}
- {2371082400 -10800 0 BRT}
- {2391649200 -7200 1 BRST}
- {2402532000 -10800 0 BRT}
- {2423703600 -7200 1 BRST}
- {2433981600 -10800 0 BRT}
- {2455153200 -7200 1 BRST}
- {2465431200 -10800 0 BRT}
- {2486602800 -7200 1 BRST}
- {2497485600 -10800 0 BRT}
- {2518052400 -7200 1 BRST}
- {2528935200 -10800 0 BRT}
- {2549502000 -7200 1 BRST}
- {2560384800 -10800 0 BRT}
- {2580951600 -7200 1 BRST}
- {2591834400 -10800 0 BRT}
- {2613006000 -7200 1 BRST}
- {2623284000 -10800 0 BRT}
- {2644455600 -7200 1 BRST}
- {2654733600 -10800 0 BRT}
- {2675905200 -7200 1 BRST}
- {2686788000 -10800 0 BRT}
- {2707354800 -7200 1 BRST}
- {2718237600 -10800 0 BRT}
- {2738804400 -7200 1 BRST}
- {2749687200 -10800 0 BRT}
- {2770858800 -7200 1 BRST}
- {2781136800 -10800 0 BRT}
- {2802308400 -7200 1 BRST}
- {2812586400 -10800 0 BRT}
- {2833758000 -7200 1 BRST}
- {2844036000 -10800 0 BRT}
- {2865207600 -7200 1 BRST}
- {2876090400 -10800 0 BRT}
- {2896657200 -7200 1 BRST}
- {2907540000 -10800 0 BRT}
- {2928106800 -7200 1 BRST}
- {2938989600 -10800 0 BRT}
- {2960161200 -7200 1 BRST}
- {2970439200 -10800 0 BRT}
- {2991610800 -7200 1 BRST}
- {3001888800 -10800 0 BRT}
- {3023060400 -7200 1 BRST}
- {3033943200 -10800 0 BRT}
- {3054510000 -7200 1 BRST}
- {3065392800 -10800 0 BRT}
- {3085959600 -7200 1 BRST}
- {3096842400 -10800 0 BRT}
- {3118014000 -7200 1 BRST}
- {3128292000 -10800 0 BRT}
- {3149463600 -7200 1 BRST}
- {3159741600 -10800 0 BRT}
- {3180913200 -7200 1 BRST}
- {3191191200 -10800 0 BRT}
- {3212362800 -7200 1 BRST}
- {3223245600 -10800 0 BRT}
- {3243812400 -7200 1 BRST}
- {3254695200 -10800 0 BRT}
- {3275262000 -7200 1 BRST}
- {3286144800 -10800 0 BRT}
- {3307316400 -7200 1 BRST}
- {3317594400 -10800 0 BRT}
- {3338766000 -7200 1 BRST}
- {3349044000 -10800 0 BRT}
- {3370215600 -7200 1 BRST}
- {3381098400 -10800 0 BRT}
- {3401665200 -7200 1 BRST}
- {3412548000 -10800 0 BRT}
- {3433114800 -7200 1 BRST}
- {3443997600 -10800 0 BRT}
- {3464564400 -7200 1 BRST}
- {3475447200 -10800 0 BRT}
- {3496618800 -7200 1 BRST}
- {3506896800 -10800 0 BRT}
- {3528068400 -7200 1 BRST}
- {3538346400 -10800 0 BRT}
- {3559518000 -7200 1 BRST}
- {3570400800 -10800 0 BRT}
- {3590967600 -7200 1 BRST}
- {3601850400 -10800 0 BRT}
- {3622417200 -7200 1 BRST}
- {3633300000 -10800 0 BRT}
- {3654471600 -7200 1 BRST}
- {3664749600 -10800 0 BRT}
- {3685921200 -7200 1 BRST}
- {3696199200 -10800 0 BRT}
- {3717370800 -7200 1 BRST}
- {3727648800 -10800 0 BRT}
- {3748820400 -7200 1 BRST}
- {3759703200 -10800 0 BRT}
- {3780270000 -7200 1 BRST}
- {3791152800 -10800 0 BRT}
- {3811719600 -7200 1 BRST}
- {3822602400 -10800 0 BRT}
- {3843774000 -7200 1 BRST}
- {3854052000 -10800 0 BRT}
- {3875223600 -7200 1 BRST}
- {3885501600 -10800 0 BRT}
- {3906673200 -7200 1 BRST}
- {3917556000 -10800 0 BRT}
- {3938122800 -7200 1 BRST}
- {3949005600 -10800 0 BRT}
- {3969572400 -7200 1 BRST}
- {3980455200 -10800 0 BRT}
- {4001626800 -7200 1 BRST}
- {4011904800 -10800 0 BRT}
- {4033076400 -7200 1 BRST}
- {4043354400 -10800 0 BRT}
- {4064526000 -7200 1 BRST}
- {4074804000 -10800 0 BRT}
- {4095975600 -7200 1 BRST}
+ {-1767214412 -10800 0 -03}
+ {-1206957600 -7200 1 -02}
+ {-1191362400 -10800 0 -03}
+ {-1175374800 -7200 1 -02}
+ {-1159826400 -10800 0 -03}
+ {-633819600 -7200 1 -02}
+ {-622069200 -10800 0 -03}
+ {-602283600 -7200 1 -02}
+ {-591832800 -10800 0 -03}
+ {-570747600 -7200 1 -02}
+ {-560210400 -10800 0 -03}
+ {-539125200 -7200 1 -02}
+ {-531352800 -10800 0 -03}
+ {-195429600 -7200 1 -02}
+ {-189381600 -7200 0 -03}
+ {-184197600 -10800 0 -03}
+ {-155163600 -7200 1 -02}
+ {-150069600 -10800 0 -03}
+ {-128898000 -7200 1 -02}
+ {-121125600 -10800 0 -03}
+ {-99954000 -7200 1 -02}
+ {-89589600 -10800 0 -03}
+ {-68418000 -7200 1 -02}
+ {-57967200 -10800 0 -03}
+ {499748400 -7200 1 -02}
+ {511236000 -10800 0 -03}
+ {530593200 -7200 1 -02}
+ {540266400 -10800 0 -03}
+ {562129200 -7200 1 -02}
+ {571197600 -10800 0 -03}
+ {592974000 -7200 1 -02}
+ {602042400 -10800 0 -03}
+ {624423600 -7200 1 -02}
+ {634701600 -10800 0 -03}
+ {656478000 -7200 1 -02}
+ {666756000 -10800 0 -03}
+ {687927600 -7200 1 -02}
+ {697600800 -10800 0 -03}
+ {719982000 -7200 1 -02}
+ {728445600 -10800 0 -03}
+ {750826800 -7200 1 -02}
+ {761709600 -10800 0 -03}
+ {782276400 -7200 1 -02}
+ {793159200 -10800 0 -03}
+ {813726000 -7200 1 -02}
+ {824004000 -10800 0 -03}
+ {844570800 -7200 1 -02}
+ {856058400 -10800 0 -03}
+ {876106800 -7200 1 -02}
+ {888717600 -10800 0 -03}
+ {908074800 -7200 1 -02}
+ {919562400 -10800 0 -03}
+ {938919600 -7200 1 -02}
+ {951616800 -10800 0 -03}
+ {970974000 -7200 1 -02}
+ {982461600 -10800 0 -03}
+ {1003028400 -7200 1 -02}
+ {1013911200 -10800 0 -03}
+ {1036292400 -7200 1 -02}
+ {1045360800 -10800 0 -03}
+ {1066532400 -7200 1 -02}
+ {1076810400 -10800 0 -03}
+ {1099364400 -7200 1 -02}
+ {1108864800 -10800 0 -03}
+ {1129431600 -7200 1 -02}
+ {1140314400 -10800 0 -03}
+ {1162695600 -7200 1 -02}
+ {1172368800 -10800 0 -03}
+ {1192330800 -7200 1 -02}
+ {1203213600 -10800 0 -03}
+ {1224385200 -7200 1 -02}
+ {1234663200 -10800 0 -03}
+ {1255834800 -7200 1 -02}
+ {1266717600 -10800 0 -03}
+ {1287284400 -7200 1 -02}
+ {1298167200 -10800 0 -03}
+ {1318734000 -7200 1 -02}
+ {1330221600 -10800 0 -03}
+ {1350788400 -7200 1 -02}
+ {1361066400 -10800 0 -03}
+ {1382238000 -7200 1 -02}
+ {1392516000 -10800 0 -03}
+ {1413687600 -7200 1 -02}
+ {1424570400 -10800 0 -03}
+ {1445137200 -7200 1 -02}
+ {1456020000 -10800 0 -03}
+ {1476586800 -7200 1 -02}
+ {1487469600 -10800 0 -03}
+ {1508036400 -7200 1 -02}
+ {1518919200 -10800 0 -03}
+ {1540090800 -7200 1 -02}
+ {1550368800 -10800 0 -03}
+ {1571540400 -7200 1 -02}
+ {1581818400 -10800 0 -03}
+ {1602990000 -7200 1 -02}
+ {1613872800 -10800 0 -03}
+ {1634439600 -7200 1 -02}
+ {1645322400 -10800 0 -03}
+ {1665889200 -7200 1 -02}
+ {1677376800 -10800 0 -03}
+ {1697338800 -7200 1 -02}
+ {1708221600 -10800 0 -03}
+ {1729393200 -7200 1 -02}
+ {1739671200 -10800 0 -03}
+ {1760842800 -7200 1 -02}
+ {1771725600 -10800 0 -03}
+ {1792292400 -7200 1 -02}
+ {1803175200 -10800 0 -03}
+ {1823742000 -7200 1 -02}
+ {1834624800 -10800 0 -03}
+ {1855191600 -7200 1 -02}
+ {1866074400 -10800 0 -03}
+ {1887246000 -7200 1 -02}
+ {1897524000 -10800 0 -03}
+ {1918695600 -7200 1 -02}
+ {1928973600 -10800 0 -03}
+ {1950145200 -7200 1 -02}
+ {1960423200 -10800 0 -03}
+ {1981594800 -7200 1 -02}
+ {1992477600 -10800 0 -03}
+ {2013044400 -7200 1 -02}
+ {2024532000 -10800 0 -03}
+ {2044494000 -7200 1 -02}
+ {2055376800 -10800 0 -03}
+ {2076548400 -7200 1 -02}
+ {2086826400 -10800 0 -03}
+ {2107998000 -7200 1 -02}
+ {2118880800 -10800 0 -03}
+ {2139447600 -7200 1 -02}
+ {2150330400 -10800 0 -03}
+ {2170897200 -7200 1 -02}
+ {2181780000 -10800 0 -03}
+ {2202346800 -7200 1 -02}
+ {2213229600 -10800 0 -03}
+ {2234401200 -7200 1 -02}
+ {2244679200 -10800 0 -03}
+ {2265850800 -7200 1 -02}
+ {2276128800 -10800 0 -03}
+ {2297300400 -7200 1 -02}
+ {2307578400 -10800 0 -03}
+ {2328750000 -7200 1 -02}
+ {2339632800 -10800 0 -03}
+ {2360199600 -7200 1 -02}
+ {2371082400 -10800 0 -03}
+ {2391649200 -7200 1 -02}
+ {2402532000 -10800 0 -03}
+ {2423703600 -7200 1 -02}
+ {2433981600 -10800 0 -03}
+ {2455153200 -7200 1 -02}
+ {2465431200 -10800 0 -03}
+ {2486602800 -7200 1 -02}
+ {2497485600 -10800 0 -03}
+ {2518052400 -7200 1 -02}
+ {2528935200 -10800 0 -03}
+ {2549502000 -7200 1 -02}
+ {2560384800 -10800 0 -03}
+ {2580951600 -7200 1 -02}
+ {2591834400 -10800 0 -03}
+ {2613006000 -7200 1 -02}
+ {2623284000 -10800 0 -03}
+ {2644455600 -7200 1 -02}
+ {2654733600 -10800 0 -03}
+ {2675905200 -7200 1 -02}
+ {2686788000 -10800 0 -03}
+ {2707354800 -7200 1 -02}
+ {2718237600 -10800 0 -03}
+ {2738804400 -7200 1 -02}
+ {2749687200 -10800 0 -03}
+ {2770858800 -7200 1 -02}
+ {2781136800 -10800 0 -03}
+ {2802308400 -7200 1 -02}
+ {2812586400 -10800 0 -03}
+ {2833758000 -7200 1 -02}
+ {2844036000 -10800 0 -03}
+ {2865207600 -7200 1 -02}
+ {2876090400 -10800 0 -03}
+ {2896657200 -7200 1 -02}
+ {2907540000 -10800 0 -03}
+ {2928106800 -7200 1 -02}
+ {2938989600 -10800 0 -03}
+ {2960161200 -7200 1 -02}
+ {2970439200 -10800 0 -03}
+ {2991610800 -7200 1 -02}
+ {3001888800 -10800 0 -03}
+ {3023060400 -7200 1 -02}
+ {3033943200 -10800 0 -03}
+ {3054510000 -7200 1 -02}
+ {3065392800 -10800 0 -03}
+ {3085959600 -7200 1 -02}
+ {3096842400 -10800 0 -03}
+ {3118014000 -7200 1 -02}
+ {3128292000 -10800 0 -03}
+ {3149463600 -7200 1 -02}
+ {3159741600 -10800 0 -03}
+ {3180913200 -7200 1 -02}
+ {3191191200 -10800 0 -03}
+ {3212362800 -7200 1 -02}
+ {3223245600 -10800 0 -03}
+ {3243812400 -7200 1 -02}
+ {3254695200 -10800 0 -03}
+ {3275262000 -7200 1 -02}
+ {3286144800 -10800 0 -03}
+ {3307316400 -7200 1 -02}
+ {3317594400 -10800 0 -03}
+ {3338766000 -7200 1 -02}
+ {3349044000 -10800 0 -03}
+ {3370215600 -7200 1 -02}
+ {3381098400 -10800 0 -03}
+ {3401665200 -7200 1 -02}
+ {3412548000 -10800 0 -03}
+ {3433114800 -7200 1 -02}
+ {3443997600 -10800 0 -03}
+ {3464564400 -7200 1 -02}
+ {3475447200 -10800 0 -03}
+ {3496618800 -7200 1 -02}
+ {3506896800 -10800 0 -03}
+ {3528068400 -7200 1 -02}
+ {3538346400 -10800 0 -03}
+ {3559518000 -7200 1 -02}
+ {3570400800 -10800 0 -03}
+ {3590967600 -7200 1 -02}
+ {3601850400 -10800 0 -03}
+ {3622417200 -7200 1 -02}
+ {3633300000 -10800 0 -03}
+ {3654471600 -7200 1 -02}
+ {3664749600 -10800 0 -03}
+ {3685921200 -7200 1 -02}
+ {3696199200 -10800 0 -03}
+ {3717370800 -7200 1 -02}
+ {3727648800 -10800 0 -03}
+ {3748820400 -7200 1 -02}
+ {3759703200 -10800 0 -03}
+ {3780270000 -7200 1 -02}
+ {3791152800 -10800 0 -03}
+ {3811719600 -7200 1 -02}
+ {3822602400 -10800 0 -03}
+ {3843774000 -7200 1 -02}
+ {3854052000 -10800 0 -03}
+ {3875223600 -7200 1 -02}
+ {3885501600 -10800 0 -03}
+ {3906673200 -7200 1 -02}
+ {3917556000 -10800 0 -03}
+ {3938122800 -7200 1 -02}
+ {3949005600 -10800 0 -03}
+ {3969572400 -7200 1 -02}
+ {3980455200 -10800 0 -03}
+ {4001626800 -7200 1 -02}
+ {4011904800 -10800 0 -03}
+ {4033076400 -7200 1 -02}
+ {4043354400 -10800 0 -03}
+ {4064526000 -7200 1 -02}
+ {4074804000 -10800 0 -03}
+ {4095975600 -7200 1 -02}
}
diff --git a/library/tzdata/America/Scoresbysund b/library/tzdata/America/Scoresbysund
index 74a332c..7430635 100644
--- a/library/tzdata/America/Scoresbysund
+++ b/library/tzdata/America/Scoresbysund
@@ -2,245 +2,245 @@
set TZData(:America/Scoresbysund) {
{-9223372036854775808 -5272 0 LMT}
- {-1686090728 -7200 0 CGT}
- {323841600 -3600 0 CGST}
- {338961600 -7200 0 CGT}
- {354679200 0 0 EGST}
- {370400400 -3600 0 EGT}
- {386125200 0 1 EGST}
- {401850000 -3600 0 EGT}
- {417574800 0 1 EGST}
- {433299600 -3600 0 EGT}
- {449024400 0 1 EGST}
- {465354000 -3600 0 EGT}
- {481078800 0 1 EGST}
- {496803600 -3600 0 EGT}
- {512528400 0 1 EGST}
- {528253200 -3600 0 EGT}
- {543978000 0 1 EGST}
- {559702800 -3600 0 EGT}
- {575427600 0 1 EGST}
- {591152400 -3600 0 EGT}
- {606877200 0 1 EGST}
- {622602000 -3600 0 EGT}
- {638326800 0 1 EGST}
- {654656400 -3600 0 EGT}
- {670381200 0 1 EGST}
- {686106000 -3600 0 EGT}
- {701830800 0 1 EGST}
- {717555600 -3600 0 EGT}
- {733280400 0 1 EGST}
- {749005200 -3600 0 EGT}
- {764730000 0 1 EGST}
- {780454800 -3600 0 EGT}
- {796179600 0 1 EGST}
- {811904400 -3600 0 EGT}
- {828234000 0 1 EGST}
- {846378000 -3600 0 EGT}
- {859683600 0 1 EGST}
- {877827600 -3600 0 EGT}
- {891133200 0 1 EGST}
- {909277200 -3600 0 EGT}
- {922582800 0 1 EGST}
- {941331600 -3600 0 EGT}
- {954032400 0 1 EGST}
- {972781200 -3600 0 EGT}
- {985482000 0 1 EGST}
- {1004230800 -3600 0 EGT}
- {1017536400 0 1 EGST}
- {1035680400 -3600 0 EGT}
- {1048986000 0 1 EGST}
- {1067130000 -3600 0 EGT}
- {1080435600 0 1 EGST}
- {1099184400 -3600 0 EGT}
- {1111885200 0 1 EGST}
- {1130634000 -3600 0 EGT}
- {1143334800 0 1 EGST}
- {1162083600 -3600 0 EGT}
- {1174784400 0 1 EGST}
- {1193533200 -3600 0 EGT}
- {1206838800 0 1 EGST}
- {1224982800 -3600 0 EGT}
- {1238288400 0 1 EGST}
- {1256432400 -3600 0 EGT}
- {1269738000 0 1 EGST}
- {1288486800 -3600 0 EGT}
- {1301187600 0 1 EGST}
- {1319936400 -3600 0 EGT}
- {1332637200 0 1 EGST}
- {1351386000 -3600 0 EGT}
- {1364691600 0 1 EGST}
- {1382835600 -3600 0 EGT}
- {1396141200 0 1 EGST}
- {1414285200 -3600 0 EGT}
- {1427590800 0 1 EGST}
- {1445734800 -3600 0 EGT}
- {1459040400 0 1 EGST}
- {1477789200 -3600 0 EGT}
- {1490490000 0 1 EGST}
- {1509238800 -3600 0 EGT}
- {1521939600 0 1 EGST}
- {1540688400 -3600 0 EGT}
- {1553994000 0 1 EGST}
- {1572138000 -3600 0 EGT}
- {1585443600 0 1 EGST}
- {1603587600 -3600 0 EGT}
- {1616893200 0 1 EGST}
- {1635642000 -3600 0 EGT}
- {1648342800 0 1 EGST}
- {1667091600 -3600 0 EGT}
- {1679792400 0 1 EGST}
- {1698541200 -3600 0 EGT}
- {1711846800 0 1 EGST}
- {1729990800 -3600 0 EGT}
- {1743296400 0 1 EGST}
- {1761440400 -3600 0 EGT}
- {1774746000 0 1 EGST}
- {1792890000 -3600 0 EGT}
- {1806195600 0 1 EGST}
- {1824944400 -3600 0 EGT}
- {1837645200 0 1 EGST}
- {1856394000 -3600 0 EGT}
- {1869094800 0 1 EGST}
- {1887843600 -3600 0 EGT}
- {1901149200 0 1 EGST}
- {1919293200 -3600 0 EGT}
- {1932598800 0 1 EGST}
- {1950742800 -3600 0 EGT}
- {1964048400 0 1 EGST}
- {1982797200 -3600 0 EGT}
- {1995498000 0 1 EGST}
- {2014246800 -3600 0 EGT}
- {2026947600 0 1 EGST}
- {2045696400 -3600 0 EGT}
- {2058397200 0 1 EGST}
- {2077146000 -3600 0 EGT}
- {2090451600 0 1 EGST}
- {2108595600 -3600 0 EGT}
- {2121901200 0 1 EGST}
- {2140045200 -3600 0 EGT}
- {2153350800 0 1 EGST}
- {2172099600 -3600 0 EGT}
- {2184800400 0 1 EGST}
- {2203549200 -3600 0 EGT}
- {2216250000 0 1 EGST}
- {2234998800 -3600 0 EGT}
- {2248304400 0 1 EGST}
- {2266448400 -3600 0 EGT}
- {2279754000 0 1 EGST}
- {2297898000 -3600 0 EGT}
- {2311203600 0 1 EGST}
- {2329347600 -3600 0 EGT}
- {2342653200 0 1 EGST}
- {2361402000 -3600 0 EGT}
- {2374102800 0 1 EGST}
- {2392851600 -3600 0 EGT}
- {2405552400 0 1 EGST}
- {2424301200 -3600 0 EGT}
- {2437606800 0 1 EGST}
- {2455750800 -3600 0 EGT}
- {2469056400 0 1 EGST}
- {2487200400 -3600 0 EGT}
- {2500506000 0 1 EGST}
- {2519254800 -3600 0 EGT}
- {2531955600 0 1 EGST}
- {2550704400 -3600 0 EGT}
- {2563405200 0 1 EGST}
- {2582154000 -3600 0 EGT}
- {2595459600 0 1 EGST}
- {2613603600 -3600 0 EGT}
- {2626909200 0 1 EGST}
- {2645053200 -3600 0 EGT}
- {2658358800 0 1 EGST}
- {2676502800 -3600 0 EGT}
- {2689808400 0 1 EGST}
- {2708557200 -3600 0 EGT}
- {2721258000 0 1 EGST}
- {2740006800 -3600 0 EGT}
- {2752707600 0 1 EGST}
- {2771456400 -3600 0 EGT}
- {2784762000 0 1 EGST}
- {2802906000 -3600 0 EGT}
- {2816211600 0 1 EGST}
- {2834355600 -3600 0 EGT}
- {2847661200 0 1 EGST}
- {2866410000 -3600 0 EGT}
- {2879110800 0 1 EGST}
- {2897859600 -3600 0 EGT}
- {2910560400 0 1 EGST}
- {2929309200 -3600 0 EGT}
- {2942010000 0 1 EGST}
- {2960758800 -3600 0 EGT}
- {2974064400 0 1 EGST}
- {2992208400 -3600 0 EGT}
- {3005514000 0 1 EGST}
- {3023658000 -3600 0 EGT}
- {3036963600 0 1 EGST}
- {3055712400 -3600 0 EGT}
- {3068413200 0 1 EGST}
- {3087162000 -3600 0 EGT}
- {3099862800 0 1 EGST}
- {3118611600 -3600 0 EGT}
- {3131917200 0 1 EGST}
- {3150061200 -3600 0 EGT}
- {3163366800 0 1 EGST}
- {3181510800 -3600 0 EGT}
- {3194816400 0 1 EGST}
- {3212960400 -3600 0 EGT}
- {3226266000 0 1 EGST}
- {3245014800 -3600 0 EGT}
- {3257715600 0 1 EGST}
- {3276464400 -3600 0 EGT}
- {3289165200 0 1 EGST}
- {3307914000 -3600 0 EGT}
- {3321219600 0 1 EGST}
- {3339363600 -3600 0 EGT}
- {3352669200 0 1 EGST}
- {3370813200 -3600 0 EGT}
- {3384118800 0 1 EGST}
- {3402867600 -3600 0 EGT}
- {3415568400 0 1 EGST}
- {3434317200 -3600 0 EGT}
- {3447018000 0 1 EGST}
- {3465766800 -3600 0 EGT}
- {3479072400 0 1 EGST}
- {3497216400 -3600 0 EGT}
- {3510522000 0 1 EGST}
- {3528666000 -3600 0 EGT}
- {3541971600 0 1 EGST}
- {3560115600 -3600 0 EGT}
- {3573421200 0 1 EGST}
- {3592170000 -3600 0 EGT}
- {3604870800 0 1 EGST}
- {3623619600 -3600 0 EGT}
- {3636320400 0 1 EGST}
- {3655069200 -3600 0 EGT}
- {3668374800 0 1 EGST}
- {3686518800 -3600 0 EGT}
- {3699824400 0 1 EGST}
- {3717968400 -3600 0 EGT}
- {3731274000 0 1 EGST}
- {3750022800 -3600 0 EGT}
- {3762723600 0 1 EGST}
- {3781472400 -3600 0 EGT}
- {3794173200 0 1 EGST}
- {3812922000 -3600 0 EGT}
- {3825622800 0 1 EGST}
- {3844371600 -3600 0 EGT}
- {3857677200 0 1 EGST}
- {3875821200 -3600 0 EGT}
- {3889126800 0 1 EGST}
- {3907270800 -3600 0 EGT}
- {3920576400 0 1 EGST}
- {3939325200 -3600 0 EGT}
- {3952026000 0 1 EGST}
- {3970774800 -3600 0 EGT}
- {3983475600 0 1 EGST}
- {4002224400 -3600 0 EGT}
- {4015530000 0 1 EGST}
- {4033674000 -3600 0 EGT}
- {4046979600 0 1 EGST}
- {4065123600 -3600 0 EGT}
- {4078429200 0 1 EGST}
- {4096573200 -3600 0 EGT}
+ {-1686090728 -7200 0 -02}
+ {323841600 -3600 0 -01}
+ {338961600 -7200 0 -02}
+ {354679200 0 0 +00}
+ {370400400 -3600 0 -01}
+ {386125200 0 1 +00}
+ {401850000 -3600 0 -01}
+ {417574800 0 1 +00}
+ {433299600 -3600 0 -01}
+ {449024400 0 1 +00}
+ {465354000 -3600 0 -01}
+ {481078800 0 1 +00}
+ {496803600 -3600 0 -01}
+ {512528400 0 1 +00}
+ {528253200 -3600 0 -01}
+ {543978000 0 1 +00}
+ {559702800 -3600 0 -01}
+ {575427600 0 1 +00}
+ {591152400 -3600 0 -01}
+ {606877200 0 1 +00}
+ {622602000 -3600 0 -01}
+ {638326800 0 1 +00}
+ {654656400 -3600 0 -01}
+ {670381200 0 1 +00}
+ {686106000 -3600 0 -01}
+ {701830800 0 1 +00}
+ {717555600 -3600 0 -01}
+ {733280400 0 1 +00}
+ {749005200 -3600 0 -01}
+ {764730000 0 1 +00}
+ {780454800 -3600 0 -01}
+ {796179600 0 1 +00}
+ {811904400 -3600 0 -01}
+ {828234000 0 1 +00}
+ {846378000 -3600 0 -01}
+ {859683600 0 1 +00}
+ {877827600 -3600 0 -01}
+ {891133200 0 1 +00}
+ {909277200 -3600 0 -01}
+ {922582800 0 1 +00}
+ {941331600 -3600 0 -01}
+ {954032400 0 1 +00}
+ {972781200 -3600 0 -01}
+ {985482000 0 1 +00}
+ {1004230800 -3600 0 -01}
+ {1017536400 0 1 +00}
+ {1035680400 -3600 0 -01}
+ {1048986000 0 1 +00}
+ {1067130000 -3600 0 -01}
+ {1080435600 0 1 +00}
+ {1099184400 -3600 0 -01}
+ {1111885200 0 1 +00}
+ {1130634000 -3600 0 -01}
+ {1143334800 0 1 +00}
+ {1162083600 -3600 0 -01}
+ {1174784400 0 1 +00}
+ {1193533200 -3600 0 -01}
+ {1206838800 0 1 +00}
+ {1224982800 -3600 0 -01}
+ {1238288400 0 1 +00}
+ {1256432400 -3600 0 -01}
+ {1269738000 0 1 +00}
+ {1288486800 -3600 0 -01}
+ {1301187600 0 1 +00}
+ {1319936400 -3600 0 -01}
+ {1332637200 0 1 +00}
+ {1351386000 -3600 0 -01}
+ {1364691600 0 1 +00}
+ {1382835600 -3600 0 -01}
+ {1396141200 0 1 +00}
+ {1414285200 -3600 0 -01}
+ {1427590800 0 1 +00}
+ {1445734800 -3600 0 -01}
+ {1459040400 0 1 +00}
+ {1477789200 -3600 0 -01}
+ {1490490000 0 1 +00}
+ {1509238800 -3600 0 -01}
+ {1521939600 0 1 +00}
+ {1540688400 -3600 0 -01}
+ {1553994000 0 1 +00}
+ {1572138000 -3600 0 -01}
+ {1585443600 0 1 +00}
+ {1603587600 -3600 0 -01}
+ {1616893200 0 1 +00}
+ {1635642000 -3600 0 -01}
+ {1648342800 0 1 +00}
+ {1667091600 -3600 0 -01}
+ {1679792400 0 1 +00}
+ {1698541200 -3600 0 -01}
+ {1711846800 0 1 +00}
+ {1729990800 -3600 0 -01}
+ {1743296400 0 1 +00}
+ {1761440400 -3600 0 -01}
+ {1774746000 0 1 +00}
+ {1792890000 -3600 0 -01}
+ {1806195600 0 1 +00}
+ {1824944400 -3600 0 -01}
+ {1837645200 0 1 +00}
+ {1856394000 -3600 0 -01}
+ {1869094800 0 1 +00}
+ {1887843600 -3600 0 -01}
+ {1901149200 0 1 +00}
+ {1919293200 -3600 0 -01}
+ {1932598800 0 1 +00}
+ {1950742800 -3600 0 -01}
+ {1964048400 0 1 +00}
+ {1982797200 -3600 0 -01}
+ {1995498000 0 1 +00}
+ {2014246800 -3600 0 -01}
+ {2026947600 0 1 +00}
+ {2045696400 -3600 0 -01}
+ {2058397200 0 1 +00}
+ {2077146000 -3600 0 -01}
+ {2090451600 0 1 +00}
+ {2108595600 -3600 0 -01}
+ {2121901200 0 1 +00}
+ {2140045200 -3600 0 -01}
+ {2153350800 0 1 +00}
+ {2172099600 -3600 0 -01}
+ {2184800400 0 1 +00}
+ {2203549200 -3600 0 -01}
+ {2216250000 0 1 +00}
+ {2234998800 -3600 0 -01}
+ {2248304400 0 1 +00}
+ {2266448400 -3600 0 -01}
+ {2279754000 0 1 +00}
+ {2297898000 -3600 0 -01}
+ {2311203600 0 1 +00}
+ {2329347600 -3600 0 -01}
+ {2342653200 0 1 +00}
+ {2361402000 -3600 0 -01}
+ {2374102800 0 1 +00}
+ {2392851600 -3600 0 -01}
+ {2405552400 0 1 +00}
+ {2424301200 -3600 0 -01}
+ {2437606800 0 1 +00}
+ {2455750800 -3600 0 -01}
+ {2469056400 0 1 +00}
+ {2487200400 -3600 0 -01}
+ {2500506000 0 1 +00}
+ {2519254800 -3600 0 -01}
+ {2531955600 0 1 +00}
+ {2550704400 -3600 0 -01}
+ {2563405200 0 1 +00}
+ {2582154000 -3600 0 -01}
+ {2595459600 0 1 +00}
+ {2613603600 -3600 0 -01}
+ {2626909200 0 1 +00}
+ {2645053200 -3600 0 -01}
+ {2658358800 0 1 +00}
+ {2676502800 -3600 0 -01}
+ {2689808400 0 1 +00}
+ {2708557200 -3600 0 -01}
+ {2721258000 0 1 +00}
+ {2740006800 -3600 0 -01}
+ {2752707600 0 1 +00}
+ {2771456400 -3600 0 -01}
+ {2784762000 0 1 +00}
+ {2802906000 -3600 0 -01}
+ {2816211600 0 1 +00}
+ {2834355600 -3600 0 -01}
+ {2847661200 0 1 +00}
+ {2866410000 -3600 0 -01}
+ {2879110800 0 1 +00}
+ {2897859600 -3600 0 -01}
+ {2910560400 0 1 +00}
+ {2929309200 -3600 0 -01}
+ {2942010000 0 1 +00}
+ {2960758800 -3600 0 -01}
+ {2974064400 0 1 +00}
+ {2992208400 -3600 0 -01}
+ {3005514000 0 1 +00}
+ {3023658000 -3600 0 -01}
+ {3036963600 0 1 +00}
+ {3055712400 -3600 0 -01}
+ {3068413200 0 1 +00}
+ {3087162000 -3600 0 -01}
+ {3099862800 0 1 +00}
+ {3118611600 -3600 0 -01}
+ {3131917200 0 1 +00}
+ {3150061200 -3600 0 -01}
+ {3163366800 0 1 +00}
+ {3181510800 -3600 0 -01}
+ {3194816400 0 1 +00}
+ {3212960400 -3600 0 -01}
+ {3226266000 0 1 +00}
+ {3245014800 -3600 0 -01}
+ {3257715600 0 1 +00}
+ {3276464400 -3600 0 -01}
+ {3289165200 0 1 +00}
+ {3307914000 -3600 0 -01}
+ {3321219600 0 1 +00}
+ {3339363600 -3600 0 -01}
+ {3352669200 0 1 +00}
+ {3370813200 -3600 0 -01}
+ {3384118800 0 1 +00}
+ {3402867600 -3600 0 -01}
+ {3415568400 0 1 +00}
+ {3434317200 -3600 0 -01}
+ {3447018000 0 1 +00}
+ {3465766800 -3600 0 -01}
+ {3479072400 0 1 +00}
+ {3497216400 -3600 0 -01}
+ {3510522000 0 1 +00}
+ {3528666000 -3600 0 -01}
+ {3541971600 0 1 +00}
+ {3560115600 -3600 0 -01}
+ {3573421200 0 1 +00}
+ {3592170000 -3600 0 -01}
+ {3604870800 0 1 +00}
+ {3623619600 -3600 0 -01}
+ {3636320400 0 1 +00}
+ {3655069200 -3600 0 -01}
+ {3668374800 0 1 +00}
+ {3686518800 -3600 0 -01}
+ {3699824400 0 1 +00}
+ {3717968400 -3600 0 -01}
+ {3731274000 0 1 +00}
+ {3750022800 -3600 0 -01}
+ {3762723600 0 1 +00}
+ {3781472400 -3600 0 -01}
+ {3794173200 0 1 +00}
+ {3812922000 -3600 0 -01}
+ {3825622800 0 1 +00}
+ {3844371600 -3600 0 -01}
+ {3857677200 0 1 +00}
+ {3875821200 -3600 0 -01}
+ {3889126800 0 1 +00}
+ {3907270800 -3600 0 -01}
+ {3920576400 0 1 +00}
+ {3939325200 -3600 0 -01}
+ {3952026000 0 1 +00}
+ {3970774800 -3600 0 -01}
+ {3983475600 0 1 +00}
+ {4002224400 -3600 0 -01}
+ {4015530000 0 1 +00}
+ {4033674000 -3600 0 -01}
+ {4046979600 0 1 +00}
+ {4065123600 -3600 0 -01}
+ {4078429200 0 1 +00}
+ {4096573200 -3600 0 -01}
}
diff --git a/library/tzdata/Antarctica/Macquarie b/library/tzdata/Antarctica/Macquarie
index 9ed0630..60bf7a6 100644
--- a/library/tzdata/Antarctica/Macquarie
+++ b/library/tzdata/Antarctica/Macquarie
@@ -93,5 +93,5 @@ set TZData(:Antarctica/Macquarie) {
{1223136000 39600 1 AEDT}
{1238860800 36000 0 AEST}
{1254585600 39600 1 AEDT}
- {1270310400 39600 0 MIST}
+ {1270310400 39600 0 +11}
}
diff --git a/library/tzdata/Antarctica/Palmer b/library/tzdata/Antarctica/Palmer
index 62b17e1..bb2be4d 100644
--- a/library/tzdata/Antarctica/Palmer
+++ b/library/tzdata/Antarctica/Palmer
@@ -2,251 +2,86 @@
set TZData(:Antarctica/Palmer) {
{-9223372036854775808 0 0 -00}
- {-157766400 -14400 0 ART}
- {-152654400 -14400 0 ART}
- {-132955200 -10800 1 ARST}
- {-121122000 -14400 0 ART}
- {-101419200 -10800 1 ARST}
- {-86821200 -14400 0 ART}
- {-71092800 -10800 1 ARST}
- {-54766800 -14400 0 ART}
- {-39038400 -10800 1 ARST}
- {-23317200 -14400 0 ART}
- {-7588800 -10800 0 ART}
- {128142000 -7200 1 ARST}
- {136605600 -10800 0 ART}
- {389070000 -14400 0 CLT}
- {403070400 -10800 1 CLST}
- {416372400 -14400 0 CLT}
- {434520000 -10800 1 CLST}
- {447822000 -14400 0 CLT}
- {466574400 -10800 1 CLST}
- {479271600 -14400 0 CLT}
- {498024000 -10800 1 CLST}
- {510721200 -14400 0 CLT}
- {529473600 -10800 1 CLST}
- {545194800 -14400 0 CLT}
- {560923200 -10800 1 CLST}
- {574225200 -14400 0 CLT}
- {592372800 -10800 1 CLST}
- {605674800 -14400 0 CLT}
- {624427200 -10800 1 CLST}
- {637124400 -14400 0 CLT}
- {653457600 -10800 1 CLST}
- {668574000 -14400 0 CLT}
- {687326400 -10800 1 CLST}
- {700628400 -14400 0 CLT}
- {718776000 -10800 1 CLST}
- {732078000 -14400 0 CLT}
- {750225600 -10800 1 CLST}
- {763527600 -14400 0 CLT}
- {781675200 -10800 1 CLST}
- {794977200 -14400 0 CLT}
- {813729600 -10800 1 CLST}
- {826426800 -14400 0 CLT}
- {845179200 -10800 1 CLST}
- {859690800 -14400 0 CLT}
- {876628800 -10800 1 CLST}
- {889930800 -14400 0 CLT}
- {906868800 -10800 1 CLST}
- {923194800 -14400 0 CLT}
- {939528000 -10800 1 CLST}
- {952830000 -14400 0 CLT}
- {971582400 -10800 1 CLST}
- {984279600 -14400 0 CLT}
- {1003032000 -10800 1 CLST}
- {1015729200 -14400 0 CLT}
- {1034481600 -10800 1 CLST}
- {1047178800 -14400 0 CLT}
- {1065931200 -10800 1 CLST}
- {1079233200 -14400 0 CLT}
- {1097380800 -10800 1 CLST}
- {1110682800 -14400 0 CLT}
- {1128830400 -10800 1 CLST}
- {1142132400 -14400 0 CLT}
- {1160884800 -10800 1 CLST}
- {1173582000 -14400 0 CLT}
- {1192334400 -10800 1 CLST}
- {1206846000 -14400 0 CLT}
- {1223784000 -10800 1 CLST}
- {1237086000 -14400 0 CLT}
- {1255233600 -10800 1 CLST}
- {1270350000 -14400 0 CLT}
- {1286683200 -10800 1 CLST}
- {1304823600 -14400 0 CLT}
- {1313899200 -10800 1 CLST}
- {1335668400 -14400 0 CLT}
- {1346558400 -10800 1 CLST}
- {1367118000 -14400 0 CLT}
- {1378612800 -10800 1 CLST}
- {1398567600 -14400 0 CLT}
- {1410062400 -10800 1 CLST}
- {1463281200 -14400 0 CLT}
- {1471147200 -10800 1 CLST}
- {1494730800 -14400 0 CLT}
- {1502596800 -10800 1 CLST}
- {1526180400 -14400 0 CLT}
- {1534046400 -10800 1 CLST}
- {1557630000 -14400 0 CLT}
- {1565496000 -10800 1 CLST}
- {1589079600 -14400 0 CLT}
- {1596945600 -10800 1 CLST}
- {1620529200 -14400 0 CLT}
- {1629000000 -10800 1 CLST}
- {1652583600 -14400 0 CLT}
- {1660449600 -10800 1 CLST}
- {1684033200 -14400 0 CLT}
- {1691899200 -10800 1 CLST}
- {1715482800 -14400 0 CLT}
- {1723348800 -10800 1 CLST}
- {1746932400 -14400 0 CLT}
- {1754798400 -10800 1 CLST}
- {1778382000 -14400 0 CLT}
- {1786248000 -10800 1 CLST}
- {1809831600 -14400 0 CLT}
- {1818302400 -10800 1 CLST}
- {1841886000 -14400 0 CLT}
- {1849752000 -10800 1 CLST}
- {1873335600 -14400 0 CLT}
- {1881201600 -10800 1 CLST}
- {1904785200 -14400 0 CLT}
- {1912651200 -10800 1 CLST}
- {1936234800 -14400 0 CLT}
- {1944100800 -10800 1 CLST}
- {1967684400 -14400 0 CLT}
- {1976155200 -10800 1 CLST}
- {1999738800 -14400 0 CLT}
- {2007604800 -10800 1 CLST}
- {2031188400 -14400 0 CLT}
- {2039054400 -10800 1 CLST}
- {2062638000 -14400 0 CLT}
- {2070504000 -10800 1 CLST}
- {2094087600 -14400 0 CLT}
- {2101953600 -10800 1 CLST}
- {2125537200 -14400 0 CLT}
- {2133403200 -10800 1 CLST}
- {2156986800 -14400 0 CLT}
- {2165457600 -10800 1 CLST}
- {2189041200 -14400 0 CLT}
- {2196907200 -10800 1 CLST}
- {2220490800 -14400 0 CLT}
- {2228356800 -10800 1 CLST}
- {2251940400 -14400 0 CLT}
- {2259806400 -10800 1 CLST}
- {2283390000 -14400 0 CLT}
- {2291256000 -10800 1 CLST}
- {2314839600 -14400 0 CLT}
- {2322705600 -10800 1 CLST}
- {2346894000 -14400 0 CLT}
- {2354760000 -10800 1 CLST}
- {2378343600 -14400 0 CLT}
- {2386209600 -10800 1 CLST}
- {2409793200 -14400 0 CLT}
- {2417659200 -10800 1 CLST}
- {2441242800 -14400 0 CLT}
- {2449108800 -10800 1 CLST}
- {2472692400 -14400 0 CLT}
- {2480558400 -10800 1 CLST}
- {2504142000 -14400 0 CLT}
- {2512612800 -10800 1 CLST}
- {2536196400 -14400 0 CLT}
- {2544062400 -10800 1 CLST}
- {2567646000 -14400 0 CLT}
- {2575512000 -10800 1 CLST}
- {2599095600 -14400 0 CLT}
- {2606961600 -10800 1 CLST}
- {2630545200 -14400 0 CLT}
- {2638411200 -10800 1 CLST}
- {2661994800 -14400 0 CLT}
- {2669860800 -10800 1 CLST}
- {2693444400 -14400 0 CLT}
- {2701915200 -10800 1 CLST}
- {2725498800 -14400 0 CLT}
- {2733364800 -10800 1 CLST}
- {2756948400 -14400 0 CLT}
- {2764814400 -10800 1 CLST}
- {2788398000 -14400 0 CLT}
- {2796264000 -10800 1 CLST}
- {2819847600 -14400 0 CLT}
- {2827713600 -10800 1 CLST}
- {2851297200 -14400 0 CLT}
- {2859768000 -10800 1 CLST}
- {2883351600 -14400 0 CLT}
- {2891217600 -10800 1 CLST}
- {2914801200 -14400 0 CLT}
- {2922667200 -10800 1 CLST}
- {2946250800 -14400 0 CLT}
- {2954116800 -10800 1 CLST}
- {2977700400 -14400 0 CLT}
- {2985566400 -10800 1 CLST}
- {3009150000 -14400 0 CLT}
- {3017016000 -10800 1 CLST}
- {3040599600 -14400 0 CLT}
- {3049070400 -10800 1 CLST}
- {3072654000 -14400 0 CLT}
- {3080520000 -10800 1 CLST}
- {3104103600 -14400 0 CLT}
- {3111969600 -10800 1 CLST}
- {3135553200 -14400 0 CLT}
- {3143419200 -10800 1 CLST}
- {3167002800 -14400 0 CLT}
- {3174868800 -10800 1 CLST}
- {3198452400 -14400 0 CLT}
- {3206318400 -10800 1 CLST}
- {3230506800 -14400 0 CLT}
- {3238372800 -10800 1 CLST}
- {3261956400 -14400 0 CLT}
- {3269822400 -10800 1 CLST}
- {3293406000 -14400 0 CLT}
- {3301272000 -10800 1 CLST}
- {3324855600 -14400 0 CLT}
- {3332721600 -10800 1 CLST}
- {3356305200 -14400 0 CLT}
- {3364171200 -10800 1 CLST}
- {3387754800 -14400 0 CLT}
- {3396225600 -10800 1 CLST}
- {3419809200 -14400 0 CLT}
- {3427675200 -10800 1 CLST}
- {3451258800 -14400 0 CLT}
- {3459124800 -10800 1 CLST}
- {3482708400 -14400 0 CLT}
- {3490574400 -10800 1 CLST}
- {3514158000 -14400 0 CLT}
- {3522024000 -10800 1 CLST}
- {3545607600 -14400 0 CLT}
- {3553473600 -10800 1 CLST}
- {3577057200 -14400 0 CLT}
- {3585528000 -10800 1 CLST}
- {3609111600 -14400 0 CLT}
- {3616977600 -10800 1 CLST}
- {3640561200 -14400 0 CLT}
- {3648427200 -10800 1 CLST}
- {3672010800 -14400 0 CLT}
- {3679876800 -10800 1 CLST}
- {3703460400 -14400 0 CLT}
- {3711326400 -10800 1 CLST}
- {3734910000 -14400 0 CLT}
- {3743380800 -10800 1 CLST}
- {3766964400 -14400 0 CLT}
- {3774830400 -10800 1 CLST}
- {3798414000 -14400 0 CLT}
- {3806280000 -10800 1 CLST}
- {3829863600 -14400 0 CLT}
- {3837729600 -10800 1 CLST}
- {3861313200 -14400 0 CLT}
- {3869179200 -10800 1 CLST}
- {3892762800 -14400 0 CLT}
- {3900628800 -10800 1 CLST}
- {3924212400 -14400 0 CLT}
- {3932683200 -10800 1 CLST}
- {3956266800 -14400 0 CLT}
- {3964132800 -10800 1 CLST}
- {3987716400 -14400 0 CLT}
- {3995582400 -10800 1 CLST}
- {4019166000 -14400 0 CLT}
- {4027032000 -10800 1 CLST}
- {4050615600 -14400 0 CLT}
- {4058481600 -10800 1 CLST}
- {4082065200 -14400 0 CLT}
- {4089931200 -10800 1 CLST}
+ {-157766400 -14400 0 -04}
+ {-152654400 -14400 0 -04}
+ {-132955200 -10800 1 -03}
+ {-121122000 -14400 0 -04}
+ {-101419200 -10800 1 -03}
+ {-86821200 -14400 0 -04}
+ {-71092800 -10800 1 -03}
+ {-54766800 -14400 0 -04}
+ {-39038400 -10800 1 -03}
+ {-23317200 -14400 0 -04}
+ {-7588800 -10800 0 -03}
+ {128142000 -7200 1 -02}
+ {136605600 -10800 0 -03}
+ {389070000 -14400 0 -04}
+ {403070400 -10800 1 -03}
+ {416372400 -14400 0 -04}
+ {434520000 -10800 1 -03}
+ {447822000 -14400 0 -04}
+ {466574400 -10800 1 -03}
+ {479271600 -14400 0 -04}
+ {498024000 -10800 1 -03}
+ {510721200 -14400 0 -04}
+ {529473600 -10800 1 -03}
+ {545194800 -14400 0 -04}
+ {560923200 -10800 1 -03}
+ {574225200 -14400 0 -04}
+ {592372800 -10800 1 -03}
+ {605674800 -14400 0 -04}
+ {624427200 -10800 1 -03}
+ {637124400 -14400 0 -04}
+ {653457600 -10800 1 -03}
+ {668574000 -14400 0 -04}
+ {687326400 -10800 1 -03}
+ {700628400 -14400 0 -04}
+ {718776000 -10800 1 -03}
+ {732078000 -14400 0 -04}
+ {750225600 -10800 1 -03}
+ {763527600 -14400 0 -04}
+ {781675200 -10800 1 -03}
+ {794977200 -14400 0 -04}
+ {813729600 -10800 1 -03}
+ {826426800 -14400 0 -04}
+ {845179200 -10800 1 -03}
+ {859690800 -14400 0 -04}
+ {876628800 -10800 1 -03}
+ {889930800 -14400 0 -04}
+ {906868800 -10800 1 -03}
+ {923194800 -14400 0 -04}
+ {939528000 -10800 1 -03}
+ {952830000 -14400 0 -04}
+ {971582400 -10800 1 -03}
+ {984279600 -14400 0 -04}
+ {1003032000 -10800 1 -03}
+ {1015729200 -14400 0 -04}
+ {1034481600 -10800 1 -03}
+ {1047178800 -14400 0 -04}
+ {1065931200 -10800 1 -03}
+ {1079233200 -14400 0 -04}
+ {1097380800 -10800 1 -03}
+ {1110682800 -14400 0 -04}
+ {1128830400 -10800 1 -03}
+ {1142132400 -14400 0 -04}
+ {1160884800 -10800 1 -03}
+ {1173582000 -14400 0 -04}
+ {1192334400 -10800 1 -03}
+ {1206846000 -14400 0 -04}
+ {1223784000 -10800 1 -03}
+ {1237086000 -14400 0 -04}
+ {1255233600 -10800 1 -03}
+ {1270350000 -14400 0 -04}
+ {1286683200 -10800 1 -03}
+ {1304823600 -14400 0 -04}
+ {1313899200 -10800 1 -03}
+ {1335668400 -14400 0 -04}
+ {1346558400 -10800 1 -03}
+ {1367118000 -14400 0 -04}
+ {1378612800 -10800 1 -03}
+ {1398567600 -14400 0 -04}
+ {1410062400 -10800 1 -03}
+ {1463281200 -14400 0 -04}
+ {1471147200 -10800 1 -03}
+ {1480820400 -10800 0 -03}
}
diff --git a/library/tzdata/Asia/Atyrau b/library/tzdata/Asia/Atyrau
index f274540..c31ff11 100644
--- a/library/tzdata/Asia/Atyrau
+++ b/library/tzdata/Asia/Atyrau
@@ -2,8 +2,8 @@
set TZData(:Asia/Atyrau) {
{-9223372036854775808 12464 0 LMT}
- {-1441164464 14400 0 +04}
- {-1247544000 18000 0 +05}
+ {-1441164464 10800 0 +03}
+ {-1247540400 18000 0 +05}
{370724400 21600 0 +06}
{386445600 18000 0 +05}
{386449200 21600 1 +06}
diff --git a/library/tzdata/Asia/Baghdad b/library/tzdata/Asia/Baghdad
index c1058cb..623e310 100644
--- a/library/tzdata/Asia/Baghdad
+++ b/library/tzdata/Asia/Baghdad
@@ -3,57 +3,57 @@
set TZData(:Asia/Baghdad) {
{-9223372036854775808 10660 0 LMT}
{-2524532260 10656 0 BMT}
- {-1641005856 10800 0 AST}
- {389048400 14400 0 ADT}
- {402264000 10800 0 AST}
- {417906000 14400 1 ADT}
- {433800000 10800 0 AST}
- {449614800 14400 1 ADT}
- {465422400 10800 0 AST}
- {481150800 14400 1 ADT}
- {496792800 10800 0 AST}
- {512517600 14400 1 ADT}
- {528242400 10800 0 AST}
- {543967200 14400 1 ADT}
- {559692000 10800 0 AST}
- {575416800 14400 1 ADT}
- {591141600 10800 0 AST}
- {606866400 14400 1 ADT}
- {622591200 10800 0 AST}
- {638316000 14400 1 ADT}
- {654645600 10800 0 AST}
- {670464000 14400 1 ADT}
- {686275200 10800 0 AST}
- {702086400 14400 1 ADT}
- {717897600 10800 0 AST}
- {733622400 14400 1 ADT}
- {749433600 10800 0 AST}
- {765158400 14400 1 ADT}
- {780969600 10800 0 AST}
- {796694400 14400 1 ADT}
- {812505600 10800 0 AST}
- {828316800 14400 1 ADT}
- {844128000 10800 0 AST}
- {859852800 14400 1 ADT}
- {875664000 10800 0 AST}
- {891388800 14400 1 ADT}
- {907200000 10800 0 AST}
- {922924800 14400 1 ADT}
- {938736000 10800 0 AST}
- {954547200 14400 1 ADT}
- {970358400 10800 0 AST}
- {986083200 14400 1 ADT}
- {1001894400 10800 0 AST}
- {1017619200 14400 1 ADT}
- {1033430400 10800 0 AST}
- {1049155200 14400 1 ADT}
- {1064966400 10800 0 AST}
- {1080777600 14400 1 ADT}
- {1096588800 10800 0 AST}
- {1112313600 14400 1 ADT}
- {1128124800 10800 0 AST}
- {1143849600 14400 1 ADT}
- {1159660800 10800 0 AST}
- {1175385600 14400 1 ADT}
- {1191196800 10800 0 AST}
+ {-1641005856 10800 0 +03}
+ {389048400 14400 0 +04}
+ {402264000 10800 0 +04}
+ {417906000 14400 1 +04}
+ {433800000 10800 0 +04}
+ {449614800 14400 1 +04}
+ {465422400 10800 0 +04}
+ {481150800 14400 1 +04}
+ {496792800 10800 0 +04}
+ {512517600 14400 1 +04}
+ {528242400 10800 0 +04}
+ {543967200 14400 1 +04}
+ {559692000 10800 0 +04}
+ {575416800 14400 1 +04}
+ {591141600 10800 0 +04}
+ {606866400 14400 1 +04}
+ {622591200 10800 0 +04}
+ {638316000 14400 1 +04}
+ {654645600 10800 0 +04}
+ {670464000 14400 1 +04}
+ {686275200 10800 0 +04}
+ {702086400 14400 1 +04}
+ {717897600 10800 0 +04}
+ {733622400 14400 1 +04}
+ {749433600 10800 0 +04}
+ {765158400 14400 1 +04}
+ {780969600 10800 0 +04}
+ {796694400 14400 1 +04}
+ {812505600 10800 0 +04}
+ {828316800 14400 1 +04}
+ {844128000 10800 0 +04}
+ {859852800 14400 1 +04}
+ {875664000 10800 0 +04}
+ {891388800 14400 1 +04}
+ {907200000 10800 0 +04}
+ {922924800 14400 1 +04}
+ {938736000 10800 0 +04}
+ {954547200 14400 1 +04}
+ {970358400 10800 0 +04}
+ {986083200 14400 1 +04}
+ {1001894400 10800 0 +04}
+ {1017619200 14400 1 +04}
+ {1033430400 10800 0 +04}
+ {1049155200 14400 1 +04}
+ {1064966400 10800 0 +04}
+ {1080777600 14400 1 +04}
+ {1096588800 10800 0 +04}
+ {1112313600 14400 1 +04}
+ {1128124800 10800 0 +04}
+ {1143849600 14400 1 +04}
+ {1159660800 10800 0 +04}
+ {1175385600 14400 1 +04}
+ {1191196800 10800 0 +04}
}
diff --git a/library/tzdata/Asia/Bangkok b/library/tzdata/Asia/Bangkok
index 6df7680..aeb5473 100644
--- a/library/tzdata/Asia/Bangkok
+++ b/library/tzdata/Asia/Bangkok
@@ -3,5 +3,5 @@
set TZData(:Asia/Bangkok) {
{-9223372036854775808 24124 0 LMT}
{-2840164924 24124 0 BMT}
- {-1570084924 25200 0 ICT}
+ {-1570084924 25200 0 +07}
}
diff --git a/library/tzdata/Asia/Brunei b/library/tzdata/Asia/Brunei
index 63d380b..e8cc8c3 100644
--- a/library/tzdata/Asia/Brunei
+++ b/library/tzdata/Asia/Brunei
@@ -2,6 +2,6 @@
set TZData(:Asia/Brunei) {
{-9223372036854775808 27580 0 LMT}
- {-1383464380 27000 0 BNT}
- {-1167636600 28800 0 BNT}
+ {-1383464380 27000 0 +0730}
+ {-1167636600 28800 0 +08}
}
diff --git a/library/tzdata/Asia/Choibalsan b/library/tzdata/Asia/Choibalsan
index 2bcf7f7..3db65de 100644
--- a/library/tzdata/Asia/Choibalsan
+++ b/library/tzdata/Asia/Choibalsan
@@ -2,221 +2,55 @@
set TZData(:Asia/Choibalsan) {
{-9223372036854775808 27480 0 LMT}
- {-2032933080 25200 0 ULAT}
- {252435600 28800 0 ULAT}
- {417974400 36000 0 CHOST}
- {433778400 32400 0 CHOT}
- {449593200 36000 1 CHOST}
- {465314400 32400 0 CHOT}
- {481042800 36000 1 CHOST}
- {496764000 32400 0 CHOT}
- {512492400 36000 1 CHOST}
- {528213600 32400 0 CHOT}
- {543942000 36000 1 CHOST}
- {559663200 32400 0 CHOT}
- {575391600 36000 1 CHOST}
- {591112800 32400 0 CHOT}
- {606841200 36000 1 CHOST}
- {622562400 32400 0 CHOT}
- {638290800 36000 1 CHOST}
- {654616800 32400 0 CHOT}
- {670345200 36000 1 CHOST}
- {686066400 32400 0 CHOT}
- {701794800 36000 1 CHOST}
- {717516000 32400 0 CHOT}
- {733244400 36000 1 CHOST}
- {748965600 32400 0 CHOT}
- {764694000 36000 1 CHOST}
- {780415200 32400 0 CHOT}
- {796143600 36000 1 CHOST}
- {811864800 32400 0 CHOT}
- {828198000 36000 1 CHOST}
- {843919200 32400 0 CHOT}
- {859647600 36000 1 CHOST}
- {875368800 32400 0 CHOT}
- {891097200 36000 1 CHOST}
- {906818400 32400 0 CHOT}
- {988390800 36000 1 CHOST}
- {1001692800 32400 0 CHOT}
- {1017421200 36000 1 CHOST}
- {1033142400 32400 0 CHOT}
- {1048870800 36000 1 CHOST}
- {1064592000 32400 0 CHOT}
- {1080320400 36000 1 CHOST}
- {1096041600 32400 0 CHOT}
- {1111770000 36000 1 CHOST}
- {1127491200 32400 0 CHOT}
- {1143219600 36000 1 CHOST}
- {1159545600 32400 0 CHOT}
- {1206889200 28800 0 CHOT}
- {1427479200 32400 1 CHOST}
- {1443193200 28800 0 CHOT}
- {1458928800 32400 1 CHOST}
- {1474642800 28800 0 CHOT}
- {1490378400 32400 1 CHOST}
- {1506697200 28800 0 CHOT}
- {1522432800 32400 1 CHOST}
- {1538146800 28800 0 CHOT}
- {1553882400 32400 1 CHOST}
- {1569596400 28800 0 CHOT}
- {1585332000 32400 1 CHOST}
- {1601046000 28800 0 CHOT}
- {1616781600 32400 1 CHOST}
- {1632495600 28800 0 CHOT}
- {1648231200 32400 1 CHOST}
- {1663945200 28800 0 CHOT}
- {1679680800 32400 1 CHOST}
- {1695999600 28800 0 CHOT}
- {1711735200 32400 1 CHOST}
- {1727449200 28800 0 CHOT}
- {1743184800 32400 1 CHOST}
- {1758898800 28800 0 CHOT}
- {1774634400 32400 1 CHOST}
- {1790348400 28800 0 CHOT}
- {1806084000 32400 1 CHOST}
- {1821798000 28800 0 CHOT}
- {1837533600 32400 1 CHOST}
- {1853852400 28800 0 CHOT}
- {1869588000 32400 1 CHOST}
- {1885302000 28800 0 CHOT}
- {1901037600 32400 1 CHOST}
- {1916751600 28800 0 CHOT}
- {1932487200 32400 1 CHOST}
- {1948201200 28800 0 CHOT}
- {1963936800 32400 1 CHOST}
- {1979650800 28800 0 CHOT}
- {1995386400 32400 1 CHOST}
- {2011100400 28800 0 CHOT}
- {2026836000 32400 1 CHOST}
- {2043154800 28800 0 CHOT}
- {2058890400 32400 1 CHOST}
- {2074604400 28800 0 CHOT}
- {2090340000 32400 1 CHOST}
- {2106054000 28800 0 CHOT}
- {2121789600 32400 1 CHOST}
- {2137503600 28800 0 CHOT}
- {2153239200 32400 1 CHOST}
- {2168953200 28800 0 CHOT}
- {2184688800 32400 1 CHOST}
- {2200402800 28800 0 CHOT}
- {2216743200 32400 1 CHOST}
- {2232457200 28800 0 CHOT}
- {2248192800 32400 1 CHOST}
- {2263906800 28800 0 CHOT}
- {2279642400 32400 1 CHOST}
- {2295356400 28800 0 CHOT}
- {2311092000 32400 1 CHOST}
- {2326806000 28800 0 CHOT}
- {2342541600 32400 1 CHOST}
- {2358255600 28800 0 CHOT}
- {2373991200 32400 1 CHOST}
- {2390310000 28800 0 CHOT}
- {2406045600 32400 1 CHOST}
- {2421759600 28800 0 CHOT}
- {2437495200 32400 1 CHOST}
- {2453209200 28800 0 CHOT}
- {2468944800 32400 1 CHOST}
- {2484658800 28800 0 CHOT}
- {2500394400 32400 1 CHOST}
- {2516108400 28800 0 CHOT}
- {2531844000 32400 1 CHOST}
- {2547558000 28800 0 CHOT}
- {2563293600 32400 1 CHOST}
- {2579612400 28800 0 CHOT}
- {2595348000 32400 1 CHOST}
- {2611062000 28800 0 CHOT}
- {2626797600 32400 1 CHOST}
- {2642511600 28800 0 CHOT}
- {2658247200 32400 1 CHOST}
- {2673961200 28800 0 CHOT}
- {2689696800 32400 1 CHOST}
- {2705410800 28800 0 CHOT}
- {2721146400 32400 1 CHOST}
- {2737465200 28800 0 CHOT}
- {2753200800 32400 1 CHOST}
- {2768914800 28800 0 CHOT}
- {2784650400 32400 1 CHOST}
- {2800364400 28800 0 CHOT}
- {2816100000 32400 1 CHOST}
- {2831814000 28800 0 CHOT}
- {2847549600 32400 1 CHOST}
- {2863263600 28800 0 CHOT}
- {2878999200 32400 1 CHOST}
- {2894713200 28800 0 CHOT}
- {2910448800 32400 1 CHOST}
- {2926767600 28800 0 CHOT}
- {2942503200 32400 1 CHOST}
- {2958217200 28800 0 CHOT}
- {2973952800 32400 1 CHOST}
- {2989666800 28800 0 CHOT}
- {3005402400 32400 1 CHOST}
- {3021116400 28800 0 CHOT}
- {3036852000 32400 1 CHOST}
- {3052566000 28800 0 CHOT}
- {3068301600 32400 1 CHOST}
- {3084015600 28800 0 CHOT}
- {3100356000 32400 1 CHOST}
- {3116070000 28800 0 CHOT}
- {3131805600 32400 1 CHOST}
- {3147519600 28800 0 CHOT}
- {3163255200 32400 1 CHOST}
- {3178969200 28800 0 CHOT}
- {3194704800 32400 1 CHOST}
- {3210418800 28800 0 CHOT}
- {3226154400 32400 1 CHOST}
- {3241868400 28800 0 CHOT}
- {3257604000 32400 1 CHOST}
- {3273922800 28800 0 CHOT}
- {3289658400 32400 1 CHOST}
- {3305372400 28800 0 CHOT}
- {3321108000 32400 1 CHOST}
- {3336822000 28800 0 CHOT}
- {3352557600 32400 1 CHOST}
- {3368271600 28800 0 CHOT}
- {3384007200 32400 1 CHOST}
- {3399721200 28800 0 CHOT}
- {3415456800 32400 1 CHOST}
- {3431170800 28800 0 CHOT}
- {3446906400 32400 1 CHOST}
- {3463225200 28800 0 CHOT}
- {3478960800 32400 1 CHOST}
- {3494674800 28800 0 CHOT}
- {3510410400 32400 1 CHOST}
- {3526124400 28800 0 CHOT}
- {3541860000 32400 1 CHOST}
- {3557574000 28800 0 CHOT}
- {3573309600 32400 1 CHOST}
- {3589023600 28800 0 CHOT}
- {3604759200 32400 1 CHOST}
- {3621078000 28800 0 CHOT}
- {3636813600 32400 1 CHOST}
- {3652527600 28800 0 CHOT}
- {3668263200 32400 1 CHOST}
- {3683977200 28800 0 CHOT}
- {3699712800 32400 1 CHOST}
- {3715426800 28800 0 CHOT}
- {3731162400 32400 1 CHOST}
- {3746876400 28800 0 CHOT}
- {3762612000 32400 1 CHOST}
- {3778326000 28800 0 CHOT}
- {3794061600 32400 1 CHOST}
- {3810380400 28800 0 CHOT}
- {3826116000 32400 1 CHOST}
- {3841830000 28800 0 CHOT}
- {3857565600 32400 1 CHOST}
- {3873279600 28800 0 CHOT}
- {3889015200 32400 1 CHOST}
- {3904729200 28800 0 CHOT}
- {3920464800 32400 1 CHOST}
- {3936178800 28800 0 CHOT}
- {3951914400 32400 1 CHOST}
- {3967628400 28800 0 CHOT}
- {3983968800 32400 1 CHOST}
- {3999682800 28800 0 CHOT}
- {4015418400 32400 1 CHOST}
- {4031132400 28800 0 CHOT}
- {4046868000 32400 1 CHOST}
- {4062582000 28800 0 CHOT}
- {4078317600 32400 1 CHOST}
- {4094031600 28800 0 CHOT}
+ {-2032933080 25200 0 +07}
+ {252435600 28800 0 +08}
+ {417974400 36000 0 +10}
+ {433778400 32400 0 +09}
+ {449593200 36000 1 +10}
+ {465314400 32400 0 +09}
+ {481042800 36000 1 +10}
+ {496764000 32400 0 +09}
+ {512492400 36000 1 +10}
+ {528213600 32400 0 +09}
+ {543942000 36000 1 +10}
+ {559663200 32400 0 +09}
+ {575391600 36000 1 +10}
+ {591112800 32400 0 +09}
+ {606841200 36000 1 +10}
+ {622562400 32400 0 +09}
+ {638290800 36000 1 +10}
+ {654616800 32400 0 +09}
+ {670345200 36000 1 +10}
+ {686066400 32400 0 +09}
+ {701794800 36000 1 +10}
+ {717516000 32400 0 +09}
+ {733244400 36000 1 +10}
+ {748965600 32400 0 +09}
+ {764694000 36000 1 +10}
+ {780415200 32400 0 +09}
+ {796143600 36000 1 +10}
+ {811864800 32400 0 +09}
+ {828198000 36000 1 +10}
+ {843919200 32400 0 +09}
+ {859647600 36000 1 +10}
+ {875368800 32400 0 +09}
+ {891097200 36000 1 +10}
+ {906818400 32400 0 +09}
+ {988390800 36000 1 +10}
+ {1001692800 32400 0 +09}
+ {1017421200 36000 1 +10}
+ {1033142400 32400 0 +09}
+ {1048870800 36000 1 +10}
+ {1064592000 32400 0 +09}
+ {1080320400 36000 1 +10}
+ {1096041600 32400 0 +09}
+ {1111770000 36000 1 +10}
+ {1127491200 32400 0 +09}
+ {1143219600 36000 1 +10}
+ {1159545600 32400 0 +09}
+ {1206889200 28800 0 +08}
+ {1427479200 32400 1 +09}
+ {1443193200 28800 0 +08}
+ {1458928800 32400 1 +09}
+ {1474642800 28800 0 +08}
}
diff --git a/library/tzdata/Asia/Dhaka b/library/tzdata/Asia/Dhaka
index 6e8a334..0dc3987 100644
--- a/library/tzdata/Asia/Dhaka
+++ b/library/tzdata/Asia/Dhaka
@@ -3,12 +3,11 @@
set TZData(:Asia/Dhaka) {
{-9223372036854775808 21700 0 LMT}
{-2524543300 21200 0 HMT}
- {-891582800 23400 0 BURT}
- {-872058600 19800 0 IST}
- {-862637400 23400 0 BURT}
- {-576138600 21600 0 DACT}
- {38772000 21600 0 BDT}
- {1230746400 21600 0 BDT}
- {1245430800 25200 1 BDST}
- {1262278800 21600 0 BDT}
+ {-891582800 23400 0 +0630}
+ {-872058600 19800 0 +0530}
+ {-862637400 23400 0 +0630}
+ {-576138600 21600 0 +06}
+ {1230746400 21600 0 +06}
+ {1245430800 25200 1 +07}
+ {1262278800 21600 0 +06}
}
diff --git a/library/tzdata/Asia/Dili b/library/tzdata/Asia/Dili
index f783557..89cf22f 100644
--- a/library/tzdata/Asia/Dili
+++ b/library/tzdata/Asia/Dili
@@ -2,9 +2,8 @@
set TZData(:Asia/Dili) {
{-9223372036854775808 30140 0 LMT}
- {-1830414140 28800 0 TLT}
- {-879152400 32400 0 JST}
- {-766054800 32400 0 TLT}
- {199897200 28800 0 WITA}
- {969120000 32400 0 TLT}
+ {-1830414140 28800 0 +08}
+ {-879152400 32400 0 +09}
+ {199897200 28800 0 +08}
+ {969120000 32400 0 +09}
}
diff --git a/library/tzdata/Asia/Dubai b/library/tzdata/Asia/Dubai
index b8730e5..6c18e79 100644
--- a/library/tzdata/Asia/Dubai
+++ b/library/tzdata/Asia/Dubai
@@ -2,5 +2,5 @@
set TZData(:Asia/Dubai) {
{-9223372036854775808 13272 0 LMT}
- {-1577936472 14400 0 GST}
+ {-1577936472 14400 0 +04}
}
diff --git a/library/tzdata/Asia/Ho_Chi_Minh b/library/tzdata/Asia/Ho_Chi_Minh
index 9da89f4..b4e749b 100644
--- a/library/tzdata/Asia/Ho_Chi_Minh
+++ b/library/tzdata/Asia/Ho_Chi_Minh
@@ -3,12 +3,12 @@
set TZData(:Asia/Ho_Chi_Minh) {
{-9223372036854775808 25600 0 LMT}
{-2004073600 25590 0 PLMT}
- {-1851577590 25200 0 ICT}
- {-852105600 28800 0 IDT}
- {-782643600 32400 0 JST}
- {-767869200 25200 0 ICT}
- {-718095600 28800 0 IDT}
- {-457776000 25200 0 ICT}
- {-315648000 28800 0 IDT}
- {171820800 25200 0 ICT}
+ {-1851577590 25200 0 +07}
+ {-852105600 28800 0 +08}
+ {-782643600 32400 0 +09}
+ {-767869200 25200 0 +07}
+ {-718095600 28800 0 +08}
+ {-457776000 25200 0 +07}
+ {-315648000 28800 0 +08}
+ {171820800 25200 0 +07}
}
diff --git a/library/tzdata/Asia/Hovd b/library/tzdata/Asia/Hovd
index 3d200a6..a9c995b 100644
--- a/library/tzdata/Asia/Hovd
+++ b/library/tzdata/Asia/Hovd
@@ -2,220 +2,54 @@
set TZData(:Asia/Hovd) {
{-9223372036854775808 21996 0 LMT}
- {-2032927596 21600 0 HOVT}
- {252439200 25200 0 HOVT}
- {417978000 28800 1 HOVST}
- {433785600 25200 0 HOVT}
- {449600400 28800 1 HOVST}
- {465321600 25200 0 HOVT}
- {481050000 28800 1 HOVST}
- {496771200 25200 0 HOVT}
- {512499600 28800 1 HOVST}
- {528220800 25200 0 HOVT}
- {543949200 28800 1 HOVST}
- {559670400 25200 0 HOVT}
- {575398800 28800 1 HOVST}
- {591120000 25200 0 HOVT}
- {606848400 28800 1 HOVST}
- {622569600 25200 0 HOVT}
- {638298000 28800 1 HOVST}
- {654624000 25200 0 HOVT}
- {670352400 28800 1 HOVST}
- {686073600 25200 0 HOVT}
- {701802000 28800 1 HOVST}
- {717523200 25200 0 HOVT}
- {733251600 28800 1 HOVST}
- {748972800 25200 0 HOVT}
- {764701200 28800 1 HOVST}
- {780422400 25200 0 HOVT}
- {796150800 28800 1 HOVST}
- {811872000 25200 0 HOVT}
- {828205200 28800 1 HOVST}
- {843926400 25200 0 HOVT}
- {859654800 28800 1 HOVST}
- {875376000 25200 0 HOVT}
- {891104400 28800 1 HOVST}
- {906825600 25200 0 HOVT}
- {988398000 28800 1 HOVST}
- {1001700000 25200 0 HOVT}
- {1017428400 28800 1 HOVST}
- {1033149600 25200 0 HOVT}
- {1048878000 28800 1 HOVST}
- {1064599200 25200 0 HOVT}
- {1080327600 28800 1 HOVST}
- {1096048800 25200 0 HOVT}
- {1111777200 28800 1 HOVST}
- {1127498400 25200 0 HOVT}
- {1143226800 28800 1 HOVST}
- {1159552800 25200 0 HOVT}
- {1427482800 28800 1 HOVST}
- {1443196800 25200 0 HOVT}
- {1458932400 28800 1 HOVST}
- {1474646400 25200 0 HOVT}
- {1490382000 28800 1 HOVST}
- {1506700800 25200 0 HOVT}
- {1522436400 28800 1 HOVST}
- {1538150400 25200 0 HOVT}
- {1553886000 28800 1 HOVST}
- {1569600000 25200 0 HOVT}
- {1585335600 28800 1 HOVST}
- {1601049600 25200 0 HOVT}
- {1616785200 28800 1 HOVST}
- {1632499200 25200 0 HOVT}
- {1648234800 28800 1 HOVST}
- {1663948800 25200 0 HOVT}
- {1679684400 28800 1 HOVST}
- {1696003200 25200 0 HOVT}
- {1711738800 28800 1 HOVST}
- {1727452800 25200 0 HOVT}
- {1743188400 28800 1 HOVST}
- {1758902400 25200 0 HOVT}
- {1774638000 28800 1 HOVST}
- {1790352000 25200 0 HOVT}
- {1806087600 28800 1 HOVST}
- {1821801600 25200 0 HOVT}
- {1837537200 28800 1 HOVST}
- {1853856000 25200 0 HOVT}
- {1869591600 28800 1 HOVST}
- {1885305600 25200 0 HOVT}
- {1901041200 28800 1 HOVST}
- {1916755200 25200 0 HOVT}
- {1932490800 28800 1 HOVST}
- {1948204800 25200 0 HOVT}
- {1963940400 28800 1 HOVST}
- {1979654400 25200 0 HOVT}
- {1995390000 28800 1 HOVST}
- {2011104000 25200 0 HOVT}
- {2026839600 28800 1 HOVST}
- {2043158400 25200 0 HOVT}
- {2058894000 28800 1 HOVST}
- {2074608000 25200 0 HOVT}
- {2090343600 28800 1 HOVST}
- {2106057600 25200 0 HOVT}
- {2121793200 28800 1 HOVST}
- {2137507200 25200 0 HOVT}
- {2153242800 28800 1 HOVST}
- {2168956800 25200 0 HOVT}
- {2184692400 28800 1 HOVST}
- {2200406400 25200 0 HOVT}
- {2216746800 28800 1 HOVST}
- {2232460800 25200 0 HOVT}
- {2248196400 28800 1 HOVST}
- {2263910400 25200 0 HOVT}
- {2279646000 28800 1 HOVST}
- {2295360000 25200 0 HOVT}
- {2311095600 28800 1 HOVST}
- {2326809600 25200 0 HOVT}
- {2342545200 28800 1 HOVST}
- {2358259200 25200 0 HOVT}
- {2373994800 28800 1 HOVST}
- {2390313600 25200 0 HOVT}
- {2406049200 28800 1 HOVST}
- {2421763200 25200 0 HOVT}
- {2437498800 28800 1 HOVST}
- {2453212800 25200 0 HOVT}
- {2468948400 28800 1 HOVST}
- {2484662400 25200 0 HOVT}
- {2500398000 28800 1 HOVST}
- {2516112000 25200 0 HOVT}
- {2531847600 28800 1 HOVST}
- {2547561600 25200 0 HOVT}
- {2563297200 28800 1 HOVST}
- {2579616000 25200 0 HOVT}
- {2595351600 28800 1 HOVST}
- {2611065600 25200 0 HOVT}
- {2626801200 28800 1 HOVST}
- {2642515200 25200 0 HOVT}
- {2658250800 28800 1 HOVST}
- {2673964800 25200 0 HOVT}
- {2689700400 28800 1 HOVST}
- {2705414400 25200 0 HOVT}
- {2721150000 28800 1 HOVST}
- {2737468800 25200 0 HOVT}
- {2753204400 28800 1 HOVST}
- {2768918400 25200 0 HOVT}
- {2784654000 28800 1 HOVST}
- {2800368000 25200 0 HOVT}
- {2816103600 28800 1 HOVST}
- {2831817600 25200 0 HOVT}
- {2847553200 28800 1 HOVST}
- {2863267200 25200 0 HOVT}
- {2879002800 28800 1 HOVST}
- {2894716800 25200 0 HOVT}
- {2910452400 28800 1 HOVST}
- {2926771200 25200 0 HOVT}
- {2942506800 28800 1 HOVST}
- {2958220800 25200 0 HOVT}
- {2973956400 28800 1 HOVST}
- {2989670400 25200 0 HOVT}
- {3005406000 28800 1 HOVST}
- {3021120000 25200 0 HOVT}
- {3036855600 28800 1 HOVST}
- {3052569600 25200 0 HOVT}
- {3068305200 28800 1 HOVST}
- {3084019200 25200 0 HOVT}
- {3100359600 28800 1 HOVST}
- {3116073600 25200 0 HOVT}
- {3131809200 28800 1 HOVST}
- {3147523200 25200 0 HOVT}
- {3163258800 28800 1 HOVST}
- {3178972800 25200 0 HOVT}
- {3194708400 28800 1 HOVST}
- {3210422400 25200 0 HOVT}
- {3226158000 28800 1 HOVST}
- {3241872000 25200 0 HOVT}
- {3257607600 28800 1 HOVST}
- {3273926400 25200 0 HOVT}
- {3289662000 28800 1 HOVST}
- {3305376000 25200 0 HOVT}
- {3321111600 28800 1 HOVST}
- {3336825600 25200 0 HOVT}
- {3352561200 28800 1 HOVST}
- {3368275200 25200 0 HOVT}
- {3384010800 28800 1 HOVST}
- {3399724800 25200 0 HOVT}
- {3415460400 28800 1 HOVST}
- {3431174400 25200 0 HOVT}
- {3446910000 28800 1 HOVST}
- {3463228800 25200 0 HOVT}
- {3478964400 28800 1 HOVST}
- {3494678400 25200 0 HOVT}
- {3510414000 28800 1 HOVST}
- {3526128000 25200 0 HOVT}
- {3541863600 28800 1 HOVST}
- {3557577600 25200 0 HOVT}
- {3573313200 28800 1 HOVST}
- {3589027200 25200 0 HOVT}
- {3604762800 28800 1 HOVST}
- {3621081600 25200 0 HOVT}
- {3636817200 28800 1 HOVST}
- {3652531200 25200 0 HOVT}
- {3668266800 28800 1 HOVST}
- {3683980800 25200 0 HOVT}
- {3699716400 28800 1 HOVST}
- {3715430400 25200 0 HOVT}
- {3731166000 28800 1 HOVST}
- {3746880000 25200 0 HOVT}
- {3762615600 28800 1 HOVST}
- {3778329600 25200 0 HOVT}
- {3794065200 28800 1 HOVST}
- {3810384000 25200 0 HOVT}
- {3826119600 28800 1 HOVST}
- {3841833600 25200 0 HOVT}
- {3857569200 28800 1 HOVST}
- {3873283200 25200 0 HOVT}
- {3889018800 28800 1 HOVST}
- {3904732800 25200 0 HOVT}
- {3920468400 28800 1 HOVST}
- {3936182400 25200 0 HOVT}
- {3951918000 28800 1 HOVST}
- {3967632000 25200 0 HOVT}
- {3983972400 28800 1 HOVST}
- {3999686400 25200 0 HOVT}
- {4015422000 28800 1 HOVST}
- {4031136000 25200 0 HOVT}
- {4046871600 28800 1 HOVST}
- {4062585600 25200 0 HOVT}
- {4078321200 28800 1 HOVST}
- {4094035200 25200 0 HOVT}
+ {-2032927596 21600 0 +06}
+ {252439200 25200 0 +07}
+ {417978000 28800 1 +08}
+ {433785600 25200 0 +07}
+ {449600400 28800 1 +08}
+ {465321600 25200 0 +07}
+ {481050000 28800 1 +08}
+ {496771200 25200 0 +07}
+ {512499600 28800 1 +08}
+ {528220800 25200 0 +07}
+ {543949200 28800 1 +08}
+ {559670400 25200 0 +07}
+ {575398800 28800 1 +08}
+ {591120000 25200 0 +07}
+ {606848400 28800 1 +08}
+ {622569600 25200 0 +07}
+ {638298000 28800 1 +08}
+ {654624000 25200 0 +07}
+ {670352400 28800 1 +08}
+ {686073600 25200 0 +07}
+ {701802000 28800 1 +08}
+ {717523200 25200 0 +07}
+ {733251600 28800 1 +08}
+ {748972800 25200 0 +07}
+ {764701200 28800 1 +08}
+ {780422400 25200 0 +07}
+ {796150800 28800 1 +08}
+ {811872000 25200 0 +07}
+ {828205200 28800 1 +08}
+ {843926400 25200 0 +07}
+ {859654800 28800 1 +08}
+ {875376000 25200 0 +07}
+ {891104400 28800 1 +08}
+ {906825600 25200 0 +07}
+ {988398000 28800 1 +08}
+ {1001700000 25200 0 +07}
+ {1017428400 28800 1 +08}
+ {1033149600 25200 0 +07}
+ {1048878000 28800 1 +08}
+ {1064599200 25200 0 +07}
+ {1080327600 28800 1 +08}
+ {1096048800 25200 0 +07}
+ {1111777200 28800 1 +08}
+ {1127498400 25200 0 +07}
+ {1143226800 28800 1 +08}
+ {1159552800 25200 0 +07}
+ {1427482800 28800 1 +08}
+ {1443196800 25200 0 +07}
+ {1458932400 28800 1 +08}
+ {1474646400 25200 0 +07}
}
diff --git a/library/tzdata/Asia/Jakarta b/library/tzdata/Asia/Jakarta
index 75cd659..21da168 100644
--- a/library/tzdata/Asia/Jakarta
+++ b/library/tzdata/Asia/Jakarta
@@ -3,11 +3,11 @@
set TZData(:Asia/Jakarta) {
{-9223372036854775808 25632 0 LMT}
{-3231299232 25632 0 BMT}
- {-1451719200 26400 0 JAVT}
- {-1172906400 27000 0 WIB}
- {-876641400 32400 0 JST}
- {-766054800 27000 0 WIB}
- {-683883000 28800 0 WIB}
- {-620812800 27000 0 WIB}
+ {-1451719200 26400 0 +0720}
+ {-1172906400 27000 0 +0730}
+ {-876641400 32400 0 +09}
+ {-766054800 27000 0 +0730}
+ {-683883000 28800 0 +08}
+ {-620812800 27000 0 +0730}
{-189415800 25200 0 WIB}
}
diff --git a/library/tzdata/Asia/Jayapura b/library/tzdata/Asia/Jayapura
index f3a4c44..1432488 100644
--- a/library/tzdata/Asia/Jayapura
+++ b/library/tzdata/Asia/Jayapura
@@ -2,7 +2,7 @@
set TZData(:Asia/Jayapura) {
{-9223372036854775808 33768 0 LMT}
- {-1172913768 32400 0 WIT}
- {-799491600 34200 0 ACST}
+ {-1172913768 32400 0 +09}
+ {-799491600 34200 0 +0930}
{-189423000 32400 0 WIT}
}
diff --git a/library/tzdata/Asia/Kabul b/library/tzdata/Asia/Kabul
index 33d7282..3613de4 100644
--- a/library/tzdata/Asia/Kabul
+++ b/library/tzdata/Asia/Kabul
@@ -2,6 +2,6 @@
set TZData(:Asia/Kabul) {
{-9223372036854775808 16608 0 LMT}
- {-2524538208 14400 0 AFT}
- {-788932800 16200 0 AFT}
+ {-2524538208 14400 0 +04}
+ {-788932800 16200 0 +0430}
}
diff --git a/library/tzdata/Asia/Karachi b/library/tzdata/Asia/Karachi
index 669c11a..1d81926 100644
--- a/library/tzdata/Asia/Karachi
+++ b/library/tzdata/Asia/Karachi
@@ -2,10 +2,10 @@
set TZData(:Asia/Karachi) {
{-9223372036854775808 16092 0 LMT}
- {-1988166492 19800 0 IST}
- {-862637400 23400 1 IST}
- {-764145000 19800 0 IST}
- {-576135000 18000 0 KART}
+ {-1988166492 19800 0 +0530}
+ {-862637400 23400 1 +0630}
+ {-764145000 19800 0 +0530}
+ {-576135000 18000 0 +05}
{38775600 18000 0 PKT}
{1018119600 21600 1 PKST}
{1033840800 18000 0 PKT}
diff --git a/library/tzdata/Asia/Kathmandu b/library/tzdata/Asia/Kathmandu
index dbec1f0..f88a5a2 100644
--- a/library/tzdata/Asia/Kathmandu
+++ b/library/tzdata/Asia/Kathmandu
@@ -2,6 +2,6 @@
set TZData(:Asia/Kathmandu) {
{-9223372036854775808 20476 0 LMT}
- {-1577943676 19800 0 IST}
- {504901800 20700 0 NPT}
+ {-1577943676 19800 0 +0530}
+ {504901800 20700 0 +0545}
}
diff --git a/library/tzdata/Asia/Kolkata b/library/tzdata/Asia/Kolkata
index a87bf31..6b3b9fb 100644
--- a/library/tzdata/Asia/Kolkata
+++ b/library/tzdata/Asia/Kolkata
@@ -3,8 +3,8 @@
set TZData(:Asia/Kolkata) {
{-9223372036854775808 21208 0 LMT}
{-2840162008 21200 0 HMT}
- {-891582800 23400 0 BURT}
+ {-891582800 23400 0 +0630}
{-872058600 19800 0 IST}
- {-862637400 23400 1 IST}
+ {-862637400 23400 1 +0630}
{-764145000 19800 0 IST}
}
diff --git a/library/tzdata/Asia/Kuala_Lumpur b/library/tzdata/Asia/Kuala_Lumpur
index 7a54bd6..84eae1d 100644
--- a/library/tzdata/Asia/Kuala_Lumpur
+++ b/library/tzdata/Asia/Kuala_Lumpur
@@ -3,11 +3,11 @@
set TZData(:Asia/Kuala_Lumpur) {
{-9223372036854775808 24406 0 LMT}
{-2177477206 24925 0 SMT}
- {-2038200925 25200 0 MALT}
- {-1167634800 26400 1 MALST}
- {-1073028000 26400 0 MALT}
- {-894180000 27000 0 MALT}
- {-879665400 32400 0 JST}
- {-767005200 27000 0 MALT}
- {378664200 28800 0 MYT}
+ {-2038200925 25200 0 +07}
+ {-1167634800 26400 1 +0720}
+ {-1073028000 26400 0 +0720}
+ {-894180000 27000 0 +0730}
+ {-879665400 32400 0 +09}
+ {-767005200 27000 0 +0730}
+ {378664200 28800 0 +08}
}
diff --git a/library/tzdata/Asia/Kuching b/library/tzdata/Asia/Kuching
index 0f9110c..d6f5ad4 100644
--- a/library/tzdata/Asia/Kuching
+++ b/library/tzdata/Asia/Kuching
@@ -2,23 +2,22 @@
set TZData(:Asia/Kuching) {
{-9223372036854775808 26480 0 LMT}
- {-1383463280 27000 0 BORT}
- {-1167636600 28800 0 BORT}
- {-1082448000 30000 1 BORTST}
- {-1074586800 28800 0 BORT}
- {-1050825600 30000 1 BORTST}
- {-1042964400 28800 0 BORT}
- {-1019289600 30000 1 BORTST}
- {-1011428400 28800 0 BORT}
- {-987753600 30000 1 BORTST}
- {-979892400 28800 0 BORT}
- {-956217600 30000 1 BORTST}
- {-948356400 28800 0 BORT}
- {-924595200 30000 1 BORTST}
- {-916734000 28800 0 BORT}
- {-893059200 30000 1 BORTST}
- {-885198000 28800 0 BORT}
- {-879667200 32400 0 JST}
- {-767005200 28800 0 BORT}
- {378662400 28800 0 MYT}
+ {-1383463280 27000 0 +0730}
+ {-1167636600 28800 0 +08}
+ {-1082448000 30000 1 +0820}
+ {-1074586800 28800 0 +08}
+ {-1050825600 30000 1 +0820}
+ {-1042964400 28800 0 +08}
+ {-1019289600 30000 1 +0820}
+ {-1011428400 28800 0 +08}
+ {-987753600 30000 1 +0820}
+ {-979892400 28800 0 +08}
+ {-956217600 30000 1 +0820}
+ {-948356400 28800 0 +08}
+ {-924595200 30000 1 +0820}
+ {-916734000 28800 0 +08}
+ {-893059200 30000 1 +0820}
+ {-885198000 28800 0 +08}
+ {-879667200 32400 0 +09}
+ {-767005200 28800 0 +08}
}
diff --git a/library/tzdata/Asia/Macau b/library/tzdata/Asia/Macau
index 9d4abfe..8458a8a 100644
--- a/library/tzdata/Asia/Macau
+++ b/library/tzdata/Asia/Macau
@@ -2,45 +2,45 @@
set TZData(:Asia/Macau) {
{-9223372036854775808 27260 0 LMT}
- {-1830411260 28800 0 MOT}
- {-277360200 32400 1 MOST}
- {-257405400 28800 0 MOT}
- {-245910600 32400 1 MOST}
- {-225955800 28800 0 MOT}
- {-214473600 32400 1 MOST}
- {-194506200 28800 0 MOT}
- {-182406600 32400 1 MOST}
- {-163056600 28800 0 MOT}
- {-150969600 32400 1 MOST}
- {-131619600 28800 0 MOT}
- {-117088200 32400 1 MOST}
- {-101367000 28800 0 MOT}
- {-85638600 32400 1 MOST}
- {-69312600 28800 0 MOT}
- {-53584200 32400 1 MOST}
- {-37863000 28800 0 MOT}
- {-22134600 32400 1 MOST}
- {-6413400 28800 0 MOT}
- {9315000 32400 1 MOST}
- {25036200 28800 0 MOT}
- {40764600 32400 1 MOST}
- {56485800 28800 0 MOT}
- {72201600 32400 1 MOST}
- {87922800 28800 0 MOT}
- {103651200 32400 1 MOST}
- {119977200 28800 0 MOT}
- {135705600 32400 1 MOST}
- {151439400 28800 0 MOT}
- {167167800 32400 1 MOST}
- {182889000 28800 0 MOT}
- {198617400 32400 1 MOST}
- {214338600 28800 0 MOT}
- {230067000 32400 1 MOST}
- {245788200 28800 0 MOT}
- {261504000 32400 1 MOST}
- {277225200 28800 0 MOT}
- {292953600 32400 1 MOST}
- {309279600 28800 0 MOT}
- {325008000 32400 1 MOST}
- {340729200 28800 0 MOT}
+ {-1830411260 28800 0 CST}
+ {-277360200 32400 1 CDT}
+ {-257405400 28800 0 CST}
+ {-245910600 32400 1 CDT}
+ {-225955800 28800 0 CST}
+ {-214473600 32400 1 CDT}
+ {-194506200 28800 0 CST}
+ {-182406600 32400 1 CDT}
+ {-163056600 28800 0 CST}
+ {-150969600 32400 1 CDT}
+ {-131619600 28800 0 CST}
+ {-117088200 32400 1 CDT}
+ {-101367000 28800 0 CST}
+ {-85638600 32400 1 CDT}
+ {-69312600 28800 0 CST}
+ {-53584200 32400 1 CDT}
+ {-37863000 28800 0 CST}
+ {-22134600 32400 1 CDT}
+ {-6413400 28800 0 CST}
+ {9315000 32400 1 CDT}
+ {25036200 28800 0 CST}
+ {40764600 32400 1 CDT}
+ {56485800 28800 0 CST}
+ {72201600 32400 1 CDT}
+ {87922800 28800 0 CST}
+ {103651200 32400 1 CDT}
+ {119977200 28800 0 CST}
+ {135705600 32400 1 CDT}
+ {151439400 28800 0 CST}
+ {167167800 32400 1 CDT}
+ {182889000 28800 0 CST}
+ {198617400 32400 1 CDT}
+ {214338600 28800 0 CST}
+ {230067000 32400 1 CDT}
+ {245788200 28800 0 CST}
+ {261504000 32400 1 CDT}
+ {277225200 28800 0 CST}
+ {292953600 32400 1 CDT}
+ {309279600 28800 0 CST}
+ {325008000 32400 1 CDT}
+ {340729200 28800 0 CST}
}
diff --git a/library/tzdata/Asia/Makassar b/library/tzdata/Asia/Makassar
index be947f3..1be5c59 100644
--- a/library/tzdata/Asia/Makassar
+++ b/library/tzdata/Asia/Makassar
@@ -3,7 +3,7 @@
set TZData(:Asia/Makassar) {
{-9223372036854775808 28656 0 LMT}
{-1577951856 28656 0 MMT}
- {-1172908656 28800 0 WITA}
- {-880272000 32400 0 JST}
+ {-1172908656 28800 0 +08}
+ {-880272000 32400 0 +09}
{-766054800 28800 0 WITA}
}
diff --git a/library/tzdata/Asia/Manila b/library/tzdata/Asia/Manila
index 9cc25e8..987919a 100644
--- a/library/tzdata/Asia/Manila
+++ b/library/tzdata/Asia/Manila
@@ -3,13 +3,13 @@
set TZData(:Asia/Manila) {
{-9223372036854775808 -57360 0 LMT}
{-3944621040 29040 0 LMT}
- {-2229321840 28800 0 PHT}
- {-1046678400 32400 1 PHST}
- {-1038733200 28800 0 PHT}
- {-873273600 32400 0 JST}
- {-794221200 28800 0 PHT}
- {-496224000 32400 1 PHST}
- {-489315600 28800 0 PHT}
- {259344000 32400 1 PHST}
- {275151600 28800 0 PHT}
+ {-2229321840 28800 0 +08}
+ {-1046678400 32400 1 +09}
+ {-1038733200 28800 0 +08}
+ {-873273600 32400 0 +09}
+ {-794221200 28800 0 +08}
+ {-496224000 32400 1 +09}
+ {-489315600 28800 0 +08}
+ {259344000 32400 1 +09}
+ {275151600 28800 0 +08}
}
diff --git a/library/tzdata/Asia/Oral b/library/tzdata/Asia/Oral
index 962111b..624a59d 100644
--- a/library/tzdata/Asia/Oral
+++ b/library/tzdata/Asia/Oral
@@ -2,8 +2,8 @@
set TZData(:Asia/Oral) {
{-9223372036854775808 12324 0 LMT}
- {-1441164324 14400 0 +04}
- {-1247544000 18000 0 +05}
+ {-1441164324 10800 0 +03}
+ {-1247540400 18000 0 +05}
{354913200 21600 1 +06}
{370720800 21600 0 +06}
{386445600 18000 0 +05}
diff --git a/library/tzdata/Asia/Pontianak b/library/tzdata/Asia/Pontianak
index 728b552..ed59e9d 100644
--- a/library/tzdata/Asia/Pontianak
+++ b/library/tzdata/Asia/Pontianak
@@ -3,11 +3,11 @@
set TZData(:Asia/Pontianak) {
{-9223372036854775808 26240 0 LMT}
{-1946186240 26240 0 PMT}
- {-1172906240 27000 0 WIB}
- {-881220600 32400 0 JST}
- {-766054800 27000 0 WIB}
- {-683883000 28800 0 WIB}
- {-620812800 27000 0 WIB}
+ {-1172906240 27000 0 +0730}
+ {-881220600 32400 0 +09}
+ {-766054800 27000 0 +0730}
+ {-683883000 28800 0 +08}
+ {-620812800 27000 0 +0730}
{-189415800 28800 0 WITA}
{567964800 25200 0 WIB}
}
diff --git a/library/tzdata/Asia/Pyongyang b/library/tzdata/Asia/Pyongyang
index 4ade8e6..72e7f23 100644
--- a/library/tzdata/Asia/Pyongyang
+++ b/library/tzdata/Asia/Pyongyang
@@ -3,8 +3,7 @@
set TZData(:Asia/Pyongyang) {
{-9223372036854775808 30180 0 LMT}
{-1948782180 30600 0 KST}
- {-1830414600 32400 0 JCST}
- {-1017824400 32400 0 JST}
+ {-1830414600 32400 0 JST}
{-768646800 32400 0 KST}
{1439564400 30600 0 KST}
}
diff --git a/library/tzdata/Asia/Qatar b/library/tzdata/Asia/Qatar
index bfb4eb4..10b4f6d 100644
--- a/library/tzdata/Asia/Qatar
+++ b/library/tzdata/Asia/Qatar
@@ -2,6 +2,6 @@
set TZData(:Asia/Qatar) {
{-9223372036854775808 12368 0 LMT}
- {-1577935568 14400 0 GST}
- {76190400 10800 0 AST}
+ {-1577935568 14400 0 +04}
+ {76190400 10800 0 +03}
}
diff --git a/library/tzdata/Asia/Riyadh b/library/tzdata/Asia/Riyadh
index 12c9e24..af5efa8 100644
--- a/library/tzdata/Asia/Riyadh
+++ b/library/tzdata/Asia/Riyadh
@@ -2,5 +2,5 @@
set TZData(:Asia/Riyadh) {
{-9223372036854775808 11212 0 LMT}
- {-719636812 10800 0 AST}
+ {-719636812 10800 0 +03}
}
diff --git a/library/tzdata/Asia/Seoul b/library/tzdata/Asia/Seoul
index c24a1d8..b226eb5 100644
--- a/library/tzdata/Asia/Seoul
+++ b/library/tzdata/Asia/Seoul
@@ -3,8 +3,7 @@
set TZData(:Asia/Seoul) {
{-9223372036854775808 30472 0 LMT}
{-1948782472 30600 0 KST}
- {-1830414600 32400 0 JCST}
- {-1017824400 32400 0 JST}
+ {-1830414600 32400 0 JST}
{-767350800 32400 0 KST}
{-498128400 30600 0 KST}
{-462702600 34200 1 KDT}
diff --git a/library/tzdata/Asia/Singapore b/library/tzdata/Asia/Singapore
index e2f226e..f10eb1f 100644
--- a/library/tzdata/Asia/Singapore
+++ b/library/tzdata/Asia/Singapore
@@ -3,12 +3,11 @@
set TZData(:Asia/Singapore) {
{-9223372036854775808 24925 0 LMT}
{-2177477725 24925 0 SMT}
- {-2038200925 25200 0 MALT}
- {-1167634800 26400 1 MALST}
- {-1073028000 26400 0 MALT}
- {-894180000 27000 0 MALT}
- {-879665400 32400 0 JST}
- {-767005200 27000 0 MALT}
- {-138785400 27000 0 SGT}
- {378664200 28800 0 SGT}
+ {-2038200925 25200 0 +07}
+ {-1167634800 26400 1 +0720}
+ {-1073028000 26400 0 +0720}
+ {-894180000 27000 0 +0730}
+ {-879665400 32400 0 +09}
+ {-767005200 27000 0 +0730}
+ {378664200 28800 0 +08}
}
diff --git a/library/tzdata/Asia/Taipei b/library/tzdata/Asia/Taipei
index 61c77ef..cb8fb89 100644
--- a/library/tzdata/Asia/Taipei
+++ b/library/tzdata/Asia/Taipei
@@ -2,7 +2,7 @@
set TZData(:Asia/Taipei) {
{-9223372036854775808 29160 0 LMT}
- {-2335248360 28800 0 JWST}
+ {-2335248360 28800 0 CST}
{-1017820800 32400 0 JST}
{-766224000 28800 0 CST}
{-745833600 32400 1 CDT}
diff --git a/library/tzdata/Asia/Tehran b/library/tzdata/Asia/Tehran
index 5fd840d..a8912ce 100644
--- a/library/tzdata/Asia/Tehran
+++ b/library/tzdata/Asia/Tehran
@@ -3,227 +3,227 @@
set TZData(:Asia/Tehran) {
{-9223372036854775808 12344 0 LMT}
{-1704165944 12344 0 TMT}
- {-757394744 12600 0 IRST}
- {247177800 14400 0 IRST}
- {259272000 18000 1 IRDT}
- {277758000 14400 0 IRST}
- {283982400 12600 0 IRST}
- {290809800 16200 1 IRDT}
- {306531000 12600 0 IRST}
- {322432200 16200 1 IRDT}
- {338499000 12600 0 IRST}
- {673216200 16200 1 IRDT}
- {685481400 12600 0 IRST}
- {701209800 16200 1 IRDT}
- {717103800 12600 0 IRST}
- {732745800 16200 1 IRDT}
- {748639800 12600 0 IRST}
- {764281800 16200 1 IRDT}
- {780175800 12600 0 IRST}
- {795817800 16200 1 IRDT}
- {811711800 12600 0 IRST}
- {827353800 16200 1 IRDT}
- {843247800 12600 0 IRST}
- {858976200 16200 1 IRDT}
- {874870200 12600 0 IRST}
- {890512200 16200 1 IRDT}
- {906406200 12600 0 IRST}
- {922048200 16200 1 IRDT}
- {937942200 12600 0 IRST}
- {953584200 16200 1 IRDT}
- {969478200 12600 0 IRST}
- {985206600 16200 1 IRDT}
- {1001100600 12600 0 IRST}
- {1016742600 16200 1 IRDT}
- {1032636600 12600 0 IRST}
- {1048278600 16200 1 IRDT}
- {1064172600 12600 0 IRST}
- {1079814600 16200 1 IRDT}
- {1095708600 12600 0 IRST}
- {1111437000 16200 1 IRDT}
- {1127331000 12600 0 IRST}
- {1206045000 16200 1 IRDT}
- {1221939000 12600 0 IRST}
- {1237667400 16200 1 IRDT}
- {1253561400 12600 0 IRST}
- {1269203400 16200 1 IRDT}
- {1285097400 12600 0 IRST}
- {1300739400 16200 1 IRDT}
- {1316633400 12600 0 IRST}
- {1332275400 16200 1 IRDT}
- {1348169400 12600 0 IRST}
- {1363897800 16200 1 IRDT}
- {1379791800 12600 0 IRST}
- {1395433800 16200 1 IRDT}
- {1411327800 12600 0 IRST}
- {1426969800 16200 1 IRDT}
- {1442863800 12600 0 IRST}
- {1458505800 16200 1 IRDT}
- {1474399800 12600 0 IRST}
- {1490128200 16200 1 IRDT}
- {1506022200 12600 0 IRST}
- {1521664200 16200 1 IRDT}
- {1537558200 12600 0 IRST}
- {1553200200 16200 1 IRDT}
- {1569094200 12600 0 IRST}
- {1584736200 16200 1 IRDT}
- {1600630200 12600 0 IRST}
- {1616358600 16200 1 IRDT}
- {1632252600 12600 0 IRST}
- {1647894600 16200 1 IRDT}
- {1663788600 12600 0 IRST}
- {1679430600 16200 1 IRDT}
- {1695324600 12600 0 IRST}
- {1710966600 16200 1 IRDT}
- {1726860600 12600 0 IRST}
- {1742589000 16200 1 IRDT}
- {1758483000 12600 0 IRST}
- {1774125000 16200 1 IRDT}
- {1790019000 12600 0 IRST}
- {1805661000 16200 1 IRDT}
- {1821555000 12600 0 IRST}
- {1837197000 16200 1 IRDT}
- {1853091000 12600 0 IRST}
- {1868733000 16200 1 IRDT}
- {1884627000 12600 0 IRST}
- {1900355400 16200 1 IRDT}
- {1916249400 12600 0 IRST}
- {1931891400 16200 1 IRDT}
- {1947785400 12600 0 IRST}
- {1963427400 16200 1 IRDT}
- {1979321400 12600 0 IRST}
- {1994963400 16200 1 IRDT}
- {2010857400 12600 0 IRST}
- {2026585800 16200 1 IRDT}
- {2042479800 12600 0 IRST}
- {2058121800 16200 1 IRDT}
- {2074015800 12600 0 IRST}
- {2089657800 16200 1 IRDT}
- {2105551800 12600 0 IRST}
- {2121193800 16200 1 IRDT}
- {2137087800 12600 0 IRST}
- {2152729800 16200 1 IRDT}
- {2168623800 12600 0 IRST}
- {2184265800 16200 1 IRDT}
- {2200159800 12600 0 IRST}
- {2215888200 16200 1 IRDT}
- {2231782200 12600 0 IRST}
- {2247424200 16200 1 IRDT}
- {2263318200 12600 0 IRST}
- {2278960200 16200 1 IRDT}
- {2294854200 12600 0 IRST}
- {2310496200 16200 1 IRDT}
- {2326390200 12600 0 IRST}
- {2342118600 16200 1 IRDT}
- {2358012600 12600 0 IRST}
- {2373654600 16200 1 IRDT}
- {2389548600 12600 0 IRST}
- {2405190600 16200 1 IRDT}
- {2421084600 12600 0 IRST}
- {2436726600 16200 1 IRDT}
- {2452620600 12600 0 IRST}
- {2468349000 16200 1 IRDT}
- {2484243000 12600 0 IRST}
- {2499885000 16200 1 IRDT}
- {2515779000 12600 0 IRST}
- {2531421000 16200 1 IRDT}
- {2547315000 12600 0 IRST}
- {2562957000 16200 1 IRDT}
- {2578851000 12600 0 IRST}
- {2594579400 16200 1 IRDT}
- {2610473400 12600 0 IRST}
- {2626115400 16200 1 IRDT}
- {2642009400 12600 0 IRST}
- {2657651400 16200 1 IRDT}
- {2673545400 12600 0 IRST}
- {2689187400 16200 1 IRDT}
- {2705081400 12600 0 IRST}
- {2720809800 16200 1 IRDT}
- {2736703800 12600 0 IRST}
- {2752345800 16200 1 IRDT}
- {2768239800 12600 0 IRST}
- {2783881800 16200 1 IRDT}
- {2799775800 12600 0 IRST}
- {2815417800 16200 1 IRDT}
- {2831311800 12600 0 IRST}
- {2847040200 16200 1 IRDT}
- {2862934200 12600 0 IRST}
- {2878576200 16200 1 IRDT}
- {2894470200 12600 0 IRST}
- {2910112200 16200 1 IRDT}
- {2926006200 12600 0 IRST}
- {2941648200 16200 1 IRDT}
- {2957542200 12600 0 IRST}
- {2973270600 16200 1 IRDT}
- {2989164600 12600 0 IRST}
- {3004806600 16200 1 IRDT}
- {3020700600 12600 0 IRST}
- {3036342600 16200 1 IRDT}
- {3052236600 12600 0 IRST}
- {3067878600 16200 1 IRDT}
- {3083772600 12600 0 IRST}
- {3099501000 16200 1 IRDT}
- {3115395000 12600 0 IRST}
- {3131037000 16200 1 IRDT}
- {3146931000 12600 0 IRST}
- {3162573000 16200 1 IRDT}
- {3178467000 12600 0 IRST}
- {3194109000 16200 1 IRDT}
- {3210003000 12600 0 IRST}
- {3225731400 16200 1 IRDT}
- {3241625400 12600 0 IRST}
- {3257267400 16200 1 IRDT}
- {3273161400 12600 0 IRST}
- {3288803400 16200 1 IRDT}
- {3304697400 12600 0 IRST}
- {3320339400 16200 1 IRDT}
- {3336233400 12600 0 IRST}
- {3351961800 16200 1 IRDT}
- {3367855800 12600 0 IRST}
- {3383497800 16200 1 IRDT}
- {3399391800 12600 0 IRST}
- {3415033800 16200 1 IRDT}
- {3430927800 12600 0 IRST}
- {3446569800 16200 1 IRDT}
- {3462463800 12600 0 IRST}
- {3478192200 16200 1 IRDT}
- {3494086200 12600 0 IRST}
- {3509728200 16200 1 IRDT}
- {3525622200 12600 0 IRST}
- {3541264200 16200 1 IRDT}
- {3557158200 12600 0 IRST}
- {3572800200 16200 1 IRDT}
- {3588694200 12600 0 IRST}
- {3604422600 16200 1 IRDT}
- {3620316600 12600 0 IRST}
- {3635958600 16200 1 IRDT}
- {3651852600 12600 0 IRST}
- {3667494600 16200 1 IRDT}
- {3683388600 12600 0 IRST}
- {3699030600 16200 1 IRDT}
- {3714924600 12600 0 IRST}
- {3730653000 16200 1 IRDT}
- {3746547000 12600 0 IRST}
- {3762189000 16200 1 IRDT}
- {3778083000 12600 0 IRST}
- {3793725000 16200 1 IRDT}
- {3809619000 12600 0 IRST}
- {3825261000 16200 1 IRDT}
- {3841155000 12600 0 IRST}
- {3856883400 16200 1 IRDT}
- {3872777400 12600 0 IRST}
- {3888419400 16200 1 IRDT}
- {3904313400 12600 0 IRST}
- {3919955400 16200 1 IRDT}
- {3935849400 12600 0 IRST}
- {3951491400 16200 1 IRDT}
- {3967385400 12600 0 IRST}
- {3983113800 16200 1 IRDT}
- {3999007800 12600 0 IRST}
- {4014649800 16200 1 IRDT}
- {4030543800 12600 0 IRST}
- {4046185800 16200 1 IRDT}
- {4062079800 12600 0 IRST}
- {4077721800 16200 1 IRDT}
- {4093615800 12600 0 IRST}
+ {-757394744 12600 0 +0330}
+ {247177800 14400 0 +05}
+ {259272000 18000 1 +05}
+ {277758000 14400 0 +05}
+ {283982400 12600 0 +0430}
+ {290809800 16200 1 +0430}
+ {306531000 12600 0 +0430}
+ {322432200 16200 1 +0430}
+ {338499000 12600 0 +0430}
+ {673216200 16200 1 +0430}
+ {685481400 12600 0 +0430}
+ {701209800 16200 1 +0430}
+ {717103800 12600 0 +0430}
+ {732745800 16200 1 +0430}
+ {748639800 12600 0 +0430}
+ {764281800 16200 1 +0430}
+ {780175800 12600 0 +0430}
+ {795817800 16200 1 +0430}
+ {811711800 12600 0 +0430}
+ {827353800 16200 1 +0430}
+ {843247800 12600 0 +0430}
+ {858976200 16200 1 +0430}
+ {874870200 12600 0 +0430}
+ {890512200 16200 1 +0430}
+ {906406200 12600 0 +0430}
+ {922048200 16200 1 +0430}
+ {937942200 12600 0 +0430}
+ {953584200 16200 1 +0430}
+ {969478200 12600 0 +0430}
+ {985206600 16200 1 +0430}
+ {1001100600 12600 0 +0430}
+ {1016742600 16200 1 +0430}
+ {1032636600 12600 0 +0430}
+ {1048278600 16200 1 +0430}
+ {1064172600 12600 0 +0430}
+ {1079814600 16200 1 +0430}
+ {1095708600 12600 0 +0430}
+ {1111437000 16200 1 +0430}
+ {1127331000 12600 0 +0430}
+ {1206045000 16200 1 +0430}
+ {1221939000 12600 0 +0430}
+ {1237667400 16200 1 +0430}
+ {1253561400 12600 0 +0430}
+ {1269203400 16200 1 +0430}
+ {1285097400 12600 0 +0430}
+ {1300739400 16200 1 +0430}
+ {1316633400 12600 0 +0430}
+ {1332275400 16200 1 +0430}
+ {1348169400 12600 0 +0430}
+ {1363897800 16200 1 +0430}
+ {1379791800 12600 0 +0430}
+ {1395433800 16200 1 +0430}
+ {1411327800 12600 0 +0430}
+ {1426969800 16200 1 +0430}
+ {1442863800 12600 0 +0430}
+ {1458505800 16200 1 +0430}
+ {1474399800 12600 0 +0430}
+ {1490128200 16200 1 +0430}
+ {1506022200 12600 0 +0430}
+ {1521664200 16200 1 +0430}
+ {1537558200 12600 0 +0430}
+ {1553200200 16200 1 +0430}
+ {1569094200 12600 0 +0430}
+ {1584736200 16200 1 +0430}
+ {1600630200 12600 0 +0430}
+ {1616358600 16200 1 +0430}
+ {1632252600 12600 0 +0430}
+ {1647894600 16200 1 +0430}
+ {1663788600 12600 0 +0430}
+ {1679430600 16200 1 +0430}
+ {1695324600 12600 0 +0430}
+ {1710966600 16200 1 +0430}
+ {1726860600 12600 0 +0430}
+ {1742589000 16200 1 +0430}
+ {1758483000 12600 0 +0430}
+ {1774125000 16200 1 +0430}
+ {1790019000 12600 0 +0430}
+ {1805661000 16200 1 +0430}
+ {1821555000 12600 0 +0430}
+ {1837197000 16200 1 +0430}
+ {1853091000 12600 0 +0430}
+ {1868733000 16200 1 +0430}
+ {1884627000 12600 0 +0430}
+ {1900355400 16200 1 +0430}
+ {1916249400 12600 0 +0430}
+ {1931891400 16200 1 +0430}
+ {1947785400 12600 0 +0430}
+ {1963427400 16200 1 +0430}
+ {1979321400 12600 0 +0430}
+ {1994963400 16200 1 +0430}
+ {2010857400 12600 0 +0430}
+ {2026585800 16200 1 +0430}
+ {2042479800 12600 0 +0430}
+ {2058121800 16200 1 +0430}
+ {2074015800 12600 0 +0430}
+ {2089657800 16200 1 +0430}
+ {2105551800 12600 0 +0430}
+ {2121193800 16200 1 +0430}
+ {2137087800 12600 0 +0430}
+ {2152729800 16200 1 +0430}
+ {2168623800 12600 0 +0430}
+ {2184265800 16200 1 +0430}
+ {2200159800 12600 0 +0430}
+ {2215888200 16200 1 +0430}
+ {2231782200 12600 0 +0430}
+ {2247424200 16200 1 +0430}
+ {2263318200 12600 0 +0430}
+ {2278960200 16200 1 +0430}
+ {2294854200 12600 0 +0430}
+ {2310496200 16200 1 +0430}
+ {2326390200 12600 0 +0430}
+ {2342118600 16200 1 +0430}
+ {2358012600 12600 0 +0430}
+ {2373654600 16200 1 +0430}
+ {2389548600 12600 0 +0430}
+ {2405190600 16200 1 +0430}
+ {2421084600 12600 0 +0430}
+ {2436726600 16200 1 +0430}
+ {2452620600 12600 0 +0430}
+ {2468349000 16200 1 +0430}
+ {2484243000 12600 0 +0430}
+ {2499885000 16200 1 +0430}
+ {2515779000 12600 0 +0430}
+ {2531421000 16200 1 +0430}
+ {2547315000 12600 0 +0430}
+ {2562957000 16200 1 +0430}
+ {2578851000 12600 0 +0430}
+ {2594579400 16200 1 +0430}
+ {2610473400 12600 0 +0430}
+ {2626115400 16200 1 +0430}
+ {2642009400 12600 0 +0430}
+ {2657651400 16200 1 +0430}
+ {2673545400 12600 0 +0430}
+ {2689187400 16200 1 +0430}
+ {2705081400 12600 0 +0430}
+ {2720809800 16200 1 +0430}
+ {2736703800 12600 0 +0430}
+ {2752345800 16200 1 +0430}
+ {2768239800 12600 0 +0430}
+ {2783881800 16200 1 +0430}
+ {2799775800 12600 0 +0430}
+ {2815417800 16200 1 +0430}
+ {2831311800 12600 0 +0430}
+ {2847040200 16200 1 +0430}
+ {2862934200 12600 0 +0430}
+ {2878576200 16200 1 +0430}
+ {2894470200 12600 0 +0430}
+ {2910112200 16200 1 +0430}
+ {2926006200 12600 0 +0430}
+ {2941648200 16200 1 +0430}
+ {2957542200 12600 0 +0430}
+ {2973270600 16200 1 +0430}
+ {2989164600 12600 0 +0430}
+ {3004806600 16200 1 +0430}
+ {3020700600 12600 0 +0430}
+ {3036342600 16200 1 +0430}
+ {3052236600 12600 0 +0430}
+ {3067878600 16200 1 +0430}
+ {3083772600 12600 0 +0430}
+ {3099501000 16200 1 +0430}
+ {3115395000 12600 0 +0430}
+ {3131037000 16200 1 +0430}
+ {3146931000 12600 0 +0430}
+ {3162573000 16200 1 +0430}
+ {3178467000 12600 0 +0430}
+ {3194109000 16200 1 +0430}
+ {3210003000 12600 0 +0430}
+ {3225731400 16200 1 +0430}
+ {3241625400 12600 0 +0430}
+ {3257267400 16200 1 +0430}
+ {3273161400 12600 0 +0430}
+ {3288803400 16200 1 +0430}
+ {3304697400 12600 0 +0430}
+ {3320339400 16200 1 +0430}
+ {3336233400 12600 0 +0430}
+ {3351961800 16200 1 +0430}
+ {3367855800 12600 0 +0430}
+ {3383497800 16200 1 +0430}
+ {3399391800 12600 0 +0430}
+ {3415033800 16200 1 +0430}
+ {3430927800 12600 0 +0430}
+ {3446569800 16200 1 +0430}
+ {3462463800 12600 0 +0430}
+ {3478192200 16200 1 +0430}
+ {3494086200 12600 0 +0430}
+ {3509728200 16200 1 +0430}
+ {3525622200 12600 0 +0430}
+ {3541264200 16200 1 +0430}
+ {3557158200 12600 0 +0430}
+ {3572800200 16200 1 +0430}
+ {3588694200 12600 0 +0430}
+ {3604422600 16200 1 +0430}
+ {3620316600 12600 0 +0430}
+ {3635958600 16200 1 +0430}
+ {3651852600 12600 0 +0430}
+ {3667494600 16200 1 +0430}
+ {3683388600 12600 0 +0430}
+ {3699030600 16200 1 +0430}
+ {3714924600 12600 0 +0430}
+ {3730653000 16200 1 +0430}
+ {3746547000 12600 0 +0430}
+ {3762189000 16200 1 +0430}
+ {3778083000 12600 0 +0430}
+ {3793725000 16200 1 +0430}
+ {3809619000 12600 0 +0430}
+ {3825261000 16200 1 +0430}
+ {3841155000 12600 0 +0430}
+ {3856883400 16200 1 +0430}
+ {3872777400 12600 0 +0430}
+ {3888419400 16200 1 +0430}
+ {3904313400 12600 0 +0430}
+ {3919955400 16200 1 +0430}
+ {3935849400 12600 0 +0430}
+ {3951491400 16200 1 +0430}
+ {3967385400 12600 0 +0430}
+ {3983113800 16200 1 +0430}
+ {3999007800 12600 0 +0430}
+ {4014649800 16200 1 +0430}
+ {4030543800 12600 0 +0430}
+ {4046185800 16200 1 +0430}
+ {4062079800 12600 0 +0430}
+ {4077721800 16200 1 +0430}
+ {4093615800 12600 0 +0430}
}
diff --git a/library/tzdata/Asia/Thimphu b/library/tzdata/Asia/Thimphu
index 8c981de..55c3d7f 100644
--- a/library/tzdata/Asia/Thimphu
+++ b/library/tzdata/Asia/Thimphu
@@ -2,6 +2,6 @@
set TZData(:Asia/Thimphu) {
{-9223372036854775808 21516 0 LMT}
- {-706341516 19800 0 IST}
- {560025000 21600 0 BTT}
+ {-706341516 19800 0 +0530}
+ {560025000 21600 0 +06}
}
diff --git a/library/tzdata/Asia/Tokyo b/library/tzdata/Asia/Tokyo
index 5bfc75c..10add1c 100644
--- a/library/tzdata/Asia/Tokyo
+++ b/library/tzdata/Asia/Tokyo
@@ -3,8 +3,6 @@
set TZData(:Asia/Tokyo) {
{-9223372036854775808 33539 0 LMT}
{-2587712400 32400 0 JST}
- {-2335251600 32400 0 JCST}
- {-1017824400 32400 0 JST}
{-683794800 36000 1 JDT}
{-672393600 32400 0 JST}
{-654764400 36000 1 JDT}
diff --git a/library/tzdata/Asia/Ulaanbaatar b/library/tzdata/Asia/Ulaanbaatar
index 93e066c..e0ba7ab 100644
--- a/library/tzdata/Asia/Ulaanbaatar
+++ b/library/tzdata/Asia/Ulaanbaatar
@@ -2,220 +2,54 @@
set TZData(:Asia/Ulaanbaatar) {
{-9223372036854775808 25652 0 LMT}
- {-2032931252 25200 0 ULAT}
- {252435600 28800 0 ULAT}
- {417974400 32400 1 ULAST}
- {433782000 28800 0 ULAT}
- {449596800 32400 1 ULAST}
- {465318000 28800 0 ULAT}
- {481046400 32400 1 ULAST}
- {496767600 28800 0 ULAT}
- {512496000 32400 1 ULAST}
- {528217200 28800 0 ULAT}
- {543945600 32400 1 ULAST}
- {559666800 28800 0 ULAT}
- {575395200 32400 1 ULAST}
- {591116400 28800 0 ULAT}
- {606844800 32400 1 ULAST}
- {622566000 28800 0 ULAT}
- {638294400 32400 1 ULAST}
- {654620400 28800 0 ULAT}
- {670348800 32400 1 ULAST}
- {686070000 28800 0 ULAT}
- {701798400 32400 1 ULAST}
- {717519600 28800 0 ULAT}
- {733248000 32400 1 ULAST}
- {748969200 28800 0 ULAT}
- {764697600 32400 1 ULAST}
- {780418800 28800 0 ULAT}
- {796147200 32400 1 ULAST}
- {811868400 28800 0 ULAT}
- {828201600 32400 1 ULAST}
- {843922800 28800 0 ULAT}
- {859651200 32400 1 ULAST}
- {875372400 28800 0 ULAT}
- {891100800 32400 1 ULAST}
- {906822000 28800 0 ULAT}
- {988394400 32400 1 ULAST}
- {1001696400 28800 0 ULAT}
- {1017424800 32400 1 ULAST}
- {1033146000 28800 0 ULAT}
- {1048874400 32400 1 ULAST}
- {1064595600 28800 0 ULAT}
- {1080324000 32400 1 ULAST}
- {1096045200 28800 0 ULAT}
- {1111773600 32400 1 ULAST}
- {1127494800 28800 0 ULAT}
- {1143223200 32400 1 ULAST}
- {1159549200 28800 0 ULAT}
- {1427479200 32400 1 ULAST}
- {1443193200 28800 0 ULAT}
- {1458928800 32400 1 ULAST}
- {1474642800 28800 0 ULAT}
- {1490378400 32400 1 ULAST}
- {1506697200 28800 0 ULAT}
- {1522432800 32400 1 ULAST}
- {1538146800 28800 0 ULAT}
- {1553882400 32400 1 ULAST}
- {1569596400 28800 0 ULAT}
- {1585332000 32400 1 ULAST}
- {1601046000 28800 0 ULAT}
- {1616781600 32400 1 ULAST}
- {1632495600 28800 0 ULAT}
- {1648231200 32400 1 ULAST}
- {1663945200 28800 0 ULAT}
- {1679680800 32400 1 ULAST}
- {1695999600 28800 0 ULAT}
- {1711735200 32400 1 ULAST}
- {1727449200 28800 0 ULAT}
- {1743184800 32400 1 ULAST}
- {1758898800 28800 0 ULAT}
- {1774634400 32400 1 ULAST}
- {1790348400 28800 0 ULAT}
- {1806084000 32400 1 ULAST}
- {1821798000 28800 0 ULAT}
- {1837533600 32400 1 ULAST}
- {1853852400 28800 0 ULAT}
- {1869588000 32400 1 ULAST}
- {1885302000 28800 0 ULAT}
- {1901037600 32400 1 ULAST}
- {1916751600 28800 0 ULAT}
- {1932487200 32400 1 ULAST}
- {1948201200 28800 0 ULAT}
- {1963936800 32400 1 ULAST}
- {1979650800 28800 0 ULAT}
- {1995386400 32400 1 ULAST}
- {2011100400 28800 0 ULAT}
- {2026836000 32400 1 ULAST}
- {2043154800 28800 0 ULAT}
- {2058890400 32400 1 ULAST}
- {2074604400 28800 0 ULAT}
- {2090340000 32400 1 ULAST}
- {2106054000 28800 0 ULAT}
- {2121789600 32400 1 ULAST}
- {2137503600 28800 0 ULAT}
- {2153239200 32400 1 ULAST}
- {2168953200 28800 0 ULAT}
- {2184688800 32400 1 ULAST}
- {2200402800 28800 0 ULAT}
- {2216743200 32400 1 ULAST}
- {2232457200 28800 0 ULAT}
- {2248192800 32400 1 ULAST}
- {2263906800 28800 0 ULAT}
- {2279642400 32400 1 ULAST}
- {2295356400 28800 0 ULAT}
- {2311092000 32400 1 ULAST}
- {2326806000 28800 0 ULAT}
- {2342541600 32400 1 ULAST}
- {2358255600 28800 0 ULAT}
- {2373991200 32400 1 ULAST}
- {2390310000 28800 0 ULAT}
- {2406045600 32400 1 ULAST}
- {2421759600 28800 0 ULAT}
- {2437495200 32400 1 ULAST}
- {2453209200 28800 0 ULAT}
- {2468944800 32400 1 ULAST}
- {2484658800 28800 0 ULAT}
- {2500394400 32400 1 ULAST}
- {2516108400 28800 0 ULAT}
- {2531844000 32400 1 ULAST}
- {2547558000 28800 0 ULAT}
- {2563293600 32400 1 ULAST}
- {2579612400 28800 0 ULAT}
- {2595348000 32400 1 ULAST}
- {2611062000 28800 0 ULAT}
- {2626797600 32400 1 ULAST}
- {2642511600 28800 0 ULAT}
- {2658247200 32400 1 ULAST}
- {2673961200 28800 0 ULAT}
- {2689696800 32400 1 ULAST}
- {2705410800 28800 0 ULAT}
- {2721146400 32400 1 ULAST}
- {2737465200 28800 0 ULAT}
- {2753200800 32400 1 ULAST}
- {2768914800 28800 0 ULAT}
- {2784650400 32400 1 ULAST}
- {2800364400 28800 0 ULAT}
- {2816100000 32400 1 ULAST}
- {2831814000 28800 0 ULAT}
- {2847549600 32400 1 ULAST}
- {2863263600 28800 0 ULAT}
- {2878999200 32400 1 ULAST}
- {2894713200 28800 0 ULAT}
- {2910448800 32400 1 ULAST}
- {2926767600 28800 0 ULAT}
- {2942503200 32400 1 ULAST}
- {2958217200 28800 0 ULAT}
- {2973952800 32400 1 ULAST}
- {2989666800 28800 0 ULAT}
- {3005402400 32400 1 ULAST}
- {3021116400 28800 0 ULAT}
- {3036852000 32400 1 ULAST}
- {3052566000 28800 0 ULAT}
- {3068301600 32400 1 ULAST}
- {3084015600 28800 0 ULAT}
- {3100356000 32400 1 ULAST}
- {3116070000 28800 0 ULAT}
- {3131805600 32400 1 ULAST}
- {3147519600 28800 0 ULAT}
- {3163255200 32400 1 ULAST}
- {3178969200 28800 0 ULAT}
- {3194704800 32400 1 ULAST}
- {3210418800 28800 0 ULAT}
- {3226154400 32400 1 ULAST}
- {3241868400 28800 0 ULAT}
- {3257604000 32400 1 ULAST}
- {3273922800 28800 0 ULAT}
- {3289658400 32400 1 ULAST}
- {3305372400 28800 0 ULAT}
- {3321108000 32400 1 ULAST}
- {3336822000 28800 0 ULAT}
- {3352557600 32400 1 ULAST}
- {3368271600 28800 0 ULAT}
- {3384007200 32400 1 ULAST}
- {3399721200 28800 0 ULAT}
- {3415456800 32400 1 ULAST}
- {3431170800 28800 0 ULAT}
- {3446906400 32400 1 ULAST}
- {3463225200 28800 0 ULAT}
- {3478960800 32400 1 ULAST}
- {3494674800 28800 0 ULAT}
- {3510410400 32400 1 ULAST}
- {3526124400 28800 0 ULAT}
- {3541860000 32400 1 ULAST}
- {3557574000 28800 0 ULAT}
- {3573309600 32400 1 ULAST}
- {3589023600 28800 0 ULAT}
- {3604759200 32400 1 ULAST}
- {3621078000 28800 0 ULAT}
- {3636813600 32400 1 ULAST}
- {3652527600 28800 0 ULAT}
- {3668263200 32400 1 ULAST}
- {3683977200 28800 0 ULAT}
- {3699712800 32400 1 ULAST}
- {3715426800 28800 0 ULAT}
- {3731162400 32400 1 ULAST}
- {3746876400 28800 0 ULAT}
- {3762612000 32400 1 ULAST}
- {3778326000 28800 0 ULAT}
- {3794061600 32400 1 ULAST}
- {3810380400 28800 0 ULAT}
- {3826116000 32400 1 ULAST}
- {3841830000 28800 0 ULAT}
- {3857565600 32400 1 ULAST}
- {3873279600 28800 0 ULAT}
- {3889015200 32400 1 ULAST}
- {3904729200 28800 0 ULAT}
- {3920464800 32400 1 ULAST}
- {3936178800 28800 0 ULAT}
- {3951914400 32400 1 ULAST}
- {3967628400 28800 0 ULAT}
- {3983968800 32400 1 ULAST}
- {3999682800 28800 0 ULAT}
- {4015418400 32400 1 ULAST}
- {4031132400 28800 0 ULAT}
- {4046868000 32400 1 ULAST}
- {4062582000 28800 0 ULAT}
- {4078317600 32400 1 ULAST}
- {4094031600 28800 0 ULAT}
+ {-2032931252 25200 0 +07}
+ {252435600 28800 0 +08}
+ {417974400 32400 1 +09}
+ {433782000 28800 0 +08}
+ {449596800 32400 1 +09}
+ {465318000 28800 0 +08}
+ {481046400 32400 1 +09}
+ {496767600 28800 0 +08}
+ {512496000 32400 1 +09}
+ {528217200 28800 0 +08}
+ {543945600 32400 1 +09}
+ {559666800 28800 0 +08}
+ {575395200 32400 1 +09}
+ {591116400 28800 0 +08}
+ {606844800 32400 1 +09}
+ {622566000 28800 0 +08}
+ {638294400 32400 1 +09}
+ {654620400 28800 0 +08}
+ {670348800 32400 1 +09}
+ {686070000 28800 0 +08}
+ {701798400 32400 1 +09}
+ {717519600 28800 0 +08}
+ {733248000 32400 1 +09}
+ {748969200 28800 0 +08}
+ {764697600 32400 1 +09}
+ {780418800 28800 0 +08}
+ {796147200 32400 1 +09}
+ {811868400 28800 0 +08}
+ {828201600 32400 1 +09}
+ {843922800 28800 0 +08}
+ {859651200 32400 1 +09}
+ {875372400 28800 0 +08}
+ {891100800 32400 1 +09}
+ {906822000 28800 0 +08}
+ {988394400 32400 1 +09}
+ {1001696400 28800 0 +08}
+ {1017424800 32400 1 +09}
+ {1033146000 28800 0 +08}
+ {1048874400 32400 1 +09}
+ {1064595600 28800 0 +08}
+ {1080324000 32400 1 +09}
+ {1096045200 28800 0 +08}
+ {1111773600 32400 1 +09}
+ {1127494800 28800 0 +08}
+ {1143223200 32400 1 +09}
+ {1159549200 28800 0 +08}
+ {1427479200 32400 1 +09}
+ {1443193200 28800 0 +08}
+ {1458928800 32400 1 +09}
+ {1474642800 28800 0 +08}
}
diff --git a/library/tzdata/Asia/Urumqi b/library/tzdata/Asia/Urumqi
index 4f3cd67..194e090 100644
--- a/library/tzdata/Asia/Urumqi
+++ b/library/tzdata/Asia/Urumqi
@@ -2,5 +2,5 @@
set TZData(:Asia/Urumqi) {
{-9223372036854775808 21020 0 LMT}
- {-1325483420 21600 0 XJT}
+ {-1325483420 21600 0 +06}
}
diff --git a/library/tzdata/Asia/Yangon b/library/tzdata/Asia/Yangon
index 40cfa02..8e17d82 100644
--- a/library/tzdata/Asia/Yangon
+++ b/library/tzdata/Asia/Yangon
@@ -3,7 +3,7 @@
set TZData(:Asia/Yangon) {
{-9223372036854775808 23080 0 LMT}
{-2840163880 23080 0 RMT}
- {-1577946280 23400 0 BURT}
- {-873268200 32400 0 JST}
- {-778410000 23400 0 MMT}
+ {-1577946280 23400 0 +0630}
+ {-873268200 32400 0 +09}
+ {-778410000 23400 0 +0630}
}
diff --git a/library/tzdata/Atlantic/Azores b/library/tzdata/Atlantic/Azores
index fd47ba5..a9bec94 100644
--- a/library/tzdata/Atlantic/Azores
+++ b/library/tzdata/Atlantic/Azores
@@ -3,347 +3,343 @@
set TZData(:Atlantic/Azores) {
{-9223372036854775808 -6160 0 LMT}
{-2713904240 -6872 0 HMT}
- {-1830377128 -7200 0 AZOT}
- {-1689548400 -3600 1 AZOST}
- {-1677794400 -7200 0 AZOT}
- {-1667430000 -3600 1 AZOST}
- {-1647730800 -7200 0 AZOT}
- {-1635807600 -3600 1 AZOST}
- {-1616194800 -7200 0 AZOT}
- {-1604358000 -3600 1 AZOST}
- {-1584658800 -7200 0 AZOT}
- {-1572735600 -3600 1 AZOST}
- {-1553036400 -7200 0 AZOT}
- {-1541199600 -3600 1 AZOST}
- {-1521500400 -7200 0 AZOT}
- {-1442444400 -3600 1 AZOST}
- {-1426806000 -7200 0 AZOT}
- {-1379286000 -3600 1 AZOST}
- {-1364770800 -7200 0 AZOT}
- {-1348441200 -3600 1 AZOST}
- {-1333321200 -7200 0 AZOT}
- {-1316386800 -3600 1 AZOST}
- {-1301266800 -7200 0 AZOT}
- {-1284332400 -3600 1 AZOST}
- {-1269817200 -7200 0 AZOT}
- {-1221433200 -3600 1 AZOST}
- {-1206918000 -7200 0 AZOT}
- {-1191193200 -3600 1 AZOST}
- {-1175468400 -7200 0 AZOT}
- {-1127689200 -3600 1 AZOST}
- {-1111964400 -7200 0 AZOT}
- {-1096844400 -3600 1 AZOST}
- {-1080514800 -7200 0 AZOT}
- {-1063580400 -3600 1 AZOST}
- {-1049065200 -7200 0 AZOT}
- {-1033340400 -3600 1 AZOST}
- {-1017615600 -7200 0 AZOT}
- {-1002495600 -3600 1 AZOST}
- {-986166000 -7200 0 AZOT}
- {-969231600 -3600 1 AZOST}
- {-950482800 -7200 0 AZOT}
- {-942015600 -3600 1 AZOST}
- {-922662000 -7200 0 AZOT}
- {-906937200 -3600 1 AZOST}
- {-891126000 -7200 0 AZOT}
- {-877302000 -3600 1 AZOST}
- {-873676800 0 1 AZOMT}
- {-864000000 -3600 1 AZOST}
- {-857948400 -7200 0 AZOT}
- {-845852400 -3600 1 AZOST}
- {-842832000 0 1 AZOMT}
- {-831340800 -3600 1 AZOST}
- {-825894000 -7200 0 AZOT}
- {-814402800 -3600 1 AZOST}
- {-810777600 0 1 AZOMT}
- {-799891200 -3600 1 AZOST}
- {-794444400 -7200 0 AZOT}
- {-782953200 -3600 1 AZOST}
- {-779328000 0 1 AZOMT}
- {-768441600 -3600 1 AZOST}
- {-762994800 -7200 0 AZOT}
- {-749084400 -3600 1 AZOST}
- {-733359600 -7200 0 AZOT}
- {-717624000 -3600 1 AZOST}
- {-701899200 -7200 0 AZOT}
- {-686174400 -3600 1 AZOST}
- {-670449600 -7200 0 AZOT}
- {-654724800 -3600 1 AZOST}
- {-639000000 -7200 0 AZOT}
- {-591825600 -3600 1 AZOST}
- {-575496000 -7200 0 AZOT}
- {-559771200 -3600 1 AZOST}
- {-544046400 -7200 0 AZOT}
- {-528321600 -3600 1 AZOST}
- {-512596800 -7200 0 AZOT}
- {-496872000 -3600 1 AZOST}
- {-481147200 -7200 0 AZOT}
- {-465422400 -3600 1 AZOST}
- {-449697600 -7200 0 AZOT}
- {-433972800 -3600 1 AZOST}
- {-417643200 -7200 0 AZOT}
- {-401918400 -3600 1 AZOST}
- {-386193600 -7200 0 AZOT}
- {-370468800 -3600 1 AZOST}
- {-354744000 -7200 0 AZOT}
- {-339019200 -3600 1 AZOST}
- {-323294400 -7200 0 AZOT}
- {-307569600 -3600 1 AZOST}
- {-291844800 -7200 0 AZOT}
- {-276120000 -3600 1 AZOST}
- {-260395200 -7200 0 AZOT}
- {-244670400 -3600 1 AZOST}
- {-228340800 -7200 0 AZOT}
- {-212616000 -3600 1 AZOST}
- {-196891200 -7200 0 AZOT}
- {-181166400 -3600 1 AZOST}
- {-165441600 -7200 0 AZOT}
- {-149716800 -3600 1 AZOST}
- {-133992000 -7200 0 AZOT}
- {-118267200 -3600 0 AZOT}
- {228272400 0 1 AZOST}
- {243997200 -3600 0 AZOT}
- {260326800 0 1 AZOST}
- {276051600 -3600 0 AZOT}
- {291776400 0 1 AZOST}
- {307504800 -3600 0 AZOT}
- {323226000 0 1 AZOST}
- {338954400 -3600 0 AZOT}
- {354679200 0 1 AZOST}
- {370404000 -3600 0 AZOT}
- {386128800 0 1 AZOST}
- {401853600 -3600 0 AZOT}
- {417582000 0 1 AZOST}
- {433303200 -3600 0 AZOT}
- {449028000 0 1 AZOST}
- {465357600 -3600 0 AZOT}
- {481082400 0 1 AZOST}
- {496807200 -3600 0 AZOT}
- {512532000 0 1 AZOST}
- {528256800 -3600 0 AZOT}
- {543981600 0 1 AZOST}
- {559706400 -3600 0 AZOT}
- {575431200 0 1 AZOST}
- {591156000 -3600 0 AZOT}
- {606880800 0 1 AZOST}
- {622605600 -3600 0 AZOT}
- {638330400 0 1 AZOST}
- {654660000 -3600 0 AZOT}
- {670384800 0 1 AZOST}
- {686109600 -3600 0 AZOT}
- {701834400 0 1 AZOST}
- {733280400 0 0 AZOST}
- {749005200 -3600 0 AZOT}
- {764730000 0 1 AZOST}
- {780454800 -3600 0 AZOT}
- {796179600 0 1 AZOST}
- {811904400 -3600 0 AZOT}
- {828234000 0 1 AZOST}
- {846378000 -3600 0 AZOT}
- {859683600 0 1 AZOST}
- {877827600 -3600 0 AZOT}
- {891133200 0 1 AZOST}
- {909277200 -3600 0 AZOT}
- {922582800 0 1 AZOST}
- {941331600 -3600 0 AZOT}
- {954032400 0 1 AZOST}
- {972781200 -3600 0 AZOT}
- {985482000 0 1 AZOST}
- {1004230800 -3600 0 AZOT}
- {1017536400 0 1 AZOST}
- {1035680400 -3600 0 AZOT}
- {1048986000 0 1 AZOST}
- {1067130000 -3600 0 AZOT}
- {1080435600 0 1 AZOST}
- {1099184400 -3600 0 AZOT}
- {1111885200 0 1 AZOST}
- {1130634000 -3600 0 AZOT}
- {1143334800 0 1 AZOST}
- {1162083600 -3600 0 AZOT}
- {1174784400 0 1 AZOST}
- {1193533200 -3600 0 AZOT}
- {1206838800 0 1 AZOST}
- {1224982800 -3600 0 AZOT}
- {1238288400 0 1 AZOST}
- {1256432400 -3600 0 AZOT}
- {1269738000 0 1 AZOST}
- {1288486800 -3600 0 AZOT}
- {1301187600 0 1 AZOST}
- {1319936400 -3600 0 AZOT}
- {1332637200 0 1 AZOST}
- {1351386000 -3600 0 AZOT}
- {1364691600 0 1 AZOST}
- {1382835600 -3600 0 AZOT}
- {1396141200 0 1 AZOST}
- {1414285200 -3600 0 AZOT}
- {1427590800 0 1 AZOST}
- {1445734800 -3600 0 AZOT}
- {1459040400 0 1 AZOST}
- {1477789200 -3600 0 AZOT}
- {1490490000 0 1 AZOST}
- {1509238800 -3600 0 AZOT}
- {1521939600 0 1 AZOST}
- {1540688400 -3600 0 AZOT}
- {1553994000 0 1 AZOST}
- {1572138000 -3600 0 AZOT}
- {1585443600 0 1 AZOST}
- {1603587600 -3600 0 AZOT}
- {1616893200 0 1 AZOST}
- {1635642000 -3600 0 AZOT}
- {1648342800 0 1 AZOST}
- {1667091600 -3600 0 AZOT}
- {1679792400 0 1 AZOST}
- {1698541200 -3600 0 AZOT}
- {1711846800 0 1 AZOST}
- {1729990800 -3600 0 AZOT}
- {1743296400 0 1 AZOST}
- {1761440400 -3600 0 AZOT}
- {1774746000 0 1 AZOST}
- {1792890000 -3600 0 AZOT}
- {1806195600 0 1 AZOST}
- {1824944400 -3600 0 AZOT}
- {1837645200 0 1 AZOST}
- {1856394000 -3600 0 AZOT}
- {1869094800 0 1 AZOST}
- {1887843600 -3600 0 AZOT}
- {1901149200 0 1 AZOST}
- {1919293200 -3600 0 AZOT}
- {1932598800 0 1 AZOST}
- {1950742800 -3600 0 AZOT}
- {1964048400 0 1 AZOST}
- {1982797200 -3600 0 AZOT}
- {1995498000 0 1 AZOST}
- {2014246800 -3600 0 AZOT}
- {2026947600 0 1 AZOST}
- {2045696400 -3600 0 AZOT}
- {2058397200 0 1 AZOST}
- {2077146000 -3600 0 AZOT}
- {2090451600 0 1 AZOST}
- {2108595600 -3600 0 AZOT}
- {2121901200 0 1 AZOST}
- {2140045200 -3600 0 AZOT}
- {2153350800 0 1 AZOST}
- {2172099600 -3600 0 AZOT}
- {2184800400 0 1 AZOST}
- {2203549200 -3600 0 AZOT}
- {2216250000 0 1 AZOST}
- {2234998800 -3600 0 AZOT}
- {2248304400 0 1 AZOST}
- {2266448400 -3600 0 AZOT}
- {2279754000 0 1 AZOST}
- {2297898000 -3600 0 AZOT}
- {2311203600 0 1 AZOST}
- {2329347600 -3600 0 AZOT}
- {2342653200 0 1 AZOST}
- {2361402000 -3600 0 AZOT}
- {2374102800 0 1 AZOST}
- {2392851600 -3600 0 AZOT}
- {2405552400 0 1 AZOST}
- {2424301200 -3600 0 AZOT}
- {2437606800 0 1 AZOST}
- {2455750800 -3600 0 AZOT}
- {2469056400 0 1 AZOST}
- {2487200400 -3600 0 AZOT}
- {2500506000 0 1 AZOST}
- {2519254800 -3600 0 AZOT}
- {2531955600 0 1 AZOST}
- {2550704400 -3600 0 AZOT}
- {2563405200 0 1 AZOST}
- {2582154000 -3600 0 AZOT}
- {2595459600 0 1 AZOST}
- {2613603600 -3600 0 AZOT}
- {2626909200 0 1 AZOST}
- {2645053200 -3600 0 AZOT}
- {2658358800 0 1 AZOST}
- {2676502800 -3600 0 AZOT}
- {2689808400 0 1 AZOST}
- {2708557200 -3600 0 AZOT}
- {2721258000 0 1 AZOST}
- {2740006800 -3600 0 AZOT}
- {2752707600 0 1 AZOST}
- {2771456400 -3600 0 AZOT}
- {2784762000 0 1 AZOST}
- {2802906000 -3600 0 AZOT}
- {2816211600 0 1 AZOST}
- {2834355600 -3600 0 AZOT}
- {2847661200 0 1 AZOST}
- {2866410000 -3600 0 AZOT}
- {2879110800 0 1 AZOST}
- {2897859600 -3600 0 AZOT}
- {2910560400 0 1 AZOST}
- {2929309200 -3600 0 AZOT}
- {2942010000 0 1 AZOST}
- {2960758800 -3600 0 AZOT}
- {2974064400 0 1 AZOST}
- {2992208400 -3600 0 AZOT}
- {3005514000 0 1 AZOST}
- {3023658000 -3600 0 AZOT}
- {3036963600 0 1 AZOST}
- {3055712400 -3600 0 AZOT}
- {3068413200 0 1 AZOST}
- {3087162000 -3600 0 AZOT}
- {3099862800 0 1 AZOST}
- {3118611600 -3600 0 AZOT}
- {3131917200 0 1 AZOST}
- {3150061200 -3600 0 AZOT}
- {3163366800 0 1 AZOST}
- {3181510800 -3600 0 AZOT}
- {3194816400 0 1 AZOST}
- {3212960400 -3600 0 AZOT}
- {3226266000 0 1 AZOST}
- {3245014800 -3600 0 AZOT}
- {3257715600 0 1 AZOST}
- {3276464400 -3600 0 AZOT}
- {3289165200 0 1 AZOST}
- {3307914000 -3600 0 AZOT}
- {3321219600 0 1 AZOST}
- {3339363600 -3600 0 AZOT}
- {3352669200 0 1 AZOST}
- {3370813200 -3600 0 AZOT}
- {3384118800 0 1 AZOST}
- {3402867600 -3600 0 AZOT}
- {3415568400 0 1 AZOST}
- {3434317200 -3600 0 AZOT}
- {3447018000 0 1 AZOST}
- {3465766800 -3600 0 AZOT}
- {3479072400 0 1 AZOST}
- {3497216400 -3600 0 AZOT}
- {3510522000 0 1 AZOST}
- {3528666000 -3600 0 AZOT}
- {3541971600 0 1 AZOST}
- {3560115600 -3600 0 AZOT}
- {3573421200 0 1 AZOST}
- {3592170000 -3600 0 AZOT}
- {3604870800 0 1 AZOST}
- {3623619600 -3600 0 AZOT}
- {3636320400 0 1 AZOST}
- {3655069200 -3600 0 AZOT}
- {3668374800 0 1 AZOST}
- {3686518800 -3600 0 AZOT}
- {3699824400 0 1 AZOST}
- {3717968400 -3600 0 AZOT}
- {3731274000 0 1 AZOST}
- {3750022800 -3600 0 AZOT}
- {3762723600 0 1 AZOST}
- {3781472400 -3600 0 AZOT}
- {3794173200 0 1 AZOST}
- {3812922000 -3600 0 AZOT}
- {3825622800 0 1 AZOST}
- {3844371600 -3600 0 AZOT}
- {3857677200 0 1 AZOST}
- {3875821200 -3600 0 AZOT}
- {3889126800 0 1 AZOST}
- {3907270800 -3600 0 AZOT}
- {3920576400 0 1 AZOST}
- {3939325200 -3600 0 AZOT}
- {3952026000 0 1 AZOST}
- {3970774800 -3600 0 AZOT}
- {3983475600 0 1 AZOST}
- {4002224400 -3600 0 AZOT}
- {4015530000 0 1 AZOST}
- {4033674000 -3600 0 AZOT}
- {4046979600 0 1 AZOST}
- {4065123600 -3600 0 AZOT}
- {4078429200 0 1 AZOST}
- {4096573200 -3600 0 AZOT}
+ {-1830377128 -7200 0 -02}
+ {-1689548400 -3600 1 -01}
+ {-1677794400 -7200 0 -02}
+ {-1667430000 -3600 1 -01}
+ {-1647730800 -7200 0 -02}
+ {-1635807600 -3600 1 -01}
+ {-1616194800 -7200 0 -02}
+ {-1604358000 -3600 1 -01}
+ {-1584658800 -7200 0 -02}
+ {-1572735600 -3600 1 -01}
+ {-1553036400 -7200 0 -02}
+ {-1541199600 -3600 1 -01}
+ {-1521500400 -7200 0 -02}
+ {-1442444400 -3600 1 -01}
+ {-1426806000 -7200 0 -02}
+ {-1379286000 -3600 1 -01}
+ {-1364770800 -7200 0 -02}
+ {-1348441200 -3600 1 -01}
+ {-1333321200 -7200 0 -02}
+ {-1316386800 -3600 1 -01}
+ {-1301266800 -7200 0 -02}
+ {-1284332400 -3600 1 -01}
+ {-1269817200 -7200 0 -02}
+ {-1221433200 -3600 1 -01}
+ {-1206918000 -7200 0 -02}
+ {-1191193200 -3600 1 -01}
+ {-1175468400 -7200 0 -02}
+ {-1127689200 -3600 1 -01}
+ {-1111964400 -7200 0 -02}
+ {-1096844400 -3600 1 -01}
+ {-1080514800 -7200 0 -02}
+ {-1063580400 -3600 1 -01}
+ {-1049065200 -7200 0 -02}
+ {-1033340400 -3600 1 -01}
+ {-1017615600 -7200 0 -02}
+ {-1002495600 -3600 1 -01}
+ {-986166000 -7200 0 -02}
+ {-969231600 -3600 1 -01}
+ {-950482800 -7200 0 -02}
+ {-942015600 -3600 1 -01}
+ {-922662000 -7200 0 -02}
+ {-906937200 -3600 1 -01}
+ {-891126000 -7200 0 -02}
+ {-877302000 -3600 1 -01}
+ {-864000000 -3600 0 -01}
+ {-857948400 -7200 0 -02}
+ {-845852400 -3600 1 -01}
+ {-831340800 -3600 0 -01}
+ {-825894000 -7200 0 -02}
+ {-814402800 -3600 1 -01}
+ {-799891200 -3600 0 -01}
+ {-794444400 -7200 0 -02}
+ {-782953200 -3600 1 -01}
+ {-768441600 -3600 0 -01}
+ {-762994800 -7200 0 -02}
+ {-749084400 -3600 1 -01}
+ {-733359600 -7200 0 -02}
+ {-717624000 -3600 1 -01}
+ {-701899200 -7200 0 -02}
+ {-686174400 -3600 1 -01}
+ {-670449600 -7200 0 -02}
+ {-654724800 -3600 1 -01}
+ {-639000000 -7200 0 -02}
+ {-591825600 -3600 1 -01}
+ {-575496000 -7200 0 -02}
+ {-559771200 -3600 1 -01}
+ {-544046400 -7200 0 -02}
+ {-528321600 -3600 1 -01}
+ {-512596800 -7200 0 -02}
+ {-496872000 -3600 1 -01}
+ {-481147200 -7200 0 -02}
+ {-465422400 -3600 1 -01}
+ {-449697600 -7200 0 -02}
+ {-433972800 -3600 1 -01}
+ {-417643200 -7200 0 -02}
+ {-401918400 -3600 1 -01}
+ {-386193600 -7200 0 -02}
+ {-370468800 -3600 1 -01}
+ {-354744000 -7200 0 -02}
+ {-339019200 -3600 1 -01}
+ {-323294400 -7200 0 -02}
+ {-307569600 -3600 1 -01}
+ {-291844800 -7200 0 -02}
+ {-276120000 -3600 1 -01}
+ {-260395200 -7200 0 -02}
+ {-244670400 -3600 1 -01}
+ {-228340800 -7200 0 -02}
+ {-212616000 -3600 1 -01}
+ {-196891200 -7200 0 -02}
+ {-181166400 -3600 1 -01}
+ {-165441600 -7200 0 -02}
+ {-149716800 -3600 1 -01}
+ {-133992000 -7200 0 -02}
+ {-118267200 -3600 0 -01}
+ {228272400 0 1 +00}
+ {243997200 -3600 0 -01}
+ {260326800 0 1 +00}
+ {276051600 -3600 0 -01}
+ {291776400 0 1 +00}
+ {307504800 -3600 0 -01}
+ {323226000 0 1 +00}
+ {338954400 -3600 0 -01}
+ {354679200 0 1 +00}
+ {370404000 -3600 0 -01}
+ {386128800 0 1 +00}
+ {401853600 -3600 0 -01}
+ {417582000 0 1 +00}
+ {433303200 -3600 0 -01}
+ {449028000 0 1 +00}
+ {465357600 -3600 0 -01}
+ {481082400 0 1 +00}
+ {496807200 -3600 0 -01}
+ {512532000 0 1 +00}
+ {528256800 -3600 0 -01}
+ {543981600 0 1 +00}
+ {559706400 -3600 0 -01}
+ {575431200 0 1 +00}
+ {591156000 -3600 0 -01}
+ {606880800 0 1 +00}
+ {622605600 -3600 0 -01}
+ {638330400 0 1 +00}
+ {654660000 -3600 0 -01}
+ {670384800 0 1 +00}
+ {686109600 -3600 0 -01}
+ {701834400 0 1 +00}
+ {733280400 0 0 +00}
+ {749005200 -3600 0 -01}
+ {764730000 0 1 +00}
+ {780454800 -3600 0 -01}
+ {796179600 0 1 +00}
+ {811904400 -3600 0 -01}
+ {828234000 0 1 +00}
+ {846378000 -3600 0 -01}
+ {859683600 0 1 +00}
+ {877827600 -3600 0 -01}
+ {891133200 0 1 +00}
+ {909277200 -3600 0 -01}
+ {922582800 0 1 +00}
+ {941331600 -3600 0 -01}
+ {954032400 0 1 +00}
+ {972781200 -3600 0 -01}
+ {985482000 0 1 +00}
+ {1004230800 -3600 0 -01}
+ {1017536400 0 1 +00}
+ {1035680400 -3600 0 -01}
+ {1048986000 0 1 +00}
+ {1067130000 -3600 0 -01}
+ {1080435600 0 1 +00}
+ {1099184400 -3600 0 -01}
+ {1111885200 0 1 +00}
+ {1130634000 -3600 0 -01}
+ {1143334800 0 1 +00}
+ {1162083600 -3600 0 -01}
+ {1174784400 0 1 +00}
+ {1193533200 -3600 0 -01}
+ {1206838800 0 1 +00}
+ {1224982800 -3600 0 -01}
+ {1238288400 0 1 +00}
+ {1256432400 -3600 0 -01}
+ {1269738000 0 1 +00}
+ {1288486800 -3600 0 -01}
+ {1301187600 0 1 +00}
+ {1319936400 -3600 0 -01}
+ {1332637200 0 1 +00}
+ {1351386000 -3600 0 -01}
+ {1364691600 0 1 +00}
+ {1382835600 -3600 0 -01}
+ {1396141200 0 1 +00}
+ {1414285200 -3600 0 -01}
+ {1427590800 0 1 +00}
+ {1445734800 -3600 0 -01}
+ {1459040400 0 1 +00}
+ {1477789200 -3600 0 -01}
+ {1490490000 0 1 +00}
+ {1509238800 -3600 0 -01}
+ {1521939600 0 1 +00}
+ {1540688400 -3600 0 -01}
+ {1553994000 0 1 +00}
+ {1572138000 -3600 0 -01}
+ {1585443600 0 1 +00}
+ {1603587600 -3600 0 -01}
+ {1616893200 0 1 +00}
+ {1635642000 -3600 0 -01}
+ {1648342800 0 1 +00}
+ {1667091600 -3600 0 -01}
+ {1679792400 0 1 +00}
+ {1698541200 -3600 0 -01}
+ {1711846800 0 1 +00}
+ {1729990800 -3600 0 -01}
+ {1743296400 0 1 +00}
+ {1761440400 -3600 0 -01}
+ {1774746000 0 1 +00}
+ {1792890000 -3600 0 -01}
+ {1806195600 0 1 +00}
+ {1824944400 -3600 0 -01}
+ {1837645200 0 1 +00}
+ {1856394000 -3600 0 -01}
+ {1869094800 0 1 +00}
+ {1887843600 -3600 0 -01}
+ {1901149200 0 1 +00}
+ {1919293200 -3600 0 -01}
+ {1932598800 0 1 +00}
+ {1950742800 -3600 0 -01}
+ {1964048400 0 1 +00}
+ {1982797200 -3600 0 -01}
+ {1995498000 0 1 +00}
+ {2014246800 -3600 0 -01}
+ {2026947600 0 1 +00}
+ {2045696400 -3600 0 -01}
+ {2058397200 0 1 +00}
+ {2077146000 -3600 0 -01}
+ {2090451600 0 1 +00}
+ {2108595600 -3600 0 -01}
+ {2121901200 0 1 +00}
+ {2140045200 -3600 0 -01}
+ {2153350800 0 1 +00}
+ {2172099600 -3600 0 -01}
+ {2184800400 0 1 +00}
+ {2203549200 -3600 0 -01}
+ {2216250000 0 1 +00}
+ {2234998800 -3600 0 -01}
+ {2248304400 0 1 +00}
+ {2266448400 -3600 0 -01}
+ {2279754000 0 1 +00}
+ {2297898000 -3600 0 -01}
+ {2311203600 0 1 +00}
+ {2329347600 -3600 0 -01}
+ {2342653200 0 1 +00}
+ {2361402000 -3600 0 -01}
+ {2374102800 0 1 +00}
+ {2392851600 -3600 0 -01}
+ {2405552400 0 1 +00}
+ {2424301200 -3600 0 -01}
+ {2437606800 0 1 +00}
+ {2455750800 -3600 0 -01}
+ {2469056400 0 1 +00}
+ {2487200400 -3600 0 -01}
+ {2500506000 0 1 +00}
+ {2519254800 -3600 0 -01}
+ {2531955600 0 1 +00}
+ {2550704400 -3600 0 -01}
+ {2563405200 0 1 +00}
+ {2582154000 -3600 0 -01}
+ {2595459600 0 1 +00}
+ {2613603600 -3600 0 -01}
+ {2626909200 0 1 +00}
+ {2645053200 -3600 0 -01}
+ {2658358800 0 1 +00}
+ {2676502800 -3600 0 -01}
+ {2689808400 0 1 +00}
+ {2708557200 -3600 0 -01}
+ {2721258000 0 1 +00}
+ {2740006800 -3600 0 -01}
+ {2752707600 0 1 +00}
+ {2771456400 -3600 0 -01}
+ {2784762000 0 1 +00}
+ {2802906000 -3600 0 -01}
+ {2816211600 0 1 +00}
+ {2834355600 -3600 0 -01}
+ {2847661200 0 1 +00}
+ {2866410000 -3600 0 -01}
+ {2879110800 0 1 +00}
+ {2897859600 -3600 0 -01}
+ {2910560400 0 1 +00}
+ {2929309200 -3600 0 -01}
+ {2942010000 0 1 +00}
+ {2960758800 -3600 0 -01}
+ {2974064400 0 1 +00}
+ {2992208400 -3600 0 -01}
+ {3005514000 0 1 +00}
+ {3023658000 -3600 0 -01}
+ {3036963600 0 1 +00}
+ {3055712400 -3600 0 -01}
+ {3068413200 0 1 +00}
+ {3087162000 -3600 0 -01}
+ {3099862800 0 1 +00}
+ {3118611600 -3600 0 -01}
+ {3131917200 0 1 +00}
+ {3150061200 -3600 0 -01}
+ {3163366800 0 1 +00}
+ {3181510800 -3600 0 -01}
+ {3194816400 0 1 +00}
+ {3212960400 -3600 0 -01}
+ {3226266000 0 1 +00}
+ {3245014800 -3600 0 -01}
+ {3257715600 0 1 +00}
+ {3276464400 -3600 0 -01}
+ {3289165200 0 1 +00}
+ {3307914000 -3600 0 -01}
+ {3321219600 0 1 +00}
+ {3339363600 -3600 0 -01}
+ {3352669200 0 1 +00}
+ {3370813200 -3600 0 -01}
+ {3384118800 0 1 +00}
+ {3402867600 -3600 0 -01}
+ {3415568400 0 1 +00}
+ {3434317200 -3600 0 -01}
+ {3447018000 0 1 +00}
+ {3465766800 -3600 0 -01}
+ {3479072400 0 1 +00}
+ {3497216400 -3600 0 -01}
+ {3510522000 0 1 +00}
+ {3528666000 -3600 0 -01}
+ {3541971600 0 1 +00}
+ {3560115600 -3600 0 -01}
+ {3573421200 0 1 +00}
+ {3592170000 -3600 0 -01}
+ {3604870800 0 1 +00}
+ {3623619600 -3600 0 -01}
+ {3636320400 0 1 +00}
+ {3655069200 -3600 0 -01}
+ {3668374800 0 1 +00}
+ {3686518800 -3600 0 -01}
+ {3699824400 0 1 +00}
+ {3717968400 -3600 0 -01}
+ {3731274000 0 1 +00}
+ {3750022800 -3600 0 -01}
+ {3762723600 0 1 +00}
+ {3781472400 -3600 0 -01}
+ {3794173200 0 1 +00}
+ {3812922000 -3600 0 -01}
+ {3825622800 0 1 +00}
+ {3844371600 -3600 0 -01}
+ {3857677200 0 1 +00}
+ {3875821200 -3600 0 -01}
+ {3889126800 0 1 +00}
+ {3907270800 -3600 0 -01}
+ {3920576400 0 1 +00}
+ {3939325200 -3600 0 -01}
+ {3952026000 0 1 +00}
+ {3970774800 -3600 0 -01}
+ {3983475600 0 1 +00}
+ {4002224400 -3600 0 -01}
+ {4015530000 0 1 +00}
+ {4033674000 -3600 0 -01}
+ {4046979600 0 1 +00}
+ {4065123600 -3600 0 -01}
+ {4078429200 0 1 +00}
+ {4096573200 -3600 0 -01}
}
diff --git a/library/tzdata/Atlantic/Canary b/library/tzdata/Atlantic/Canary
index dcfba83..b5c2997 100644
--- a/library/tzdata/Atlantic/Canary
+++ b/library/tzdata/Atlantic/Canary
@@ -2,7 +2,7 @@
set TZData(:Atlantic/Canary) {
{-9223372036854775808 -3696 0 LMT}
- {-1509663504 -3600 0 CANT}
+ {-1509663504 -3600 0 -01}
{-733874400 0 0 WET}
{323827200 3600 1 WEST}
{338950800 0 0 WET}
diff --git a/library/tzdata/Atlantic/Cape_Verde b/library/tzdata/Atlantic/Cape_Verde
index f0bb79f..6fc94eb 100644
--- a/library/tzdata/Atlantic/Cape_Verde
+++ b/library/tzdata/Atlantic/Cape_Verde
@@ -2,8 +2,8 @@
set TZData(:Atlantic/Cape_Verde) {
{-9223372036854775808 -5644 0 LMT}
- {-1988144756 -7200 0 CVT}
- {-862610400 -3600 1 CVST}
- {-764118000 -7200 0 CVT}
- {186120000 -3600 0 CVT}
+ {-1988144756 -7200 0 -02}
+ {-862610400 -3600 1 -01}
+ {-764118000 -7200 0 -02}
+ {186120000 -3600 0 -01}
}
diff --git a/library/tzdata/Atlantic/Madeira b/library/tzdata/Atlantic/Madeira
index fac7f92..cc5e5f8 100644
--- a/library/tzdata/Atlantic/Madeira
+++ b/library/tzdata/Atlantic/Madeira
@@ -3,103 +3,99 @@
set TZData(:Atlantic/Madeira) {
{-9223372036854775808 -4056 0 LMT}
{-2713906344 -4056 0 FMT}
- {-1830379944 -3600 0 MADT}
- {-1689552000 0 1 MADST}
- {-1677798000 -3600 0 MADT}
- {-1667433600 0 1 MADST}
- {-1647734400 -3600 0 MADT}
- {-1635811200 0 1 MADST}
- {-1616198400 -3600 0 MADT}
- {-1604361600 0 1 MADST}
- {-1584662400 -3600 0 MADT}
- {-1572739200 0 1 MADST}
- {-1553040000 -3600 0 MADT}
- {-1541203200 0 1 MADST}
- {-1521504000 -3600 0 MADT}
- {-1442448000 0 1 MADST}
- {-1426809600 -3600 0 MADT}
- {-1379289600 0 1 MADST}
- {-1364774400 -3600 0 MADT}
- {-1348444800 0 1 MADST}
- {-1333324800 -3600 0 MADT}
- {-1316390400 0 1 MADST}
- {-1301270400 -3600 0 MADT}
- {-1284336000 0 1 MADST}
- {-1269820800 -3600 0 MADT}
- {-1221436800 0 1 MADST}
- {-1206921600 -3600 0 MADT}
- {-1191196800 0 1 MADST}
- {-1175472000 -3600 0 MADT}
- {-1127692800 0 1 MADST}
- {-1111968000 -3600 0 MADT}
- {-1096848000 0 1 MADST}
- {-1080518400 -3600 0 MADT}
- {-1063584000 0 1 MADST}
- {-1049068800 -3600 0 MADT}
- {-1033344000 0 1 MADST}
- {-1017619200 -3600 0 MADT}
- {-1002499200 0 1 MADST}
- {-986169600 -3600 0 MADT}
- {-969235200 0 1 MADST}
- {-950486400 -3600 0 MADT}
- {-942019200 0 1 MADST}
- {-922665600 -3600 0 MADT}
- {-906940800 0 1 MADST}
- {-891129600 -3600 0 MADT}
- {-877305600 0 1 MADST}
- {-873680400 3600 1 MADMT}
- {-864003600 0 1 MADST}
- {-857952000 -3600 0 MADT}
- {-845856000 0 1 MADST}
- {-842835600 3600 1 MADMT}
- {-831344400 0 1 MADST}
- {-825897600 -3600 0 MADT}
- {-814406400 0 1 MADST}
- {-810781200 3600 1 MADMT}
- {-799894800 0 1 MADST}
- {-794448000 -3600 0 MADT}
- {-782956800 0 1 MADST}
- {-779331600 3600 1 MADMT}
- {-768445200 0 1 MADST}
- {-762998400 -3600 0 MADT}
- {-749088000 0 1 MADST}
- {-733363200 -3600 0 MADT}
- {-717627600 0 1 MADST}
- {-701902800 -3600 0 MADT}
- {-686178000 0 1 MADST}
- {-670453200 -3600 0 MADT}
- {-654728400 0 1 MADST}
- {-639003600 -3600 0 MADT}
- {-591829200 0 1 MADST}
- {-575499600 -3600 0 MADT}
- {-559774800 0 1 MADST}
- {-544050000 -3600 0 MADT}
- {-528325200 0 1 MADST}
- {-512600400 -3600 0 MADT}
- {-496875600 0 1 MADST}
- {-481150800 -3600 0 MADT}
- {-465426000 0 1 MADST}
- {-449701200 -3600 0 MADT}
- {-433976400 0 1 MADST}
- {-417646800 -3600 0 MADT}
- {-401922000 0 1 MADST}
- {-386197200 -3600 0 MADT}
- {-370472400 0 1 MADST}
- {-354747600 -3600 0 MADT}
- {-339022800 0 1 MADST}
- {-323298000 -3600 0 MADT}
- {-307573200 0 1 MADST}
- {-291848400 -3600 0 MADT}
- {-276123600 0 1 MADST}
- {-260398800 -3600 0 MADT}
- {-244674000 0 1 MADST}
- {-228344400 -3600 0 MADT}
- {-212619600 0 1 MADST}
- {-196894800 -3600 0 MADT}
- {-181170000 0 1 MADST}
- {-165445200 -3600 0 MADT}
- {-149720400 0 1 MADST}
- {-133995600 -3600 0 MADT}
+ {-1830379944 -3600 0 -01}
+ {-1689552000 0 1 +00}
+ {-1677798000 -3600 0 -01}
+ {-1667433600 0 1 +00}
+ {-1647734400 -3600 0 -01}
+ {-1635811200 0 1 +00}
+ {-1616198400 -3600 0 -01}
+ {-1604361600 0 1 +00}
+ {-1584662400 -3600 0 -01}
+ {-1572739200 0 1 +00}
+ {-1553040000 -3600 0 -01}
+ {-1541203200 0 1 +00}
+ {-1521504000 -3600 0 -01}
+ {-1442448000 0 1 +00}
+ {-1426809600 -3600 0 -01}
+ {-1379289600 0 1 +00}
+ {-1364774400 -3600 0 -01}
+ {-1348444800 0 1 +00}
+ {-1333324800 -3600 0 -01}
+ {-1316390400 0 1 +00}
+ {-1301270400 -3600 0 -01}
+ {-1284336000 0 1 +00}
+ {-1269820800 -3600 0 -01}
+ {-1221436800 0 1 +00}
+ {-1206921600 -3600 0 -01}
+ {-1191196800 0 1 +00}
+ {-1175472000 -3600 0 -01}
+ {-1127692800 0 1 +00}
+ {-1111968000 -3600 0 -01}
+ {-1096848000 0 1 +00}
+ {-1080518400 -3600 0 -01}
+ {-1063584000 0 1 +00}
+ {-1049068800 -3600 0 -01}
+ {-1033344000 0 1 +00}
+ {-1017619200 -3600 0 -01}
+ {-1002499200 0 1 +00}
+ {-986169600 -3600 0 -01}
+ {-969235200 0 1 +00}
+ {-950486400 -3600 0 -01}
+ {-942019200 0 1 +00}
+ {-922665600 -3600 0 -01}
+ {-906940800 0 1 +00}
+ {-891129600 -3600 0 -01}
+ {-877305600 0 1 +00}
+ {-864003600 0 0 +00}
+ {-857952000 -3600 0 -01}
+ {-845856000 0 1 +00}
+ {-831344400 0 0 +00}
+ {-825897600 -3600 0 -01}
+ {-814406400 0 1 +00}
+ {-799894800 0 0 +00}
+ {-794448000 -3600 0 -01}
+ {-782956800 0 1 +00}
+ {-768445200 0 0 +00}
+ {-762998400 -3600 0 -01}
+ {-749088000 0 1 +00}
+ {-733363200 -3600 0 -01}
+ {-717627600 0 1 +00}
+ {-701902800 -3600 0 -01}
+ {-686178000 0 1 +00}
+ {-670453200 -3600 0 -01}
+ {-654728400 0 1 +00}
+ {-639003600 -3600 0 -01}
+ {-591829200 0 1 +00}
+ {-575499600 -3600 0 -01}
+ {-559774800 0 1 +00}
+ {-544050000 -3600 0 -01}
+ {-528325200 0 1 +00}
+ {-512600400 -3600 0 -01}
+ {-496875600 0 1 +00}
+ {-481150800 -3600 0 -01}
+ {-465426000 0 1 +00}
+ {-449701200 -3600 0 -01}
+ {-433976400 0 1 +00}
+ {-417646800 -3600 0 -01}
+ {-401922000 0 1 +00}
+ {-386197200 -3600 0 -01}
+ {-370472400 0 1 +00}
+ {-354747600 -3600 0 -01}
+ {-339022800 0 1 +00}
+ {-323298000 -3600 0 -01}
+ {-307573200 0 1 +00}
+ {-291848400 -3600 0 -01}
+ {-276123600 0 1 +00}
+ {-260398800 -3600 0 -01}
+ {-244674000 0 1 +00}
+ {-228344400 -3600 0 -01}
+ {-212619600 0 1 +00}
+ {-196894800 -3600 0 -01}
+ {-181170000 0 1 +00}
+ {-165445200 -3600 0 -01}
+ {-149720400 0 1 +00}
+ {-133995600 -3600 0 -01}
{-118270800 0 0 WET}
{228268800 3600 1 WEST}
{243993600 0 0 WET}
diff --git a/library/tzdata/Atlantic/Reykjavik b/library/tzdata/Atlantic/Reykjavik
index ad7f0db..5555460 100644
--- a/library/tzdata/Atlantic/Reykjavik
+++ b/library/tzdata/Atlantic/Reykjavik
@@ -2,72 +2,72 @@
set TZData(:Atlantic/Reykjavik) {
{-9223372036854775808 -5280 0 LMT}
- {-1956609120 -3600 0 IST}
- {-1668211200 0 1 ISST}
- {-1647212400 -3600 0 IST}
- {-1636675200 0 1 ISST}
- {-1613430000 -3600 0 IST}
- {-1605139200 0 1 ISST}
- {-1581894000 -3600 0 IST}
- {-1539561600 0 1 ISST}
- {-1531350000 -3600 0 IST}
- {-968025600 0 1 ISST}
- {-952293600 -3600 0 IST}
- {-942008400 0 1 ISST}
- {-920239200 -3600 0 IST}
- {-909957600 0 1 ISST}
- {-888789600 -3600 0 IST}
- {-877903200 0 1 ISST}
- {-857944800 -3600 0 IST}
- {-846453600 0 1 ISST}
- {-826495200 -3600 0 IST}
- {-815004000 0 1 ISST}
- {-795045600 -3600 0 IST}
- {-783554400 0 1 ISST}
- {-762991200 -3600 0 IST}
- {-752104800 0 1 ISST}
- {-731541600 -3600 0 IST}
- {-717631200 0 1 ISST}
- {-700092000 -3600 0 IST}
- {-686181600 0 1 ISST}
- {-668642400 -3600 0 IST}
- {-654732000 0 1 ISST}
- {-636588000 -3600 0 IST}
- {-623282400 0 1 ISST}
- {-605743200 -3600 0 IST}
- {-591832800 0 1 ISST}
- {-573688800 -3600 0 IST}
- {-559778400 0 1 ISST}
- {-542239200 -3600 0 IST}
- {-528328800 0 1 ISST}
- {-510789600 -3600 0 IST}
- {-496879200 0 1 ISST}
- {-479340000 -3600 0 IST}
- {-465429600 0 1 ISST}
- {-447890400 -3600 0 IST}
- {-433980000 0 1 ISST}
- {-415836000 -3600 0 IST}
- {-401925600 0 1 ISST}
- {-384386400 -3600 0 IST}
- {-370476000 0 1 ISST}
- {-352936800 -3600 0 IST}
- {-339026400 0 1 ISST}
- {-321487200 -3600 0 IST}
- {-307576800 0 1 ISST}
- {-290037600 -3600 0 IST}
- {-276127200 0 1 ISST}
- {-258588000 -3600 0 IST}
- {-244677600 0 1 ISST}
- {-226533600 -3600 0 IST}
- {-212623200 0 1 ISST}
- {-195084000 -3600 0 IST}
- {-181173600 0 1 ISST}
- {-163634400 -3600 0 IST}
- {-149724000 0 1 ISST}
- {-132184800 -3600 0 IST}
- {-118274400 0 1 ISST}
- {-100735200 -3600 0 IST}
- {-86824800 0 1 ISST}
- {-68680800 -3600 0 IST}
+ {-1956609120 -3600 0 -01}
+ {-1668211200 0 1 +00}
+ {-1647212400 -3600 0 -01}
+ {-1636675200 0 1 +00}
+ {-1613430000 -3600 0 -01}
+ {-1605139200 0 1 +00}
+ {-1581894000 -3600 0 -01}
+ {-1539561600 0 1 +00}
+ {-1531350000 -3600 0 -01}
+ {-968025600 0 1 +00}
+ {-952293600 -3600 0 -01}
+ {-942008400 0 1 +00}
+ {-920239200 -3600 0 -01}
+ {-909957600 0 1 +00}
+ {-888789600 -3600 0 -01}
+ {-877903200 0 1 +00}
+ {-857944800 -3600 0 -01}
+ {-846453600 0 1 +00}
+ {-826495200 -3600 0 -01}
+ {-815004000 0 1 +00}
+ {-795045600 -3600 0 -01}
+ {-783554400 0 1 +00}
+ {-762991200 -3600 0 -01}
+ {-752104800 0 1 +00}
+ {-731541600 -3600 0 -01}
+ {-717631200 0 1 +00}
+ {-700092000 -3600 0 -01}
+ {-686181600 0 1 +00}
+ {-668642400 -3600 0 -01}
+ {-654732000 0 1 +00}
+ {-636588000 -3600 0 -01}
+ {-623282400 0 1 +00}
+ {-605743200 -3600 0 -01}
+ {-591832800 0 1 +00}
+ {-573688800 -3600 0 -01}
+ {-559778400 0 1 +00}
+ {-542239200 -3600 0 -01}
+ {-528328800 0 1 +00}
+ {-510789600 -3600 0 -01}
+ {-496879200 0 1 +00}
+ {-479340000 -3600 0 -01}
+ {-465429600 0 1 +00}
+ {-447890400 -3600 0 -01}
+ {-433980000 0 1 +00}
+ {-415836000 -3600 0 -01}
+ {-401925600 0 1 +00}
+ {-384386400 -3600 0 -01}
+ {-370476000 0 1 +00}
+ {-352936800 -3600 0 -01}
+ {-339026400 0 1 +00}
+ {-321487200 -3600 0 -01}
+ {-307576800 0 1 +00}
+ {-290037600 -3600 0 -01}
+ {-276127200 0 1 +00}
+ {-258588000 -3600 0 -01}
+ {-244677600 0 1 +00}
+ {-226533600 -3600 0 -01}
+ {-212623200 0 1 +00}
+ {-195084000 -3600 0 -01}
+ {-181173600 0 1 +00}
+ {-163634400 -3600 0 -01}
+ {-149724000 0 1 +00}
+ {-132184800 -3600 0 -01}
+ {-118274400 0 1 +00}
+ {-100735200 -3600 0 -01}
+ {-86824800 0 1 +00}
+ {-68680800 -3600 0 -01}
{-54770400 0 0 GMT}
}
diff --git a/library/tzdata/Atlantic/South_Georgia b/library/tzdata/Atlantic/South_Georgia
index cbfc826..eb7307c 100644
--- a/library/tzdata/Atlantic/South_Georgia
+++ b/library/tzdata/Atlantic/South_Georgia
@@ -2,5 +2,5 @@
set TZData(:Atlantic/South_Georgia) {
{-9223372036854775808 -8768 0 LMT}
- {-2524512832 -7200 0 GST}
+ {-2524512832 -7200 0 -02}
}
diff --git a/library/tzdata/Atlantic/Stanley b/library/tzdata/Atlantic/Stanley
index c287238..5210832 100644
--- a/library/tzdata/Atlantic/Stanley
+++ b/library/tzdata/Atlantic/Stanley
@@ -3,73 +3,73 @@
set TZData(:Atlantic/Stanley) {
{-9223372036854775808 -13884 0 LMT}
{-2524507716 -13884 0 SMT}
- {-1824235716 -14400 0 FKT}
- {-1018209600 -10800 1 FKST}
- {-1003093200 -14400 0 FKT}
- {-986760000 -10800 1 FKST}
- {-971643600 -14400 0 FKT}
- {-954705600 -10800 1 FKST}
- {-939589200 -14400 0 FKT}
- {-923256000 -10800 1 FKST}
- {-908139600 -14400 0 FKT}
- {-891806400 -10800 1 FKST}
- {-876690000 -14400 0 FKT}
- {-860356800 -10800 1 FKST}
- {420606000 -7200 0 FKT}
- {433303200 -7200 1 FKST}
- {452052000 -10800 0 FKT}
- {464151600 -7200 1 FKST}
- {483501600 -10800 0 FKT}
- {495597600 -14400 0 FKT}
- {495604800 -10800 1 FKST}
- {514350000 -14400 0 FKT}
- {527054400 -10800 1 FKST}
- {545799600 -14400 0 FKT}
- {558504000 -10800 1 FKST}
- {577249200 -14400 0 FKT}
- {589953600 -10800 1 FKST}
- {608698800 -14400 0 FKT}
- {621403200 -10800 1 FKST}
- {640753200 -14400 0 FKT}
- {652852800 -10800 1 FKST}
- {672202800 -14400 0 FKT}
- {684907200 -10800 1 FKST}
- {703652400 -14400 0 FKT}
- {716356800 -10800 1 FKST}
- {735102000 -14400 0 FKT}
- {747806400 -10800 1 FKST}
- {766551600 -14400 0 FKT}
- {779256000 -10800 1 FKST}
- {798001200 -14400 0 FKT}
- {810705600 -10800 1 FKST}
- {830055600 -14400 0 FKT}
- {842760000 -10800 1 FKST}
- {861505200 -14400 0 FKT}
- {874209600 -10800 1 FKST}
- {892954800 -14400 0 FKT}
- {905659200 -10800 1 FKST}
- {924404400 -14400 0 FKT}
- {937108800 -10800 1 FKST}
- {955854000 -14400 0 FKT}
- {968558400 -10800 1 FKST}
- {987310800 -14400 0 FKT}
- {999410400 -10800 1 FKST}
- {1019365200 -14400 0 FKT}
- {1030860000 -10800 1 FKST}
- {1050814800 -14400 0 FKT}
- {1062914400 -10800 1 FKST}
- {1082264400 -14400 0 FKT}
- {1094364000 -10800 1 FKST}
- {1113714000 -14400 0 FKT}
- {1125813600 -10800 1 FKST}
- {1145163600 -14400 0 FKT}
- {1157263200 -10800 1 FKST}
- {1176613200 -14400 0 FKT}
- {1188712800 -10800 1 FKST}
- {1208667600 -14400 0 FKT}
- {1220767200 -10800 1 FKST}
- {1240117200 -14400 0 FKT}
- {1252216800 -10800 1 FKST}
- {1271566800 -14400 0 FKT}
- {1283662800 -10800 0 FKST}
+ {-1824235716 -14400 0 -04}
+ {-1018209600 -10800 1 -03}
+ {-1003093200 -14400 0 -04}
+ {-986760000 -10800 1 -03}
+ {-971643600 -14400 0 -04}
+ {-954705600 -10800 1 -03}
+ {-939589200 -14400 0 -04}
+ {-923256000 -10800 1 -03}
+ {-908139600 -14400 0 -04}
+ {-891806400 -10800 1 -03}
+ {-876690000 -14400 0 -04}
+ {-860356800 -10800 1 -03}
+ {420606000 -7200 0 -03}
+ {433303200 -7200 1 -02}
+ {452052000 -10800 0 -03}
+ {464151600 -7200 1 -02}
+ {483501600 -10800 0 -03}
+ {495597600 -14400 0 -04}
+ {495604800 -10800 1 -03}
+ {514350000 -14400 0 -04}
+ {527054400 -10800 1 -03}
+ {545799600 -14400 0 -04}
+ {558504000 -10800 1 -03}
+ {577249200 -14400 0 -04}
+ {589953600 -10800 1 -03}
+ {608698800 -14400 0 -04}
+ {621403200 -10800 1 -03}
+ {640753200 -14400 0 -04}
+ {652852800 -10800 1 -03}
+ {672202800 -14400 0 -04}
+ {684907200 -10800 1 -03}
+ {703652400 -14400 0 -04}
+ {716356800 -10800 1 -03}
+ {735102000 -14400 0 -04}
+ {747806400 -10800 1 -03}
+ {766551600 -14400 0 -04}
+ {779256000 -10800 1 -03}
+ {798001200 -14400 0 -04}
+ {810705600 -10800 1 -03}
+ {830055600 -14400 0 -04}
+ {842760000 -10800 1 -03}
+ {861505200 -14400 0 -04}
+ {874209600 -10800 1 -03}
+ {892954800 -14400 0 -04}
+ {905659200 -10800 1 -03}
+ {924404400 -14400 0 -04}
+ {937108800 -10800 1 -03}
+ {955854000 -14400 0 -04}
+ {968558400 -10800 1 -03}
+ {987310800 -14400 0 -04}
+ {999410400 -10800 1 -03}
+ {1019365200 -14400 0 -04}
+ {1030860000 -10800 1 -03}
+ {1050814800 -14400 0 -04}
+ {1062914400 -10800 1 -03}
+ {1082264400 -14400 0 -04}
+ {1094364000 -10800 1 -03}
+ {1113714000 -14400 0 -04}
+ {1125813600 -10800 1 -03}
+ {1145163600 -14400 0 -04}
+ {1157263200 -10800 1 -03}
+ {1176613200 -14400 0 -04}
+ {1188712800 -10800 1 -03}
+ {1208667600 -14400 0 -04}
+ {1220767200 -10800 1 -03}
+ {1240117200 -14400 0 -04}
+ {1252216800 -10800 1 -03}
+ {1271566800 -14400 0 -04}
+ {1283662800 -10800 0 -03}
}
diff --git a/library/tzdata/Australia/Eucla b/library/tzdata/Australia/Eucla
index 08a1948..8008980 100644
--- a/library/tzdata/Australia/Eucla
+++ b/library/tzdata/Australia/Eucla
@@ -2,24 +2,24 @@
set TZData(:Australia/Eucla) {
{-9223372036854775808 30928 0 LMT}
- {-2337928528 31500 0 ACWST}
- {-1672562640 35100 1 ACWDT}
- {-1665387900 31500 0 ACWST}
- {-883637100 35100 1 ACWDT}
- {-876123900 31500 0 ACWST}
- {-860395500 35100 1 ACWDT}
- {-844674300 31500 0 ACWST}
- {-836473500 35100 0 ACWST}
- {152039700 35100 1 ACWDT}
- {162926100 31500 0 ACWST}
- {436295700 35100 1 ACWDT}
- {447182100 31500 0 ACWST}
- {690311700 35100 1 ACWDT}
- {699383700 31500 0 ACWST}
- {1165079700 35100 1 ACWDT}
- {1174756500 31500 0 ACWST}
- {1193505300 35100 1 ACWDT}
- {1206810900 31500 0 ACWST}
- {1224954900 35100 1 ACWDT}
- {1238260500 31500 0 ACWST}
+ {-2337928528 31500 0 +0945}
+ {-1672562640 35100 1 +0945}
+ {-1665387900 31500 0 +0945}
+ {-883637100 35100 1 +0945}
+ {-876123900 31500 0 +0945}
+ {-860395500 35100 1 +0945}
+ {-844674300 31500 0 +0945}
+ {-836473500 35100 0 +0945}
+ {152039700 35100 1 +0945}
+ {162926100 31500 0 +0945}
+ {436295700 35100 1 +0945}
+ {447182100 31500 0 +0945}
+ {690311700 35100 1 +0945}
+ {699383700 31500 0 +0945}
+ {1165079700 35100 1 +0945}
+ {1174756500 31500 0 +0945}
+ {1193505300 35100 1 +0945}
+ {1206810900 31500 0 +0945}
+ {1224954900 35100 1 +0945}
+ {1238260500 31500 0 +0945}
}
diff --git a/library/tzdata/Australia/Lord_Howe b/library/tzdata/Australia/Lord_Howe
index a8ff80e..0e2405e 100644
--- a/library/tzdata/Australia/Lord_Howe
+++ b/library/tzdata/Australia/Lord_Howe
@@ -3,242 +3,243 @@
set TZData(:Australia/Lord_Howe) {
{-9223372036854775808 38180 0 LMT}
{-2364114980 36000 0 AEST}
- {352216800 37800 0 LHST}
- {372785400 41400 1 LHDT}
- {384273000 37800 0 LHST}
- {404839800 41400 1 LHDT}
- {415722600 37800 0 LHST}
- {436289400 41400 1 LHDT}
- {447172200 37800 0 LHST}
- {467739000 41400 1 LHDT}
- {478621800 37800 0 LHST}
- {499188600 39600 1 LHDT}
- {511282800 37800 0 LHST}
- {530033400 39600 1 LHDT}
- {542732400 37800 0 LHST}
- {562087800 39600 1 LHDT}
- {574786800 37800 0 LHST}
- {594142200 39600 1 LHDT}
- {606236400 37800 0 LHST}
- {625591800 39600 1 LHDT}
- {636476400 37800 0 LHST}
- {657041400 39600 1 LHDT}
- {667926000 37800 0 LHST}
- {688491000 39600 1 LHDT}
- {699375600 37800 0 LHST}
- {719940600 39600 1 LHDT}
- {731430000 37800 0 LHST}
- {751995000 39600 1 LHDT}
- {762879600 37800 0 LHST}
- {783444600 39600 1 LHDT}
- {794329200 37800 0 LHST}
- {814894200 39600 1 LHDT}
- {828198000 37800 0 LHST}
- {846343800 39600 1 LHDT}
- {859647600 37800 0 LHST}
- {877793400 39600 1 LHDT}
- {891097200 37800 0 LHST}
- {909243000 39600 1 LHDT}
- {922546800 37800 0 LHST}
- {941297400 39600 1 LHDT}
- {953996400 37800 0 LHST}
- {967303800 39600 1 LHDT}
- {985446000 37800 0 LHST}
- {1004196600 39600 1 LHDT}
- {1017500400 37800 0 LHST}
- {1035646200 39600 1 LHDT}
- {1048950000 37800 0 LHST}
- {1067095800 39600 1 LHDT}
- {1080399600 37800 0 LHST}
- {1099150200 39600 1 LHDT}
- {1111849200 37800 0 LHST}
- {1130599800 39600 1 LHDT}
- {1143903600 37800 0 LHST}
- {1162049400 39600 1 LHDT}
- {1174748400 37800 0 LHST}
- {1193499000 39600 1 LHDT}
- {1207407600 37800 0 LHST}
- {1223134200 39600 1 LHDT}
- {1238857200 37800 0 LHST}
- {1254583800 39600 1 LHDT}
- {1270306800 37800 0 LHST}
- {1286033400 39600 1 LHDT}
- {1301756400 37800 0 LHST}
- {1317483000 39600 1 LHDT}
- {1333206000 37800 0 LHST}
- {1349537400 39600 1 LHDT}
- {1365260400 37800 0 LHST}
- {1380987000 39600 1 LHDT}
- {1396710000 37800 0 LHST}
- {1412436600 39600 1 LHDT}
- {1428159600 37800 0 LHST}
- {1443886200 39600 1 LHDT}
- {1459609200 37800 0 LHST}
- {1475335800 39600 1 LHDT}
- {1491058800 37800 0 LHST}
- {1506785400 39600 1 LHDT}
- {1522508400 37800 0 LHST}
- {1538839800 39600 1 LHDT}
- {1554562800 37800 0 LHST}
- {1570289400 39600 1 LHDT}
- {1586012400 37800 0 LHST}
- {1601739000 39600 1 LHDT}
- {1617462000 37800 0 LHST}
- {1633188600 39600 1 LHDT}
- {1648911600 37800 0 LHST}
- {1664638200 39600 1 LHDT}
- {1680361200 37800 0 LHST}
- {1696087800 39600 1 LHDT}
- {1712415600 37800 0 LHST}
- {1728142200 39600 1 LHDT}
- {1743865200 37800 0 LHST}
- {1759591800 39600 1 LHDT}
- {1775314800 37800 0 LHST}
- {1791041400 39600 1 LHDT}
- {1806764400 37800 0 LHST}
- {1822491000 39600 1 LHDT}
- {1838214000 37800 0 LHST}
- {1853940600 39600 1 LHDT}
- {1869663600 37800 0 LHST}
- {1885995000 39600 1 LHDT}
- {1901718000 37800 0 LHST}
- {1917444600 39600 1 LHDT}
- {1933167600 37800 0 LHST}
- {1948894200 39600 1 LHDT}
- {1964617200 37800 0 LHST}
- {1980343800 39600 1 LHDT}
- {1996066800 37800 0 LHST}
- {2011793400 39600 1 LHDT}
- {2027516400 37800 0 LHST}
- {2043243000 39600 1 LHDT}
- {2058966000 37800 0 LHST}
- {2075297400 39600 1 LHDT}
- {2091020400 37800 0 LHST}
- {2106747000 39600 1 LHDT}
- {2122470000 37800 0 LHST}
- {2138196600 39600 1 LHDT}
- {2153919600 37800 0 LHST}
- {2169646200 39600 1 LHDT}
- {2185369200 37800 0 LHST}
- {2201095800 39600 1 LHDT}
- {2216818800 37800 0 LHST}
- {2233150200 39600 1 LHDT}
- {2248873200 37800 0 LHST}
- {2264599800 39600 1 LHDT}
- {2280322800 37800 0 LHST}
- {2296049400 39600 1 LHDT}
- {2311772400 37800 0 LHST}
- {2327499000 39600 1 LHDT}
- {2343222000 37800 0 LHST}
- {2358948600 39600 1 LHDT}
- {2374671600 37800 0 LHST}
- {2390398200 39600 1 LHDT}
- {2406121200 37800 0 LHST}
- {2422452600 39600 1 LHDT}
- {2438175600 37800 0 LHST}
- {2453902200 39600 1 LHDT}
- {2469625200 37800 0 LHST}
- {2485351800 39600 1 LHDT}
- {2501074800 37800 0 LHST}
- {2516801400 39600 1 LHDT}
- {2532524400 37800 0 LHST}
- {2548251000 39600 1 LHDT}
- {2563974000 37800 0 LHST}
- {2579700600 39600 1 LHDT}
- {2596028400 37800 0 LHST}
- {2611755000 39600 1 LHDT}
- {2627478000 37800 0 LHST}
- {2643204600 39600 1 LHDT}
- {2658927600 37800 0 LHST}
- {2674654200 39600 1 LHDT}
- {2690377200 37800 0 LHST}
- {2706103800 39600 1 LHDT}
- {2721826800 37800 0 LHST}
- {2737553400 39600 1 LHDT}
- {2753276400 37800 0 LHST}
- {2769607800 39600 1 LHDT}
- {2785330800 37800 0 LHST}
- {2801057400 39600 1 LHDT}
- {2816780400 37800 0 LHST}
- {2832507000 39600 1 LHDT}
- {2848230000 37800 0 LHST}
- {2863956600 39600 1 LHDT}
- {2879679600 37800 0 LHST}
- {2895406200 39600 1 LHDT}
- {2911129200 37800 0 LHST}
- {2926855800 39600 1 LHDT}
- {2942578800 37800 0 LHST}
- {2958910200 39600 1 LHDT}
- {2974633200 37800 0 LHST}
- {2990359800 39600 1 LHDT}
- {3006082800 37800 0 LHST}
- {3021809400 39600 1 LHDT}
- {3037532400 37800 0 LHST}
- {3053259000 39600 1 LHDT}
- {3068982000 37800 0 LHST}
- {3084708600 39600 1 LHDT}
- {3100431600 37800 0 LHST}
- {3116763000 39600 1 LHDT}
- {3132486000 37800 0 LHST}
- {3148212600 39600 1 LHDT}
- {3163935600 37800 0 LHST}
- {3179662200 39600 1 LHDT}
- {3195385200 37800 0 LHST}
- {3211111800 39600 1 LHDT}
- {3226834800 37800 0 LHST}
- {3242561400 39600 1 LHDT}
- {3258284400 37800 0 LHST}
- {3274011000 39600 1 LHDT}
- {3289734000 37800 0 LHST}
- {3306065400 39600 1 LHDT}
- {3321788400 37800 0 LHST}
- {3337515000 39600 1 LHDT}
- {3353238000 37800 0 LHST}
- {3368964600 39600 1 LHDT}
- {3384687600 37800 0 LHST}
- {3400414200 39600 1 LHDT}
- {3416137200 37800 0 LHST}
- {3431863800 39600 1 LHDT}
- {3447586800 37800 0 LHST}
- {3463313400 39600 1 LHDT}
- {3479641200 37800 0 LHST}
- {3495367800 39600 1 LHDT}
- {3511090800 37800 0 LHST}
- {3526817400 39600 1 LHDT}
- {3542540400 37800 0 LHST}
- {3558267000 39600 1 LHDT}
- {3573990000 37800 0 LHST}
- {3589716600 39600 1 LHDT}
- {3605439600 37800 0 LHST}
- {3621166200 39600 1 LHDT}
- {3636889200 37800 0 LHST}
- {3653220600 39600 1 LHDT}
- {3668943600 37800 0 LHST}
- {3684670200 39600 1 LHDT}
- {3700393200 37800 0 LHST}
- {3716119800 39600 1 LHDT}
- {3731842800 37800 0 LHST}
- {3747569400 39600 1 LHDT}
- {3763292400 37800 0 LHST}
- {3779019000 39600 1 LHDT}
- {3794742000 37800 0 LHST}
- {3810468600 39600 1 LHDT}
- {3826191600 37800 0 LHST}
- {3842523000 39600 1 LHDT}
- {3858246000 37800 0 LHST}
- {3873972600 39600 1 LHDT}
- {3889695600 37800 0 LHST}
- {3905422200 39600 1 LHDT}
- {3921145200 37800 0 LHST}
- {3936871800 39600 1 LHDT}
- {3952594800 37800 0 LHST}
- {3968321400 39600 1 LHDT}
- {3984044400 37800 0 LHST}
- {4000375800 39600 1 LHDT}
- {4016098800 37800 0 LHST}
- {4031825400 39600 1 LHDT}
- {4047548400 37800 0 LHST}
- {4063275000 39600 1 LHDT}
- {4078998000 37800 0 LHST}
- {4094724600 39600 1 LHDT}
+ {352216800 37800 0 +1130}
+ {372785400 41400 1 +1130}
+ {384273000 37800 0 +1130}
+ {404839800 41400 1 +1130}
+ {415722600 37800 0 +1130}
+ {436289400 41400 1 +1130}
+ {447172200 37800 0 +1130}
+ {467739000 41400 1 +1130}
+ {478621800 37800 0 +1130}
+ {488984400 37800 0 +11}
+ {499188600 39600 1 +11}
+ {511282800 37800 0 +11}
+ {530033400 39600 1 +11}
+ {542732400 37800 0 +11}
+ {562087800 39600 1 +11}
+ {574786800 37800 0 +11}
+ {594142200 39600 1 +11}
+ {606236400 37800 0 +11}
+ {625591800 39600 1 +11}
+ {636476400 37800 0 +11}
+ {657041400 39600 1 +11}
+ {667926000 37800 0 +11}
+ {688491000 39600 1 +11}
+ {699375600 37800 0 +11}
+ {719940600 39600 1 +11}
+ {731430000 37800 0 +11}
+ {751995000 39600 1 +11}
+ {762879600 37800 0 +11}
+ {783444600 39600 1 +11}
+ {794329200 37800 0 +11}
+ {814894200 39600 1 +11}
+ {828198000 37800 0 +11}
+ {846343800 39600 1 +11}
+ {859647600 37800 0 +11}
+ {877793400 39600 1 +11}
+ {891097200 37800 0 +11}
+ {909243000 39600 1 +11}
+ {922546800 37800 0 +11}
+ {941297400 39600 1 +11}
+ {953996400 37800 0 +11}
+ {967303800 39600 1 +11}
+ {985446000 37800 0 +11}
+ {1004196600 39600 1 +11}
+ {1017500400 37800 0 +11}
+ {1035646200 39600 1 +11}
+ {1048950000 37800 0 +11}
+ {1067095800 39600 1 +11}
+ {1080399600 37800 0 +11}
+ {1099150200 39600 1 +11}
+ {1111849200 37800 0 +11}
+ {1130599800 39600 1 +11}
+ {1143903600 37800 0 +11}
+ {1162049400 39600 1 +11}
+ {1174748400 37800 0 +11}
+ {1193499000 39600 1 +11}
+ {1207407600 37800 0 +11}
+ {1223134200 39600 1 +11}
+ {1238857200 37800 0 +11}
+ {1254583800 39600 1 +11}
+ {1270306800 37800 0 +11}
+ {1286033400 39600 1 +11}
+ {1301756400 37800 0 +11}
+ {1317483000 39600 1 +11}
+ {1333206000 37800 0 +11}
+ {1349537400 39600 1 +11}
+ {1365260400 37800 0 +11}
+ {1380987000 39600 1 +11}
+ {1396710000 37800 0 +11}
+ {1412436600 39600 1 +11}
+ {1428159600 37800 0 +11}
+ {1443886200 39600 1 +11}
+ {1459609200 37800 0 +11}
+ {1475335800 39600 1 +11}
+ {1491058800 37800 0 +11}
+ {1506785400 39600 1 +11}
+ {1522508400 37800 0 +11}
+ {1538839800 39600 1 +11}
+ {1554562800 37800 0 +11}
+ {1570289400 39600 1 +11}
+ {1586012400 37800 0 +11}
+ {1601739000 39600 1 +11}
+ {1617462000 37800 0 +11}
+ {1633188600 39600 1 +11}
+ {1648911600 37800 0 +11}
+ {1664638200 39600 1 +11}
+ {1680361200 37800 0 +11}
+ {1696087800 39600 1 +11}
+ {1712415600 37800 0 +11}
+ {1728142200 39600 1 +11}
+ {1743865200 37800 0 +11}
+ {1759591800 39600 1 +11}
+ {1775314800 37800 0 +11}
+ {1791041400 39600 1 +11}
+ {1806764400 37800 0 +11}
+ {1822491000 39600 1 +11}
+ {1838214000 37800 0 +11}
+ {1853940600 39600 1 +11}
+ {1869663600 37800 0 +11}
+ {1885995000 39600 1 +11}
+ {1901718000 37800 0 +11}
+ {1917444600 39600 1 +11}
+ {1933167600 37800 0 +11}
+ {1948894200 39600 1 +11}
+ {1964617200 37800 0 +11}
+ {1980343800 39600 1 +11}
+ {1996066800 37800 0 +11}
+ {2011793400 39600 1 +11}
+ {2027516400 37800 0 +11}
+ {2043243000 39600 1 +11}
+ {2058966000 37800 0 +11}
+ {2075297400 39600 1 +11}
+ {2091020400 37800 0 +11}
+ {2106747000 39600 1 +11}
+ {2122470000 37800 0 +11}
+ {2138196600 39600 1 +11}
+ {2153919600 37800 0 +11}
+ {2169646200 39600 1 +11}
+ {2185369200 37800 0 +11}
+ {2201095800 39600 1 +11}
+ {2216818800 37800 0 +11}
+ {2233150200 39600 1 +11}
+ {2248873200 37800 0 +11}
+ {2264599800 39600 1 +11}
+ {2280322800 37800 0 +11}
+ {2296049400 39600 1 +11}
+ {2311772400 37800 0 +11}
+ {2327499000 39600 1 +11}
+ {2343222000 37800 0 +11}
+ {2358948600 39600 1 +11}
+ {2374671600 37800 0 +11}
+ {2390398200 39600 1 +11}
+ {2406121200 37800 0 +11}
+ {2422452600 39600 1 +11}
+ {2438175600 37800 0 +11}
+ {2453902200 39600 1 +11}
+ {2469625200 37800 0 +11}
+ {2485351800 39600 1 +11}
+ {2501074800 37800 0 +11}
+ {2516801400 39600 1 +11}
+ {2532524400 37800 0 +11}
+ {2548251000 39600 1 +11}
+ {2563974000 37800 0 +11}
+ {2579700600 39600 1 +11}
+ {2596028400 37800 0 +11}
+ {2611755000 39600 1 +11}
+ {2627478000 37800 0 +11}
+ {2643204600 39600 1 +11}
+ {2658927600 37800 0 +11}
+ {2674654200 39600 1 +11}
+ {2690377200 37800 0 +11}
+ {2706103800 39600 1 +11}
+ {2721826800 37800 0 +11}
+ {2737553400 39600 1 +11}
+ {2753276400 37800 0 +11}
+ {2769607800 39600 1 +11}
+ {2785330800 37800 0 +11}
+ {2801057400 39600 1 +11}
+ {2816780400 37800 0 +11}
+ {2832507000 39600 1 +11}
+ {2848230000 37800 0 +11}
+ {2863956600 39600 1 +11}
+ {2879679600 37800 0 +11}
+ {2895406200 39600 1 +11}
+ {2911129200 37800 0 +11}
+ {2926855800 39600 1 +11}
+ {2942578800 37800 0 +11}
+ {2958910200 39600 1 +11}
+ {2974633200 37800 0 +11}
+ {2990359800 39600 1 +11}
+ {3006082800 37800 0 +11}
+ {3021809400 39600 1 +11}
+ {3037532400 37800 0 +11}
+ {3053259000 39600 1 +11}
+ {3068982000 37800 0 +11}
+ {3084708600 39600 1 +11}
+ {3100431600 37800 0 +11}
+ {3116763000 39600 1 +11}
+ {3132486000 37800 0 +11}
+ {3148212600 39600 1 +11}
+ {3163935600 37800 0 +11}
+ {3179662200 39600 1 +11}
+ {3195385200 37800 0 +11}
+ {3211111800 39600 1 +11}
+ {3226834800 37800 0 +11}
+ {3242561400 39600 1 +11}
+ {3258284400 37800 0 +11}
+ {3274011000 39600 1 +11}
+ {3289734000 37800 0 +11}
+ {3306065400 39600 1 +11}
+ {3321788400 37800 0 +11}
+ {3337515000 39600 1 +11}
+ {3353238000 37800 0 +11}
+ {3368964600 39600 1 +11}
+ {3384687600 37800 0 +11}
+ {3400414200 39600 1 +11}
+ {3416137200 37800 0 +11}
+ {3431863800 39600 1 +11}
+ {3447586800 37800 0 +11}
+ {3463313400 39600 1 +11}
+ {3479641200 37800 0 +11}
+ {3495367800 39600 1 +11}
+ {3511090800 37800 0 +11}
+ {3526817400 39600 1 +11}
+ {3542540400 37800 0 +11}
+ {3558267000 39600 1 +11}
+ {3573990000 37800 0 +11}
+ {3589716600 39600 1 +11}
+ {3605439600 37800 0 +11}
+ {3621166200 39600 1 +11}
+ {3636889200 37800 0 +11}
+ {3653220600 39600 1 +11}
+ {3668943600 37800 0 +11}
+ {3684670200 39600 1 +11}
+ {3700393200 37800 0 +11}
+ {3716119800 39600 1 +11}
+ {3731842800 37800 0 +11}
+ {3747569400 39600 1 +11}
+ {3763292400 37800 0 +11}
+ {3779019000 39600 1 +11}
+ {3794742000 37800 0 +11}
+ {3810468600 39600 1 +11}
+ {3826191600 37800 0 +11}
+ {3842523000 39600 1 +11}
+ {3858246000 37800 0 +11}
+ {3873972600 39600 1 +11}
+ {3889695600 37800 0 +11}
+ {3905422200 39600 1 +11}
+ {3921145200 37800 0 +11}
+ {3936871800 39600 1 +11}
+ {3952594800 37800 0 +11}
+ {3968321400 39600 1 +11}
+ {3984044400 37800 0 +11}
+ {4000375800 39600 1 +11}
+ {4016098800 37800 0 +11}
+ {4031825400 39600 1 +11}
+ {4047548400 37800 0 +11}
+ {4063275000 39600 1 +11}
+ {4078998000 37800 0 +11}
+ {4094724600 39600 1 +11}
}
diff --git a/library/tzdata/Europe/Amsterdam b/library/tzdata/Europe/Amsterdam
index bd89127..b683c99 100644
--- a/library/tzdata/Europe/Amsterdam
+++ b/library/tzdata/Europe/Amsterdam
@@ -46,12 +46,12 @@ set TZData(:Europe/Amsterdam) {
{-1061331572 4772 1 NST}
{-1049062772 1172 0 AMT}
{-1029190772 4772 1 NST}
- {-1025741972 4800 0 NEST}
- {-1017613200 1200 0 NET}
- {-998259600 4800 1 NEST}
- {-986163600 1200 0 NET}
- {-966723600 4800 1 NEST}
- {-954109200 1200 0 NET}
+ {-1025741972 4800 0 +0120}
+ {-1017613200 1200 0 +0020}
+ {-998259600 4800 1 +0120}
+ {-986163600 1200 0 +0020}
+ {-966723600 4800 1 +0120}
+ {-954109200 1200 0 +0020}
{-935022000 7200 0 CEST}
{-857257200 3600 0 CET}
{-844556400 7200 1 CEST}
diff --git a/library/tzdata/Europe/Madrid b/library/tzdata/Europe/Madrid
index 50de14f..f4dd484 100644
--- a/library/tzdata/Europe/Madrid
+++ b/library/tzdata/Europe/Madrid
@@ -2,52 +2,50 @@
set TZData(:Europe/Madrid) {
{-9223372036854775808 -884 0 LMT}
- {-2177451916 0 0 WET}
- {-1661734800 3600 1 WEST}
- {-1648429200 0 0 WET}
+ {-2177452800 0 0 WET}
{-1631926800 3600 1 WEST}
- {-1616893200 0 0 WET}
- {-1601254800 3600 1 WEST}
- {-1585357200 0 0 WET}
+ {-1616889600 0 0 WET}
+ {-1601168400 3600 1 WEST}
+ {-1585353600 0 0 WET}
{-1442451600 3600 1 WEST}
- {-1427677200 0 0 WET}
+ {-1427673600 0 0 WET}
{-1379293200 3600 1 WEST}
- {-1364778000 0 0 WET}
+ {-1364774400 0 0 WET}
{-1348448400 3600 1 WEST}
- {-1333328400 0 0 WET}
- {-1316394000 3600 1 WEST}
- {-1301274000 0 0 WET}
+ {-1333324800 0 0 WET}
+ {-1316390400 3600 1 WEST}
+ {-1301270400 0 0 WET}
{-1284339600 3600 1 WEST}
- {-1269824400 0 0 WET}
- {-1029114000 3600 1 WEST}
- {-1017622800 0 0 WET}
- {-1002848400 3600 1 WEST}
- {-986173200 0 0 WET}
- {-969238800 3600 1 WEST}
- {-954118800 0 0 WET}
- {-940208400 3600 1 WEST}
- {-873079200 7200 1 WEMT}
- {-862538400 3600 1 WEST}
- {-842839200 7200 1 WEMT}
- {-828237600 3600 1 WEST}
- {-811389600 7200 1 WEMT}
- {-796010400 3600 1 WEST}
- {-779940000 7200 1 WEMT}
- {-765421200 3600 1 WEST}
- {-748490400 7200 1 WEMT}
- {-733881600 3600 0 CET}
+ {-1269820800 0 0 WET}
+ {-1026954000 3600 1 WEST}
+ {-1017619200 0 0 WET}
+ {-1001898000 3600 1 WEST}
+ {-999482400 7200 1 WEMT}
+ {-986090400 3600 1 WEST}
+ {-954115200 0 0 WET}
+ {-940208400 3600 0 CET}
+ {-873079200 7200 1 CEST}
+ {-862621200 3600 0 CET}
+ {-842839200 7200 1 CEST}
+ {-828320400 3600 0 CET}
+ {-811389600 7200 1 CEST}
+ {-796870800 3600 0 CET}
+ {-779940000 7200 1 CEST}
+ {-765421200 3600 0 CET}
+ {-748490400 7200 1 CEST}
+ {-733971600 3600 0 CET}
{-652327200 7200 1 CEST}
- {-639190800 3600 0 CET}
+ {-639018000 3600 0 CET}
{135122400 7200 1 CEST}
{150246000 3600 0 CET}
- {167176800 7200 1 CEST}
+ {166572000 7200 1 CEST}
{181695600 3600 0 CET}
{196812000 7200 1 CEST}
{212540400 3600 0 CET}
{228866400 7200 1 CEST}
{243990000 3600 0 CET}
- {260402400 7200 1 CEST}
- {276044400 3600 0 CET}
+ {260326800 7200 1 CEST}
+ {276051600 3600 0 CET}
{283993200 3600 0 CET}
{291776400 7200 1 CEST}
{307501200 3600 0 CET}
diff --git a/library/tzdata/Europe/Zaporozhye b/library/tzdata/Europe/Zaporozhye
index 01418cd..478a61c 100644
--- a/library/tzdata/Europe/Zaporozhye
+++ b/library/tzdata/Europe/Zaporozhye
@@ -2,7 +2,7 @@
set TZData(:Europe/Zaporozhye) {
{-9223372036854775808 8440 0 LMT}
- {-2840149240 8400 0 CUT}
+ {-2840149240 8400 0 +0220}
{-1441160400 7200 0 EET}
{-1247536800 10800 0 MSK}
{-894769200 3600 0 CET}
diff --git a/library/tzdata/Indian/Chagos b/library/tzdata/Indian/Chagos
index a5cec61..23ea790 100644
--- a/library/tzdata/Indian/Chagos
+++ b/library/tzdata/Indian/Chagos
@@ -2,6 +2,6 @@
set TZData(:Indian/Chagos) {
{-9223372036854775808 17380 0 LMT}
- {-1988167780 18000 0 IOT}
- {820436400 21600 0 IOT}
+ {-1988167780 18000 0 +05}
+ {820436400 21600 0 +06}
}
diff --git a/library/tzdata/Indian/Christmas b/library/tzdata/Indian/Christmas
index c36e973..76f8cbe 100644
--- a/library/tzdata/Indian/Christmas
+++ b/library/tzdata/Indian/Christmas
@@ -2,5 +2,5 @@
set TZData(:Indian/Christmas) {
{-9223372036854775808 25372 0 LMT}
- {-2364102172 25200 0 CXT}
+ {-2364102172 25200 0 +07}
}
diff --git a/library/tzdata/Indian/Cocos b/library/tzdata/Indian/Cocos
index a63ae68..833eb20 100644
--- a/library/tzdata/Indian/Cocos
+++ b/library/tzdata/Indian/Cocos
@@ -2,5 +2,5 @@
set TZData(:Indian/Cocos) {
{-9223372036854775808 23260 0 LMT}
- {-2209012060 23400 0 CCT}
+ {-2209012060 23400 0 +0630}
}
diff --git a/library/tzdata/Indian/Mahe b/library/tzdata/Indian/Mahe
index c88a24b..3dd5b40 100644
--- a/library/tzdata/Indian/Mahe
+++ b/library/tzdata/Indian/Mahe
@@ -2,5 +2,5 @@
set TZData(:Indian/Mahe) {
{-9223372036854775808 13308 0 LMT}
- {-2006653308 14400 0 SCT}
+ {-2006653308 14400 0 +04}
}
diff --git a/library/tzdata/Indian/Maldives b/library/tzdata/Indian/Maldives
index 2c2c739..b23bf2b 100644
--- a/library/tzdata/Indian/Maldives
+++ b/library/tzdata/Indian/Maldives
@@ -3,5 +3,5 @@
set TZData(:Indian/Maldives) {
{-9223372036854775808 17640 0 LMT}
{-2840158440 17640 0 MMT}
- {-315636840 18000 0 MVT}
+ {-315636840 18000 0 +05}
}
diff --git a/library/tzdata/Indian/Mauritius b/library/tzdata/Indian/Mauritius
index a9c07eb..2a7a0b1 100644
--- a/library/tzdata/Indian/Mauritius
+++ b/library/tzdata/Indian/Mauritius
@@ -2,9 +2,9 @@
set TZData(:Indian/Mauritius) {
{-9223372036854775808 13800 0 LMT}
- {-1988164200 14400 0 MUT}
- {403041600 18000 1 MUST}
- {417034800 14400 0 MUT}
- {1224972000 18000 1 MUST}
- {1238274000 14400 0 MUT}
+ {-1988164200 14400 0 +04}
+ {403041600 18000 1 +05}
+ {417034800 14400 0 +04}
+ {1224972000 18000 1 +05}
+ {1238274000 14400 0 +04}
}
diff --git a/library/tzdata/Indian/Reunion b/library/tzdata/Indian/Reunion
index de2dd60..aa78dec 100644
--- a/library/tzdata/Indian/Reunion
+++ b/library/tzdata/Indian/Reunion
@@ -2,5 +2,5 @@
set TZData(:Indian/Reunion) {
{-9223372036854775808 13312 0 LMT}
- {-1848886912 14400 0 RET}
+ {-1848886912 14400 0 +04}
}
diff --git a/library/tzdata/Pacific/Apia b/library/tzdata/Pacific/Apia
index 21d6669..feef374 100644
--- a/library/tzdata/Pacific/Apia
+++ b/library/tzdata/Pacific/Apia
@@ -3,186 +3,186 @@
set TZData(:Pacific/Apia) {
{-9223372036854775808 45184 0 LMT}
{-2855737984 -41216 0 LMT}
- {-1861878784 -41400 0 WSST}
- {-631110600 -39600 0 SST}
- {1285498800 -36000 1 SDT}
- {1301752800 -39600 0 SST}
- {1316872800 -36000 1 SDT}
- {1325239200 50400 0 WSDT}
- {1333202400 46800 0 WSST}
- {1348927200 50400 1 WSDT}
- {1365256800 46800 0 WSST}
- {1380376800 50400 1 WSDT}
- {1396706400 46800 0 WSST}
- {1411826400 50400 1 WSDT}
- {1428156000 46800 0 WSST}
- {1443276000 50400 1 WSDT}
- {1459605600 46800 0 WSST}
- {1474725600 50400 1 WSDT}
- {1491055200 46800 0 WSST}
- {1506175200 50400 1 WSDT}
- {1522504800 46800 0 WSST}
- {1538229600 50400 1 WSDT}
- {1554559200 46800 0 WSST}
- {1569679200 50400 1 WSDT}
- {1586008800 46800 0 WSST}
- {1601128800 50400 1 WSDT}
- {1617458400 46800 0 WSST}
- {1632578400 50400 1 WSDT}
- {1648908000 46800 0 WSST}
- {1664028000 50400 1 WSDT}
- {1680357600 46800 0 WSST}
- {1695477600 50400 1 WSDT}
- {1712412000 46800 0 WSST}
- {1727532000 50400 1 WSDT}
- {1743861600 46800 0 WSST}
- {1758981600 50400 1 WSDT}
- {1775311200 46800 0 WSST}
- {1790431200 50400 1 WSDT}
- {1806760800 46800 0 WSST}
- {1821880800 50400 1 WSDT}
- {1838210400 46800 0 WSST}
- {1853330400 50400 1 WSDT}
- {1869660000 46800 0 WSST}
- {1885384800 50400 1 WSDT}
- {1901714400 46800 0 WSST}
- {1916834400 50400 1 WSDT}
- {1933164000 46800 0 WSST}
- {1948284000 50400 1 WSDT}
- {1964613600 46800 0 WSST}
- {1979733600 50400 1 WSDT}
- {1996063200 46800 0 WSST}
- {2011183200 50400 1 WSDT}
- {2027512800 46800 0 WSST}
- {2042632800 50400 1 WSDT}
- {2058962400 46800 0 WSST}
- {2074687200 50400 1 WSDT}
- {2091016800 46800 0 WSST}
- {2106136800 50400 1 WSDT}
- {2122466400 46800 0 WSST}
- {2137586400 50400 1 WSDT}
- {2153916000 46800 0 WSST}
- {2169036000 50400 1 WSDT}
- {2185365600 46800 0 WSST}
- {2200485600 50400 1 WSDT}
- {2216815200 46800 0 WSST}
- {2232540000 50400 1 WSDT}
- {2248869600 46800 0 WSST}
- {2263989600 50400 1 WSDT}
- {2280319200 46800 0 WSST}
- {2295439200 50400 1 WSDT}
- {2311768800 46800 0 WSST}
- {2326888800 50400 1 WSDT}
- {2343218400 46800 0 WSST}
- {2358338400 50400 1 WSDT}
- {2374668000 46800 0 WSST}
- {2389788000 50400 1 WSDT}
- {2406117600 46800 0 WSST}
- {2421842400 50400 1 WSDT}
- {2438172000 46800 0 WSST}
- {2453292000 50400 1 WSDT}
- {2469621600 46800 0 WSST}
- {2484741600 50400 1 WSDT}
- {2501071200 46800 0 WSST}
- {2516191200 50400 1 WSDT}
- {2532520800 46800 0 WSST}
- {2547640800 50400 1 WSDT}
- {2563970400 46800 0 WSST}
- {2579090400 50400 1 WSDT}
- {2596024800 46800 0 WSST}
- {2611144800 50400 1 WSDT}
- {2627474400 46800 0 WSST}
- {2642594400 50400 1 WSDT}
- {2658924000 46800 0 WSST}
- {2674044000 50400 1 WSDT}
- {2690373600 46800 0 WSST}
- {2705493600 50400 1 WSDT}
- {2721823200 46800 0 WSST}
- {2736943200 50400 1 WSDT}
- {2753272800 46800 0 WSST}
- {2768997600 50400 1 WSDT}
- {2785327200 46800 0 WSST}
- {2800447200 50400 1 WSDT}
- {2816776800 46800 0 WSST}
- {2831896800 50400 1 WSDT}
- {2848226400 46800 0 WSST}
- {2863346400 50400 1 WSDT}
- {2879676000 46800 0 WSST}
- {2894796000 50400 1 WSDT}
- {2911125600 46800 0 WSST}
- {2926245600 50400 1 WSDT}
- {2942575200 46800 0 WSST}
- {2958300000 50400 1 WSDT}
- {2974629600 46800 0 WSST}
- {2989749600 50400 1 WSDT}
- {3006079200 46800 0 WSST}
- {3021199200 50400 1 WSDT}
- {3037528800 46800 0 WSST}
- {3052648800 50400 1 WSDT}
- {3068978400 46800 0 WSST}
- {3084098400 50400 1 WSDT}
- {3100428000 46800 0 WSST}
- {3116152800 50400 1 WSDT}
- {3132482400 46800 0 WSST}
- {3147602400 50400 1 WSDT}
- {3163932000 46800 0 WSST}
- {3179052000 50400 1 WSDT}
- {3195381600 46800 0 WSST}
- {3210501600 50400 1 WSDT}
- {3226831200 46800 0 WSST}
- {3241951200 50400 1 WSDT}
- {3258280800 46800 0 WSST}
- {3273400800 50400 1 WSDT}
- {3289730400 46800 0 WSST}
- {3305455200 50400 1 WSDT}
- {3321784800 46800 0 WSST}
- {3336904800 50400 1 WSDT}
- {3353234400 46800 0 WSST}
- {3368354400 50400 1 WSDT}
- {3384684000 46800 0 WSST}
- {3399804000 50400 1 WSDT}
- {3416133600 46800 0 WSST}
- {3431253600 50400 1 WSDT}
- {3447583200 46800 0 WSST}
- {3462703200 50400 1 WSDT}
- {3479637600 46800 0 WSST}
- {3494757600 50400 1 WSDT}
- {3511087200 46800 0 WSST}
- {3526207200 50400 1 WSDT}
- {3542536800 46800 0 WSST}
- {3557656800 50400 1 WSDT}
- {3573986400 46800 0 WSST}
- {3589106400 50400 1 WSDT}
- {3605436000 46800 0 WSST}
- {3620556000 50400 1 WSDT}
- {3636885600 46800 0 WSST}
- {3652610400 50400 1 WSDT}
- {3668940000 46800 0 WSST}
- {3684060000 50400 1 WSDT}
- {3700389600 46800 0 WSST}
- {3715509600 50400 1 WSDT}
- {3731839200 46800 0 WSST}
- {3746959200 50400 1 WSDT}
- {3763288800 46800 0 WSST}
- {3778408800 50400 1 WSDT}
- {3794738400 46800 0 WSST}
- {3809858400 50400 1 WSDT}
- {3826188000 46800 0 WSST}
- {3841912800 50400 1 WSDT}
- {3858242400 46800 0 WSST}
- {3873362400 50400 1 WSDT}
- {3889692000 46800 0 WSST}
- {3904812000 50400 1 WSDT}
- {3921141600 46800 0 WSST}
- {3936261600 50400 1 WSDT}
- {3952591200 46800 0 WSST}
- {3967711200 50400 1 WSDT}
- {3984040800 46800 0 WSST}
- {3999765600 50400 1 WSDT}
- {4016095200 46800 0 WSST}
- {4031215200 50400 1 WSDT}
- {4047544800 46800 0 WSST}
- {4062664800 50400 1 WSDT}
- {4078994400 46800 0 WSST}
- {4094114400 50400 1 WSDT}
+ {-1861878784 -41400 0 -1130}
+ {-631110600 -39600 0 -10}
+ {1285498800 -36000 1 -10}
+ {1301752800 -39600 0 -10}
+ {1316872800 -36000 1 -10}
+ {1325239200 50400 0 +14}
+ {1333202400 46800 0 +14}
+ {1348927200 50400 1 +14}
+ {1365256800 46800 0 +14}
+ {1380376800 50400 1 +14}
+ {1396706400 46800 0 +14}
+ {1411826400 50400 1 +14}
+ {1428156000 46800 0 +14}
+ {1443276000 50400 1 +14}
+ {1459605600 46800 0 +14}
+ {1474725600 50400 1 +14}
+ {1491055200 46800 0 +14}
+ {1506175200 50400 1 +14}
+ {1522504800 46800 0 +14}
+ {1538229600 50400 1 +14}
+ {1554559200 46800 0 +14}
+ {1569679200 50400 1 +14}
+ {1586008800 46800 0 +14}
+ {1601128800 50400 1 +14}
+ {1617458400 46800 0 +14}
+ {1632578400 50400 1 +14}
+ {1648908000 46800 0 +14}
+ {1664028000 50400 1 +14}
+ {1680357600 46800 0 +14}
+ {1695477600 50400 1 +14}
+ {1712412000 46800 0 +14}
+ {1727532000 50400 1 +14}
+ {1743861600 46800 0 +14}
+ {1758981600 50400 1 +14}
+ {1775311200 46800 0 +14}
+ {1790431200 50400 1 +14}
+ {1806760800 46800 0 +14}
+ {1821880800 50400 1 +14}
+ {1838210400 46800 0 +14}
+ {1853330400 50400 1 +14}
+ {1869660000 46800 0 +14}
+ {1885384800 50400 1 +14}
+ {1901714400 46800 0 +14}
+ {1916834400 50400 1 +14}
+ {1933164000 46800 0 +14}
+ {1948284000 50400 1 +14}
+ {1964613600 46800 0 +14}
+ {1979733600 50400 1 +14}
+ {1996063200 46800 0 +14}
+ {2011183200 50400 1 +14}
+ {2027512800 46800 0 +14}
+ {2042632800 50400 1 +14}
+ {2058962400 46800 0 +14}
+ {2074687200 50400 1 +14}
+ {2091016800 46800 0 +14}
+ {2106136800 50400 1 +14}
+ {2122466400 46800 0 +14}
+ {2137586400 50400 1 +14}
+ {2153916000 46800 0 +14}
+ {2169036000 50400 1 +14}
+ {2185365600 46800 0 +14}
+ {2200485600 50400 1 +14}
+ {2216815200 46800 0 +14}
+ {2232540000 50400 1 +14}
+ {2248869600 46800 0 +14}
+ {2263989600 50400 1 +14}
+ {2280319200 46800 0 +14}
+ {2295439200 50400 1 +14}
+ {2311768800 46800 0 +14}
+ {2326888800 50400 1 +14}
+ {2343218400 46800 0 +14}
+ {2358338400 50400 1 +14}
+ {2374668000 46800 0 +14}
+ {2389788000 50400 1 +14}
+ {2406117600 46800 0 +14}
+ {2421842400 50400 1 +14}
+ {2438172000 46800 0 +14}
+ {2453292000 50400 1 +14}
+ {2469621600 46800 0 +14}
+ {2484741600 50400 1 +14}
+ {2501071200 46800 0 +14}
+ {2516191200 50400 1 +14}
+ {2532520800 46800 0 +14}
+ {2547640800 50400 1 +14}
+ {2563970400 46800 0 +14}
+ {2579090400 50400 1 +14}
+ {2596024800 46800 0 +14}
+ {2611144800 50400 1 +14}
+ {2627474400 46800 0 +14}
+ {2642594400 50400 1 +14}
+ {2658924000 46800 0 +14}
+ {2674044000 50400 1 +14}
+ {2690373600 46800 0 +14}
+ {2705493600 50400 1 +14}
+ {2721823200 46800 0 +14}
+ {2736943200 50400 1 +14}
+ {2753272800 46800 0 +14}
+ {2768997600 50400 1 +14}
+ {2785327200 46800 0 +14}
+ {2800447200 50400 1 +14}
+ {2816776800 46800 0 +14}
+ {2831896800 50400 1 +14}
+ {2848226400 46800 0 +14}
+ {2863346400 50400 1 +14}
+ {2879676000 46800 0 +14}
+ {2894796000 50400 1 +14}
+ {2911125600 46800 0 +14}
+ {2926245600 50400 1 +14}
+ {2942575200 46800 0 +14}
+ {2958300000 50400 1 +14}
+ {2974629600 46800 0 +14}
+ {2989749600 50400 1 +14}
+ {3006079200 46800 0 +14}
+ {3021199200 50400 1 +14}
+ {3037528800 46800 0 +14}
+ {3052648800 50400 1 +14}
+ {3068978400 46800 0 +14}
+ {3084098400 50400 1 +14}
+ {3100428000 46800 0 +14}
+ {3116152800 50400 1 +14}
+ {3132482400 46800 0 +14}
+ {3147602400 50400 1 +14}
+ {3163932000 46800 0 +14}
+ {3179052000 50400 1 +14}
+ {3195381600 46800 0 +14}
+ {3210501600 50400 1 +14}
+ {3226831200 46800 0 +14}
+ {3241951200 50400 1 +14}
+ {3258280800 46800 0 +14}
+ {3273400800 50400 1 +14}
+ {3289730400 46800 0 +14}
+ {3305455200 50400 1 +14}
+ {3321784800 46800 0 +14}
+ {3336904800 50400 1 +14}
+ {3353234400 46800 0 +14}
+ {3368354400 50400 1 +14}
+ {3384684000 46800 0 +14}
+ {3399804000 50400 1 +14}
+ {3416133600 46800 0 +14}
+ {3431253600 50400 1 +14}
+ {3447583200 46800 0 +14}
+ {3462703200 50400 1 +14}
+ {3479637600 46800 0 +14}
+ {3494757600 50400 1 +14}
+ {3511087200 46800 0 +14}
+ {3526207200 50400 1 +14}
+ {3542536800 46800 0 +14}
+ {3557656800 50400 1 +14}
+ {3573986400 46800 0 +14}
+ {3589106400 50400 1 +14}
+ {3605436000 46800 0 +14}
+ {3620556000 50400 1 +14}
+ {3636885600 46800 0 +14}
+ {3652610400 50400 1 +14}
+ {3668940000 46800 0 +14}
+ {3684060000 50400 1 +14}
+ {3700389600 46800 0 +14}
+ {3715509600 50400 1 +14}
+ {3731839200 46800 0 +14}
+ {3746959200 50400 1 +14}
+ {3763288800 46800 0 +14}
+ {3778408800 50400 1 +14}
+ {3794738400 46800 0 +14}
+ {3809858400 50400 1 +14}
+ {3826188000 46800 0 +14}
+ {3841912800 50400 1 +14}
+ {3858242400 46800 0 +14}
+ {3873362400 50400 1 +14}
+ {3889692000 46800 0 +14}
+ {3904812000 50400 1 +14}
+ {3921141600 46800 0 +14}
+ {3936261600 50400 1 +14}
+ {3952591200 46800 0 +14}
+ {3967711200 50400 1 +14}
+ {3984040800 46800 0 +14}
+ {3999765600 50400 1 +14}
+ {4016095200 46800 0 +14}
+ {4031215200 50400 1 +14}
+ {4047544800 46800 0 +14}
+ {4062664800 50400 1 +14}
+ {4078994400 46800 0 +14}
+ {4094114400 50400 1 +14}
}
diff --git a/library/tzdata/Pacific/Bougainville b/library/tzdata/Pacific/Bougainville
index 06996f9..3c00b29 100644
--- a/library/tzdata/Pacific/Bougainville
+++ b/library/tzdata/Pacific/Bougainville
@@ -3,8 +3,8 @@
set TZData(:Pacific/Bougainville) {
{-9223372036854775808 37336 0 LMT}
{-2840178136 35312 0 PMMT}
- {-2366790512 36000 0 PGT}
- {-868010400 32400 0 JST}
- {-768906000 36000 0 PGT}
- {1419696000 39600 0 BST}
+ {-2366790512 36000 0 +10}
+ {-868010400 32400 0 +09}
+ {-768906000 36000 0 +10}
+ {1419696000 39600 0 +11}
}
diff --git a/library/tzdata/Pacific/Chatham b/library/tzdata/Pacific/Chatham
index 94a5512..5d39879 100644
--- a/library/tzdata/Pacific/Chatham
+++ b/library/tzdata/Pacific/Chatham
@@ -2,257 +2,257 @@
set TZData(:Pacific/Chatham) {
{-9223372036854775808 44028 0 LMT}
- {-3192437628 44100 0 CHAST}
- {-757426500 45900 0 CHAST}
- {152632800 49500 1 CHADT}
- {162309600 45900 0 CHAST}
- {183477600 49500 1 CHADT}
- {194968800 45900 0 CHAST}
- {215532000 49500 1 CHADT}
- {226418400 45900 0 CHAST}
- {246981600 49500 1 CHADT}
- {257868000 45900 0 CHAST}
- {278431200 49500 1 CHADT}
- {289317600 45900 0 CHAST}
- {309880800 49500 1 CHADT}
- {320767200 45900 0 CHAST}
- {341330400 49500 1 CHADT}
- {352216800 45900 0 CHAST}
- {372780000 49500 1 CHADT}
- {384271200 45900 0 CHAST}
- {404834400 49500 1 CHADT}
- {415720800 45900 0 CHAST}
- {436284000 49500 1 CHADT}
- {447170400 45900 0 CHAST}
- {467733600 49500 1 CHADT}
- {478620000 45900 0 CHAST}
- {499183200 49500 1 CHADT}
- {510069600 45900 0 CHAST}
- {530632800 49500 1 CHADT}
- {541519200 45900 0 CHAST}
- {562082400 49500 1 CHADT}
- {573573600 45900 0 CHAST}
- {594136800 49500 1 CHADT}
- {605023200 45900 0 CHAST}
- {623772000 49500 1 CHADT}
- {637682400 45900 0 CHAST}
- {655221600 49500 1 CHADT}
- {669132000 45900 0 CHAST}
- {686671200 49500 1 CHADT}
- {700581600 45900 0 CHAST}
- {718120800 49500 1 CHADT}
- {732636000 45900 0 CHAST}
- {749570400 49500 1 CHADT}
- {764085600 45900 0 CHAST}
- {781020000 49500 1 CHADT}
- {795535200 45900 0 CHAST}
- {812469600 49500 1 CHADT}
- {826984800 45900 0 CHAST}
- {844524000 49500 1 CHADT}
- {858434400 45900 0 CHAST}
- {875973600 49500 1 CHADT}
- {889884000 45900 0 CHAST}
- {907423200 49500 1 CHADT}
- {921938400 45900 0 CHAST}
- {938872800 49500 1 CHADT}
- {953388000 45900 0 CHAST}
- {970322400 49500 1 CHADT}
- {984837600 45900 0 CHAST}
- {1002376800 49500 1 CHADT}
- {1016287200 45900 0 CHAST}
- {1033826400 49500 1 CHADT}
- {1047736800 45900 0 CHAST}
- {1065276000 49500 1 CHADT}
- {1079791200 45900 0 CHAST}
- {1096725600 49500 1 CHADT}
- {1111240800 45900 0 CHAST}
- {1128175200 49500 1 CHADT}
- {1142690400 45900 0 CHAST}
- {1159624800 49500 1 CHADT}
- {1174140000 45900 0 CHAST}
- {1191074400 49500 1 CHADT}
- {1207404000 45900 0 CHAST}
- {1222524000 49500 1 CHADT}
- {1238853600 45900 0 CHAST}
- {1253973600 49500 1 CHADT}
- {1270303200 45900 0 CHAST}
- {1285423200 49500 1 CHADT}
- {1301752800 45900 0 CHAST}
- {1316872800 49500 1 CHADT}
- {1333202400 45900 0 CHAST}
- {1348927200 49500 1 CHADT}
- {1365256800 45900 0 CHAST}
- {1380376800 49500 1 CHADT}
- {1396706400 45900 0 CHAST}
- {1411826400 49500 1 CHADT}
- {1428156000 45900 0 CHAST}
- {1443276000 49500 1 CHADT}
- {1459605600 45900 0 CHAST}
- {1474725600 49500 1 CHADT}
- {1491055200 45900 0 CHAST}
- {1506175200 49500 1 CHADT}
- {1522504800 45900 0 CHAST}
- {1538229600 49500 1 CHADT}
- {1554559200 45900 0 CHAST}
- {1569679200 49500 1 CHADT}
- {1586008800 45900 0 CHAST}
- {1601128800 49500 1 CHADT}
- {1617458400 45900 0 CHAST}
- {1632578400 49500 1 CHADT}
- {1648908000 45900 0 CHAST}
- {1664028000 49500 1 CHADT}
- {1680357600 45900 0 CHAST}
- {1695477600 49500 1 CHADT}
- {1712412000 45900 0 CHAST}
- {1727532000 49500 1 CHADT}
- {1743861600 45900 0 CHAST}
- {1758981600 49500 1 CHADT}
- {1775311200 45900 0 CHAST}
- {1790431200 49500 1 CHADT}
- {1806760800 45900 0 CHAST}
- {1821880800 49500 1 CHADT}
- {1838210400 45900 0 CHAST}
- {1853330400 49500 1 CHADT}
- {1869660000 45900 0 CHAST}
- {1885384800 49500 1 CHADT}
- {1901714400 45900 0 CHAST}
- {1916834400 49500 1 CHADT}
- {1933164000 45900 0 CHAST}
- {1948284000 49500 1 CHADT}
- {1964613600 45900 0 CHAST}
- {1979733600 49500 1 CHADT}
- {1996063200 45900 0 CHAST}
- {2011183200 49500 1 CHADT}
- {2027512800 45900 0 CHAST}
- {2042632800 49500 1 CHADT}
- {2058962400 45900 0 CHAST}
- {2074687200 49500 1 CHADT}
- {2091016800 45900 0 CHAST}
- {2106136800 49500 1 CHADT}
- {2122466400 45900 0 CHAST}
- {2137586400 49500 1 CHADT}
- {2153916000 45900 0 CHAST}
- {2169036000 49500 1 CHADT}
- {2185365600 45900 0 CHAST}
- {2200485600 49500 1 CHADT}
- {2216815200 45900 0 CHAST}
- {2232540000 49500 1 CHADT}
- {2248869600 45900 0 CHAST}
- {2263989600 49500 1 CHADT}
- {2280319200 45900 0 CHAST}
- {2295439200 49500 1 CHADT}
- {2311768800 45900 0 CHAST}
- {2326888800 49500 1 CHADT}
- {2343218400 45900 0 CHAST}
- {2358338400 49500 1 CHADT}
- {2374668000 45900 0 CHAST}
- {2389788000 49500 1 CHADT}
- {2406117600 45900 0 CHAST}
- {2421842400 49500 1 CHADT}
- {2438172000 45900 0 CHAST}
- {2453292000 49500 1 CHADT}
- {2469621600 45900 0 CHAST}
- {2484741600 49500 1 CHADT}
- {2501071200 45900 0 CHAST}
- {2516191200 49500 1 CHADT}
- {2532520800 45900 0 CHAST}
- {2547640800 49500 1 CHADT}
- {2563970400 45900 0 CHAST}
- {2579090400 49500 1 CHADT}
- {2596024800 45900 0 CHAST}
- {2611144800 49500 1 CHADT}
- {2627474400 45900 0 CHAST}
- {2642594400 49500 1 CHADT}
- {2658924000 45900 0 CHAST}
- {2674044000 49500 1 CHADT}
- {2690373600 45900 0 CHAST}
- {2705493600 49500 1 CHADT}
- {2721823200 45900 0 CHAST}
- {2736943200 49500 1 CHADT}
- {2753272800 45900 0 CHAST}
- {2768997600 49500 1 CHADT}
- {2785327200 45900 0 CHAST}
- {2800447200 49500 1 CHADT}
- {2816776800 45900 0 CHAST}
- {2831896800 49500 1 CHADT}
- {2848226400 45900 0 CHAST}
- {2863346400 49500 1 CHADT}
- {2879676000 45900 0 CHAST}
- {2894796000 49500 1 CHADT}
- {2911125600 45900 0 CHAST}
- {2926245600 49500 1 CHADT}
- {2942575200 45900 0 CHAST}
- {2958300000 49500 1 CHADT}
- {2974629600 45900 0 CHAST}
- {2989749600 49500 1 CHADT}
- {3006079200 45900 0 CHAST}
- {3021199200 49500 1 CHADT}
- {3037528800 45900 0 CHAST}
- {3052648800 49500 1 CHADT}
- {3068978400 45900 0 CHAST}
- {3084098400 49500 1 CHADT}
- {3100428000 45900 0 CHAST}
- {3116152800 49500 1 CHADT}
- {3132482400 45900 0 CHAST}
- {3147602400 49500 1 CHADT}
- {3163932000 45900 0 CHAST}
- {3179052000 49500 1 CHADT}
- {3195381600 45900 0 CHAST}
- {3210501600 49500 1 CHADT}
- {3226831200 45900 0 CHAST}
- {3241951200 49500 1 CHADT}
- {3258280800 45900 0 CHAST}
- {3273400800 49500 1 CHADT}
- {3289730400 45900 0 CHAST}
- {3305455200 49500 1 CHADT}
- {3321784800 45900 0 CHAST}
- {3336904800 49500 1 CHADT}
- {3353234400 45900 0 CHAST}
- {3368354400 49500 1 CHADT}
- {3384684000 45900 0 CHAST}
- {3399804000 49500 1 CHADT}
- {3416133600 45900 0 CHAST}
- {3431253600 49500 1 CHADT}
- {3447583200 45900 0 CHAST}
- {3462703200 49500 1 CHADT}
- {3479637600 45900 0 CHAST}
- {3494757600 49500 1 CHADT}
- {3511087200 45900 0 CHAST}
- {3526207200 49500 1 CHADT}
- {3542536800 45900 0 CHAST}
- {3557656800 49500 1 CHADT}
- {3573986400 45900 0 CHAST}
- {3589106400 49500 1 CHADT}
- {3605436000 45900 0 CHAST}
- {3620556000 49500 1 CHADT}
- {3636885600 45900 0 CHAST}
- {3652610400 49500 1 CHADT}
- {3668940000 45900 0 CHAST}
- {3684060000 49500 1 CHADT}
- {3700389600 45900 0 CHAST}
- {3715509600 49500 1 CHADT}
- {3731839200 45900 0 CHAST}
- {3746959200 49500 1 CHADT}
- {3763288800 45900 0 CHAST}
- {3778408800 49500 1 CHADT}
- {3794738400 45900 0 CHAST}
- {3809858400 49500 1 CHADT}
- {3826188000 45900 0 CHAST}
- {3841912800 49500 1 CHADT}
- {3858242400 45900 0 CHAST}
- {3873362400 49500 1 CHADT}
- {3889692000 45900 0 CHAST}
- {3904812000 49500 1 CHADT}
- {3921141600 45900 0 CHAST}
- {3936261600 49500 1 CHADT}
- {3952591200 45900 0 CHAST}
- {3967711200 49500 1 CHADT}
- {3984040800 45900 0 CHAST}
- {3999765600 49500 1 CHADT}
- {4016095200 45900 0 CHAST}
- {4031215200 49500 1 CHADT}
- {4047544800 45900 0 CHAST}
- {4062664800 49500 1 CHADT}
- {4078994400 45900 0 CHAST}
- {4094114400 49500 1 CHADT}
+ {-3192437628 44100 0 +1215}
+ {-757426500 45900 0 +1345}
+ {152632800 49500 1 +1345}
+ {162309600 45900 0 +1345}
+ {183477600 49500 1 +1345}
+ {194968800 45900 0 +1345}
+ {215532000 49500 1 +1345}
+ {226418400 45900 0 +1345}
+ {246981600 49500 1 +1345}
+ {257868000 45900 0 +1345}
+ {278431200 49500 1 +1345}
+ {289317600 45900 0 +1345}
+ {309880800 49500 1 +1345}
+ {320767200 45900 0 +1345}
+ {341330400 49500 1 +1345}
+ {352216800 45900 0 +1345}
+ {372780000 49500 1 +1345}
+ {384271200 45900 0 +1345}
+ {404834400 49500 1 +1345}
+ {415720800 45900 0 +1345}
+ {436284000 49500 1 +1345}
+ {447170400 45900 0 +1345}
+ {467733600 49500 1 +1345}
+ {478620000 45900 0 +1345}
+ {499183200 49500 1 +1345}
+ {510069600 45900 0 +1345}
+ {530632800 49500 1 +1345}
+ {541519200 45900 0 +1345}
+ {562082400 49500 1 +1345}
+ {573573600 45900 0 +1345}
+ {594136800 49500 1 +1345}
+ {605023200 45900 0 +1345}
+ {623772000 49500 1 +1345}
+ {637682400 45900 0 +1345}
+ {655221600 49500 1 +1345}
+ {669132000 45900 0 +1345}
+ {686671200 49500 1 +1345}
+ {700581600 45900 0 +1345}
+ {718120800 49500 1 +1345}
+ {732636000 45900 0 +1345}
+ {749570400 49500 1 +1345}
+ {764085600 45900 0 +1345}
+ {781020000 49500 1 +1345}
+ {795535200 45900 0 +1345}
+ {812469600 49500 1 +1345}
+ {826984800 45900 0 +1345}
+ {844524000 49500 1 +1345}
+ {858434400 45900 0 +1345}
+ {875973600 49500 1 +1345}
+ {889884000 45900 0 +1345}
+ {907423200 49500 1 +1345}
+ {921938400 45900 0 +1345}
+ {938872800 49500 1 +1345}
+ {953388000 45900 0 +1345}
+ {970322400 49500 1 +1345}
+ {984837600 45900 0 +1345}
+ {1002376800 49500 1 +1345}
+ {1016287200 45900 0 +1345}
+ {1033826400 49500 1 +1345}
+ {1047736800 45900 0 +1345}
+ {1065276000 49500 1 +1345}
+ {1079791200 45900 0 +1345}
+ {1096725600 49500 1 +1345}
+ {1111240800 45900 0 +1345}
+ {1128175200 49500 1 +1345}
+ {1142690400 45900 0 +1345}
+ {1159624800 49500 1 +1345}
+ {1174140000 45900 0 +1345}
+ {1191074400 49500 1 +1345}
+ {1207404000 45900 0 +1345}
+ {1222524000 49500 1 +1345}
+ {1238853600 45900 0 +1345}
+ {1253973600 49500 1 +1345}
+ {1270303200 45900 0 +1345}
+ {1285423200 49500 1 +1345}
+ {1301752800 45900 0 +1345}
+ {1316872800 49500 1 +1345}
+ {1333202400 45900 0 +1345}
+ {1348927200 49500 1 +1345}
+ {1365256800 45900 0 +1345}
+ {1380376800 49500 1 +1345}
+ {1396706400 45900 0 +1345}
+ {1411826400 49500 1 +1345}
+ {1428156000 45900 0 +1345}
+ {1443276000 49500 1 +1345}
+ {1459605600 45900 0 +1345}
+ {1474725600 49500 1 +1345}
+ {1491055200 45900 0 +1345}
+ {1506175200 49500 1 +1345}
+ {1522504800 45900 0 +1345}
+ {1538229600 49500 1 +1345}
+ {1554559200 45900 0 +1345}
+ {1569679200 49500 1 +1345}
+ {1586008800 45900 0 +1345}
+ {1601128800 49500 1 +1345}
+ {1617458400 45900 0 +1345}
+ {1632578400 49500 1 +1345}
+ {1648908000 45900 0 +1345}
+ {1664028000 49500 1 +1345}
+ {1680357600 45900 0 +1345}
+ {1695477600 49500 1 +1345}
+ {1712412000 45900 0 +1345}
+ {1727532000 49500 1 +1345}
+ {1743861600 45900 0 +1345}
+ {1758981600 49500 1 +1345}
+ {1775311200 45900 0 +1345}
+ {1790431200 49500 1 +1345}
+ {1806760800 45900 0 +1345}
+ {1821880800 49500 1 +1345}
+ {1838210400 45900 0 +1345}
+ {1853330400 49500 1 +1345}
+ {1869660000 45900 0 +1345}
+ {1885384800 49500 1 +1345}
+ {1901714400 45900 0 +1345}
+ {1916834400 49500 1 +1345}
+ {1933164000 45900 0 +1345}
+ {1948284000 49500 1 +1345}
+ {1964613600 45900 0 +1345}
+ {1979733600 49500 1 +1345}
+ {1996063200 45900 0 +1345}
+ {2011183200 49500 1 +1345}
+ {2027512800 45900 0 +1345}
+ {2042632800 49500 1 +1345}
+ {2058962400 45900 0 +1345}
+ {2074687200 49500 1 +1345}
+ {2091016800 45900 0 +1345}
+ {2106136800 49500 1 +1345}
+ {2122466400 45900 0 +1345}
+ {2137586400 49500 1 +1345}
+ {2153916000 45900 0 +1345}
+ {2169036000 49500 1 +1345}
+ {2185365600 45900 0 +1345}
+ {2200485600 49500 1 +1345}
+ {2216815200 45900 0 +1345}
+ {2232540000 49500 1 +1345}
+ {2248869600 45900 0 +1345}
+ {2263989600 49500 1 +1345}
+ {2280319200 45900 0 +1345}
+ {2295439200 49500 1 +1345}
+ {2311768800 45900 0 +1345}
+ {2326888800 49500 1 +1345}
+ {2343218400 45900 0 +1345}
+ {2358338400 49500 1 +1345}
+ {2374668000 45900 0 +1345}
+ {2389788000 49500 1 +1345}
+ {2406117600 45900 0 +1345}
+ {2421842400 49500 1 +1345}
+ {2438172000 45900 0 +1345}
+ {2453292000 49500 1 +1345}
+ {2469621600 45900 0 +1345}
+ {2484741600 49500 1 +1345}
+ {2501071200 45900 0 +1345}
+ {2516191200 49500 1 +1345}
+ {2532520800 45900 0 +1345}
+ {2547640800 49500 1 +1345}
+ {2563970400 45900 0 +1345}
+ {2579090400 49500 1 +1345}
+ {2596024800 45900 0 +1345}
+ {2611144800 49500 1 +1345}
+ {2627474400 45900 0 +1345}
+ {2642594400 49500 1 +1345}
+ {2658924000 45900 0 +1345}
+ {2674044000 49500 1 +1345}
+ {2690373600 45900 0 +1345}
+ {2705493600 49500 1 +1345}
+ {2721823200 45900 0 +1345}
+ {2736943200 49500 1 +1345}
+ {2753272800 45900 0 +1345}
+ {2768997600 49500 1 +1345}
+ {2785327200 45900 0 +1345}
+ {2800447200 49500 1 +1345}
+ {2816776800 45900 0 +1345}
+ {2831896800 49500 1 +1345}
+ {2848226400 45900 0 +1345}
+ {2863346400 49500 1 +1345}
+ {2879676000 45900 0 +1345}
+ {2894796000 49500 1 +1345}
+ {2911125600 45900 0 +1345}
+ {2926245600 49500 1 +1345}
+ {2942575200 45900 0 +1345}
+ {2958300000 49500 1 +1345}
+ {2974629600 45900 0 +1345}
+ {2989749600 49500 1 +1345}
+ {3006079200 45900 0 +1345}
+ {3021199200 49500 1 +1345}
+ {3037528800 45900 0 +1345}
+ {3052648800 49500 1 +1345}
+ {3068978400 45900 0 +1345}
+ {3084098400 49500 1 +1345}
+ {3100428000 45900 0 +1345}
+ {3116152800 49500 1 +1345}
+ {3132482400 45900 0 +1345}
+ {3147602400 49500 1 +1345}
+ {3163932000 45900 0 +1345}
+ {3179052000 49500 1 +1345}
+ {3195381600 45900 0 +1345}
+ {3210501600 49500 1 +1345}
+ {3226831200 45900 0 +1345}
+ {3241951200 49500 1 +1345}
+ {3258280800 45900 0 +1345}
+ {3273400800 49500 1 +1345}
+ {3289730400 45900 0 +1345}
+ {3305455200 49500 1 +1345}
+ {3321784800 45900 0 +1345}
+ {3336904800 49500 1 +1345}
+ {3353234400 45900 0 +1345}
+ {3368354400 49500 1 +1345}
+ {3384684000 45900 0 +1345}
+ {3399804000 49500 1 +1345}
+ {3416133600 45900 0 +1345}
+ {3431253600 49500 1 +1345}
+ {3447583200 45900 0 +1345}
+ {3462703200 49500 1 +1345}
+ {3479637600 45900 0 +1345}
+ {3494757600 49500 1 +1345}
+ {3511087200 45900 0 +1345}
+ {3526207200 49500 1 +1345}
+ {3542536800 45900 0 +1345}
+ {3557656800 49500 1 +1345}
+ {3573986400 45900 0 +1345}
+ {3589106400 49500 1 +1345}
+ {3605436000 45900 0 +1345}
+ {3620556000 49500 1 +1345}
+ {3636885600 45900 0 +1345}
+ {3652610400 49500 1 +1345}
+ {3668940000 45900 0 +1345}
+ {3684060000 49500 1 +1345}
+ {3700389600 45900 0 +1345}
+ {3715509600 49500 1 +1345}
+ {3731839200 45900 0 +1345}
+ {3746959200 49500 1 +1345}
+ {3763288800 45900 0 +1345}
+ {3778408800 49500 1 +1345}
+ {3794738400 45900 0 +1345}
+ {3809858400 49500 1 +1345}
+ {3826188000 45900 0 +1345}
+ {3841912800 49500 1 +1345}
+ {3858242400 45900 0 +1345}
+ {3873362400 49500 1 +1345}
+ {3889692000 45900 0 +1345}
+ {3904812000 49500 1 +1345}
+ {3921141600 45900 0 +1345}
+ {3936261600 49500 1 +1345}
+ {3952591200 45900 0 +1345}
+ {3967711200 49500 1 +1345}
+ {3984040800 45900 0 +1345}
+ {3999765600 49500 1 +1345}
+ {4016095200 45900 0 +1345}
+ {4031215200 49500 1 +1345}
+ {4047544800 45900 0 +1345}
+ {4062664800 49500 1 +1345}
+ {4078994400 45900 0 +1345}
+ {4094114400 49500 1 +1345}
}
diff --git a/library/tzdata/Pacific/Chuuk b/library/tzdata/Pacific/Chuuk
index 70b14b2..4e9d099 100644
--- a/library/tzdata/Pacific/Chuuk
+++ b/library/tzdata/Pacific/Chuuk
@@ -2,5 +2,5 @@
set TZData(:Pacific/Chuuk) {
{-9223372036854775808 36428 0 LMT}
- {-2177489228 36000 0 CHUT}
+ {-2177489228 36000 0 +10}
}
diff --git a/library/tzdata/Pacific/Easter b/library/tzdata/Pacific/Easter
index ef0f2d5..474a32b 100644
--- a/library/tzdata/Pacific/Easter
+++ b/library/tzdata/Pacific/Easter
@@ -3,266 +3,266 @@
set TZData(:Pacific/Easter) {
{-9223372036854775808 -26248 0 LMT}
{-2524495352 -26248 0 EMT}
- {-1178124152 -25200 0 EAST}
- {-36619200 -21600 1 EASST}
- {-23922000 -25200 0 EAST}
- {-3355200 -21600 1 EASST}
- {7527600 -25200 0 EAST}
- {24465600 -21600 1 EASST}
- {37767600 -25200 0 EAST}
- {55915200 -21600 1 EASST}
- {69217200 -25200 0 EAST}
- {87969600 -21600 1 EASST}
- {100666800 -25200 0 EAST}
- {118209600 -21600 1 EASST}
- {132116400 -25200 0 EAST}
- {150868800 -21600 1 EASST}
- {163566000 -25200 0 EAST}
- {182318400 -21600 1 EASST}
- {195620400 -25200 0 EAST}
- {213768000 -21600 1 EASST}
- {227070000 -25200 0 EAST}
- {245217600 -21600 1 EASST}
- {258519600 -25200 0 EAST}
- {277272000 -21600 1 EASST}
- {289969200 -25200 0 EAST}
- {308721600 -21600 1 EASST}
- {321418800 -25200 0 EAST}
- {340171200 -21600 1 EASST}
- {353473200 -25200 0 EAST}
- {371620800 -21600 1 EASST}
- {384922800 -21600 0 EAST}
- {403070400 -18000 1 EASST}
- {416372400 -21600 0 EAST}
- {434520000 -18000 1 EASST}
- {447822000 -21600 0 EAST}
- {466574400 -18000 1 EASST}
- {479271600 -21600 0 EAST}
- {498024000 -18000 1 EASST}
- {510721200 -21600 0 EAST}
- {529473600 -18000 1 EASST}
- {545194800 -21600 0 EAST}
- {560923200 -18000 1 EASST}
- {574225200 -21600 0 EAST}
- {592372800 -18000 1 EASST}
- {605674800 -21600 0 EAST}
- {624427200 -18000 1 EASST}
- {637124400 -21600 0 EAST}
- {653457600 -18000 1 EASST}
- {668574000 -21600 0 EAST}
- {687326400 -18000 1 EASST}
- {700628400 -21600 0 EAST}
- {718776000 -18000 1 EASST}
- {732078000 -21600 0 EAST}
- {750225600 -18000 1 EASST}
- {763527600 -21600 0 EAST}
- {781675200 -18000 1 EASST}
- {794977200 -21600 0 EAST}
- {813729600 -18000 1 EASST}
- {826426800 -21600 0 EAST}
- {845179200 -18000 1 EASST}
- {859690800 -21600 0 EAST}
- {876628800 -18000 1 EASST}
- {889930800 -21600 0 EAST}
- {906868800 -18000 1 EASST}
- {923194800 -21600 0 EAST}
- {939528000 -18000 1 EASST}
- {952830000 -21600 0 EAST}
- {971582400 -18000 1 EASST}
- {984279600 -21600 0 EAST}
- {1003032000 -18000 1 EASST}
- {1015729200 -21600 0 EAST}
- {1034481600 -18000 1 EASST}
- {1047178800 -21600 0 EAST}
- {1065931200 -18000 1 EASST}
- {1079233200 -21600 0 EAST}
- {1097380800 -18000 1 EASST}
- {1110682800 -21600 0 EAST}
- {1128830400 -18000 1 EASST}
- {1142132400 -21600 0 EAST}
- {1160884800 -18000 1 EASST}
- {1173582000 -21600 0 EAST}
- {1192334400 -18000 1 EASST}
- {1206846000 -21600 0 EAST}
- {1223784000 -18000 1 EASST}
- {1237086000 -21600 0 EAST}
- {1255233600 -18000 1 EASST}
- {1270350000 -21600 0 EAST}
- {1286683200 -18000 1 EASST}
- {1304823600 -21600 0 EAST}
- {1313899200 -18000 1 EASST}
- {1335668400 -21600 0 EAST}
- {1346558400 -18000 1 EASST}
- {1367118000 -21600 0 EAST}
- {1378612800 -18000 1 EASST}
- {1398567600 -21600 0 EAST}
- {1410062400 -18000 1 EASST}
- {1463281200 -21600 0 EAST}
- {1471147200 -18000 1 EASST}
- {1494730800 -21600 0 EAST}
- {1502596800 -18000 1 EASST}
- {1526180400 -21600 0 EAST}
- {1534046400 -18000 1 EASST}
- {1557630000 -21600 0 EAST}
- {1565496000 -18000 1 EASST}
- {1589079600 -21600 0 EAST}
- {1596945600 -18000 1 EASST}
- {1620529200 -21600 0 EAST}
- {1629000000 -18000 1 EASST}
- {1652583600 -21600 0 EAST}
- {1660449600 -18000 1 EASST}
- {1684033200 -21600 0 EAST}
- {1691899200 -18000 1 EASST}
- {1715482800 -21600 0 EAST}
- {1723348800 -18000 1 EASST}
- {1746932400 -21600 0 EAST}
- {1754798400 -18000 1 EASST}
- {1778382000 -21600 0 EAST}
- {1786248000 -18000 1 EASST}
- {1809831600 -21600 0 EAST}
- {1818302400 -18000 1 EASST}
- {1841886000 -21600 0 EAST}
- {1849752000 -18000 1 EASST}
- {1873335600 -21600 0 EAST}
- {1881201600 -18000 1 EASST}
- {1904785200 -21600 0 EAST}
- {1912651200 -18000 1 EASST}
- {1936234800 -21600 0 EAST}
- {1944100800 -18000 1 EASST}
- {1967684400 -21600 0 EAST}
- {1976155200 -18000 1 EASST}
- {1999738800 -21600 0 EAST}
- {2007604800 -18000 1 EASST}
- {2031188400 -21600 0 EAST}
- {2039054400 -18000 1 EASST}
- {2062638000 -21600 0 EAST}
- {2070504000 -18000 1 EASST}
- {2094087600 -21600 0 EAST}
- {2101953600 -18000 1 EASST}
- {2125537200 -21600 0 EAST}
- {2133403200 -18000 1 EASST}
- {2156986800 -21600 0 EAST}
- {2165457600 -18000 1 EASST}
- {2189041200 -21600 0 EAST}
- {2196907200 -18000 1 EASST}
- {2220490800 -21600 0 EAST}
- {2228356800 -18000 1 EASST}
- {2251940400 -21600 0 EAST}
- {2259806400 -18000 1 EASST}
- {2283390000 -21600 0 EAST}
- {2291256000 -18000 1 EASST}
- {2314839600 -21600 0 EAST}
- {2322705600 -18000 1 EASST}
- {2346894000 -21600 0 EAST}
- {2354760000 -18000 1 EASST}
- {2378343600 -21600 0 EAST}
- {2386209600 -18000 1 EASST}
- {2409793200 -21600 0 EAST}
- {2417659200 -18000 1 EASST}
- {2441242800 -21600 0 EAST}
- {2449108800 -18000 1 EASST}
- {2472692400 -21600 0 EAST}
- {2480558400 -18000 1 EASST}
- {2504142000 -21600 0 EAST}
- {2512612800 -18000 1 EASST}
- {2536196400 -21600 0 EAST}
- {2544062400 -18000 1 EASST}
- {2567646000 -21600 0 EAST}
- {2575512000 -18000 1 EASST}
- {2599095600 -21600 0 EAST}
- {2606961600 -18000 1 EASST}
- {2630545200 -21600 0 EAST}
- {2638411200 -18000 1 EASST}
- {2661994800 -21600 0 EAST}
- {2669860800 -18000 1 EASST}
- {2693444400 -21600 0 EAST}
- {2701915200 -18000 1 EASST}
- {2725498800 -21600 0 EAST}
- {2733364800 -18000 1 EASST}
- {2756948400 -21600 0 EAST}
- {2764814400 -18000 1 EASST}
- {2788398000 -21600 0 EAST}
- {2796264000 -18000 1 EASST}
- {2819847600 -21600 0 EAST}
- {2827713600 -18000 1 EASST}
- {2851297200 -21600 0 EAST}
- {2859768000 -18000 1 EASST}
- {2883351600 -21600 0 EAST}
- {2891217600 -18000 1 EASST}
- {2914801200 -21600 0 EAST}
- {2922667200 -18000 1 EASST}
- {2946250800 -21600 0 EAST}
- {2954116800 -18000 1 EASST}
- {2977700400 -21600 0 EAST}
- {2985566400 -18000 1 EASST}
- {3009150000 -21600 0 EAST}
- {3017016000 -18000 1 EASST}
- {3040599600 -21600 0 EAST}
- {3049070400 -18000 1 EASST}
- {3072654000 -21600 0 EAST}
- {3080520000 -18000 1 EASST}
- {3104103600 -21600 0 EAST}
- {3111969600 -18000 1 EASST}
- {3135553200 -21600 0 EAST}
- {3143419200 -18000 1 EASST}
- {3167002800 -21600 0 EAST}
- {3174868800 -18000 1 EASST}
- {3198452400 -21600 0 EAST}
- {3206318400 -18000 1 EASST}
- {3230506800 -21600 0 EAST}
- {3238372800 -18000 1 EASST}
- {3261956400 -21600 0 EAST}
- {3269822400 -18000 1 EASST}
- {3293406000 -21600 0 EAST}
- {3301272000 -18000 1 EASST}
- {3324855600 -21600 0 EAST}
- {3332721600 -18000 1 EASST}
- {3356305200 -21600 0 EAST}
- {3364171200 -18000 1 EASST}
- {3387754800 -21600 0 EAST}
- {3396225600 -18000 1 EASST}
- {3419809200 -21600 0 EAST}
- {3427675200 -18000 1 EASST}
- {3451258800 -21600 0 EAST}
- {3459124800 -18000 1 EASST}
- {3482708400 -21600 0 EAST}
- {3490574400 -18000 1 EASST}
- {3514158000 -21600 0 EAST}
- {3522024000 -18000 1 EASST}
- {3545607600 -21600 0 EAST}
- {3553473600 -18000 1 EASST}
- {3577057200 -21600 0 EAST}
- {3585528000 -18000 1 EASST}
- {3609111600 -21600 0 EAST}
- {3616977600 -18000 1 EASST}
- {3640561200 -21600 0 EAST}
- {3648427200 -18000 1 EASST}
- {3672010800 -21600 0 EAST}
- {3679876800 -18000 1 EASST}
- {3703460400 -21600 0 EAST}
- {3711326400 -18000 1 EASST}
- {3734910000 -21600 0 EAST}
- {3743380800 -18000 1 EASST}
- {3766964400 -21600 0 EAST}
- {3774830400 -18000 1 EASST}
- {3798414000 -21600 0 EAST}
- {3806280000 -18000 1 EASST}
- {3829863600 -21600 0 EAST}
- {3837729600 -18000 1 EASST}
- {3861313200 -21600 0 EAST}
- {3869179200 -18000 1 EASST}
- {3892762800 -21600 0 EAST}
- {3900628800 -18000 1 EASST}
- {3924212400 -21600 0 EAST}
- {3932683200 -18000 1 EASST}
- {3956266800 -21600 0 EAST}
- {3964132800 -18000 1 EASST}
- {3987716400 -21600 0 EAST}
- {3995582400 -18000 1 EASST}
- {4019166000 -21600 0 EAST}
- {4027032000 -18000 1 EASST}
- {4050615600 -21600 0 EAST}
- {4058481600 -18000 1 EASST}
- {4082065200 -21600 0 EAST}
- {4089931200 -18000 1 EASST}
+ {-1178124152 -25200 0 -07}
+ {-36619200 -21600 1 -06}
+ {-23922000 -25200 0 -07}
+ {-3355200 -21600 1 -06}
+ {7527600 -25200 0 -07}
+ {24465600 -21600 1 -06}
+ {37767600 -25200 0 -07}
+ {55915200 -21600 1 -06}
+ {69217200 -25200 0 -07}
+ {87969600 -21600 1 -06}
+ {100666800 -25200 0 -07}
+ {118209600 -21600 1 -06}
+ {132116400 -25200 0 -07}
+ {150868800 -21600 1 -06}
+ {163566000 -25200 0 -07}
+ {182318400 -21600 1 -06}
+ {195620400 -25200 0 -07}
+ {213768000 -21600 1 -06}
+ {227070000 -25200 0 -07}
+ {245217600 -21600 1 -06}
+ {258519600 -25200 0 -07}
+ {277272000 -21600 1 -06}
+ {289969200 -25200 0 -07}
+ {308721600 -21600 1 -06}
+ {321418800 -25200 0 -07}
+ {340171200 -21600 1 -06}
+ {353473200 -25200 0 -07}
+ {371620800 -21600 1 -06}
+ {384922800 -21600 0 -06}
+ {403070400 -18000 1 -05}
+ {416372400 -21600 0 -06}
+ {434520000 -18000 1 -05}
+ {447822000 -21600 0 -06}
+ {466574400 -18000 1 -05}
+ {479271600 -21600 0 -06}
+ {498024000 -18000 1 -05}
+ {510721200 -21600 0 -06}
+ {529473600 -18000 1 -05}
+ {545194800 -21600 0 -06}
+ {560923200 -18000 1 -05}
+ {574225200 -21600 0 -06}
+ {592372800 -18000 1 -05}
+ {605674800 -21600 0 -06}
+ {624427200 -18000 1 -05}
+ {637124400 -21600 0 -06}
+ {653457600 -18000 1 -05}
+ {668574000 -21600 0 -06}
+ {687326400 -18000 1 -05}
+ {700628400 -21600 0 -06}
+ {718776000 -18000 1 -05}
+ {732078000 -21600 0 -06}
+ {750225600 -18000 1 -05}
+ {763527600 -21600 0 -06}
+ {781675200 -18000 1 -05}
+ {794977200 -21600 0 -06}
+ {813729600 -18000 1 -05}
+ {826426800 -21600 0 -06}
+ {845179200 -18000 1 -05}
+ {859690800 -21600 0 -06}
+ {876628800 -18000 1 -05}
+ {889930800 -21600 0 -06}
+ {906868800 -18000 1 -05}
+ {923194800 -21600 0 -06}
+ {939528000 -18000 1 -05}
+ {952830000 -21600 0 -06}
+ {971582400 -18000 1 -05}
+ {984279600 -21600 0 -06}
+ {1003032000 -18000 1 -05}
+ {1015729200 -21600 0 -06}
+ {1034481600 -18000 1 -05}
+ {1047178800 -21600 0 -06}
+ {1065931200 -18000 1 -05}
+ {1079233200 -21600 0 -06}
+ {1097380800 -18000 1 -05}
+ {1110682800 -21600 0 -06}
+ {1128830400 -18000 1 -05}
+ {1142132400 -21600 0 -06}
+ {1160884800 -18000 1 -05}
+ {1173582000 -21600 0 -06}
+ {1192334400 -18000 1 -05}
+ {1206846000 -21600 0 -06}
+ {1223784000 -18000 1 -05}
+ {1237086000 -21600 0 -06}
+ {1255233600 -18000 1 -05}
+ {1270350000 -21600 0 -06}
+ {1286683200 -18000 1 -05}
+ {1304823600 -21600 0 -06}
+ {1313899200 -18000 1 -05}
+ {1335668400 -21600 0 -06}
+ {1346558400 -18000 1 -05}
+ {1367118000 -21600 0 -06}
+ {1378612800 -18000 1 -05}
+ {1398567600 -21600 0 -06}
+ {1410062400 -18000 1 -05}
+ {1463281200 -21600 0 -06}
+ {1471147200 -18000 1 -05}
+ {1494730800 -21600 0 -06}
+ {1502596800 -18000 1 -05}
+ {1526180400 -21600 0 -06}
+ {1534046400 -18000 1 -05}
+ {1557630000 -21600 0 -06}
+ {1565496000 -18000 1 -05}
+ {1589079600 -21600 0 -06}
+ {1596945600 -18000 1 -05}
+ {1620529200 -21600 0 -06}
+ {1629000000 -18000 1 -05}
+ {1652583600 -21600 0 -06}
+ {1660449600 -18000 1 -05}
+ {1684033200 -21600 0 -06}
+ {1691899200 -18000 1 -05}
+ {1715482800 -21600 0 -06}
+ {1723348800 -18000 1 -05}
+ {1746932400 -21600 0 -06}
+ {1754798400 -18000 1 -05}
+ {1778382000 -21600 0 -06}
+ {1786248000 -18000 1 -05}
+ {1809831600 -21600 0 -06}
+ {1818302400 -18000 1 -05}
+ {1841886000 -21600 0 -06}
+ {1849752000 -18000 1 -05}
+ {1873335600 -21600 0 -06}
+ {1881201600 -18000 1 -05}
+ {1904785200 -21600 0 -06}
+ {1912651200 -18000 1 -05}
+ {1936234800 -21600 0 -06}
+ {1944100800 -18000 1 -05}
+ {1967684400 -21600 0 -06}
+ {1976155200 -18000 1 -05}
+ {1999738800 -21600 0 -06}
+ {2007604800 -18000 1 -05}
+ {2031188400 -21600 0 -06}
+ {2039054400 -18000 1 -05}
+ {2062638000 -21600 0 -06}
+ {2070504000 -18000 1 -05}
+ {2094087600 -21600 0 -06}
+ {2101953600 -18000 1 -05}
+ {2125537200 -21600 0 -06}
+ {2133403200 -18000 1 -05}
+ {2156986800 -21600 0 -06}
+ {2165457600 -18000 1 -05}
+ {2189041200 -21600 0 -06}
+ {2196907200 -18000 1 -05}
+ {2220490800 -21600 0 -06}
+ {2228356800 -18000 1 -05}
+ {2251940400 -21600 0 -06}
+ {2259806400 -18000 1 -05}
+ {2283390000 -21600 0 -06}
+ {2291256000 -18000 1 -05}
+ {2314839600 -21600 0 -06}
+ {2322705600 -18000 1 -05}
+ {2346894000 -21600 0 -06}
+ {2354760000 -18000 1 -05}
+ {2378343600 -21600 0 -06}
+ {2386209600 -18000 1 -05}
+ {2409793200 -21600 0 -06}
+ {2417659200 -18000 1 -05}
+ {2441242800 -21600 0 -06}
+ {2449108800 -18000 1 -05}
+ {2472692400 -21600 0 -06}
+ {2480558400 -18000 1 -05}
+ {2504142000 -21600 0 -06}
+ {2512612800 -18000 1 -05}
+ {2536196400 -21600 0 -06}
+ {2544062400 -18000 1 -05}
+ {2567646000 -21600 0 -06}
+ {2575512000 -18000 1 -05}
+ {2599095600 -21600 0 -06}
+ {2606961600 -18000 1 -05}
+ {2630545200 -21600 0 -06}
+ {2638411200 -18000 1 -05}
+ {2661994800 -21600 0 -06}
+ {2669860800 -18000 1 -05}
+ {2693444400 -21600 0 -06}
+ {2701915200 -18000 1 -05}
+ {2725498800 -21600 0 -06}
+ {2733364800 -18000 1 -05}
+ {2756948400 -21600 0 -06}
+ {2764814400 -18000 1 -05}
+ {2788398000 -21600 0 -06}
+ {2796264000 -18000 1 -05}
+ {2819847600 -21600 0 -06}
+ {2827713600 -18000 1 -05}
+ {2851297200 -21600 0 -06}
+ {2859768000 -18000 1 -05}
+ {2883351600 -21600 0 -06}
+ {2891217600 -18000 1 -05}
+ {2914801200 -21600 0 -06}
+ {2922667200 -18000 1 -05}
+ {2946250800 -21600 0 -06}
+ {2954116800 -18000 1 -05}
+ {2977700400 -21600 0 -06}
+ {2985566400 -18000 1 -05}
+ {3009150000 -21600 0 -06}
+ {3017016000 -18000 1 -05}
+ {3040599600 -21600 0 -06}
+ {3049070400 -18000 1 -05}
+ {3072654000 -21600 0 -06}
+ {3080520000 -18000 1 -05}
+ {3104103600 -21600 0 -06}
+ {3111969600 -18000 1 -05}
+ {3135553200 -21600 0 -06}
+ {3143419200 -18000 1 -05}
+ {3167002800 -21600 0 -06}
+ {3174868800 -18000 1 -05}
+ {3198452400 -21600 0 -06}
+ {3206318400 -18000 1 -05}
+ {3230506800 -21600 0 -06}
+ {3238372800 -18000 1 -05}
+ {3261956400 -21600 0 -06}
+ {3269822400 -18000 1 -05}
+ {3293406000 -21600 0 -06}
+ {3301272000 -18000 1 -05}
+ {3324855600 -21600 0 -06}
+ {3332721600 -18000 1 -05}
+ {3356305200 -21600 0 -06}
+ {3364171200 -18000 1 -05}
+ {3387754800 -21600 0 -06}
+ {3396225600 -18000 1 -05}
+ {3419809200 -21600 0 -06}
+ {3427675200 -18000 1 -05}
+ {3451258800 -21600 0 -06}
+ {3459124800 -18000 1 -05}
+ {3482708400 -21600 0 -06}
+ {3490574400 -18000 1 -05}
+ {3514158000 -21600 0 -06}
+ {3522024000 -18000 1 -05}
+ {3545607600 -21600 0 -06}
+ {3553473600 -18000 1 -05}
+ {3577057200 -21600 0 -06}
+ {3585528000 -18000 1 -05}
+ {3609111600 -21600 0 -06}
+ {3616977600 -18000 1 -05}
+ {3640561200 -21600 0 -06}
+ {3648427200 -18000 1 -05}
+ {3672010800 -21600 0 -06}
+ {3679876800 -18000 1 -05}
+ {3703460400 -21600 0 -06}
+ {3711326400 -18000 1 -05}
+ {3734910000 -21600 0 -06}
+ {3743380800 -18000 1 -05}
+ {3766964400 -21600 0 -06}
+ {3774830400 -18000 1 -05}
+ {3798414000 -21600 0 -06}
+ {3806280000 -18000 1 -05}
+ {3829863600 -21600 0 -06}
+ {3837729600 -18000 1 -05}
+ {3861313200 -21600 0 -06}
+ {3869179200 -18000 1 -05}
+ {3892762800 -21600 0 -06}
+ {3900628800 -18000 1 -05}
+ {3924212400 -21600 0 -06}
+ {3932683200 -18000 1 -05}
+ {3956266800 -21600 0 -06}
+ {3964132800 -18000 1 -05}
+ {3987716400 -21600 0 -06}
+ {3995582400 -18000 1 -05}
+ {4019166000 -21600 0 -06}
+ {4027032000 -18000 1 -05}
+ {4050615600 -21600 0 -06}
+ {4058481600 -18000 1 -05}
+ {4082065200 -21600 0 -06}
+ {4089931200 -18000 1 -05}
}
diff --git a/library/tzdata/Pacific/Efate b/library/tzdata/Pacific/Efate
index 18db6de..a43852e 100644
--- a/library/tzdata/Pacific/Efate
+++ b/library/tzdata/Pacific/Efate
@@ -2,25 +2,25 @@
set TZData(:Pacific/Efate) {
{-9223372036854775808 40396 0 LMT}
- {-1829387596 39600 0 VUT}
- {433256400 43200 1 VUST}
- {448977600 39600 0 VUT}
- {467298000 43200 1 VUST}
- {480427200 39600 0 VUT}
- {496760400 43200 1 VUST}
- {511876800 39600 0 VUT}
- {528210000 43200 1 VUST}
- {543931200 39600 0 VUT}
- {559659600 43200 1 VUST}
- {575380800 39600 0 VUT}
- {591109200 43200 1 VUST}
- {606830400 39600 0 VUT}
- {622558800 43200 1 VUST}
- {638280000 39600 0 VUT}
- {654008400 43200 1 VUST}
- {669729600 39600 0 VUT}
- {686062800 43200 1 VUST}
- {696340800 39600 0 VUT}
- {719931600 43200 1 VUST}
- {727790400 39600 0 VUT}
+ {-1829387596 39600 0 +11}
+ {433256400 43200 1 +12}
+ {448977600 39600 0 +11}
+ {467298000 43200 1 +12}
+ {480427200 39600 0 +11}
+ {496760400 43200 1 +12}
+ {511876800 39600 0 +11}
+ {528210000 43200 1 +12}
+ {543931200 39600 0 +11}
+ {559659600 43200 1 +12}
+ {575380800 39600 0 +11}
+ {591109200 43200 1 +12}
+ {606830400 39600 0 +11}
+ {622558800 43200 1 +12}
+ {638280000 39600 0 +11}
+ {654008400 43200 1 +12}
+ {669729600 39600 0 +11}
+ {686062800 43200 1 +12}
+ {696340800 39600 0 +11}
+ {719931600 43200 1 +12}
+ {727790400 39600 0 +11}
}
diff --git a/library/tzdata/Pacific/Enderbury b/library/tzdata/Pacific/Enderbury
index 55784c4..6abd57e 100644
--- a/library/tzdata/Pacific/Enderbury
+++ b/library/tzdata/Pacific/Enderbury
@@ -2,7 +2,7 @@
set TZData(:Pacific/Enderbury) {
{-9223372036854775808 -41060 0 LMT}
- {-2177411740 -43200 0 PHOT}
- {307627200 -39600 0 PHOT}
- {788958000 46800 0 PHOT}
+ {-2177411740 -43200 0 -12}
+ {307627200 -39600 0 -11}
+ {788958000 46800 0 +13}
}
diff --git a/library/tzdata/Pacific/Fakaofo b/library/tzdata/Pacific/Fakaofo
index 6ec98eb..d75030d 100644
--- a/library/tzdata/Pacific/Fakaofo
+++ b/library/tzdata/Pacific/Fakaofo
@@ -2,6 +2,6 @@
set TZData(:Pacific/Fakaofo) {
{-9223372036854775808 -41096 0 LMT}
- {-2177411704 -39600 0 TKT}
- {1325242800 46800 0 TKT}
+ {-2177411704 -39600 0 -11}
+ {1325242800 46800 0 +13}
}
diff --git a/library/tzdata/Pacific/Fiji b/library/tzdata/Pacific/Fiji
index 8f8b12f..fa8c99e 100644
--- a/library/tzdata/Pacific/Fiji
+++ b/library/tzdata/Pacific/Fiji
@@ -2,190 +2,190 @@
set TZData(:Pacific/Fiji) {
{-9223372036854775808 42944 0 LMT}
- {-1709985344 43200 0 FJT}
- {909842400 46800 1 FJST}
- {920124000 43200 0 FJT}
- {941896800 46800 1 FJST}
- {951573600 43200 0 FJT}
- {1259416800 46800 1 FJST}
- {1269698400 43200 0 FJT}
- {1287842400 46800 1 FJST}
- {1299333600 43200 0 FJT}
- {1319292000 46800 1 FJST}
- {1327154400 43200 0 FJT}
- {1350741600 46800 1 FJST}
- {1358604000 43200 0 FJT}
- {1382796000 46800 1 FJST}
- {1390050000 43200 0 FJT}
- {1414850400 46800 1 FJST}
- {1421503200 43200 0 FJT}
- {1446300000 46800 1 FJST}
- {1452952800 43200 0 FJT}
- {1478354400 46800 1 FJST}
- {1484402400 43200 0 FJT}
- {1509804000 46800 1 FJST}
- {1516456800 43200 0 FJT}
- {1541253600 46800 1 FJST}
- {1547906400 43200 0 FJT}
- {1572703200 46800 1 FJST}
- {1579356000 43200 0 FJT}
- {1604152800 46800 1 FJST}
- {1610805600 43200 0 FJT}
- {1636207200 46800 1 FJST}
- {1642255200 43200 0 FJT}
- {1667656800 46800 1 FJST}
- {1673704800 43200 0 FJT}
- {1699106400 46800 1 FJST}
- {1705759200 43200 0 FJT}
- {1730556000 46800 1 FJST}
- {1737208800 43200 0 FJT}
- {1762005600 46800 1 FJST}
- {1768658400 43200 0 FJT}
- {1793455200 46800 1 FJST}
- {1800108000 43200 0 FJT}
- {1825509600 46800 1 FJST}
- {1831557600 43200 0 FJT}
- {1856959200 46800 1 FJST}
- {1863612000 43200 0 FJT}
- {1888408800 46800 1 FJST}
- {1895061600 43200 0 FJT}
- {1919858400 46800 1 FJST}
- {1926511200 43200 0 FJT}
- {1951308000 46800 1 FJST}
- {1957960800 43200 0 FJT}
- {1983362400 46800 1 FJST}
- {1989410400 43200 0 FJT}
- {2014812000 46800 1 FJST}
- {2020860000 43200 0 FJT}
- {2046261600 46800 1 FJST}
- {2052914400 43200 0 FJT}
- {2077711200 46800 1 FJST}
- {2084364000 43200 0 FJT}
- {2109160800 46800 1 FJST}
- {2115813600 43200 0 FJT}
- {2140610400 46800 1 FJST}
- {2147263200 43200 0 FJT}
- {2172664800 46800 1 FJST}
- {2178712800 43200 0 FJT}
- {2204114400 46800 1 FJST}
- {2210162400 43200 0 FJT}
- {2235564000 46800 1 FJST}
- {2242216800 43200 0 FJT}
- {2267013600 46800 1 FJST}
- {2273666400 43200 0 FJT}
- {2298463200 46800 1 FJST}
- {2305116000 43200 0 FJT}
- {2329912800 46800 1 FJST}
- {2336565600 43200 0 FJT}
- {2361967200 46800 1 FJST}
- {2368015200 43200 0 FJT}
- {2393416800 46800 1 FJST}
- {2400069600 43200 0 FJT}
- {2424866400 46800 1 FJST}
- {2431519200 43200 0 FJT}
- {2456316000 46800 1 FJST}
- {2462968800 43200 0 FJT}
- {2487765600 46800 1 FJST}
- {2494418400 43200 0 FJT}
- {2519820000 46800 1 FJST}
- {2525868000 43200 0 FJT}
- {2551269600 46800 1 FJST}
- {2557317600 43200 0 FJT}
- {2582719200 46800 1 FJST}
- {2589372000 43200 0 FJT}
- {2614168800 46800 1 FJST}
- {2620821600 43200 0 FJT}
- {2645618400 46800 1 FJST}
- {2652271200 43200 0 FJT}
- {2677068000 46800 1 FJST}
- {2683720800 43200 0 FJT}
- {2709122400 46800 1 FJST}
- {2715170400 43200 0 FJT}
- {2740572000 46800 1 FJST}
- {2747224800 43200 0 FJT}
- {2772021600 46800 1 FJST}
- {2778674400 43200 0 FJT}
- {2803471200 46800 1 FJST}
- {2810124000 43200 0 FJT}
- {2834920800 46800 1 FJST}
- {2841573600 43200 0 FJT}
- {2866975200 46800 1 FJST}
- {2873023200 43200 0 FJT}
- {2898424800 46800 1 FJST}
- {2904472800 43200 0 FJT}
- {2929874400 46800 1 FJST}
- {2936527200 43200 0 FJT}
- {2961324000 46800 1 FJST}
- {2967976800 43200 0 FJT}
- {2992773600 46800 1 FJST}
- {2999426400 43200 0 FJT}
- {3024223200 46800 1 FJST}
- {3030876000 43200 0 FJT}
- {3056277600 46800 1 FJST}
- {3062325600 43200 0 FJT}
- {3087727200 46800 1 FJST}
- {3093775200 43200 0 FJT}
- {3119176800 46800 1 FJST}
- {3125829600 43200 0 FJT}
- {3150626400 46800 1 FJST}
- {3157279200 43200 0 FJT}
- {3182076000 46800 1 FJST}
- {3188728800 43200 0 FJT}
- {3213525600 46800 1 FJST}
- {3220178400 43200 0 FJT}
- {3245580000 46800 1 FJST}
- {3251628000 43200 0 FJT}
- {3277029600 46800 1 FJST}
- {3283682400 43200 0 FJT}
- {3308479200 46800 1 FJST}
- {3315132000 43200 0 FJT}
- {3339928800 46800 1 FJST}
- {3346581600 43200 0 FJT}
- {3371378400 46800 1 FJST}
- {3378031200 43200 0 FJT}
- {3403432800 46800 1 FJST}
- {3409480800 43200 0 FJT}
- {3434882400 46800 1 FJST}
- {3440930400 43200 0 FJT}
- {3466332000 46800 1 FJST}
- {3472984800 43200 0 FJT}
- {3497781600 46800 1 FJST}
- {3504434400 43200 0 FJT}
- {3529231200 46800 1 FJST}
- {3535884000 43200 0 FJT}
- {3560680800 46800 1 FJST}
- {3567333600 43200 0 FJT}
- {3592735200 46800 1 FJST}
- {3598783200 43200 0 FJT}
- {3624184800 46800 1 FJST}
- {3630837600 43200 0 FJT}
- {3655634400 46800 1 FJST}
- {3662287200 43200 0 FJT}
- {3687084000 46800 1 FJST}
- {3693736800 43200 0 FJT}
- {3718533600 46800 1 FJST}
- {3725186400 43200 0 FJT}
- {3750588000 46800 1 FJST}
- {3756636000 43200 0 FJT}
- {3782037600 46800 1 FJST}
- {3788085600 43200 0 FJT}
- {3813487200 46800 1 FJST}
- {3820140000 43200 0 FJT}
- {3844936800 46800 1 FJST}
- {3851589600 43200 0 FJT}
- {3876386400 46800 1 FJST}
- {3883039200 43200 0 FJT}
- {3907836000 46800 1 FJST}
- {3914488800 43200 0 FJT}
- {3939890400 46800 1 FJST}
- {3945938400 43200 0 FJT}
- {3971340000 46800 1 FJST}
- {3977388000 43200 0 FJT}
- {4002789600 46800 1 FJST}
- {4009442400 43200 0 FJT}
- {4034239200 46800 1 FJST}
- {4040892000 43200 0 FJT}
- {4065688800 46800 1 FJST}
- {4072341600 43200 0 FJT}
- {4097138400 46800 1 FJST}
+ {-1709985344 43200 0 +12}
+ {909842400 46800 1 +13}
+ {920124000 43200 0 +12}
+ {941896800 46800 1 +13}
+ {951573600 43200 0 +12}
+ {1259416800 46800 1 +13}
+ {1269698400 43200 0 +12}
+ {1287842400 46800 1 +13}
+ {1299333600 43200 0 +12}
+ {1319292000 46800 1 +13}
+ {1327154400 43200 0 +12}
+ {1350741600 46800 1 +13}
+ {1358604000 43200 0 +12}
+ {1382796000 46800 1 +13}
+ {1390050000 43200 0 +12}
+ {1414850400 46800 1 +13}
+ {1421503200 43200 0 +12}
+ {1446300000 46800 1 +13}
+ {1452952800 43200 0 +12}
+ {1478354400 46800 1 +13}
+ {1484402400 43200 0 +12}
+ {1509804000 46800 1 +13}
+ {1516456800 43200 0 +12}
+ {1541253600 46800 1 +13}
+ {1547906400 43200 0 +12}
+ {1572703200 46800 1 +13}
+ {1579356000 43200 0 +12}
+ {1604152800 46800 1 +13}
+ {1610805600 43200 0 +12}
+ {1636207200 46800 1 +13}
+ {1642255200 43200 0 +12}
+ {1667656800 46800 1 +13}
+ {1673704800 43200 0 +12}
+ {1699106400 46800 1 +13}
+ {1705759200 43200 0 +12}
+ {1730556000 46800 1 +13}
+ {1737208800 43200 0 +12}
+ {1762005600 46800 1 +13}
+ {1768658400 43200 0 +12}
+ {1793455200 46800 1 +13}
+ {1800108000 43200 0 +12}
+ {1825509600 46800 1 +13}
+ {1831557600 43200 0 +12}
+ {1856959200 46800 1 +13}
+ {1863612000 43200 0 +12}
+ {1888408800 46800 1 +13}
+ {1895061600 43200 0 +12}
+ {1919858400 46800 1 +13}
+ {1926511200 43200 0 +12}
+ {1951308000 46800 1 +13}
+ {1957960800 43200 0 +12}
+ {1983362400 46800 1 +13}
+ {1989410400 43200 0 +12}
+ {2014812000 46800 1 +13}
+ {2020860000 43200 0 +12}
+ {2046261600 46800 1 +13}
+ {2052914400 43200 0 +12}
+ {2077711200 46800 1 +13}
+ {2084364000 43200 0 +12}
+ {2109160800 46800 1 +13}
+ {2115813600 43200 0 +12}
+ {2140610400 46800 1 +13}
+ {2147263200 43200 0 +12}
+ {2172664800 46800 1 +13}
+ {2178712800 43200 0 +12}
+ {2204114400 46800 1 +13}
+ {2210162400 43200 0 +12}
+ {2235564000 46800 1 +13}
+ {2242216800 43200 0 +12}
+ {2267013600 46800 1 +13}
+ {2273666400 43200 0 +12}
+ {2298463200 46800 1 +13}
+ {2305116000 43200 0 +12}
+ {2329912800 46800 1 +13}
+ {2336565600 43200 0 +12}
+ {2361967200 46800 1 +13}
+ {2368015200 43200 0 +12}
+ {2393416800 46800 1 +13}
+ {2400069600 43200 0 +12}
+ {2424866400 46800 1 +13}
+ {2431519200 43200 0 +12}
+ {2456316000 46800 1 +13}
+ {2462968800 43200 0 +12}
+ {2487765600 46800 1 +13}
+ {2494418400 43200 0 +12}
+ {2519820000 46800 1 +13}
+ {2525868000 43200 0 +12}
+ {2551269600 46800 1 +13}
+ {2557317600 43200 0 +12}
+ {2582719200 46800 1 +13}
+ {2589372000 43200 0 +12}
+ {2614168800 46800 1 +13}
+ {2620821600 43200 0 +12}
+ {2645618400 46800 1 +13}
+ {2652271200 43200 0 +12}
+ {2677068000 46800 1 +13}
+ {2683720800 43200 0 +12}
+ {2709122400 46800 1 +13}
+ {2715170400 43200 0 +12}
+ {2740572000 46800 1 +13}
+ {2747224800 43200 0 +12}
+ {2772021600 46800 1 +13}
+ {2778674400 43200 0 +12}
+ {2803471200 46800 1 +13}
+ {2810124000 43200 0 +12}
+ {2834920800 46800 1 +13}
+ {2841573600 43200 0 +12}
+ {2866975200 46800 1 +13}
+ {2873023200 43200 0 +12}
+ {2898424800 46800 1 +13}
+ {2904472800 43200 0 +12}
+ {2929874400 46800 1 +13}
+ {2936527200 43200 0 +12}
+ {2961324000 46800 1 +13}
+ {2967976800 43200 0 +12}
+ {2992773600 46800 1 +13}
+ {2999426400 43200 0 +12}
+ {3024223200 46800 1 +13}
+ {3030876000 43200 0 +12}
+ {3056277600 46800 1 +13}
+ {3062325600 43200 0 +12}
+ {3087727200 46800 1 +13}
+ {3093775200 43200 0 +12}
+ {3119176800 46800 1 +13}
+ {3125829600 43200 0 +12}
+ {3150626400 46800 1 +13}
+ {3157279200 43200 0 +12}
+ {3182076000 46800 1 +13}
+ {3188728800 43200 0 +12}
+ {3213525600 46800 1 +13}
+ {3220178400 43200 0 +12}
+ {3245580000 46800 1 +13}
+ {3251628000 43200 0 +12}
+ {3277029600 46800 1 +13}
+ {3283682400 43200 0 +12}
+ {3308479200 46800 1 +13}
+ {3315132000 43200 0 +12}
+ {3339928800 46800 1 +13}
+ {3346581600 43200 0 +12}
+ {3371378400 46800 1 +13}
+ {3378031200 43200 0 +12}
+ {3403432800 46800 1 +13}
+ {3409480800 43200 0 +12}
+ {3434882400 46800 1 +13}
+ {3440930400 43200 0 +12}
+ {3466332000 46800 1 +13}
+ {3472984800 43200 0 +12}
+ {3497781600 46800 1 +13}
+ {3504434400 43200 0 +12}
+ {3529231200 46800 1 +13}
+ {3535884000 43200 0 +12}
+ {3560680800 46800 1 +13}
+ {3567333600 43200 0 +12}
+ {3592735200 46800 1 +13}
+ {3598783200 43200 0 +12}
+ {3624184800 46800 1 +13}
+ {3630837600 43200 0 +12}
+ {3655634400 46800 1 +13}
+ {3662287200 43200 0 +12}
+ {3687084000 46800 1 +13}
+ {3693736800 43200 0 +12}
+ {3718533600 46800 1 +13}
+ {3725186400 43200 0 +12}
+ {3750588000 46800 1 +13}
+ {3756636000 43200 0 +12}
+ {3782037600 46800 1 +13}
+ {3788085600 43200 0 +12}
+ {3813487200 46800 1 +13}
+ {3820140000 43200 0 +12}
+ {3844936800 46800 1 +13}
+ {3851589600 43200 0 +12}
+ {3876386400 46800 1 +13}
+ {3883039200 43200 0 +12}
+ {3907836000 46800 1 +13}
+ {3914488800 43200 0 +12}
+ {3939890400 46800 1 +13}
+ {3945938400 43200 0 +12}
+ {3971340000 46800 1 +13}
+ {3977388000 43200 0 +12}
+ {4002789600 46800 1 +13}
+ {4009442400 43200 0 +12}
+ {4034239200 46800 1 +13}
+ {4040892000 43200 0 +12}
+ {4065688800 46800 1 +13}
+ {4072341600 43200 0 +12}
+ {4097138400 46800 1 +13}
}
diff --git a/library/tzdata/Pacific/Funafuti b/library/tzdata/Pacific/Funafuti
index b94e4fb..d806525 100644
--- a/library/tzdata/Pacific/Funafuti
+++ b/library/tzdata/Pacific/Funafuti
@@ -2,5 +2,5 @@
set TZData(:Pacific/Funafuti) {
{-9223372036854775808 43012 0 LMT}
- {-2177495812 43200 0 TVT}
+ {-2177495812 43200 0 +12}
}
diff --git a/library/tzdata/Pacific/Galapagos b/library/tzdata/Pacific/Galapagos
index d8c80e8..f276f73 100644
--- a/library/tzdata/Pacific/Galapagos
+++ b/library/tzdata/Pacific/Galapagos
@@ -2,6 +2,8 @@
set TZData(:Pacific/Galapagos) {
{-9223372036854775808 -21504 0 LMT}
- {-1230746496 -18000 0 ECT}
- {504939600 -21600 0 GALT}
+ {-1230746496 -18000 0 -05}
+ {504939600 -21600 0 -06}
+ {722930400 -18000 1 -05}
+ {728888400 -21600 0 -06}
}
diff --git a/library/tzdata/Pacific/Gambier b/library/tzdata/Pacific/Gambier
index d69f99a..9ebd97c 100644
--- a/library/tzdata/Pacific/Gambier
+++ b/library/tzdata/Pacific/Gambier
@@ -2,5 +2,5 @@
set TZData(:Pacific/Gambier) {
{-9223372036854775808 -32388 0 LMT}
- {-1806678012 -32400 0 GAMT}
+ {-1806678012 -32400 0 -09}
}
diff --git a/library/tzdata/Pacific/Guadalcanal b/library/tzdata/Pacific/Guadalcanal
index 09a67dd..7e13e6e 100644
--- a/library/tzdata/Pacific/Guadalcanal
+++ b/library/tzdata/Pacific/Guadalcanal
@@ -2,5 +2,5 @@
set TZData(:Pacific/Guadalcanal) {
{-9223372036854775808 38388 0 LMT}
- {-1806748788 39600 0 SBT}
+ {-1806748788 39600 0 +11}
}
diff --git a/library/tzdata/Pacific/Kiritimati b/library/tzdata/Pacific/Kiritimati
index 06b695b..b703f19 100644
--- a/library/tzdata/Pacific/Kiritimati
+++ b/library/tzdata/Pacific/Kiritimati
@@ -2,7 +2,7 @@
set TZData(:Pacific/Kiritimati) {
{-9223372036854775808 -37760 0 LMT}
- {-2177415040 -38400 0 LINT}
- {307622400 -36000 0 LINT}
- {788954400 50400 0 LINT}
+ {-2177415040 -38400 0 -1040}
+ {307622400 -36000 0 -10}
+ {788954400 50400 0 +14}
}
diff --git a/library/tzdata/Pacific/Kosrae b/library/tzdata/Pacific/Kosrae
index a16b19d..04bed35 100644
--- a/library/tzdata/Pacific/Kosrae
+++ b/library/tzdata/Pacific/Kosrae
@@ -2,7 +2,7 @@
set TZData(:Pacific/Kosrae) {
{-9223372036854775808 39116 0 LMT}
- {-2177491916 39600 0 KOST}
- {-7988400 43200 0 KOST}
- {915105600 39600 0 KOST}
+ {-2177491916 39600 0 +11}
+ {-7988400 43200 0 +12}
+ {915105600 39600 0 +11}
}
diff --git a/library/tzdata/Pacific/Kwajalein b/library/tzdata/Pacific/Kwajalein
index 8600b3b..19e1067 100644
--- a/library/tzdata/Pacific/Kwajalein
+++ b/library/tzdata/Pacific/Kwajalein
@@ -2,7 +2,7 @@
set TZData(:Pacific/Kwajalein) {
{-9223372036854775808 40160 0 LMT}
- {-2177492960 39600 0 MHT}
- {-7988400 -43200 0 KWAT}
- {745848000 43200 0 MHT}
+ {-2177492960 39600 0 +11}
+ {-7988400 -43200 0 -12}
+ {745848000 43200 0 +12}
}
diff --git a/library/tzdata/Pacific/Majuro b/library/tzdata/Pacific/Majuro
index 468baab..5e9ac99 100644
--- a/library/tzdata/Pacific/Majuro
+++ b/library/tzdata/Pacific/Majuro
@@ -2,6 +2,6 @@
set TZData(:Pacific/Majuro) {
{-9223372036854775808 41088 0 LMT}
- {-2177493888 39600 0 MHT}
- {-7988400 43200 0 MHT}
+ {-2177493888 39600 0 +11}
+ {-7988400 43200 0 +12}
}
diff --git a/library/tzdata/Pacific/Marquesas b/library/tzdata/Pacific/Marquesas
index 9bb508f..ac77a2f 100644
--- a/library/tzdata/Pacific/Marquesas
+++ b/library/tzdata/Pacific/Marquesas
@@ -2,5 +2,5 @@
set TZData(:Pacific/Marquesas) {
{-9223372036854775808 -33480 0 LMT}
- {-1806676920 -34200 0 MART}
+ {-1806676920 -34200 0 -0930}
}
diff --git a/library/tzdata/Pacific/Nauru b/library/tzdata/Pacific/Nauru
index 2da1e25..de10811 100644
--- a/library/tzdata/Pacific/Nauru
+++ b/library/tzdata/Pacific/Nauru
@@ -2,8 +2,8 @@
set TZData(:Pacific/Nauru) {
{-9223372036854775808 40060 0 LMT}
- {-1545131260 41400 0 NRT}
- {-877347000 32400 0 JST}
- {-800960400 41400 0 NRT}
- {294323400 43200 0 NRT}
+ {-1545131260 41400 0 +1130}
+ {-877347000 32400 0 +09}
+ {-800960400 41400 0 +1130}
+ {294323400 43200 0 +12}
}
diff --git a/library/tzdata/Pacific/Niue b/library/tzdata/Pacific/Niue
index cf149fc..fe19c59 100644
--- a/library/tzdata/Pacific/Niue
+++ b/library/tzdata/Pacific/Niue
@@ -2,7 +2,7 @@
set TZData(:Pacific/Niue) {
{-9223372036854775808 -40780 0 LMT}
- {-2177412020 -40800 0 NUT}
- {-599575200 -41400 0 NUT}
- {276089400 -39600 0 NUT}
+ {-2177412020 -40800 0 -1120}
+ {-599575200 -41400 0 -1130}
+ {276089400 -39600 0 -11}
}
diff --git a/library/tzdata/Pacific/Norfolk b/library/tzdata/Pacific/Norfolk
index b12ab8c..f0556ab 100644
--- a/library/tzdata/Pacific/Norfolk
+++ b/library/tzdata/Pacific/Norfolk
@@ -2,9 +2,9 @@
set TZData(:Pacific/Norfolk) {
{-9223372036854775808 40312 0 LMT}
- {-2177493112 40320 0 NMT}
- {-599656320 41400 0 NFT}
- {152029800 45000 1 NFST}
- {162912600 41400 0 NFT}
- {1443882600 39600 0 NFT}
+ {-2177493112 40320 0 +1112}
+ {-599656320 41400 0 +1130}
+ {152029800 45000 1 +1230}
+ {162912600 41400 0 +1130}
+ {1443882600 39600 0 +11}
}
diff --git a/library/tzdata/Pacific/Noumea b/library/tzdata/Pacific/Noumea
index db1eeae..36b570d 100644
--- a/library/tzdata/Pacific/Noumea
+++ b/library/tzdata/Pacific/Noumea
@@ -2,11 +2,11 @@
set TZData(:Pacific/Noumea) {
{-9223372036854775808 39948 0 LMT}
- {-1829387148 39600 0 NCT}
- {250002000 43200 1 NCST}
- {257342400 39600 0 NCT}
- {281451600 43200 1 NCST}
- {288878400 39600 0 NCT}
- {849366000 43200 1 NCST}
- {857228400 39600 0 NCT}
+ {-1829387148 39600 0 +11}
+ {250002000 43200 1 +12}
+ {257342400 39600 0 +11}
+ {281451600 43200 1 +12}
+ {288878400 39600 0 +11}
+ {849366000 43200 1 +12}
+ {857228400 39600 0 +11}
}
diff --git a/library/tzdata/Pacific/Pago_Pago b/library/tzdata/Pacific/Pago_Pago
index ca261d0..d30c981 100644
--- a/library/tzdata/Pacific/Pago_Pago
+++ b/library/tzdata/Pacific/Pago_Pago
@@ -3,7 +3,5 @@
set TZData(:Pacific/Pago_Pago) {
{-9223372036854775808 45432 0 LMT}
{-2855738232 -40968 0 LMT}
- {-1861879032 -39600 0 NST}
- {-86878800 -39600 0 BST}
- {439038000 -39600 0 SST}
+ {-1861879032 -39600 0 SST}
}
diff --git a/library/tzdata/Pacific/Palau b/library/tzdata/Pacific/Palau
index ee0606d..a50fd2a 100644
--- a/library/tzdata/Pacific/Palau
+++ b/library/tzdata/Pacific/Palau
@@ -2,5 +2,5 @@
set TZData(:Pacific/Palau) {
{-9223372036854775808 32276 0 LMT}
- {-2177485076 32400 0 PWT}
+ {-2177485076 32400 0 +09}
}
diff --git a/library/tzdata/Pacific/Pitcairn b/library/tzdata/Pacific/Pitcairn
index d62644e..6813978 100644
--- a/library/tzdata/Pacific/Pitcairn
+++ b/library/tzdata/Pacific/Pitcairn
@@ -2,6 +2,6 @@
set TZData(:Pacific/Pitcairn) {
{-9223372036854775808 -31220 0 LMT}
- {-2177421580 -30600 0 PNT}
- {893665800 -28800 0 PST}
+ {-2177421580 -30600 0 -0830}
+ {893665800 -28800 0 -08}
}
diff --git a/library/tzdata/Pacific/Pohnpei b/library/tzdata/Pacific/Pohnpei
index 58978da..3fcb5d0 100644
--- a/library/tzdata/Pacific/Pohnpei
+++ b/library/tzdata/Pacific/Pohnpei
@@ -2,5 +2,5 @@
set TZData(:Pacific/Pohnpei) {
{-9223372036854775808 37972 0 LMT}
- {-2177490772 39600 0 PONT}
+ {-2177490772 39600 0 +11}
}
diff --git a/library/tzdata/Pacific/Port_Moresby b/library/tzdata/Pacific/Port_Moresby
index 65eb533..c3a5e4f 100644
--- a/library/tzdata/Pacific/Port_Moresby
+++ b/library/tzdata/Pacific/Port_Moresby
@@ -3,5 +3,5 @@
set TZData(:Pacific/Port_Moresby) {
{-9223372036854775808 35320 0 LMT}
{-2840176120 35312 0 PMMT}
- {-2366790512 36000 0 PGT}
+ {-2366790512 36000 0 +10}
}
diff --git a/library/tzdata/Pacific/Rarotonga b/library/tzdata/Pacific/Rarotonga
index a4ecf8d..9a70318 100644
--- a/library/tzdata/Pacific/Rarotonga
+++ b/library/tzdata/Pacific/Rarotonga
@@ -2,31 +2,31 @@
set TZData(:Pacific/Rarotonga) {
{-9223372036854775808 -38344 0 LMT}
- {-2177414456 -37800 0 CKT}
- {279714600 -34200 0 CKHST}
- {289387800 -36000 0 CKT}
- {309952800 -34200 1 CKHST}
- {320837400 -36000 0 CKT}
- {341402400 -34200 1 CKHST}
- {352287000 -36000 0 CKT}
- {372852000 -34200 1 CKHST}
- {384341400 -36000 0 CKT}
- {404906400 -34200 1 CKHST}
- {415791000 -36000 0 CKT}
- {436356000 -34200 1 CKHST}
- {447240600 -36000 0 CKT}
- {467805600 -34200 1 CKHST}
- {478690200 -36000 0 CKT}
- {499255200 -34200 1 CKHST}
- {510139800 -36000 0 CKT}
- {530704800 -34200 1 CKHST}
- {541589400 -36000 0 CKT}
- {562154400 -34200 1 CKHST}
- {573643800 -36000 0 CKT}
- {594208800 -34200 1 CKHST}
- {605093400 -36000 0 CKT}
- {625658400 -34200 1 CKHST}
- {636543000 -36000 0 CKT}
- {657108000 -34200 1 CKHST}
- {667992600 -36000 0 CKT}
+ {-2177414456 -37800 0 -1030}
+ {279714600 -34200 0 -0930}
+ {289387800 -36000 0 -10}
+ {309952800 -34200 1 -0930}
+ {320837400 -36000 0 -10}
+ {341402400 -34200 1 -0930}
+ {352287000 -36000 0 -10}
+ {372852000 -34200 1 -0930}
+ {384341400 -36000 0 -10}
+ {404906400 -34200 1 -0930}
+ {415791000 -36000 0 -10}
+ {436356000 -34200 1 -0930}
+ {447240600 -36000 0 -10}
+ {467805600 -34200 1 -0930}
+ {478690200 -36000 0 -10}
+ {499255200 -34200 1 -0930}
+ {510139800 -36000 0 -10}
+ {530704800 -34200 1 -0930}
+ {541589400 -36000 0 -10}
+ {562154400 -34200 1 -0930}
+ {573643800 -36000 0 -10}
+ {594208800 -34200 1 -0930}
+ {605093400 -36000 0 -10}
+ {625658400 -34200 1 -0930}
+ {636543000 -36000 0 -10}
+ {657108000 -34200 1 -0930}
+ {667992600 -36000 0 -10}
}
diff --git a/library/tzdata/Pacific/Tahiti b/library/tzdata/Pacific/Tahiti
index f739223..768553c 100644
--- a/library/tzdata/Pacific/Tahiti
+++ b/library/tzdata/Pacific/Tahiti
@@ -2,5 +2,5 @@
set TZData(:Pacific/Tahiti) {
{-9223372036854775808 -35896 0 LMT}
- {-1806674504 -36000 0 TAHT}
+ {-1806674504 -36000 0 -10}
}
diff --git a/library/tzdata/Pacific/Tarawa b/library/tzdata/Pacific/Tarawa
index 2dab5a2..2b9b556 100644
--- a/library/tzdata/Pacific/Tarawa
+++ b/library/tzdata/Pacific/Tarawa
@@ -2,5 +2,5 @@
set TZData(:Pacific/Tarawa) {
{-9223372036854775808 41524 0 LMT}
- {-2177494324 43200 0 GILT}
+ {-2177494324 43200 0 +12}
}
diff --git a/library/tzdata/Pacific/Wake b/library/tzdata/Pacific/Wake
index 5afedf5..67eab37 100644
--- a/library/tzdata/Pacific/Wake
+++ b/library/tzdata/Pacific/Wake
@@ -2,5 +2,5 @@
set TZData(:Pacific/Wake) {
{-9223372036854775808 39988 0 LMT}
- {-2177492788 43200 0 WAKT}
+ {-2177492788 43200 0 +12}
}
diff --git a/library/tzdata/Pacific/Wallis b/library/tzdata/Pacific/Wallis
index 7bdd964..152e6af 100644
--- a/library/tzdata/Pacific/Wallis
+++ b/library/tzdata/Pacific/Wallis
@@ -2,5 +2,5 @@
set TZData(:Pacific/Wallis) {
{-9223372036854775808 44120 0 LMT}
- {-2177496920 43200 0 WFT}
+ {-2177496920 43200 0 +12}
}
diff --git a/macosx/Tcl.xcode/project.pbxproj b/macosx/Tcl.xcode/project.pbxproj
index a28b8db..589b09c 100644
--- a/macosx/Tcl.xcode/project.pbxproj
+++ b/macosx/Tcl.xcode/project.pbxproj
@@ -837,7 +837,6 @@
F96D447308F272BA004A47F5 /* coffbase.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = coffbase.txt; sourceTree = "<group>"; };
F96D447408F272BA004A47F5 /* configure */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = configure; sourceTree = "<group>"; };
F96D447508F272BA004A47F5 /* configure.in */ = {isa = PBXFileReference; explicitFileType = text.script.sh; fileEncoding = 4; path = configure.in; sourceTree = "<group>"; };
- F96D447608F272BA004A47F5 /* makefile.bc */ = {isa = PBXFileReference; explicitFileType = sourcecode.make; fileEncoding = 4; path = makefile.bc; sourceTree = "<group>"; };
F96D447708F272BA004A47F5 /* Makefile.in */ = {isa = PBXFileReference; explicitFileType = sourcecode.make; fileEncoding = 4; path = Makefile.in; sourceTree = "<group>"; };
F96D447808F272BA004A47F5 /* makefile.vc */ = {isa = PBXFileReference; explicitFileType = sourcecode.make; fileEncoding = 4; path = makefile.vc; sourceTree = "<group>"; };
F96D447908F272BA004A47F5 /* nmakehlp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = nmakehlp.c; sourceTree = "<group>"; };
@@ -1759,7 +1758,6 @@
F96D447308F272BA004A47F5 /* coffbase.txt */,
F96D447408F272BA004A47F5 /* configure */,
F96D447508F272BA004A47F5 /* configure.in */,
- F96D447608F272BA004A47F5 /* makefile.bc */,
F96D447708F272BA004A47F5 /* Makefile.in */,
F96D447808F272BA004A47F5 /* makefile.vc */,
F96D447908F272BA004A47F5 /* nmakehlp.c */,
diff --git a/macosx/Tcl.xcodeproj/project.pbxproj b/macosx/Tcl.xcodeproj/project.pbxproj
index 7c0d083..9384957 100644
--- a/macosx/Tcl.xcodeproj/project.pbxproj
+++ b/macosx/Tcl.xcodeproj/project.pbxproj
@@ -837,7 +837,6 @@
F96D447308F272BA004A47F5 /* coffbase.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = coffbase.txt; sourceTree = "<group>"; };
F96D447408F272BA004A47F5 /* configure */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = configure; sourceTree = "<group>"; };
F96D447508F272BA004A47F5 /* configure.in */ = {isa = PBXFileReference; explicitFileType = text.script.sh; fileEncoding = 4; path = configure.in; sourceTree = "<group>"; };
- F96D447608F272BA004A47F5 /* makefile.bc */ = {isa = PBXFileReference; explicitFileType = sourcecode.make; fileEncoding = 4; path = makefile.bc; sourceTree = "<group>"; };
F96D447708F272BA004A47F5 /* Makefile.in */ = {isa = PBXFileReference; explicitFileType = sourcecode.make; fileEncoding = 4; path = Makefile.in; sourceTree = "<group>"; };
F96D447808F272BA004A47F5 /* makefile.vc */ = {isa = PBXFileReference; explicitFileType = sourcecode.make; fileEncoding = 4; path = makefile.vc; sourceTree = "<group>"; };
F96D447908F272BA004A47F5 /* nmakehlp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = nmakehlp.c; sourceTree = "<group>"; };
@@ -1759,7 +1758,6 @@
F96D447308F272BA004A47F5 /* coffbase.txt */,
F96D447408F272BA004A47F5 /* configure */,
F96D447508F272BA004A47F5 /* configure.in */,
- F96D447608F272BA004A47F5 /* makefile.bc */,
F96D447708F272BA004A47F5 /* Makefile.in */,
F96D447808F272BA004A47F5 /* makefile.vc */,
F96D447908F272BA004A47F5 /* nmakehlp.c */,
diff --git a/tests/binary.test b/tests/binary.test
index 40b1315..2a306a3 100644
--- a/tests/binary.test
+++ b/tests/binary.test
@@ -1506,6 +1506,18 @@ test binary-37.9 {GetFormatSpec: numbers} {
binary scan $x f* bla
set bla
} {1.0 -1.0 2.0 -2.0 0.0}
+test binary-37.10 {GetFormatSpec: count overflow} {
+ binary scan x a[format %ld 0x7fffffff] r
+} 0
+test binary-37.11 {GetFormatSpec: count overflow} {
+ binary scan x a[format %ld 0x10000000] r
+} 0
+test binary-37.12 {GetFormatSpec: count overflow} {
+ binary scan x a[format %ld 0x100000000] r
+} 0
+test binary-37.13 {GetFormatSpec: count overflow} {
+ binary scan x a[format %lld 0x10000000000000000] r
+} 0
test binary-38.1 {FormatNumber: word alignment} {
set x [binary format c1s1 1 1]
diff --git a/tests/chanio.test b/tests/chanio.test
index 9a27233..db2475c 100644
--- a/tests/chanio.test
+++ b/tests/chanio.test
@@ -5338,7 +5338,7 @@ test chan-io-40.2 {POSIX open access modes: CREAT} -setup {
} -constraints {unix} -body {
set f [open $path(test3) {WRONLY CREAT} 0600]
file stat $path(test3) stats
- set x [format "0%o" [expr $stats(mode)&0o777]]
+ set x [format "%#o" [expr $stats(mode)&0o777]]
chan puts $f "line 1"
chan close $f
set f [open $path(test3) r]
@@ -5352,8 +5352,8 @@ test chan-io-40.3 {POSIX open access modes: CREAT} -setup {
# This test only works if your umask is 2, like ouster's.
chan close [open $path(test3) {WRONLY CREAT}]
file stat $path(test3) stats
- format "0%o" [expr $stats(mode)&0o777]
-} -result [format %04o [expr {0o666 & ~ $umaskValue}]]
+ format "%#o" [expr $stats(mode)&0o777]
+} -result [format %#4o [expr {0o666 & ~ $umaskValue}]]
test chan-io-40.4 {POSIX open access modes: CREAT} -setup {
file delete $path(test3)
} -body {
@@ -6775,7 +6775,7 @@ test chan-io-52.10 {TclCopyChannel & encodings} {fcopy} {
} 5
test chan-io-52.11 {TclCopyChannel & encodings} -setup {
set f [open $path(utf8-fcopy.txt) w]
- fconfigure $f -encoding utf-8
+ fconfigure $f -encoding utf-8 -translation lf
puts $f "\u0410\u0410"
close $f
} -constraints {fcopy} -body {
diff --git a/tests/cmdAH.test b/tests/cmdAH.test
index b4ef605..3c58c1b 100644
--- a/tests/cmdAH.test
+++ b/tests/cmdAH.test
@@ -167,10 +167,10 @@ test cmdAH-3.2 {Tcl_ContinueObjCmd, success} {
test cmdAH-4.1 {Tcl_EncodingObjCmd} -returnCodes error -body {
encoding
-} -result {wrong # args: should be "encoding option ?arg ...?"}
+} -result {wrong # args: should be "encoding subcommand ?arg ...?"}
test cmdAH-4.2 {Tcl_EncodingObjCmd} -returnCodes error -body {
encoding foo
-} -result {bad option "foo": must be convertfrom, convertto, dirs, names, or system}
+} -result {unknown or ambiguous subcommand "foo": must be convertfrom, convertto, dirs, names, or system}
test cmdAH-4.3 {Tcl_EncodingObjCmd} -returnCodes error -body {
encoding convertto
} -result {wrong # args: should be "encoding convertto ?encoding? data"}
diff --git a/tests/coroutine.test b/tests/coroutine.test
index 205da67..fd68567 100644
--- a/tests/coroutine.test
+++ b/tests/coroutine.test
@@ -741,6 +741,45 @@ test coroutine-7.12 {coro floor above street level #3008307} -body {
list
} -result {}
+test coroutine-8.0.0 {coro inject executed} -body {
+ coroutine demo apply {{} { foreach i {1 2} yield }}
+ demo
+ set ::result none
+ tcl::unsupported::inject demo set ::result inject-executed
+ demo
+ set ::result
+} -result {inject-executed}
+test coroutine-8.0.1 {coro inject after error} -body {
+ coroutine demo apply {{} { foreach i {1 2} yield; error test }}
+ demo
+ set ::result none
+ tcl::unsupported::inject demo set ::result inject-executed
+ lappend ::result [catch {demo} err] $err
+} -result {inject-executed 1 test}
+test coroutine-8.1.1 {coro inject, ticket 42202ba1e5ff566e} -body {
+ interp create slave
+ slave eval {
+ coroutine demo apply {{} { while {1} yield }}
+ demo
+ tcl::unsupported::inject demo set ::result inject-executed
+ }
+ interp delete slave
+} -result {}
+test coroutine-8.1.2 {coro inject with result, ticket 42202ba1e5ff566e} -body {
+ interp create slave
+ slave eval {
+ coroutine demo apply {{} { while {1} yield }}
+ demo
+ tcl::unsupported::inject demo set ::result inject-executed
+ }
+ slave eval demo
+ set result [slave eval {set ::result}]
+
+ interp delete slave
+ set result
+} -result {inject-executed}
+
+
# cleanup
unset lambda
diff --git a/tests/fileName.test b/tests/fileName.test
index 387d844..ce89623 100644
--- a/tests/fileName.test
+++ b/tests/fileName.test
@@ -441,6 +441,9 @@ test filename-7.18 {Tcl_JoinPath: unix} {testsetplatform} {
testsetplatform unix
file join /// a b
} "/a/b"
+test filename-7.19 {[Bug f34cf83dd0]} {
+ file join foo //bar
+} /bar
test filename-9.1 {Tcl_JoinPath: win} {testsetplatform} {
testsetplatform win
diff --git a/tests/fileSystem.test b/tests/fileSystem.test
index 9fe4fe9..10895b2 100644
--- a/tests/fileSystem.test
+++ b/tests/fileSystem.test
@@ -367,6 +367,16 @@ test filesystem-1.51 {file normalisation .. beyond root (Bug 1379287)} {
test filesystem-1.51.1 {file normalisation .. beyond root (Bug 1379287)} {
testPathEqual [file norm /../../] [file norm /]
} ok
+test filesystem-1.52 {bug f9f390d0fa: file join where strep is not canonical} -constraints unix -body {
+ set x //foo
+ file normalize $x
+ file join $x bar
+} -result /foo/bar
+test filesystem-1.52.1 {bug f9f390d0fa: file join where strep is not canonical} -body {
+ set x //foo
+ file normalize $x
+ file join $x
+} -result /foo
test filesystem-2.0 {new native path} {unix} {
foreach f [lsort [glob -nocomplain /usr/bin/c*]] {
diff --git a/tests/format.test b/tests/format.test
index e199398..9afedd9 100644
--- a/tests/format.test
+++ b/tests/format.test
@@ -52,32 +52,32 @@ test format-1.7.1 {integer formatting} longIs64bit {
format "%4x %4x %4x %4x" 6 34 16923 -12 -1
} { 6 22 421b fffffffffffffff4}
test format-1.8 {integer formatting} longIs32bit {
- format "%#x %#X %#X %#x" 6 34 16923 -12 -1
-} {0x6 0X22 0X421B 0xfffffff4}
+ format "%#x %#x %#X %#X %#x" 0 6 34 16923 -12 -1
+} {0x0 0x6 0X22 0X421B 0xfffffff4}
test format-1.8.1 {integer formatting} longIs64bit {
- format "%#x %#X %#X %#x" 6 34 16923 -12 -1
-} {0x6 0X22 0X421B 0xfffffffffffffff4}
+ format "%#x %#x %#X %#X %#x" 0 6 34 16923 -12 -1
+} {0x0 0x6 0X22 0X421B 0xfffffffffffffff4}
test format-1.9 {integer formatting} longIs32bit {
- format "%#20x %#20x %#20x %#20x" 6 34 16923 -12 -1
-} { 0x6 0x22 0x421b 0xfffffff4}
+ format "%#5x %#20x %#20x %#20x %#20x" 0 6 34 16923 -12 -1
+} { 0x0 0x6 0x22 0x421b 0xfffffff4}
test format-1.9.1 {integer formatting} longIs64bit {
- format "%#20x %#20x %#20x %#20x" 6 34 16923 -12 -1
-} { 0x6 0x22 0x421b 0xfffffffffffffff4}
+ format "%#5x %#20x %#20x %#20x %#20x" 0 6 34 16923 -12 -1
+} { 0x0 0x6 0x22 0x421b 0xfffffffffffffff4}
test format-1.10 {integer formatting} longIs32bit {
- format "%-#20x %-#20x %-#20x %-#20x" 6 34 16923 -12 -1
-} {0x6 0x22 0x421b 0xfffffff4 }
+ format "%-#5x %-#20x %-#20x %-#20x %-#20x" 0 6 34 16923 -12 -1
+} {0x0 0x6 0x22 0x421b 0xfffffff4 }
test format-1.10.1 {integer formatting} longIs64bit {
- format "%-#20x %-#20x %-#20x %-#20x" 6 34 16923 -12 -1
-} {0x6 0x22 0x421b 0xfffffffffffffff4 }
+ format "%-#5x %-#20x %-#20x %-#20x %-#20x" 0 6 34 16923 -12 -1
+} {0x0 0x6 0x22 0x421b 0xfffffffffffffff4 }
test format-1.11 {integer formatting} longIs32bit {
- format "%-#20o %#-20o %#-20o %#-20o" 6 34 16923 -12 -1
-} {06 042 041033 037777777764 }
+ format "%-#5o %-#20o %#-20o %#-20o %#-20o" 0 6 34 16923 -12 -1
+} {0 06 042 041033 037777777764 }
test format-1.11.1 {integer formatting} longIs64bit {
- format "%-#20o %#-20o %#-20o %#-20o" 6 34 16923 -12 -1
-} {06 042 041033 01777777777777777777764}
+ format "%-#5o %-#20o %#-20o %#-20o %#-20o" 0 6 34 16923 -12 -1
+} {0 06 042 041033 01777777777777777777764}
test format-1.12 {integer formatting} {
- format "%b %#b %llb" 5 5 [expr {2**100}]
-} {101 0b101 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000}
+ format "%b %#b %#b %llb" 5 0 5 [expr {2**100}]
+} {101 0b0 0b101 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000}
test format-2.1 {string formatting} {
format "%s %s %c %s" abcd {This is a very long test string.} 120 x
@@ -528,6 +528,12 @@ test format-17.3 {testing %ld with non-wide} {wideIs64bit} {
test format-17.4 {testing %l with non-integer} {
format %lf 1
} 1.000000
+test format-17.5 {testing %llu with positive bignum} -body {
+ format %llu 0xabcdef0123456789abcdef
+} -returnCodes 1 -result {unsigned bignum format is invalid}
+test format-17.6 {testing %llu with negative number} -body {
+ format %llu -1
+} -returnCodes 1 -result {unsigned bignum format is invalid}
test format-18.1 {do not demote existing numeric values} {
set a 0xaaaaaaaa
diff --git a/tests/interp.test b/tests/interp.test
index 6000ffd..5299d82 100644
--- a/tests/interp.test
+++ b/tests/interp.test
@@ -20,7 +20,7 @@ catch [list package require -exact Tcltest [info patchlevel]]
testConstraint testinterpdelete [llength [info commands testinterpdelete]]
-set hidden_cmds {cd encoding exec exit fconfigure file glob load open pwd socket source tcl:file:atime tcl:file:attributes tcl:file:copy tcl:file:delete tcl:file:dirname tcl:file:executable tcl:file:exists tcl:file:extension tcl:file:isdirectory tcl:file:isfile tcl:file:link tcl:file:lstat tcl:file:mkdir tcl:file:mtime tcl:file:nativename tcl:file:normalize tcl:file:owned tcl:file:readable tcl:file:readlink tcl:file:rename tcl:file:rootname tcl:file:size tcl:file:stat tcl:file:tail tcl:file:tempfile tcl:file:type tcl:file:volumes tcl:file:writable unload}
+set hidden_cmds {cd encoding exec exit fconfigure file glob load open pwd socket source tcl:encoding:dirs tcl:file:atime tcl:file:attributes tcl:file:copy tcl:file:delete tcl:file:dirname tcl:file:executable tcl:file:exists tcl:file:extension tcl:file:isdirectory tcl:file:isfile tcl:file:link tcl:file:lstat tcl:file:mkdir tcl:file:mtime tcl:file:nativename tcl:file:normalize tcl:file:owned tcl:file:readable tcl:file:readlink tcl:file:rename tcl:file:rootname tcl:file:size tcl:file:stat tcl:file:tail tcl:file:tempfile tcl:file:type tcl:file:volumes tcl:file:writable unload}
foreach i [interp slaves] {
interp delete $i
@@ -615,6 +615,8 @@ test interp-14.11 {{interp alias} {target named the empty string} {bug 2bf56185}
} -body {
interp alias {} p1 $interp {}
p1 one two three
+} -cleanup {
+ interp delete $interp
} -result {one two three}
# part 15: testing file sharing
diff --git a/tests/io.test b/tests/io.test
index e2a05dc..197fc36 100644
--- a/tests/io.test
+++ b/tests/io.test
@@ -5652,8 +5652,8 @@ test io-40.3 {POSIX open access modes: CREAT} {unix umask} {
set f [open $path(test3) {WRONLY CREAT}]
close $f
file stat $path(test3) stats
- format "0%o" [expr $stats(mode)&0o777]
-} [format %04o [expr {0o666 & ~ $umaskValue}]]
+ format "%#o" [expr $stats(mode)&0o777]
+} [format %#4o [expr {0o666 & ~ $umaskValue}]]
test io-40.4 {POSIX open access modes: CREAT} {
file delete $path(test3)
set f [open $path(test3) w]
diff --git a/tests/link.test b/tests/link.test
index dda7d6b..6bff356 100644
--- a/tests/link.test
+++ b/tests/link.test
@@ -152,7 +152,7 @@ test link-2.8 {writing C variables from Tcl} -constraints {testlink} -setup {
set uwide "0O"
concat [testlink get] | $int $real $bool $string $wide $char $uchar $short $ushort $uint $long $ulong $float $uwide
} -result {0 0.0 0 0 0 0 0 0 0 0 0 0 0.0 0 | 0x 0b 0 0 0O 0X 0B 0O 0x 0b 0o 0X 0B 0O}
-test link-2.8 {writing C variables from Tcl} -constraints {testlink} -setup {
+test link-2.9 {writing C variables from Tcl} -constraints {testlink} -setup {
testlink delete
} -body {
testlink set 43 1.21 4 - 56785678 64 250 30000 60000 0xbaadbeef 12321 32123 3.25 1231231234
diff --git a/tests/load.test b/tests/load.test
index 7c4b47f..4cd1fcd 100644
--- a/tests/load.test
+++ b/tests/load.test
@@ -185,23 +185,30 @@ test load-7.4 {Tcl_StaticPackage procedure, redundant calls} -setup {
info loaded
} -result [list {{} Double} {{} More} {{} Another} {{} Test} {*}$currentRealPackages {*}$alreadyTotalLoaded]
-teststaticpkg Test 1 1
-teststaticpkg Another 0 1
-teststaticpkg More 0 1
-teststaticpkg Double 0 1
-test load-8.1 {TclGetLoadedPackages procedure} [list teststaticpkg $dll $loaded] {
+testConstraint teststaticpkg_8.x \
+ [if {[testConstraint teststaticpkg]} {
+ teststaticpkg Test 1 1
+ teststaticpkg Another 0 1
+ teststaticpkg More 0 1
+ teststaticpkg Double 0 1
+ expr 1
+ } else {
+ expr 0
+ }]
+
+test load-8.1 {TclGetLoadedPackages procedure} [list teststaticpkg_8.x $dll $loaded] {
lsort -index 1 [info loaded]
} [lsort -index 1 [list {{} Double} {{} More} {{} Another} {{} Test} {*}$currentRealPackages {*}$alreadyTotalLoaded]]
-test load-8.2 {TclGetLoadedPackages procedure} -body {
+test load-8.2 {TclGetLoadedPackages procedure} -constraints {teststaticpkg_8.x} -body {
info loaded gorp
} -returnCodes error -result {could not find interpreter "gorp"}
-test load-8.3a {TclGetLoadedPackages procedure} [list teststaticpkg $dll $loaded] {
+test load-8.3a {TclGetLoadedPackages procedure} [list teststaticpkg_8.x $dll $loaded] {
lsort -index 1 [info loaded {}]
} [lsort -index 1 [list {{} Double} {{} More} {{} Another} {{} Test} [list [file join $testDir pkga$ext] Pkga] [list [file join $testDir pkgb$ext] Pkgb] {*}$alreadyLoaded]]
-test load-8.3b {TclGetLoadedPackages procedure} [list teststaticpkg $dll $loaded] {
+test load-8.3b {TclGetLoadedPackages procedure} [list teststaticpkg_8.x $dll $loaded] {
lsort -index 1 [info loaded child]
} [lsort -index 1 [list {{} Test} [list [file join $testDir pkgb$ext] Pkgb]]]
-test load-8.4 {TclGetLoadedPackages procedure} [list $dll $loaded teststaticpkg] {
+test load-8.4 {TclGetLoadedPackages procedure} [list teststaticpkg_8.x $dll $loaded] {
load [file join $testDir pkgb$ext] pkgb
list [lsort -index 1 [info loaded {}]] [lsort [info commands pkgb_*]]
} [list [lsort -index 1 [concat [list [list [file join $testDir pkgb$ext] Pkgb] {{} Double} {{} More} {{} Another} {{} Test} [list [file join $testDir pkga$ext] Pkga]] $alreadyLoaded]] {pkgb_demo pkgb_sub pkgb_unsafe}]
diff --git a/tests/nre.test b/tests/nre.test
index 9df5eb1..09061d2 100644
--- a/tests/nre.test
+++ b/tests/nre.test
@@ -64,9 +64,11 @@ if {[testConstraint testnrelevels]} {
namespace import testnre::*
}
-test nre-0.1 {levels while unwinding} {
+test nre-0.1 {levels while unwinding} -body {
testnreunwind
-} {0 0 0}
+} -constraints {
+ testnrelevels
+} -result {0 0 0}
test nre-1.1 {self-recursive procs} -setup {
proc a i [makebody {a $i}]
diff --git a/tests/oo.test b/tests/oo.test
index 2601c37..cb37a76 100644
--- a/tests/oo.test
+++ b/tests/oo.test
@@ -2241,6 +2241,43 @@ test oo-17.10 {OO: class introspection} -setup {
oo::define foo unexport {*}[info class methods foo -all]
info class methods foo -all
} -result {}
+set stdmethods {<cloned> destroy eval unknown variable varname}
+test oo-17.11 {OO: object method unexport (bug 900cb0284bc)} -setup {
+ oo::object create o
+ oo::objdefine o unexport m
+} -body {
+ lsort [info object methods o -all -private]
+} -cleanup {
+ o destroy
+} -result $stdmethods
+test oo-17.12 {OO: instance method unexport (bug 900cb0284bc)} -setup {
+ oo::class create c
+ c create o
+ oo::objdefine o unexport m
+} -body {
+ lsort [info object methods o -all -private]
+} -cleanup {
+ o destroy
+ c destroy
+} -result $stdmethods
+test oo-17.13 {OO: class method unexport (bug 900cb0284bc)} -setup {
+ oo::class create c
+ oo::define c unexport m
+} -body {
+ lsort [info class methods c -all -private]
+} -cleanup {
+ c destroy
+} -result $stdmethods
+test oo-17.14 {OO: instance method unexport (bug 900cb0284bc)} -setup {
+ oo::class create c
+ oo::define c unexport m
+ c create o
+} -body {
+ lsort [info object methods o -all -private]
+} -cleanup {
+ o destroy
+ c destroy
+} -result $stdmethods
test oo-18.1 {OO: define command support} {
list [catch {oo::define oo::object {error foo}} msg] $msg $errorInfo
diff --git a/tests/scan.test b/tests/scan.test
index 7540c9c..b36b412 100644
--- a/tests/scan.test
+++ b/tests/scan.test
@@ -541,6 +541,24 @@ test scan-5.15 {Bug be003d570f} {
test scan-5.16 {Bug be003d570f} {
scan 0x40 %b
} 0
+test scan-5.17 {bigint scanning} -setup {
+ set a {}; set b {}; set c {}
+} -body {
+ list [scan "207698809136909011942886895,abcdef0123456789abcdef,125715736004432126361152746757" \
+ %lld,%llx,%llo a b c] $a $b $c
+} -result {3 207698809136909011942886895 207698809136909011942886895 207698809136909011942886895}
+test scan-5.18 {bigint scanning underflow} -setup {
+ set a {};
+} -body {
+ list [scan "-207698809136909011942886895" \
+ %llu a] $a
+} -returnCodes 1 -result {unsigned bignum scans are invalid}
+test scan-5.18 {bigint scanning invalid} -setup {
+ set a {};
+} -body {
+ list [scan "207698809136909011942886895" \
+ %llu a] $a
+} -returnCodes 1 -result {unsigned bignum scans are invalid}
test scan-6.1 {floating-point scanning} -setup {
set a {}; set b {}; set c {}; set d {}
diff --git a/tests/socket.test b/tests/socket.test
index d43c41c..a3e5704 100644
--- a/tests/socket.test
+++ b/tests/socket.test
@@ -69,7 +69,22 @@ testConstraint exec [llength [info commands exec]]
# Produce a random port number in the Dynamic/Private range
# from 49152 through 65535.
-proc randport {} { expr {int(rand()*16383+49152)} }
+proc randport {} {
+ # firstly try dynamic port via server-socket(0):
+ set port 0x7fffffff
+ catch {
+ set port [lindex [fconfigure [set s [socket -server {} 0]] -sockname] 2]
+ close $s
+ }
+ while {[catch {
+ close [socket -server {} $port]
+ } msg]} {
+ if {[incr i] > 1000} {return -code error "too many iterations to get free random port: $msg"}
+ # try random port:
+ set port [expr {int(rand()*16383+49152)}]
+ }
+ return $port
+}
# Test the latency of tcp connections over the loopback interface. Some OSes
# (e.g. NetBSD) seem to use the Nagle algorithm and delayed ACKs, so it takes
diff --git a/tests/zlib.test b/tests/zlib.test
index ae8742b..c2f7825 100644
--- a/tests/zlib.test
+++ b/tests/zlib.test
@@ -157,6 +157,48 @@ test zlib-7.8 {zlib stream: Bug b26e38a3e4} -constraints zlib -setup {
catch {$strm close}
unset -nocomplain randdata data
} -result {120185 18003000}
+test zlib-7.9 {zlib stream finalize (bug 25842c161)} -constraints zlib -setup {
+ set z1 [zlib stream gzip]
+ set z2 [zlib stream gzip]
+} -body {
+ $z1 put ABCDEedbca..
+ $z1 finalize
+ zlib gunzip [$z1 get]
+} -cleanup {
+ $z1 close
+} -result ABCDEedbca..
+test zlib-7.10 {zlib stream finalize (bug 25842c161)} -constraints zlib -setup {
+ set z2 [zlib stream gzip]
+} -body {
+ $z2 put -finalize ABCDEedbca..
+ zlib gunzip [$z2 get]
+} -cleanup {
+ $z2 close
+} -result ABCDEedbca..
+test zlib-7.11 {zlib stream put -finalize (bug 25842c161)} -constraints zlib -setup {
+ set c [zlib stream gzip]
+ set d [zlib stream gunzip]
+} -body {
+ $c put abcdeEDCBA..
+ $c finalize
+ $d put [$c get]
+ $d finalize
+ $d get
+} -cleanup {
+ $c close
+ $d close
+} -result abcdeEDCBA..
+test zlib-7.12 {zlib stream put; zlib stream finalize (bug 25842c161)} -constraints zlib -setup {
+ set c [zlib stream gzip]
+ set d [zlib stream gunzip]
+} -body {
+ $c put -finalize abcdeEDCBA..
+ $d put -finalize [$c get]
+ $d get
+} -cleanup {
+ $c close
+ $d close
+} -result abcdeEDCBA..
test zlib-8.1 {zlib transformation} -constraints zlib -setup {
set file [makeFile {} test.gz]
@@ -269,7 +311,7 @@ test zlib-8.8 {transformation and fconfigure} -setup {
lassign [chan pipe] inSide outSide
} -constraints zlib -body {
zlib push compress $outSide -dictionary $spdyDict
- fconfigure $outSide -blocking 0 -translation binary -buffering none
+ fconfigure $outSide -blocking 1 -translation binary -buffering none
fconfigure $inSide -blocking 1 -translation binary
puts -nonewline $outSide $spdyHeaders
chan pop $outSide
@@ -288,7 +330,7 @@ test zlib-8.9 {transformation and fconfigure} -setup {
set strm [zlib stream decompress]
} -constraints zlib -body {
zlib push compress $outSide -dictionary $spdyDict
- fconfigure $outSide -blocking 0 -translation binary -buffering none
+ fconfigure $outSide -blocking 1 -translation binary -buffering none
fconfigure $inSide -blocking 1 -translation binary
puts -nonewline $outSide $spdyHeaders
set result [fconfigure $outSide -checksum]
@@ -305,7 +347,7 @@ test zlib-8.10 {transformation and fconfigure} -setup {
lassign [chan pipe] inSide outSide
} -constraints {zlib recentZlib} -body {
zlib push deflate $outSide -dictionary $spdyDict
- fconfigure $outSide -blocking 0 -translation binary -buffering none
+ fconfigure $outSide -blocking 1 -translation binary -buffering none
fconfigure $inSide -blocking 1 -translation binary
puts -nonewline $outSide $spdyHeaders
chan pop $outSide
@@ -327,7 +369,7 @@ test zlib-8.11 {transformation and fconfigure} -setup {
set strm [zlib stream inflate]
} -constraints zlib -body {
zlib push deflate $outSide -dictionary $spdyDict
- fconfigure $outSide -blocking 0 -translation binary -buffering none
+ fconfigure $outSide -blocking 1 -translation binary -buffering none
fconfigure $inSide -blocking 1 -translation binary
puts -nonewline $outSide $spdyHeaders
chan pop $outSide
@@ -345,7 +387,7 @@ test zlib-8.12 {transformation and fconfigure} -setup {
} -constraints zlib -body {
$strm put -dictionary $spdyDict -finalize $spdyHeaders
zlib push decompress $inSide
- fconfigure $outSide -blocking 0 -translation binary
+ fconfigure $outSide -blocking 1 -translation binary
fconfigure $inSide -translation binary -dictionary $spdyDict
puts -nonewline $outSide [$strm get]
close $outSide
@@ -362,7 +404,7 @@ test zlib-8.13 {transformation and fconfigure} -setup {
} -constraints zlib -body {
$strm put -dictionary $spdyDict -finalize $spdyHeaders
zlib push decompress $inSide -dictionary $spdyDict
- fconfigure $outSide -blocking 0 -translation binary
+ fconfigure $outSide -blocking 1 -translation binary
fconfigure $inSide -translation binary
puts -nonewline $outSide [$strm get]
close $outSide
@@ -379,7 +421,7 @@ test zlib-8.14 {transformation and fconfigure} -setup {
} -constraints zlib -body {
$strm put -finalize -dictionary $spdyDict $spdyHeaders
zlib push inflate $inSide
- fconfigure $outSide -blocking 0 -buffering none -translation binary
+ fconfigure $outSide -blocking 1 -buffering none -translation binary
fconfigure $inSide -translation binary -dictionary $spdyDict
puts -nonewline $outSide [$strm get]
close $outSide
@@ -395,7 +437,7 @@ test zlib-8.15 {transformation and fconfigure} -setup {
} -constraints zlib -body {
$strm put -finalize -dictionary $spdyDict $spdyHeaders
zlib push inflate $inSide -dictionary $spdyDict
- fconfigure $outSide -blocking 0 -buffering none -translation binary
+ fconfigure $outSide -blocking 1 -buffering none -translation binary
fconfigure $inSide -translation binary
puts -nonewline $outSide [$strm get]
close $outSide
@@ -466,6 +508,7 @@ test zlib-9.2 "socket fcopy with push" -constraints zlib -setup {
chan configure $c -translation binary -buffering none -blocking 0
puts -nonewline $c [zlib gzip [string repeat a 81920]]
close $c
+ set ::total -1
}}} 0]
set file [makeFile {} test.gz]
} -body {
@@ -473,7 +516,10 @@ test zlib-9.2 "socket fcopy with push" -constraints zlib -setup {
set sin [socket $addr $port]
chan configure $sin -translation binary
zlib push gunzip $sin
- update
+ after 1000 {set ::total timeout}
+ vwait ::total
+ after cancel {set ::total timeout}
+ if {$::total != -1} {error "unexpected value $::total of ::total"}
set total [fcopy $sin [set fout [open $file wb]]]
close $sin
close $fout
@@ -958,7 +1004,7 @@ test zlib-12.2 {Patrick Dunnigan's issue} -constraints zlib -setup {
} -cleanup {
removeFile $filesrc
removeFile $filedst
-} -result 4152
+} -result 56
::tcltest::cleanupTests
return
diff --git a/unix/Makefile.in b/unix/Makefile.in
index 9ad106c..fe9ca40 100644
--- a/unix/Makefile.in
+++ b/unix/Makefile.in
@@ -840,8 +840,8 @@ install-libraries: libraries
do \
$(INSTALL_DATA) $$i "$(SCRIPT_INSTALL_DIR)"/http1.0; \
done;
- @echo "Installing package http 2.8.10 as a Tcl Module";
- @$(INSTALL_DATA) $(TOP_DIR)/library/http/http.tcl "$(SCRIPT_INSTALL_DIR)"/../tcl8/8.6/http-2.8.10.tm;
+ @echo "Installing package http 2.8.11 as a Tcl Module";
+ @$(INSTALL_DATA) $(TOP_DIR)/library/http/http.tcl "$(SCRIPT_INSTALL_DIR)"/../tcl8/8.6/http-2.8.11.tm;
@echo "Installing package opt0.4 files to $(SCRIPT_INSTALL_DIR)/opt0.4/";
@for i in $(TOP_DIR)/library/opt/*.tcl ; \
do \
diff --git a/unix/tclConfig.sh.in b/unix/tclConfig.sh.in
index b58e9fd..f768690 100644
--- a/unix/tclConfig.sh.in
+++ b/unix/tclConfig.sh.in
@@ -81,7 +81,7 @@ TCL_DL_LIBS='@DL_LIBS@'
# an executable tclsh or tcltest binary.
TCL_LD_FLAGS='@LDFLAGS@'
-# Flags to pass to ld, such as "-R /usr/local/tcl/lib", that tell the
+# Flags to pass to cc/ld, such as "-R /usr/local/tcl/lib", that tell the
# run-time dynamic linker where to look for shared libraries such as
# libtcl.so. Used when linking applications. Only works if there
# is a variable "LIB_RUNTIME_DIR" defined in the Makefile.
diff --git a/unix/tclUnixInit.c b/unix/tclUnixInit.c
index badfb36..4fd41a7 100644
--- a/unix/tclUnixInit.c
+++ b/unix/tclUnixInit.c
@@ -14,11 +14,11 @@
#ifdef HAVE_LANGINFO
# include <langinfo.h>
# ifdef __APPLE__
-# if defined(HAVE_WEAK_IMPORT) && MAC_OS_X_VERSION_MIN_REQUIRED < 1030
+# if defined(HAVE_WEAK_IMPORT) && MAC_OS_X_VERSION_MIN_REQUIRED < 1030
/* Support for weakly importing nl_langinfo on Darwin. */
# define WEAK_IMPORT_NL_LANGINFO
extern char *nl_langinfo(nl_item) WEAK_IMPORT_ATTRIBUTE;
-# endif
+# endif
# endif
#endif
#include <sys/resource.h>
@@ -34,7 +34,7 @@
#ifdef __CYGWIN__
DLLIMPORT extern __stdcall unsigned char GetVersionExW(void *);
-DLLIMPORT extern __stdcall void *LoadLibraryW(const void *);
+DLLIMPORT extern __stdcall void *GetModuleHandleW(const void *);
DLLIMPORT extern __stdcall void FreeLibrary(void *);
DLLIMPORT extern __stdcall void *GetProcAddress(void *, const char *);
DLLIMPORT extern __stdcall void GetSystemInfo(void *);
@@ -45,12 +45,12 @@ static const char *const platforms[NUMPLATFORMS] = {
};
#define NUMPROCESSORS 11
-static const char *const processors[NUMPROCESSORS] = {
+static const char *const processors[NUMPROCESSORS] = {
"intel", "mips", "alpha", "ppc", "shx", "arm", "ia64", "alpha64", "msil",
"amd64", "ia32_on_win64"
};
-typedef struct _SYSTEM_INFO {
+typedef struct {
union {
DWORD dwOemId;
struct {
@@ -69,7 +69,7 @@ typedef struct _SYSTEM_INFO {
int wProcessorRevision;
} SYSTEM_INFO;
-typedef struct _OSVERSIONINFOW {
+typedef struct {
DWORD dwOSVersionInfoSize;
DWORD dwMajorVersion;
DWORD dwMinorVersion;
@@ -744,6 +744,43 @@ Tcl_GetEncodingNameFromEnvironment(
*----------------------------------------------------------------------
*/
+#if defined(HAVE_COREFOUNDATION) && MAC_OS_X_VERSION_MAX_ALLOWED > 1020
+/*
+ * Helper because whether CFLocaleCopyCurrent and CFLocaleGetIdentifier are
+ * strongly or weakly bound varies by version of OSX, triggering warnings.
+ */
+
+static inline void
+InitMacLocaleInfoVar(
+ CFLocaleRef (*localeCopyCurrent)(void),
+ CFStringRef (*localeGetIdentifier)(CFLocaleRef),
+ Tcl_Interp *interp)
+{
+ CFLocaleRef localeRef;
+ CFStringRef locale;
+ char loc[256];
+
+ if (localeCopyCurrent == NULL || localeGetIdentifier == NULL) {
+ return;
+ }
+
+ localeRef = localeCopyCurrent();
+ if (!localeRef) {
+ return;
+ }
+
+ locale = localeGetIdentifier(localeRef);
+ if (locale && CFStringGetCString(locale, loc, 256,
+ kCFStringEncodingUTF8)) {
+ if (!Tcl_CreateNamespace(interp, "::tcl::mac", NULL, NULL)) {
+ Tcl_ResetResult(interp);
+ }
+ Tcl_SetVar(interp, "::tcl::mac::locale", loc, TCL_GLOBAL_ONLY);
+ }
+ CFRelease(localeRef);
+}
+#endif /*defined(HAVE_COREFOUNDATION) && MAC_OS_X_VERSION_MAX_ALLOWED > 1020*/
+
void
TclpSetVariables(
Tcl_Interp *interp)
@@ -762,29 +799,12 @@ TclpSetVariables(
#ifdef HAVE_COREFOUNDATION
char tclLibPath[MAXPATHLEN + 1];
-#if MAC_OS_X_VERSION_MAX_ALLOWED > 1020
/*
* Set msgcat fallback locale to current CFLocale identifier.
*/
- CFLocaleRef localeRef;
-
- if (&CFLocaleCopyCurrent != NULL && &CFLocaleGetIdentifier != NULL &&
- (localeRef = CFLocaleCopyCurrent())) {
- CFStringRef locale = CFLocaleGetIdentifier(localeRef);
-
- if (locale) {
- char loc[256];
-
- if (CFStringGetCString(locale, loc, 256, kCFStringEncodingUTF8)) {
- if (!Tcl_CreateNamespace(interp, "::tcl::mac", NULL, NULL)) {
- Tcl_ResetResult(interp);
- }
- Tcl_SetVar(interp, "::tcl::mac::locale", loc, TCL_GLOBAL_ONLY);
- }
- }
- CFRelease(localeRef);
- }
+#if MAC_OS_X_VERSION_MAX_ALLOWED > 1020
+ InitMacLocaleInfoVar(CFLocaleCopyCurrent, CFLocaleGetIdentifier, interp);
#endif /* MAC_OS_X_VERSION_MAX_ALLOWED > 1020 */
if (MacOSXGetLibraryPath(interp, MAXPATHLEN, tclLibPath) == TCL_OK) {
@@ -865,16 +885,13 @@ TclpSetVariables(
#ifdef __CYGWIN__
unameOK = 1;
if (!osInfoInitialized) {
- HANDLE handle = LoadLibraryW(L"NTDLL");
+ HANDLE handle = GetModuleHandleW(L"NTDLL");
int(__stdcall *getversion)(void *) =
(int(__stdcall *)(void *))GetProcAddress(handle, "RtlGetVersion");
osInfo.dwOSVersionInfoSize = sizeof(OSVERSIONINFOW);
if (!getversion || getversion(&osInfo)) {
GetVersionExW(&osInfo);
}
- if (handle) {
- FreeLibrary(handle);
- }
osInfoInitialized = 1;
}
@@ -1032,7 +1049,6 @@ TclpFindVariable(
return result;
}
-
/*
*----------------------------------------------------------------------
*
diff --git a/unix/tclUnixSock.c b/unix/tclUnixSock.c
index ca8d677..b9b6b53 100644
--- a/unix/tclUnixSock.c
+++ b/unix/tclUnixSock.c
@@ -698,6 +698,33 @@ TcpClose2Proc(
*
*----------------------------------------------------------------------
*/
+
+#ifndef NEED_FAKE_RFC2553
+static inline int
+IPv6AddressNeedsNumericRendering(
+ struct in6_addr addr)
+{
+ if (IN6_ARE_ADDR_EQUAL(&addr, &in6addr_any)) {
+ return 1;
+ }
+
+ /*
+ * The IN6_IS_ADDR_V4MAPPED macro has a problem with aliasing warnings on
+ * at least some versions of OSX.
+ */
+
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wstrict-aliasing"
+ if (!IN6_IS_ADDR_V4MAPPED(&addr)) {
+#pragma GCC diagnostic pop
+ return 0;
+ }
+
+ return (addr.s6_addr[12] == 0 && addr.s6_addr[13] == 0
+ && addr.s6_addr[14] == 0 && addr.s6_addr[15] == 0);
+}
+#endif /* NEED_FAKE_RFC2553 */
+
static void
TcpHostPortList(
Tcl_Interp *interp,
@@ -723,13 +750,7 @@ TcpHostPortList(
}
#ifndef NEED_FAKE_RFC2553
} else if (addr.sa.sa_family == AF_INET6) {
- if ((IN6_ARE_ADDR_EQUAL(&addr.sa6.sin6_addr,
- &in6addr_any))
- || (IN6_IS_ADDR_V4MAPPED(&addr.sa6.sin6_addr) &&
- addr.sa6.sin6_addr.s6_addr[12] == 0 &&
- addr.sa6.sin6_addr.s6_addr[13] == 0 &&
- addr.sa6.sin6_addr.s6_addr[14] == 0 &&
- addr.sa6.sin6_addr.s6_addr[15] == 0)) {
+ if (IPv6AddressNeedsNumericRendering(addr.sa6.sin6_addr)) {
flags |= NI_NUMERICHOST;
}
#endif /* NEED_FAKE_RFC2553 */
diff --git a/win/Makefile.in b/win/Makefile.in
index 0ab4204..71df19a 100644
--- a/win/Makefile.in
+++ b/win/Makefile.in
@@ -651,8 +651,8 @@ install-libraries: libraries install-tzdata install-msgs
do \
$(COPY) "$$j" "$(SCRIPT_INSTALL_DIR)/http1.0"; \
done;
- @echo "Installing package http 2.8.10 as a Tcl Module";
- @$(COPY) $(ROOT_DIR)/library/http/http.tcl $(SCRIPT_INSTALL_DIR)/../tcl8/8.6/http-2.8.10.tm;
+ @echo "Installing package http 2.8.11 as a Tcl Module";
+ @$(COPY) $(ROOT_DIR)/library/http/http.tcl $(SCRIPT_INSTALL_DIR)/../tcl8/8.6/http-2.8.11.tm;
@echo "Installing library opt0.4 directory";
@for j in $(ROOT_DIR)/library/opt/*.tcl; \
do \
diff --git a/win/configure b/win/configure
index e8e4b87..85dc0ba 100755
--- a/win/configure
+++ b/win/configure
@@ -309,7 +309,7 @@ ac_includes_default="\
# include <unistd.h>
#endif"
-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CPP EGREP AR ac_ct_AR RANLIB ac_ct_RANLIB RC ac_ct_RC SET_MAKE TCL_THREADS CYGPATH CELIB_DIR DL_LIBS CFLAGS_DEBUG CFLAGS_OPTIMIZE CFLAGS_WARNING ZLIB_DLL_FILE ZLIB_LIBS ZLIB_OBJS CFLAGS_DEFAULT LDFLAGS_DEFAULT VC_MANIFEST_EMBED_DLL VC_MANIFEST_EMBED_EXE TCL_WIN_VERSION MACHINE TCL_VERSION TCL_MAJOR_VERSION TCL_MINOR_VERSION TCL_PATCH_LEVEL PKG_CFG_ARGS TCL_EXE TCL_LIB_FILE TCL_LIB_FLAG TCL_STATIC_LIB_FILE TCL_STATIC_LIB_FLAG TCL_IMPORT_LIB_FILE TCL_IMPORT_LIB_FLAG TCL_LIB_SPEC TCL_STUB_LIB_FILE TCL_STUB_LIB_FLAG TCL_STUB_LIB_SPEC TCL_STUB_LIB_PATH TCL_INCLUDE_SPEC TCL_BUILD_STUB_LIB_SPEC TCL_BUILD_STUB_LIB_PATH TCL_DLL_FILE TCL_SRC_DIR TCL_BIN_DIR TCL_DBGX CFG_TCL_SHARED_LIB_SUFFIX CFG_TCL_UNSHARED_LIB_SUFFIX CFG_TCL_EXPORT_FILE_SUFFIX EXTRA_CFLAGS DEPARG CC_OBJNAME CC_EXENAME LDFLAGS_DEBUG LDFLAGS_OPTIMIZE LDFLAGS_CONSOLE LDFLAGS_WINDOW STLIB_LD SHLIB_LD SHLIB_LD_LIBS SHLIB_CFLAGS SHLIB_SUFFIX TCL_SHARED_BUILD LIBS_GUI DLLSUFFIX LIBPREFIX LIBSUFFIX EXESUFFIX LIBRARIES MAKE_LIB MAKE_STUB_LIB POST_MAKE_LIB MAKE_DLL MAKE_EXE TCL_BUILD_LIB_SPEC TCL_LD_SEARCH_FLAGS TCL_NEEDS_EXP_FILE TCL_BUILD_EXP_FILE TCL_EXP_FILE TCL_LIB_VERSIONS_OK TCL_PACKAGE_PATH TCL_DDE_VERSION TCL_DDE_MAJOR_VERSION TCL_DDE_MINOR_VERSION TCL_REG_VERSION TCL_REG_MAJOR_VERSION TCL_REG_MINOR_VERSION RC_OUT RC_TYPE RC_INCLUDE RC_DEFINE RC_DEFINES RES LIBOBJS LTLIBOBJS'
+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CPP EGREP AR ac_ct_AR RANLIB ac_ct_RANLIB RC ac_ct_RC SET_MAKE TCL_THREADS CYGPATH CELIB_DIR DL_LIBS CFLAGS_DEBUG CFLAGS_OPTIMIZE CFLAGS_WARNING ZLIB_DLL_FILE ZLIB_LIBS ZLIB_OBJS CFLAGS_DEFAULT LDFLAGS_DEFAULT VC_MANIFEST_EMBED_DLL VC_MANIFEST_EMBED_EXE TCL_WIN_VERSION MACHINE TCL_VERSION TCL_MAJOR_VERSION TCL_MINOR_VERSION TCL_PATCH_LEVEL PKG_CFG_ARGS TCL_EXE TCL_LIB_FILE TCL_LIB_FLAG TCL_STATIC_LIB_FILE TCL_STATIC_LIB_FLAG TCL_IMPORT_LIB_FILE TCL_IMPORT_LIB_FLAG TCL_LIB_SPEC TCL_STUB_LIB_FILE TCL_STUB_LIB_FLAG TCL_STUB_LIB_SPEC TCL_STUB_LIB_PATH TCL_INCLUDE_SPEC TCL_BUILD_STUB_LIB_SPEC TCL_BUILD_STUB_LIB_PATH TCL_DLL_FILE TCL_SRC_DIR TCL_BIN_DIR TCL_DBGX CFG_TCL_SHARED_LIB_SUFFIX CFG_TCL_UNSHARED_LIB_SUFFIX CFG_TCL_EXPORT_FILE_SUFFIX EXTRA_CFLAGS DEPARG CC_OBJNAME CC_EXENAME LDFLAGS_DEBUG LDFLAGS_OPTIMIZE LDFLAGS_CONSOLE LDFLAGS_WINDOW STLIB_LD SHLIB_LD SHLIB_LD_LIBS SHLIB_CFLAGS SHLIB_SUFFIX TCL_SHARED_BUILD LIBS_GUI DLLSUFFIX LIBPREFIX LIBSUFFIX EXESUFFIX LIBRARIES MAKE_LIB MAKE_STUB_LIB POST_MAKE_LIB MAKE_DLL MAKE_EXE TCL_BUILD_LIB_SPEC TCL_CC_SEARCH_FLAGS TCL_LD_SEARCH_FLAGS TCL_NEEDS_EXP_FILE TCL_BUILD_EXP_FILE TCL_EXP_FILE TCL_LIB_VERSIONS_OK TCL_PACKAGE_PATH TCL_DDE_VERSION TCL_DDE_MAJOR_VERSION TCL_DDE_MINOR_VERSION TCL_REG_VERSION TCL_REG_MAJOR_VERSION TCL_REG_MINOR_VERSION RC_OUT RC_TYPE RC_INCLUDE RC_DEFINE RC_DEFINES RES LIBOBJS LTLIBOBJS'
ac_subst_files=''
# Initialize some variables set by options.
@@ -6010,6 +6010,7 @@ s,@POST_MAKE_LIB@,$POST_MAKE_LIB,;t t
s,@MAKE_DLL@,$MAKE_DLL,;t t
s,@MAKE_EXE@,$MAKE_EXE,;t t
s,@TCL_BUILD_LIB_SPEC@,$TCL_BUILD_LIB_SPEC,;t t
+s,@TCL_CC_SEARCH_FLAGS@,$TCL_CC_SEARCH_FLAGS,;t t
s,@TCL_LD_SEARCH_FLAGS@,$TCL_LD_SEARCH_FLAGS,;t t
s,@TCL_NEEDS_EXP_FILE@,$TCL_NEEDS_EXP_FILE,;t t
s,@TCL_BUILD_EXP_FILE@,$TCL_BUILD_EXP_FILE,;t t
diff --git a/win/configure.in b/win/configure.in
index 8bb9c48..b478d1e 100644
--- a/win/configure.in
+++ b/win/configure.in
@@ -433,6 +433,7 @@ AC_SUBST(MAKE_EXE)
# empty on win, but needs sub'ing
AC_SUBST(TCL_BUILD_LIB_SPEC)
+AC_SUBST(TCL_CC_SEARCH_FLAGS)
AC_SUBST(TCL_LD_SEARCH_FLAGS)
AC_SUBST(TCL_NEEDS_EXP_FILE)
AC_SUBST(TCL_BUILD_EXP_FILE)
diff --git a/win/makefile.bc b/win/makefile.bc
deleted file mode 100644
index f5b5acc..0000000
--- a/win/makefile.bc
+++ /dev/null
@@ -1,594 +0,0 @@
-#
-# Makefile for Borland C++ 5.5 (or C++ Builder 5), adapted from the makefile
-# for Visual C++ that came with tcl 8.3.3
-#
-# See the file "license.terms" for information on usage and redistribution
-# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
-#
-# Copyright (c) 1995-1996 Sun Microsystems, Inc.
-# Copyright (c) 1998-1999 by Scriptics Corporation.
-
-# TIP #59 information.
-#
-# This makefile does not set the following configuration cpp
-# defines. Behind the defines are the makefile variables listed to set
-# to -D... when that feature is enabled.
-#
-# - TCL_CFG_PROFILED PROFDEFINES
-# - TCL_CFG_OPTIMIZED OPTDEFINES
-# - TCL_CFG_DO64BIT SIXFOURDEFINES
-
-# Have a look at the complete description on how to build and test Tcl with
-# the current Borland compilers at www.ratiosoft.com/tcl/borland.
-#
-# Usage:
-# - Adapt the paths below to match your compiler's location
-# - Make sure the compiler's bin directory is on your path
-# - Open a console
-# - To make a debug version enter
-# make -fmakefile.bc -DNODEBUG=0 xxx
-# where 'xxx' is the target you want (e.g. 'all', 'test', ...)
-# Please note: I omitted the 'd' suffix for debug versions because Tcl
-# will always call tclpip83.dll and not tclpip83d.dll, causing an error.
-# ^
-# Besides, the debug version goes into a separate directory, so there
-# should be no problem having DLLs and EXEs with the same name.
-# If you prefer your debug version having the 'd' suffix just uncomment
-# the line
-# #DBGX = d
-#
-# - To make a 'normal' version enter
-# make -fmakefile.bc xxx
-# where 'xxx' is the target you want (e.g. 'all', 'test', ...)
-#
-# DISCLAIMER:
-# This makefile has an experimental status - that is those targets which
-# have been modified do in fact compile and link with Borland's C++
-# Builder 5 and with the free Borland compiler (Borland C++ 5.5).
-# However the author assumes no responsiblity for any effect which the use of
-# this makefile or of the resulting programs might have on your system.
-#
-# Not yet modified:
-# - The 'plug-in-DLL' and the associated shell.
-#
-# Suggestions and / or improvements are always welcome.
-#
-# May 2001, H. Giese (hgiese@ratiosoft.com)
-#
-
-# Does not depend on the presence of any environment variables in
-# order to compile tcl; all needed information is derived from
-# location of the compiler directories.
-
-#
-# Project directories
-#
-# ROOT = top of source tree
-#
-# TOOLS32 = location of Borland development tools.
-#
-# INSTALLDIR = where the install-targets should copy the binaries and
-# support files
-#
-
-ROOT = ..
-INSTALLDIR = c:\program files\tcl
-
-# If you have C++ Builder 5 or the free Borland C++ 5.5 compiler
-# adapt the following paths as appropriate for your system
-TOOLS32 = c:\dev\bcc55
-TOOLS32_rc = c:\dev\bcc55
-#TOOLS32 = c:\bc55
-#TOOLS32_rc = c:\bc55
-
-cc32 = "$(TOOLS32)\bin\bcc32.exe"
-link32 = "$(TOOLS32)\bin\ilink32.exe"
-lib32 = "$(TOOLS32)\bin\tlib.exe"
-rc32 = "$(TOOLS32_rc)\bin\brcc32.exe"
-include32 = -I"$(TOOLS32)\include"
-libpath32 = -L"$(TOOLS32)\lib"
-
-# Uncomment the following line to compile with thread support
-#THREADDEFINES = -DTCL_THREADS=1
-
-# Allow definition of NDEBUG via command line
-# Set NODEBUG to 0 to compile with symbols
-!if !defined(NODEBUG)
-NODEBUG = 1
-!endif
-
-# CFG_ENCODING=encoding
-# name of encoding for configuration information. Defaults
-# to cp1252
-!if !defined(CFG_ENCODING)
-CFG_ENCODING = \"cp1252\"
-!endif
-
-# The following defines can be used to control the amount of debugging
-# code that is added to the compilation.
-#
-# -DTCL_MEM_DEBUG Enables the debugging memory allocator.
-# -DTCL_COMPILE_DEBUG Enables byte compilation logging.
-# -DTCL_COMPILE_STATS Enables byte compilation statistics gathering.
-# -DUSE_TCLALLOC=0 Disables the Tcl memory allocator in favor
-# of the native malloc implementation. This is
-# needed when using Purify.
-#
-#DEBUGDEFINES = -DTCL_MEM_DEBUG -DTCL_COMPILE_DEBUG -DTCL_COMPILE_STATS
-#DEBUGDEFINES = -DUSE_TCLALLOC=0
-
-######################################################################
-# Do not modify below this line
-######################################################################
-
-NAMEPREFIX = tcl
-STUBPREFIX = $(NAMEPREFIX)stub
-DOTVERSION = 8.6
-VERSION = 86
-
-DDEVERSION = 14
-DDEDOTVERSION = 1.4
-
-REGVERSION = 13
-REGDOTVERSION = 1.3
-
-BINROOT = ..
-!IF "$(NODEBUG)" == "1"
-TMPDIRNAME = Release
-DBGX =
-SYMDEFINES = -DNDEBUG
-!ELSE
-TMPDIRNAME = Debug
-#DBGX = d
-DBGX =
-SYMDEFINES = -DTCL_CFG_DEBUG
-!ENDIF
-TMPDIR = $(BINROOT)\$(TMPDIRNAME)
-OUTDIRNAME = $(TMPDIRNAME)
-OUTDIR = $(TMPDIR)
-
-TCLLIB = $(OUTDIR)\$(NAMEPREFIX)$(VERSION)$(DBGX).lib
-TCLDLLNAME = $(NAMEPREFIX)$(VERSION)$(DBGX).dll
-TCLDLL = $(OUTDIR)\$(TCLDLLNAME)
-
-TCLSTUBLIBNAME = $(STUBPREFIX)$(VERSION)$(DBGX).lib
-TCLSTUBLIB = $(OUTDIR)\$(TCLSTUBLIBNAME)
-
-TCLPLUGINLIB = $(OUTDIR)\$(NAMEPREFIX)$(VERSION)p$(DBGX).lib
-TCLPLUGINDLLNAME = $(NAMEPREFIX)$(VERSION)p$(DBGX).dll
-TCLPLUGINDLL = $(OUTDIR)\$(TCLPLUGINDLLNAME)
-TCLSH = $(OUTDIR)\$(NAMEPREFIX)sh$(VERSION)$(DBGX).exe
-TCLSHP = $(OUTDIR)\$(NAMEPREFIX)shp$(VERSION)$(DBGX).exe
-TCLREGDLLNAME = $(NAMEPREFIX)reg$(REGVERSION)$(DBGX).dll
-TCLREGDLL = $(OUTDIR)\$(TCLREGDLLNAME)
-TCLDDEDLLNAME = $(NAMEPREFIX)dde$(DDEVERSION)$(DBGX).dll
-TCLDDEDLL = $(OUTDIR)\$(TCLDDEDLLNAME)
-TCLTEST = $(OUTDIR)\$(NAMEPREFIX)test.exe
-CAT32 = $(TMPDIR)\cat32.exe
-RMDIR = .\rmd.bat
-MKDIR = .\mkd.bat
-RM = del
-
-LIB_INSTALL_DIR = $(INSTALLDIR)\lib
-BIN_INSTALL_DIR = $(INSTALLDIR)\bin
-SCRIPT_INSTALL_DIR = $(INSTALLDIR)\lib\tcl$(DOTVERSION)
-INCLUDE_INSTALL_DIR = $(INSTALLDIR)\include
-
-TCLSHOBJS = \
- $(TMPDIR)\tclAppInit.obj
-
-TCLTESTOBJS = \
- $(TMPDIR)\tclTest.obj \
- $(TMPDIR)\tclTestObj.obj \
- $(TMPDIR)\tclTestProcBodyObj.obj \
- $(TMPDIR)\tclThreadTest.obj \
- $(TMPDIR)\tclWinTest.obj \
- $(TMPDIR)\testMain.obj
-
-TCLOBJS = \
- $(TMPDIR)\regcomp.obj \
- $(TMPDIR)\regexec.obj \
- $(TMPDIR)\regfree.obj \
- $(TMPDIR)\regerror.obj \
- $(TMPDIR)\tclAlloc.obj \
- $(TMPDIR)\tclAsync.obj \
- $(TMPDIR)\tclBasic.obj \
- $(TMPDIR)\tclBinary.obj \
- $(TMPDIR)\tclCkalloc.obj \
- $(TMPDIR)\tclClock.obj \
- $(TMPDIR)\tclCmdAH.obj \
- $(TMPDIR)\tclCmdIL.obj \
- $(TMPDIR)\tclCmdMZ.obj \
- $(TMPDIR)\tclCompCmds.obj \
- $(TMPDIR)\tclCompCmdsGR.obj \
- $(TMPDIR)\tclCompCmdsSZ.obj \
- $(TMPDIR)\tclCompExpr.obj \
- $(TMPDIR)\tclCompile.obj \
- $(TMPDIR)\tclConfig.obj \
- $(TMPDIR)\tclDate.obj \
- $(TMPDIR)\tclDictObj.obj \
- $(TMPDIR)\tclDisassemble.obj \
- $(TMPDIR)\tclEncoding.obj \
- $(TMPDIR)\tclEnsemble.obj \
- $(TMPDIR)\tclEnv.obj \
- $(TMPDIR)\tclEvent.obj \
- $(TMPDIR)\tclExecute.obj \
- $(TMPDIR)\tclFCmd.obj \
- $(TMPDIR)\tclFileName.obj \
- $(TMPDIR)\tclGet.obj \
- $(TMPDIR)\tclHash.obj \
- $(TMPDIR)\tclHistory.obj \
- $(TMPDIR)\tclIndexObj.obj \
- $(TMPDIR)\tclInterp.obj \
- $(TMPDIR)\tclIO.obj \
- $(TMPDIR)\tclIOCmd.obj \
- $(TMPDIR)\tclIOGT.obj \
- $(TMPDIR)\tclIOSock.obj \
- $(TMPDIR)\tclIOUtil.obj \
- $(TMPDIR)\tclLink.obj \
- $(TMPDIR)\tclLiteral.obj \
- $(TMPDIR)\tclListObj.obj \
- $(TMPDIR)\tclLoad.obj \
- $(TMPDIR)\tclMain.obj \
- $(TMPDIR)\tclNamesp.obj \
- $(TMPDIR)\tclNotify.obj \
- $(TMPDIR)\tclOO.obj \
- $(TMPDIR)\tclOOBasic.obj \
- $(TMPDIR)\tclOOCall.obj \
- $(TMPDIR)\tclOODefineCmds.obj \
- $(TMPDIR)\tclOOInfo.obj \
- $(TMPDIR)\tclOOMethod.obj \
- $(TMPDIR)\tclOOStubInit.obj \
- $(TMPDIR)\tclObj.obj \
- $(TMPDIR)\tclOptimize.obj \
- $(TMPDIR)\tclPanic.obj \
- $(TMPDIR)\tclParse.obj \
- $(TMPDIR)\tclPipe.obj \
- $(TMPDIR)\tclPkg.obj \
- $(TMPDIR)\tclPkgConfig.obj \
- $(TMPDIR)\tclPosixStr.obj \
- $(TMPDIR)\tclPreserve.obj \
- $(TMPDIR)\tclProc.obj \
- $(TMPDIR)\tclRegexp.obj \
- $(TMPDIR)\tclResolve.obj \
- $(TMPDIR)\tclResult.obj \
- $(TMPDIR)\tclScan.obj \
- $(TMPDIR)\tclStringObj.obj \
- $(TMPDIR)\tclStubInit.obj \
- $(TMPDIR)\tclThread.obj \
- $(TMPDIR)\tclThreadJoin.obj \
- $(TMPDIR)\tclTimer.obj \
- $(TMPDIR)\tclTrace.obj \
- $(TMPDIR)\tclUtf.obj \
- $(TMPDIR)\tclUtil.obj \
- $(TMPDIR)\tclVar.obj \
- $(TMPDIR)\tclWin32Dll.obj \
- $(TMPDIR)\tclWinChan.obj \
- $(TMPDIR)\tclWinConsole.obj \
- $(TMPDIR)\tclWinSerial.obj \
- $(TMPDIR)\tclWinError.obj \
- $(TMPDIR)\tclWinFCmd.obj \
- $(TMPDIR)\tclWinFile.obj \
- $(TMPDIR)\tclWinInit.obj \
- $(TMPDIR)\tclWinLoad.obj \
- $(TMPDIR)\tclWinNotify.obj \
- $(TMPDIR)\tclWinPipe.obj \
- $(TMPDIR)\tclWinSock.obj \
- $(TMPDIR)\tclWinThrd.obj \
- $(TMPDIR)\tclWinTime.obj \
- $(TMPDIR)\tclZlib.obj
-
-TCLSTUBOBJS = \
- $(TMPDIR)\tclStubLib.obj \
- $(TMPDIR)\tclTomMathStubLib.obj \
- $(TMPDIR)\tclOOStubLib.obj
-
-WINDIR = $(ROOT)\win
-GENERICDIR = $(ROOT)\generic
-
-TCL_INCLUDES = -I"$(WINDIR)" -I"$(GENERICDIR)"
-TCL_DEFINES = $(DEBUGDEFINES) $(THREADDEFINES) $(SYMDEFINES) \
- $(PROFDEFINES) $(OPTDEFINES) $(SIXFOURDEFINES) \
- -DTCL_CFGVAL_ENCODING=${CFG_ENCODING}
-### TODO: Add -DHAVE_ZLIB=1
-
-######################################################################
-# Compiler flags
-######################################################################
-
-!IF "$(NODEBUG)" == "1"
-# these macros cause maximum optimization and no symbols
-cdebug = -v- -vi- -O2 -D_DEBUG
-!ELSE
-# these macros enable debugging
-cdebug = -k -Od -r- -v -vi- -y
-!ENDIF
-
-SYSDEFINES = _MT;NO_STRICT;_NO_VCL
-
-# declarations common to all compiler options
-cbase = -c -q -3 -a4 -g0 -tWM -Ve -Vx -X-
-WARNINGS = -w-rch -w-pch -w-par -w-dup -w-pro -w-dpu
-
-ccons = -tWC
-
-INCLUDEPATH = $(include32) $(TCL_INCLUDES)
-
-CFLAGS = $(cdebug) $(cbase) $(INCLUDEPATH) $(WARNINGS) -D$(SYSDEFINES)
-TCL_CFLAGS = $(CFLAGS) $(TCL_DEFINES)
-CONS_CFLAGS = $(CFLAGS) $(TCL_DEFINES) $(ccons)
-
-######################################################################
-# Linker flags
-######################################################################
-
-!IF "$(NODEBUG)" == "1"
-ldebug =
-!ELSE
-ldebug = -v
-!ENDIF
-
-# declarations common to all linker options
-LNFLAGS = -D"" -Gn -I$(TMPDIR) -x $(ldebug) $(libpath32)
-# -Gi: create lib file (is -Gl in doc)
-# -aa: Windows app, -ap: Windows console app
-LNFLAGS_DLL = -ap -Gi -Tpd
-LNFLAGS_CONS = -ap -Tpe
-
-LNLIBS = import32 cw32mt
-
-
-######################################################################
-# Project specific targets
-######################################################################
-
-release: setup $(TCLSH) dlls
-dlls: setup $(TCLREGDLL) $(TCLDDEDLL)
-all: setup $(TCLSH) dlls $(CAT32)
-tcltest: setup $(TCLTEST) dlls $(CAT32)
-plugin: setup $(TCLPLUGINDLL) $(TCLSHP)
-install: install-binaries install-libraries
-
-test: setup $(TCLTEST) dlls $(CAT32)
- set TCL_LIBRARY=$(ROOT)/library
- $(TCLTEST) $(ROOT)/tests/all.tcl
-
-setup:
- @if not exist $(OUT_DIR)\nul mkdir $(OUT_DIR) &\
- echo *** Created directory '$(OUT_DIR)'
- @if not exist $(TMP_DIR)\nul mkdir $(TMP_DIR) &\
- echo *** Created directory '$(TMP_DIR)'
-
-
-$(TCLLIB): $(TCLDLL)
-
-$(TCLDLL): $(TCLOBJS) $(TMPDIR)\$(NAMEPREFIX).res
- $(link32) $(ldebug) $(LNFLAGS) $(LNFLAGS_DLL) $(TOOLS32)\lib\c0d32 @&&!
- $(TCLOBJS), $@, -x, $(LNLIBS),, $(TMPDIR)\$(NAMEPREFIX).res
-!
-
-$(TCLSTUBLIB): $(TCLSTUBOBJS)
- $(lib32) /u $@ $(TCLSTUBOBJS)
-
-$(TCLPLUGINLIB): $(TCLPLUGINDLL)
-
-$(TCLPLUGINDLL): $(TCLOBJS) $(TMPDIR)\tcl.res
- $(link32) $(ldebug) $(dlllflags) \
- -out:$@ $(TMPDIR)\tcl.res $(guilibsdll) @&&!
-$(TCLOBJS)
-!
-
-$(TCLSH): $(TCLSHOBJS) $(TCLLIB) $(TMPDIR)\$(NAMEPREFIX)sh.res
- $(link32) $(ldebug) -S:2400000 $(LNFLAGS) $(LNFLAGS_CONS) $(TOOLS32)\lib\c0x32 @&&!
- $(TCLSHOBJS), $@, -x, $(LNLIBS) $(TCLLIB),, $(TMPDIR)\$(NAMEPREFIX)sh.res
-!
-
-$(TCLSHP): $(TCLSHOBJS) $(TCLPLUGINLIB) $(TMPDIR)\tclsh.res
- $(link32) $(ldebug) $(conlflags) $(TMPDIR)\tclsh.res -stack:2300000 \
- -out:$@ $(conlibsdll) $(TCLPLUGINLIB) $(TCLSHOBJS)
-
-$(TCLTEST): $(TCLTESTOBJS) $(TCLLIB) $(TMPDIR)\$(NAMEPREFIX)sh.res
- $(link32) $(ldebug) -S:2400000 $(LNFLAGS) $(LNFLAGS_CONS) $(TOOLS32)\lib\c0x32 @&&!
- $(TCLTESTOBJS), $@, -x, $(LNLIBS) $(TCLLIB),, $(TMPDIR)\$(NAMEPREFIX)sh.res
-!
-
-$(TCLDDEDLL): $(TMPDIR)\tclWinDde.obj $(TCLSTUBLIB)
- $(link32) $(ldebug) $(LNFLAGS) $(LNFLAGS_DLL) $(TOOLS32)\lib\c0d32 \
- $(TMPDIR)\tclWinDde.obj, $@, -x, $(LNLIBS) $(TCLSTUBLIB),, \
- $(TMPDIR)\$(NAMEPREFIX).res
-
-$(TCLREGDLL): $(TMPDIR)\tclWinReg.obj $(TCLSTUBLIB)
- $(link32) $(ldebug) $(LNFLAGS) $(LNFLAGS_DLL) $(TOOLS32)\lib\c0d32 \
- $(TMPDIR)\tclWinReg.obj, $@, -x, $(LNLIBS) $(TCLSTUBLIB),, \
- $(TMPDIR)\$(NAMEPREFIX).res
-
-$(CAT32): $(WINDIR)\cat.c
- $(cc32) $(CONS_CFLAGS) -o$(TMPDIR)\cat.obj $?
- $(link32) $(ldebug) $(LNFLAGS) $(LNFLAGS_CONS) $(TOOLS32)\lib\c0x32 \
- $(TMPDIR)\cat.obj, $@, -x, $(LNLIBS),,
-
-install-binaries: $(TCLSH)
- $(MKDIR) "$(BIN_INSTALL_DIR)"
- $(MKDIR) "$(LIB_INSTALL_DIR)"
- @echo Installing $(TCLDLLNAME)
- @copy "$(TCLDLL)" "$(BIN_INSTALL_DIR)"
- @copy "$(TCLLIB)" "$(LIB_INSTALL_DIR)"
- @echo Installing "$(TCLSH)"
- @copy "$(TCLSH)" "$(BIN_INSTALL_DIR)"
- @echo Installing $(TCLSTUBLIBNAME)
- @copy "$(TCLSTUBLIB)" "$(LIB_INSTALL_DIR)"
- @echo Installing $(WINDIR)\tclooConfig.sh
- @copy "$(WINDIR)\tclooConfig.sh" "$(LIB_INSTALL_DIR)"
-
-install-libraries:
- -@$(MKDIR) "$(LIB_INSTALL_DIR)"
- -@$(MKDIR) "$(INCLUDE_INSTALL_DIR)"
- -@$(MKDIR) "$(SCRIPT_INSTALL_DIR)"
- @echo Installing http1.0
- -@$(MKDIR) "$(SCRIPT_INSTALL_DIR)\http1.0"
- -@copy "$(ROOT)\library\http1.0\http.tcl" "$(SCRIPT_INSTALL_DIR)\http1.0"
- -@copy "$(ROOT)\library\http1.0\pkgIndex.tcl" "$(SCRIPT_INSTALL_DIR)\http1.0"
- @echo Installing http2.8
- -@$(MKDIR) "$(SCRIPT_INSTALL_DIR)\http2.8"
- -@copy "$(ROOT)\library\http\http.tcl" "$(SCRIPT_INSTALL_DIR)\http2.8"
- -@copy "$(ROOT)\library\http\pkgIndex.tcl" "$(SCRIPT_INSTALL_DIR)\http2.8"
- @echo Installing opt0.4
- -@$(MKDIR) "$(SCRIPT_INSTALL_DIR)\opt0.4"
- -@copy "$(ROOT)\library\opt\optparse.tcl" "$(SCRIPT_INSTALL_DIR)\opt0.4"
- -@copy "$(ROOT)\library\opt\pkgIndex.tcl" "$(SCRIPT_INSTALL_DIR)\opt0.4"
- @echo Installing msgcat1.5
- -@$(MKDIR) "$(SCRIPT_INSTALL_DIR)\msgcat1.5"
- -@copy "$(ROOT)\library\msgcat\msgcat.tcl" "$(SCRIPT_INSTALL_DIR)\msgcat1.5"
- -@copy "$(ROOT)\library\msgcat\pkgIndex.tcl" "$(SCRIPT_INSTALL_DIR)\msgcat1.5"
- @echo Installing tcltest2.3
- -@$(MKDIR) "$(SCRIPT_INSTALL_DIR)\tcltest2.3"
- -@copy "$(ROOT)\library\tcltest\tcltest.tcl" "$(SCRIPT_INSTALL_DIR)\tcltest2.3"
- -@copy "$(ROOT)\library\tcltest\pkgIndex.tcl" "$(SCRIPT_INSTALL_DIR)\tcltest2.3"
- @echo Installing platform1.0
- -@$(MKDIR) "$(SCRIPT_INSTALL_DIR)\platform1.0"
- -@copy "$(ROOT)\library\platform\platform.tcl" "$(SCRIPT_INSTALL_DIR)\platform1.0"
- -@copy "$(ROOT)\library\platform\shell.tcl" "$(SCRIPT_INSTALL_DIR)\platform1.0"
- -@copy "$(ROOT)\library\platform\pkgIndex.tcl" "$(SCRIPT_INSTALL_DIR)\platform1.0"
- @echo Installing $(TCLDDEDLLNAME)
- -@$(MKDIR) "$(SCRIPT_INSTALL_DIR)\dde1.3"
- -@copy "$(TCLDDEDLL)" "$(SCRIPT_INSTALL_DIR)\dde1.3"
- -@copy "$(ROOT)\library\dde\pkgIndex.tcl" "$(SCRIPT_INSTALL_DIR)\dde1.3"
- @echo Installing $(TCLREGDLLNAME)
- -@$(MKDIR) "$(SCRIPT_INSTALL_DIR)\reg1.2"
- -@copy "$(TCLREGDLL)" "$(SCRIPT_INSTALL_DIR)\reg1.3"
- -@copy "$(ROOT)\library\reg\pkgIndex.tcl" "$(SCRIPT_INSTALL_DIR)\reg1.2"
- @echo Installing encoding files
- -@$(MKDIR) "$(SCRIPT_INSTALL_DIR)\encoding"
- -@copy "$(ROOT)\library\encoding\*.enc" "$(SCRIPT_INSTALL_DIR)\encoding"
- @echo Installing library files
- -@copy "$(GENERICDIR)\tcl.h" "$(INCLUDE_INSTALL_DIR)"
- -@copy "$(GENERICDIR)\tclDecls.h" "$(INCLUDE_INSTALL_DIR)"
- -@copy "$(GENERICDIR)\tclOO.h" "$(INCLUDE_INSTALL_DIR)"
- -@copy "$(GENERICDIR)\tclOODecls.h" "$(INCLUDE_INSTALL_DIR)"
- -@copy "$(GENERICDIR)\tclPlatDecls.h" "$(INCLUDE_INSTALL_DIR)"
- -@copy "$(ROOT)\library\history.tcl" "$(SCRIPT_INSTALL_DIR)"
- -@copy "$(ROOT)\library\init.tcl" "$(SCRIPT_INSTALL_DIR)"
- -@copy "$(ROOT)\library\parray.tcl" "$(SCRIPT_INSTALL_DIR)"
- -@copy "$(ROOT)\library\safe.tcl" "$(SCRIPT_INSTALL_DIR)"
- -@copy "$(ROOT)\library\tclIndex" "$(SCRIPT_INSTALL_DIR)"
- -@copy "$(ROOT)\library\package.tcl" "$(SCRIPT_INSTALL_DIR)"
- -@copy "$(ROOT)\library\word.tcl" "$(SCRIPT_INSTALL_DIR)"
- -@copy "$(ROOT)\library\auto.tcl" "$(SCRIPT_INSTALL_DIR)"
-
-#
-# Regenerate the stubs files.
-#
-
-genstubs:
- tclsh$(VERSION) $(ROOT)\tools\genStubs.tcl $(GENERICDIR) \
- $(GENERICDIR)\tcl.decls $(GENERICDIR)\tclInt.decls
-
-#
-# Special case object file targets
-#
-$(TMPDIR)\tclWinInit.obj: $(WINDIR)\tclWinInit.c
- $(cc32) -DBUILD_tcl $(TCL_CFLAGS) -o$(TMPDIR)\$@ $?
-
-$(TMPDIR)\testMain.obj: $(WINDIR)\tclAppInit.c
- $(cc32) $(TCL_CFLAGS) -DTCL_TEST -o$(TMPDIR)\testMain.obj $?
-
-$(TMPDIR)\tclTest.obj: $(GENERICDIR)\tclTest.c
- $(cc32) $(TCL_CFLAGS) -o$(TMPDIR)\$@ $?
-
-$(TMPDIR)\tclTestObj.obj: $(GENERICDIR)\tclTestObj.c
- $(cc32) $(TCL_CFLAGS) -o$(TMPDIR)\$@ $?
-
-$(TMPDIR)\tclWinTest.obj: $(WINDIR)\tclWinTest.c
- $(cc32) $(TCL_CFLAGS) -o$(TMPDIR)\$@ $?
-
-$(TMP_DIR)\tclPkgConfig.obj: $(GENERICDIR)\tclPkgConfig.c
- $(cc32) $(TCL_CFLAGS) \
- -DCFG_INSTALL_EXEC_PREFIX=\"$(INSTALL_EXEC_PREFIX)\" \
- -DCFG_INSTALL_PREFIX=\"$(INSTALL_PREFIX)\" \
- -DCFG_RUNTIME_EXEC_PREFIX=\"$(RUNTIME_EXEC_PREFIX)\" \
- -DCFG_RUNTIME_PREFIX=\"$(RUNTIME_PREFIX)\" \
- -o$(TMPDIR)\$@ $?
-
-$(TMPDIR)\tclAppInit.obj : $(WINDIR)\tclAppInit.c
- $(cc32) $(TCL_CFLAGS) -o$(TMPDIR)\$@ $?
-
-# The following objects should be built using the stub interfaces
-
-# tclWinReg: Produces errors in ANSI mode
-$(TMPDIR)\tclWinReg.obj : $(WINDIR)\tclWinReg.c
- $(cc32) $(TCL_CFLAGS) -DUSE_TCL_STUBS -o$(TMPDIR)\$@ $?
-
-# tclWinDde: Produces errors in ANSI mode
-$(TMPDIR)\tclWinDde.obj : $(WINDIR)\tclWinDde.c
- $(cc32) $(TCL_CFLAGS) -DUSE_TCL_STUBS -o$(TMPDIR)\$@ $?
-
-
-# The following objects are part of the stub library and should not
-# be built as DLL objects but none of the symbols should be exported
-
-$(TMPDIR)\tclStubLib.obj : $(GENERICDIR)\tclStubLib.c
- $(cc32) $(TCL_CFLAGS) -DSTATIC_BUILD -o$(TMPDIR)\$@ $?
-
-$(TMPDIR)\tclTomMathStubLib.obj : $(GENERICDIR)\tclTomMathStubLib.c
- $(cc32) $(TCL_CFLAGS) -DSTATIC_BUILD -o$(TMPDIR)\$@ $?
-
-$(TMPDIR)\tclOOStubLib.obj : $(GENERICDIR)\tclOOStubLib.c
- $(cc32) $(TCL_CFLAGS) -DSTATIC_BUILD -o$(TMPDIR)\$@ $?
-
-
-# Dedependency rules
-
-$(GENERICDIR)\regcomp.c: \
- $(GENERICDIR)\regguts.h \
- $(GENERICDIR)\regc_lex.c \
- $(GENERICDIR)\regc_color.c \
- $(GENERICDIR)\regc_nfa.c \
- $(GENERICDIR)\regc_cvec.c \
- $(GENERICDIR)\regc_locale.c
-
-$(GENERICDIR)\regcustom.h: \
- $(GENERICDIR)\tclInt.h \
- $(GENERICDIR)\tclPort.h \
- $(GENERICDIR)\regex.h
-
-$(GENERICDIR)\regexec.c: \
- $(GENERICDIR)\rege_dfa.c \
- $(GENERICDIR)\regguts.h
-
-$(GENERICDIR)\regerror.c: $(GENERICDIR)\regguts.h
-$(GENERICDIR)\regfree.c: $(GENERICDIR)\regguts.h
-$(GENERICDIR)\regfronts.c: $(GENERICDIR)\regguts.h
-$(GENERICDIR)\regguts.h: $(GENERICDIR)\regcustom.h
-
-#
-# Implicit rules
-#
-
-{$(WINDIR)}.c{$(TMPDIR)}.obj:
- $(cc32) -DBUILD_tcl $(TCL_CFLAGS) -o$@ $<
-
-{$(GENERICDIR)}.c{$(TMPDIR)}.obj:
- $(cc32) -DBUILD_tcl $(TCL_CFLAGS) -o$@ $<
-
-{$(ROOT)\compat}.c{$(TMPDIR)}.obj:
- $(cc32) -DBUILD_tcl $(TCL_CFLAGS) -o$@ $<
-
-{$(WINDIR)}.rc{$(TMPDIR)}.res:
- $(rc32) $(INCLUDEPATH) -D$(USERDEFINES);$(SYSDEFINES) -fo$@ $<
-
-clean:
- -@$(RM) $(OUTDIR)\*.exp
- -@$(RM) $(OUTDIR)\*.lib
- -@$(RM) $(OUTDIR)\*.dll
- -@$(RM) $(OUTDIR)\*.exe
- -@$(RM) $(OUTDIR)\*.pdb
- -@$(RM) $(TMPDIR)\*.pch
- -@$(RM) $(TMPDIR)\*.obj
- -@$(RM) $(TMPDIR)\*.res
- -@$(RM) $(TMPDIR)\*.exe
- -@$(RMDIR) $(OUTDIR)
- -@$(RMDIR) $(TMPDIR)
-
-# Local Variables:
-# mode: makefile
-# End:
diff --git a/win/makefile.vc b/win/makefile.vc
index 8cbae2e..ada08cc 100644
--- a/win/makefile.vc
+++ b/win/makefile.vc
@@ -878,6 +878,7 @@ $(OUT_DIR)\tclConfig.sh: $(WINDIR)\tclConfig.sh.in
@SHLIB_SUFFIX@ .dll
@DL_LIBS@
@LDFLAGS@
+@TCL_CC_SEARCH_FLAGS@
@TCL_LD_SEARCH_FLAGS@
@LIBOBJS@
@RANLIB@
diff --git a/win/tcl.dsp b/win/tcl.dsp
index 6f17cdb..e8b1a33 100644
--- a/win/tcl.dsp
+++ b/win/tcl.dsp
@@ -1428,10 +1428,6 @@ SOURCE=.\configure.in
# End Source File
# Begin Source File
-SOURCE=.\makefile.bc
-# End Source File
-# Begin Source File
-
SOURCE=.\Makefile.in
# End Source File
# Begin Source File
diff --git a/win/tclConfig.sh.in b/win/tclConfig.sh.in
index 75324b2..6ed06e2 100644
--- a/win/tclConfig.sh.in
+++ b/win/tclConfig.sh.in
@@ -92,10 +92,11 @@ TCL_DL_LIBS='@DL_LIBS@'
# an executable tclsh or tcltest binary.
TCL_LD_FLAGS='@LDFLAGS@'
-# Flags to pass to ld, such as "-R /usr/local/tcl/lib", that tell the
+# Flags to pass to cc/ld, such as "-R /usr/local/tcl/lib", that tell the
# run-time dynamic linker where to look for shared libraries such as
# libtcl.so. Used when linking applications. Only works if there
# is a variable "LIB_RUNTIME_DIR" defined in the Makefile.
+TCL_CC_SEARCH_FLAGS='@TCL_CC_SEARCH_FLAGS@'
TCL_LD_SEARCH_FLAGS='@TCL_LD_SEARCH_FLAGS@'
# Additional object files linked with Tcl to provide compatibility
diff --git a/win/tclWinConsole.c b/win/tclWinConsole.c
index ab55035..d61a030 100644
--- a/win/tclWinConsole.c
+++ b/win/tclWinConsole.c
@@ -54,11 +54,7 @@ typedef struct ConsoleThreadInfo {
HANDLE readyEvent; /* Manual-reset event to signal _to_ the main
* thread when the worker thread has finished
* waiting for its normal work to happen. */
- HANDLE startEvent; /* Auto-reset event used by the main thread to
- * signal when the thread should attempt to do
- * its normal work. */
- HANDLE stopEvent; /* Auto-reset event used by the main thread to
- * signal when the thread should exit. */
+ TclPipeThreadInfo *TI; /* Thread info structure of writer and reader. */
} ConsoleThreadInfo;
/*
@@ -82,16 +78,14 @@ typedef struct ConsoleInfo {
* threads. */
ConsoleThreadInfo writer; /* A specialized thread for handling
* asynchronous writes to the console; the
- * waiting starts when a start event is sent,
+ * waiting starts when a control event is sent,
* and a reset event is sent back to the main
- * thread when the write is done. A stop event
- * is used to terminate the thread. */
+ * thread when the write is done. */
ConsoleThreadInfo reader; /* A specialized thread for handling
* asynchronous reads from the console; the
- * waiting starts when a start event is sent,
+ * waiting starts when a control event is sent,
* and a reset event is sent back to the main
- * thread when input is available. A stop
- * event is used to terminate the thread. */
+ * thread when input is available. */
DWORD writeError; /* An error caused by the last background
* write. Set to 0 if no error has been
* detected. This word is shared with the
@@ -168,10 +162,6 @@ static BOOL ReadConsoleBytes(HANDLE hConsole, LPVOID lpBuffer,
static BOOL WriteConsoleBytes(HANDLE hConsole,
const void *lpBuffer, DWORD nbytes,
LPDWORD nbyteswritten);
-static void StartChannelThread(ConsoleInfo *infoPtr,
- ConsoleThreadInfo *threadInfoPtr,
- LPTHREAD_START_ROUTINE threadProc);
-static void StopChannelThread(ConsoleThreadInfo *threadInfoPtr);
/*
* This structure describes the channel type structure for command console
@@ -518,84 +508,6 @@ ConsoleBlockModeProc(
/*
*----------------------------------------------------------------------
*
- * StartChannelThread, StopChannelThread --
- *
- * Helpers that codify how to ask one of the console service threads to
- * start and stop.
- *
- *----------------------------------------------------------------------
- */
-
-static void
-StartChannelThread(
- ConsoleInfo *infoPtr,
- ConsoleThreadInfo *threadInfoPtr,
- LPTHREAD_START_ROUTINE threadProc)
-{
- DWORD id;
-
- threadInfoPtr->readyEvent = CreateEvent(NULL, TRUE, TRUE, NULL);
- threadInfoPtr->startEvent = CreateEvent(NULL, FALSE, FALSE, NULL);
- threadInfoPtr->stopEvent = CreateEvent(NULL, FALSE, FALSE, NULL);
- threadInfoPtr->thread = CreateThread(NULL, 256, threadProc, infoPtr, 0,
- &id);
- SetThreadPriority(threadInfoPtr->thread, THREAD_PRIORITY_HIGHEST);
-}
-
-static void
-StopChannelThread(
- ConsoleThreadInfo *threadInfoPtr)
-{
- DWORD exitCode = 0;
-
- /*
- * The thread may already have closed on it's own. Check it's exit
- * code.
- */
-
- GetExitCodeThread(threadInfoPtr->thread, &exitCode);
- if (exitCode == STILL_ACTIVE) {
- /*
- * Set the stop event so that if the reader thread is blocked in
- * ConsoleReaderThread on WaitForMultipleEvents, it will exit cleanly.
- */
-
- SetEvent(threadInfoPtr->stopEvent);
-
- /*
- * Wait at most 20 milliseconds for the reader thread to close.
- */
-
- if (WaitForSingleObject(threadInfoPtr->thread, 20) == WAIT_TIMEOUT) {
- /*
- * Forcibly terminate the background thread as a last resort.
- * Note that we need to guard against terminating the thread while
- * it is in the middle of Tcl_ThreadAlert because it won't be able
- * to release the notifier lock.
- */
-
- Tcl_MutexLock(&consoleMutex);
- /* BUG: this leaks memory. */
- TerminateThread(threadInfoPtr->thread, 0);
- Tcl_MutexUnlock(&consoleMutex);
- }
- }
-
- /*
- * Close all the handles associated with the thread, and set the thread
- * handle field to NULL to mark that the thread has been cleaned up.
- */
-
- CloseHandle(threadInfoPtr->thread);
- CloseHandle(threadInfoPtr->readyEvent);
- CloseHandle(threadInfoPtr->startEvent);
- CloseHandle(threadInfoPtr->stopEvent);
- threadInfoPtr->thread = NULL;
-}
-
-/*
- *----------------------------------------------------------------------
- *
* ConsoleCloseProc --
*
* Closes a console based IO channel.
@@ -626,7 +538,10 @@ ConsoleCloseProc(
*/
if (consolePtr->reader.thread) {
- StopChannelThread(&consolePtr->reader);
+ TclPipeThreadStop(&consolePtr->reader.TI, consolePtr->reader.thread);
+ CloseHandle(consolePtr->reader.thread);
+ CloseHandle(consolePtr->reader.readyEvent);
+ consolePtr->reader.thread = NULL;
}
consolePtr->validMask &= ~TCL_READABLE;
@@ -643,10 +558,13 @@ ConsoleCloseProc(
* prevent infinite wait on exit. [Python Bug 216289]
*/
- WaitForSingleObject(consolePtr->writer.readyEvent, INFINITE);
+ WaitForSingleObject(consolePtr->writer.readyEvent, 5000);
}
- StopChannelThread(&consolePtr->writer);
+ TclPipeThreadStop(&consolePtr->writer.TI, consolePtr->writer.thread);
+ CloseHandle(consolePtr->writer.thread);
+ CloseHandle(consolePtr->writer.readyEvent);
+ consolePtr->writer.thread = NULL;
}
consolePtr->validMask &= ~TCL_WRITABLE;
@@ -808,12 +726,15 @@ ConsoleOutputProc(
int *errorCode) /* Where to store error code. */
{
ConsoleInfo *infoPtr = instanceData;
- ConsoleThreadInfo *threadInfo = &infoPtr->reader;
+ ConsoleThreadInfo *threadInfo = &infoPtr->writer;
DWORD bytesWritten, timeout;
*errorCode = 0;
- timeout = (infoPtr->flags & CONSOLE_ASYNC) ? 0 : INFINITE;
- if (WaitForSingleObject(threadInfo->readyEvent,timeout) == WAIT_TIMEOUT) {
+
+ /* avoid blocking if pipe-thread exited */
+ timeout = (infoPtr->flags & CONSOLE_ASYNC) || !TclPipeThreadIsAlive(&threadInfo->TI)
+ || TclInExit() || TclInThreadExit() ? 0 : INFINITE;
+ if (WaitForSingleObject(threadInfo->readyEvent, timeout) == WAIT_TIMEOUT) {
/*
* The writer thread is blocked waiting for a write to complete and
* the channel is in non-blocking mode.
@@ -853,7 +774,7 @@ ConsoleOutputProc(
memcpy(infoPtr->writeBuf, buf, (size_t) toWrite);
infoPtr->toWrite = toWrite;
ResetEvent(threadInfo->readyEvent);
- SetEvent(threadInfo->startEvent);
+ TclPipeThreadSignal(&threadInfo->TI);
bytesWritten = toWrite;
} else {
/*
@@ -1090,9 +1011,10 @@ WaitForRead(
* Synchronize with the reader thread.
*/
- timeout = blocking ? INFINITE : 0;
- if (WaitForSingleObject(threadInfo->readyEvent,
- timeout) == WAIT_TIMEOUT) {
+ /* avoid blocking if pipe-thread exited */
+ timeout = (!blocking || !TclPipeThreadIsAlive(&threadInfo->TI)
+ || TclInExit() || TclInThreadExit()) ? 0 : INFINITE;
+ if (WaitForSingleObject(threadInfo->readyEvent, timeout) == WAIT_TIMEOUT) {
/*
* The reader thread is blocked waiting for data and the channel
* is in non-blocking mode.
@@ -1152,7 +1074,7 @@ WaitForRead(
*/
ResetEvent(threadInfo->readyEvent);
- SetEvent(threadInfo->startEvent);
+ TclPipeThreadSignal(&threadInfo->TI);
}
}
@@ -1179,34 +1101,27 @@ static DWORD WINAPI
ConsoleReaderThread(
LPVOID arg)
{
- ConsoleInfo *infoPtr = arg;
- HANDLE *handle = infoPtr->handle;
- ConsoleThreadInfo *threadInfo = &infoPtr->reader;
- DWORD waitResult;
- HANDLE wEvents[2];
+ TclPipeThreadInfo *pipeTI = (TclPipeThreadInfo *)arg;
+ ConsoleInfo *infoPtr = NULL; /* access info only after success init/wait */
+ HANDLE *handle = NULL;
+ ConsoleThreadInfo *threadInfo = NULL;
+ int done = 0;
- /*
- * The first event takes precedence.
- */
-
- wEvents[0] = threadInfo->stopEvent;
- wEvents[1] = threadInfo->startEvent;
-
- for (;;) {
+ while (!done) {
/*
- * Wait for the main thread to signal before attempting to wait.
+ * Wait for the main thread to signal before attempting to read.
*/
- waitResult = WaitForMultipleObjects(2, wEvents, FALSE, INFINITE);
-
- if (waitResult != (WAIT_OBJECT_0 + 1)) {
- /*
- * The start event was not signaled. It must be the stop event or
- * an error, so exit this thread.
- */
-
+ if (!TclPipeThreadWaitForSignal(&pipeTI)) {
+ /* exit */
break;
}
+ if (!infoPtr) {
+ infoPtr = (ConsoleInfo *)pipeTI->clientData;
+ handle = infoPtr->handle;
+ threadInfo = &infoPtr->reader;
+ }
+
/*
* Look for data on the console, but first ignore any events that are
@@ -1226,6 +1141,7 @@ ConsoleReaderThread(
if (err == (DWORD) EOF) {
infoPtr->readFlags = CONSOLE_EOF;
}
+ done = 1;
}
/*
@@ -1253,6 +1169,9 @@ ConsoleReaderThread(
Tcl_MutexUnlock(&consoleMutex);
}
+ /* Worker exit, so inform the main thread or free TI-structure (if owned) */
+ TclPipeThreadExit(&pipeTI);
+
return 0;
}
@@ -1279,35 +1198,27 @@ static DWORD WINAPI
ConsoleWriterThread(
LPVOID arg)
{
- ConsoleInfo *infoPtr = arg;
- HANDLE *handle = infoPtr->handle;
- ConsoleThreadInfo *threadInfo = &infoPtr->writer;
- DWORD count, toWrite, waitResult;
+ TclPipeThreadInfo *pipeTI = (TclPipeThreadInfo *)arg;
+ ConsoleInfo *infoPtr = NULL; /* access info only after success init/wait */
+ HANDLE *handle = NULL;
+ ConsoleThreadInfo *threadInfo = NULL;
+ DWORD count, toWrite;
char *buf;
- HANDLE wEvents[2];
-
- /*
- * The first event takes precedence.
- */
+ int done = 0;
- wEvents[0] = threadInfo->stopEvent;
- wEvents[1] = threadInfo->startEvent;
-
- for (;;) {
+ while (!done) {
/*
* Wait for the main thread to signal before attempting to write.
*/
-
- waitResult = WaitForMultipleObjects(2, wEvents, FALSE, INFINITE);
-
- if (waitResult != (WAIT_OBJECT_0 + 1)) {
- /*
- * The start event was not signaled. It must be the stop event or
- * an error, so exit this thread.
- */
-
+ if (!TclPipeThreadWaitForSignal(&pipeTI)) {
+ /* exit */
break;
}
+ if (!infoPtr) {
+ infoPtr = (ConsoleInfo *)pipeTI->clientData;
+ handle = infoPtr->handle;
+ threadInfo = &infoPtr->writer;
+ }
buf = infoPtr->writeBuf;
toWrite = infoPtr->toWrite;
@@ -1320,6 +1231,7 @@ ConsoleWriterThread(
if (WriteConsoleBytes(handle, buf, (DWORD) toWrite,
&count) == FALSE) {
infoPtr->writeError = GetLastError();
+ done = 1;
break;
}
toWrite -= count;
@@ -1351,6 +1263,9 @@ ConsoleWriterThread(
Tcl_MutexUnlock(&consoleMutex);
}
+ /* Worker exit, so inform the main thread or free TI-structure (if owned) */
+ TclPipeThreadExit(&pipeTI);
+
return 0;
}
@@ -1421,11 +1336,21 @@ TclWinOpenConsoleChannel(
modes &= ~(ENABLE_WINDOW_INPUT | ENABLE_MOUSE_INPUT);
modes |= ENABLE_LINE_INPUT;
SetConsoleMode(infoPtr->handle, modes);
- StartChannelThread(infoPtr, &infoPtr->reader, ConsoleReaderThread);
+
+ infoPtr->reader.readyEvent = CreateEvent(NULL, TRUE, TRUE, NULL);
+ infoPtr->reader.thread = CreateThread(NULL, 256, ConsoleReaderThread,
+ TclPipeThreadCreateTI(&infoPtr->reader.TI, infoPtr,
+ infoPtr->reader.readyEvent), 0, NULL);
+ SetThreadPriority(infoPtr->reader.thread, THREAD_PRIORITY_HIGHEST);
}
if (permissions & TCL_WRITABLE) {
- StartChannelThread(infoPtr, &infoPtr->writer, ConsoleWriterThread);
+
+ infoPtr->writer.readyEvent = CreateEvent(NULL, TRUE, TRUE, NULL);
+ infoPtr->writer.thread = CreateThread(NULL, 256, ConsoleWriterThread,
+ TclPipeThreadCreateTI(&infoPtr->writer.TI, infoPtr,
+ infoPtr->writer.readyEvent), 0, NULL);
+ SetThreadPriority(infoPtr->writer.thread, THREAD_PRIORITY_HIGHEST);
}
/*
diff --git a/win/tclWinFile.c b/win/tclWinFile.c
index 6662327..6662327 100755..100644
--- a/win/tclWinFile.c
+++ b/win/tclWinFile.c
diff --git a/win/tclWinInit.c b/win/tclWinInit.c
index 8b600f6..98c7ed5 100644
--- a/win/tclWinInit.c
+++ b/win/tclWinInit.c
@@ -76,6 +76,12 @@ typedef struct {
#define PROCESSOR_ARCHITECTURE_UNKNOWN 0xFFFF
#endif
+
+/*
+ * Windows version dependend functions
+ */
+TclWinProcs tclWinProcs;
+
/*
* The following arrays contain the human readable strings for the Windows
* platform and processor values.
@@ -132,6 +138,7 @@ TclpInitPlatform(void)
{
WSADATA wsaData;
WORD wVersionRequested = MAKEWORD(2, 2);
+ HMODULE handle;
tclPlatform = TCL_PLATFORM_WINDOWS;
@@ -150,6 +157,14 @@ TclpInitPlatform(void)
TclWinInit(GetModuleHandle(NULL));
#endif
+
+ /*
+ * Fill available functions depending on windows version
+ */
+ handle = GetModuleHandle(TEXT("KERNEL32"));
+ tclWinProcs.cancelSynchronousIo =
+ (BOOL (WINAPI *)(HANDLE)) GetProcAddress(handle,
+ "CancelSynchronousIo");
}
/*
@@ -536,16 +551,13 @@ TclpSetVariables(
TclGetProcessGlobalValue(&defaultLibraryDir), TCL_GLOBAL_ONLY);
if (!osInfoInitialized) {
- HANDLE handle = LoadLibraryW(L"NTDLL");
+ HMODULE handle = GetModuleHandle(TEXT("NTDLL"));
int(__stdcall *getversion)(void *) =
(int(__stdcall *)(void *)) GetProcAddress(handle, "RtlGetVersion");
osInfo.dwOSVersionInfoSize = sizeof(OSVERSIONINFOW);
if (!getversion || getversion(&osInfo)) {
GetVersionExW(&osInfo);
}
- if (handle) {
- FreeLibrary(handle);
- }
osInfoInitialized = 1;
}
GetSystemInfo(&sys.info);
diff --git a/win/tclWinInt.h b/win/tclWinInt.h
index 6b098f8..43799d0 100644
--- a/win/tclWinInt.h
+++ b/win/tclWinInt.h
@@ -32,6 +32,15 @@ typedef struct TCLEXCEPTION_REGISTRATION {
#endif
/*
+ * Windows version dependend functions
+ */
+typedef struct TclWinProcs {
+ BOOL (WINAPI *cancelSynchronousIo)(HANDLE);
+} TclWinProcs;
+
+MODULE_SCOPE TclWinProcs tclWinProcs;
+
+/*
* Some versions of Borland C have a define for the OSVERSIONINFO for
* Win32s and for NT, but not for Windows 95.
* Define VER_PLATFORM_WIN32_CE for those without newer headers.
@@ -86,4 +95,70 @@ MODULE_SCOPE void TclpSetAllocCache(void *);
#define FILE_ATTRIBUTE_REPARSE_POINT 0x00000400
#endif
+/*
+ *----------------------------------------------------------------------
+ * Declarations of helper-workers threaded facilities for a pipe based channel.
+ *
+ * Corresponding functionality provided in "tclWinPipe.c".
+ *----------------------------------------------------------------------
+ */
+
+typedef struct TclPipeThreadInfo {
+ HANDLE evControl; /* Auto-reset event used by the main thread to
+ * signal when the pipe thread should attempt
+ * to do read/write operation. Additionally
+ * used as signal to stop (state set to -1) */
+ volatile LONG state; /* Indicates current state of the thread */
+ ClientData clientData; /* Referenced data of the main thread */
+ HANDLE evWakeUp; /* Optional wake-up event worker set by shutdown */
+} TclPipeThreadInfo;
+
+
+/* If pipe-workers will use some tcl subsystem, we can use ckalloc without
+ * more overhead for finalize thread (should be executed anyway)
+ *
+ * #define _PTI_USE_CKALLOC 1
+ */
+
+/*
+ * State of the pipe-worker.
+ *
+ * State PTI_STATE_STOP possible from idle state only, worker owns TI structure.
+ * Otherwise PTI_STATE_END used (main thread hold ownership of the TI).
+ */
+
+#define PTI_STATE_IDLE 0 /* idle or not yet initialzed */
+#define PTI_STATE_WORK 1 /* in work */
+#define PTI_STATE_STOP 2 /* thread should stop work (owns TI structure) */
+#define PTI_STATE_END 4 /* thread should stop work (worker is busy) */
+#define PTI_STATE_DOWN 8 /* worker is down */
+
+
+MODULE_SCOPE
+TclPipeThreadInfo * TclPipeThreadCreateTI(TclPipeThreadInfo **pipeTIPtr,
+ ClientData clientData, HANDLE wakeEvent);
+MODULE_SCOPE int TclPipeThreadWaitForSignal(TclPipeThreadInfo **pipeTIPtr);
+
+static inline void
+TclPipeThreadSignal(
+ TclPipeThreadInfo **pipeTIPtr)
+{
+ TclPipeThreadInfo *pipeTI = *pipeTIPtr;
+ if (pipeTI) {
+ SetEvent(pipeTI->evControl);
+ }
+};
+
+static inline int
+TclPipeThreadIsAlive(
+ TclPipeThreadInfo **pipeTIPtr)
+{
+ TclPipeThreadInfo *pipeTI = *pipeTIPtr;
+ return (pipeTI && pipeTI->state != PTI_STATE_DOWN);
+};
+
+MODULE_SCOPE int TclPipeThreadStopSignal(TclPipeThreadInfo **pipeTIPtr, HANDLE wakeEvent);
+MODULE_SCOPE void TclPipeThreadStop(TclPipeThreadInfo **pipeTIPtr, HANDLE hThread);
+MODULE_SCOPE void TclPipeThreadExit(TclPipeThreadInfo **pipeTIPtr);
+
#endif /* _TCLWININT */
diff --git a/win/tclWinPipe.c b/win/tclWinPipe.c
index 4666deb..5246d53 100644
--- a/win/tclWinPipe.c
+++ b/win/tclWinPipe.c
@@ -109,24 +109,17 @@ typedef struct PipeInfo {
Tcl_ThreadId threadId; /* Thread to which events should be reported.
* This value is used by the reader/writer
* threads. */
+ TclPipeThreadInfo *writeTI; /* Thread info of writer and reader, this */
+ TclPipeThreadInfo *readTI; /* structure owned by corresponding thread. */
HANDLE writeThread; /* Handle to writer thread. */
HANDLE readThread; /* Handle to reader thread. */
+
HANDLE writable; /* Manual-reset event to signal when the
* writer thread has finished waiting for the
* current buffer to be written. */
HANDLE readable; /* Manual-reset event to signal when the
* reader thread has finished waiting for
* input. */
- HANDLE startWriter; /* Auto-reset event used by the main thread to
- * signal when the writer thread should
- * attempt to write to the pipe. */
- HANDLE stopWriter; /* Manual-reset event used to alert the reader
- * thread to fall-out and exit */
- HANDLE startReader; /* Auto-reset event used by the main thread to
- * signal when the reader thread should
- * attempt to read from the pipe. */
- HANDLE stopReader; /* Manual-reset event used to alert the reader
- * thread to fall-out and exit */
DWORD writeError; /* An error caused by the last background
* write. Set to 0 if no error has been
* detected. This word is shared with the
@@ -1571,7 +1564,6 @@ TclpCreateCommandChannel(
Tcl_Pid *pidPtr) /* An array of process identifiers. */
{
char channelName[16 + TCL_INTEGER_SPACE];
- DWORD id;
PipeInfo *infoPtr = ckalloc(sizeof(PipeInfo));
PipeInit();
@@ -1599,13 +1591,13 @@ TclpCreateCommandChannel(
*/
infoPtr->readable = CreateEvent(NULL, TRUE, TRUE, NULL);
- infoPtr->startReader = CreateEvent(NULL, FALSE, FALSE, NULL);
- infoPtr->stopReader = CreateEvent(NULL, TRUE, FALSE, NULL);
infoPtr->readThread = CreateThread(NULL, 256, PipeReaderThread,
- infoPtr, 0, &id);
+ TclPipeThreadCreateTI(&infoPtr->readTI, infoPtr, infoPtr->readable),
+ 0, NULL);
SetThreadPriority(infoPtr->readThread, THREAD_PRIORITY_HIGHEST);
infoPtr->validMask |= TCL_READABLE;
} else {
+ infoPtr->readTI = NULL;
infoPtr->readThread = 0;
}
if (writeFile != NULL) {
@@ -1614,12 +1606,14 @@ TclpCreateCommandChannel(
*/
infoPtr->writable = CreateEvent(NULL, TRUE, TRUE, NULL);
- infoPtr->startWriter = CreateEvent(NULL, FALSE, FALSE, NULL);
- infoPtr->stopWriter = CreateEvent(NULL, TRUE, FALSE, NULL);
infoPtr->writeThread = CreateThread(NULL, 256, PipeWriterThread,
- infoPtr, 0, &id);
- SetThreadPriority(infoPtr->readThread, THREAD_PRIORITY_HIGHEST);
+ TclPipeThreadCreateTI(&infoPtr->writeTI, infoPtr, infoPtr->writable),
+ 0, NULL);
+ SetThreadPriority(infoPtr->writeThread, THREAD_PRIORITY_HIGHEST);
infoPtr->validMask |= TCL_WRITABLE;
+ } else {
+ infoPtr->writeTI = NULL;
+ infoPtr->writeThread = 0;
}
/*
@@ -1805,12 +1799,12 @@ PipeClose2Proc(
int errorCode, result;
PipeInfo *infoPtr, **nextPtrPtr;
ThreadSpecificData *tsdPtr = TCL_TSD_INIT(&dataKey);
- DWORD exitCode;
+ int inExit = (TclInExit() || TclInThreadExit());
errorCode = 0;
result = 0;
- if ((!flags || flags == TCL_CLOSE_READ) && (pipePtr->readFile != NULL)) {
+ if ((!flags || flags & TCL_CLOSE_READ) && (pipePtr->readFile != NULL)) {
/*
* Clean up the background thread if necessary. Note that this must be
* done before we can close the file, since the thread may be blocking
@@ -1818,55 +1812,10 @@ PipeClose2Proc(
*/
if (pipePtr->readThread) {
- /*
- * The thread may already have closed on its own. Check its exit
- * code.
- */
-
- GetExitCodeThread(pipePtr->readThread, &exitCode);
-
- if (exitCode == STILL_ACTIVE) {
- /*
- * Set the stop event so that if the reader thread is blocked
- * in PipeReaderThread on WaitForMultipleEvents, it will exit
- * cleanly.
- */
-
- SetEvent(pipePtr->stopReader);
-
- /*
- * Wait at most 20 milliseconds for the reader thread to
- * close.
- */
-
- if (WaitForSingleObject(pipePtr->readThread,
- 20) == WAIT_TIMEOUT) {
- /*
- * The thread must be blocked waiting for the pipe to
- * become readable in ReadFile(). There isn't a clean way
- * to exit the thread from this condition. We should
- * terminate the child process instead to get the reader
- * thread to fall out of ReadFile with a FALSE. (below) is
- * not the correct way to do this, but will stay here
- * until a better solution is found.
- *
- * Note that we need to guard against terminating the
- * thread while it is in the middle of Tcl_ThreadAlert
- * because it won't be able to release the notifier lock.
- */
-
- Tcl_MutexLock(&pipeMutex);
-
- /* BUG: this leaks memory */
- TerminateThread(pipePtr->readThread, 0);
- Tcl_MutexUnlock(&pipeMutex);
- }
- }
+ TclPipeThreadStop(&pipePtr->readTI, pipePtr->readThread);
CloseHandle(pipePtr->readThread);
CloseHandle(pipePtr->readable);
- CloseHandle(pipePtr->startReader);
- CloseHandle(pipePtr->stopReader);
pipePtr->readThread = NULL;
}
if (TclpCloseFile(pipePtr->readFile) != 0) {
@@ -1875,80 +1824,34 @@ PipeClose2Proc(
pipePtr->validMask &= ~TCL_READABLE;
pipePtr->readFile = NULL;
}
- if ((!flags || flags & TCL_CLOSE_WRITE)
- && (pipePtr->writeFile != NULL)) {
+ if ((!flags || flags & TCL_CLOSE_WRITE) && (pipePtr->writeFile != NULL)) {
if (pipePtr->writeThread) {
+
/*
* Wait for the writer thread to finish the current buffer, then
* terminate the thread and close the handles. If the channel is
- * nonblocking but blocked during exit, bail out since the worker
+ * nonblocking or may block during exit, bail out since the worker
* thread is not interruptible and we want TIP#398-fast-exit.
*/
- if (TclInExit()
- && (pipePtr->flags & PIPE_ASYNC)) {
+ if ((pipePtr->flags & PIPE_ASYNC) && inExit) {
/* give it a chance to leave honorably */
- SetEvent(pipePtr->stopWriter);
+ TclPipeThreadStopSignal(&pipePtr->writeTI, pipePtr->writable);
- if (WaitForSingleObject(pipePtr->writable, 0) == WAIT_TIMEOUT) {
+ if (WaitForSingleObject(pipePtr->writable, 20) == WAIT_TIMEOUT) {
return EWOULDBLOCK;
}
} else {
- WaitForSingleObject(pipePtr->writable, INFINITE);
+ WaitForSingleObject(pipePtr->writable, inExit ? 5000 : INFINITE);
}
- /*
- * The thread may already have closed on it's own. Check its exit
- * code.
- */
-
- GetExitCodeThread(pipePtr->writeThread, &exitCode);
-
- if (exitCode == STILL_ACTIVE) {
- /*
- * Set the stop event so that if the reader thread is blocked
- * in PipeReaderThread on WaitForMultipleEvents, it will exit
- * cleanly.
- */
-
- SetEvent(pipePtr->stopWriter);
-
- /*
- * Wait at most 20 milliseconds for the reader thread to
- * close.
- */
+ TclPipeThreadStop(&pipePtr->writeTI, pipePtr->writeThread);
- if (WaitForSingleObject(pipePtr->writeThread,
- 20) == WAIT_TIMEOUT) {
- /*
- * The thread must be blocked waiting for the pipe to
- * consume input in WriteFile(). There isn't a clean way
- * to exit the thread from this condition. We should
- * terminate the child process instead to get the writer
- * thread to fall out of WriteFile with a FALSE. (below)
- * is not the correct way to do this, but will stay here
- * until a better solution is found.
- *
- * Note that we need to guard against terminating the
- * thread while it is in the middle of Tcl_ThreadAlert
- * because it won't be able to release the notifier lock.
- */
-
- Tcl_MutexLock(&pipeMutex);
-
- /* BUG: this leaks memory */
- TerminateThread(pipePtr->writeThread, 0);
- Tcl_MutexUnlock(&pipeMutex);
- }
- }
-
- CloseHandle(pipePtr->writeThread);
CloseHandle(pipePtr->writable);
- CloseHandle(pipePtr->startWriter);
- CloseHandle(pipePtr->stopWriter);
+ CloseHandle(pipePtr->writeThread);
pipePtr->writeThread = NULL;
}
if (TclpCloseFile(pipePtr->writeFile) != 0) {
@@ -1983,7 +1886,7 @@ PipeClose2Proc(
}
}
- if ((pipePtr->flags & PIPE_ASYNC) || TclInExit()) {
+ if ((pipePtr->flags & PIPE_ASYNC) || inExit) {
/*
* If the channel is non-blocking or Tcl is being cleaned up, just
* detach the children PIDs, reap them (important if we are in a
@@ -2161,7 +2064,10 @@ PipeOutputProc(
DWORD bytesWritten, timeout;
*errorCode = 0;
- timeout = (infoPtr->flags & PIPE_ASYNC) ? 0 : INFINITE;
+
+ /* avoid blocking if pipe-thread exited */
+ timeout = ((infoPtr->flags & PIPE_ASYNC) || !TclPipeThreadIsAlive(&infoPtr->writeTI)
+ || TclInExit() || TclInThreadExit()) ? 0 : INFINITE;
if (WaitForSingleObject(infoPtr->writable, timeout) == WAIT_TIMEOUT) {
/*
* The writer thread is blocked waiting for a write to complete and
@@ -2202,7 +2108,7 @@ PipeOutputProc(
memcpy(infoPtr->writeBuf, buf, (size_t) toWrite);
infoPtr->toWrite = toWrite;
ResetEvent(infoPtr->writable);
- SetEvent(infoPtr->startWriter);
+ TclPipeThreadSignal(&infoPtr->writeTI);
bytesWritten = toWrite;
} else {
/*
@@ -2712,7 +2618,9 @@ WaitForRead(
* Synchronize with the reader thread.
*/
- timeout = blocking ? INFINITE : 0;
+ /* avoid blocking if pipe-thread exited */
+ timeout = (!blocking || !TclPipeThreadIsAlive(&infoPtr->readTI)
+ || TclInExit() || TclInThreadExit()) ? 0 : INFINITE;
if (WaitForSingleObject(infoPtr->readable, timeout) == WAIT_TIMEOUT) {
/*
* The reader thread is blocked waiting for data and the channel
@@ -2786,7 +2694,7 @@ WaitForRead(
*/
ResetEvent(infoPtr->readable);
- SetEvent(infoPtr->startReader);
+ TclPipeThreadSignal(&infoPtr->readTI);
}
}
@@ -2814,33 +2722,27 @@ static DWORD WINAPI
PipeReaderThread(
LPVOID arg)
{
- PipeInfo *infoPtr = (PipeInfo *)arg;
- HANDLE *handle = ((WinFile *) infoPtr->readFile)->handle;
+ TclPipeThreadInfo *pipeTI = (TclPipeThreadInfo *)arg;
+ PipeInfo *infoPtr = NULL; /* access info only after success init/wait */
+ HANDLE handle = NULL;
DWORD count, err;
int done = 0;
- HANDLE wEvents[2];
- DWORD waitResult;
-
- wEvents[0] = infoPtr->stopReader;
- wEvents[1] = infoPtr->startReader;
while (!done) {
/*
* Wait for the main thread to signal before attempting to wait on the
* pipe becoming readable.
*/
-
- waitResult = WaitForMultipleObjects(2, wEvents, FALSE, INFINITE);
-
- if (waitResult != (WAIT_OBJECT_0 + 1)) {
- /*
- * The start event was not signaled. It might be the stop event or
- * an error, so exit.
- */
-
+ if (!TclPipeThreadWaitForSignal(&pipeTI)) {
+ /* exit */
break;
}
+ if (!infoPtr) {
+ infoPtr = (PipeInfo *)pipeTI->clientData;
+ handle = ((WinFile *) infoPtr->readFile)->handle;
+ }
+
/*
* Try waiting for 0 bytes. This will block until some data is
* available on NT, but will return immediately on Win 95. So, if no
@@ -2860,7 +2762,7 @@ PipeReaderThread(
infoPtr->readFlags |= PIPE_EOF;
done = 1;
} else if (err == ERROR_INVALID_HANDLE) {
- break;
+ done = 1;
}
} else if (count == 0) {
if (ReadFile(handle, &(infoPtr->extraByte), 1, &count, NULL)
@@ -2882,12 +2784,11 @@ PipeReaderThread(
infoPtr->readFlags |= PIPE_EOF;
done = 1;
} else if (err == ERROR_INVALID_HANDLE) {
- break;
+ done = 1;
}
}
}
-
/*
* Signal the main thread by signalling the readable event and then
* waking up the notifier thread.
@@ -2913,6 +2814,12 @@ PipeReaderThread(
Tcl_MutexUnlock(&pipeMutex);
}
+ /*
+ * If state of thread was set to stop, we can sane free info structure,
+ * otherwise it is shared with main thread, so main thread will own it
+ */
+ TclPipeThreadExit(&pipeTI);
+
return 0;
}
@@ -2937,37 +2844,27 @@ static DWORD WINAPI
PipeWriterThread(
LPVOID arg)
{
- PipeInfo *infoPtr = (PipeInfo *)arg;
- HANDLE *handle = ((WinFile *) infoPtr->writeFile)->handle;
+ TclPipeThreadInfo *pipeTI = (TclPipeThreadInfo *)arg;
+ PipeInfo *infoPtr = NULL; /* access info only after success init/wait */
+ HANDLE handle = NULL;
DWORD count, toWrite;
char *buf;
int done = 0;
- HANDLE wEvents[2];
- DWORD waitResult;
-
- wEvents[0] = infoPtr->stopWriter;
- wEvents[1] = infoPtr->startWriter;
while (!done) {
/*
* Wait for the main thread to signal before attempting to write.
*/
-
- waitResult = WaitForMultipleObjects(2, wEvents, FALSE, INFINITE);
-
- if (waitResult != (WAIT_OBJECT_0 + 1)) {
- /*
- * The start event was not signaled. It might be the stop event or
- * an error, so exit.
- */
-
- if (waitResult == WAIT_OBJECT_0) {
- SetEvent(infoPtr->writable);
- }
-
+ if (!TclPipeThreadWaitForSignal(&pipeTI)) {
+ /* exit */
break;
}
+ if (!infoPtr) {
+ infoPtr = (PipeInfo *)pipeTI->clientData;
+ handle = ((WinFile *) infoPtr->writeFile)->handle;
+ }
+
buf = infoPtr->writeBuf;
toWrite = infoPtr->toWrite;
@@ -3011,6 +2908,12 @@ PipeWriterThread(
Tcl_MutexUnlock(&pipeMutex);
}
+ /*
+ * If state of thread was set to stop, we can sane free info structure,
+ * otherwise it is shared with main thread, so main thread will own it.
+ */
+ TclPipeThreadExit(&pipeTI);
+
return 0;
}
@@ -3159,6 +3062,395 @@ TclpOpenTemporaryFile(
}
/*
+ *----------------------------------------------------------------------
+ *
+ * TclPipeThreadCreateTI --
+ *
+ * Creates a thread info structure, can be owned by worker.
+ *
+ * Results:
+ * Pointer to created TI structure.
+ *
+ *----------------------------------------------------------------------
+ */
+
+TclPipeThreadInfo *
+TclPipeThreadCreateTI(
+ TclPipeThreadInfo **pipeTIPtr,
+ ClientData clientData,
+ HANDLE wakeEvent)
+{
+ TclPipeThreadInfo *pipeTI;
+#ifndef _PTI_USE_CKALLOC
+ pipeTI = malloc(sizeof(TclPipeThreadInfo));
+#else
+ pipeTI = ckalloc(sizeof(TclPipeThreadInfo));
+#endif
+ pipeTI->evControl = CreateEvent(NULL, FALSE, FALSE, NULL);
+ pipeTI->state = PTI_STATE_IDLE;
+ pipeTI->clientData = clientData;
+ pipeTI->evWakeUp = wakeEvent;
+ return (*pipeTIPtr = pipeTI);
+}
+
+/*
+ *----------------------------------------------------------------------
+ *
+ * TclPipeThreadWaitForSignal --
+ *
+ * Wait for work/stop signals inside pipe worker.
+ *
+ * Results:
+ * 1 if signaled to work, 0 if signaled to stop.
+ *
+ * Side effects:
+ * If this function returns 0, TI-structure pointer given via pipeTIPtr
+ * may be NULL, so not accessible (can be owned by main thread).
+ *
+ *----------------------------------------------------------------------
+ */
+
+int
+TclPipeThreadWaitForSignal(
+ TclPipeThreadInfo **pipeTIPtr)
+{
+ TclPipeThreadInfo *pipeTI = *pipeTIPtr;
+ LONG state;
+ DWORD waitResult;
+ HANDLE wakeEvent;
+
+ if (!pipeTI) {
+ return 0;
+ }
+
+ wakeEvent = pipeTI->evWakeUp;
+ /*
+ * Wait for the main thread to signal before attempting to do the work.
+ */
+
+ /* reset work state of thread (idle/waiting) */
+ if ((state = InterlockedCompareExchange(&pipeTI->state,
+ PTI_STATE_IDLE, PTI_STATE_WORK)) & (PTI_STATE_STOP|PTI_STATE_END)) {
+ /* end of work, check the owner of structure */
+ goto end;
+ }
+ /* entering wait */
+ waitResult = WaitForSingleObject(pipeTI->evControl, INFINITE);
+
+ if (waitResult != WAIT_OBJECT_0) {
+
+ /*
+ * The control event was not signaled, so end of work (unexpected
+ * behaviour, main thread can be dead?).
+ */
+ goto end;
+ }
+
+ /* try to set work state of thread */
+ if ((state = InterlockedCompareExchange(&pipeTI->state,
+ PTI_STATE_WORK, PTI_STATE_IDLE)) & (PTI_STATE_STOP|PTI_STATE_END)) {
+ /* end of work */
+ goto end;
+ }
+
+ /* signaled to work */
+ return 1;
+
+end:
+ /* end of work, check the owner of the TI structure */
+ if (state != PTI_STATE_STOP) {
+ *pipeTIPtr = NULL;
+ } else {
+ pipeTI->evWakeUp = NULL;
+ }
+ if (wakeEvent) {
+ SetEvent(wakeEvent);
+ }
+ return 0;
+}
+
+/*
+ *----------------------------------------------------------------------
+ *
+ * TclPipeThreadStopSignal --
+ *
+ * Send stop signal to the pipe worker (without waiting).
+ *
+ * After calling of this function, TI-structure pointer given via pipeTIPtr
+ * may be NULL.
+ *
+ * Results:
+ * 1 if signaled (or pipe-thread is down), 0 if pipe thread still working.
+ *
+ *----------------------------------------------------------------------
+ */
+
+int
+TclPipeThreadStopSignal(
+ TclPipeThreadInfo **pipeTIPtr, HANDLE wakeEvent)
+{
+ TclPipeThreadInfo *pipeTI = *pipeTIPtr;
+ HANDLE evControl;
+ int state;
+
+ if (!pipeTI) {
+ return 1;
+ }
+ evControl = pipeTI->evControl;
+ pipeTI->evWakeUp = wakeEvent;
+ switch (
+ (state = InterlockedCompareExchange(&pipeTI->state,
+ PTI_STATE_STOP, PTI_STATE_IDLE))
+ ) {
+
+ case PTI_STATE_IDLE:
+
+ /* Thread was idle/waiting, notify it goes teardown */
+ SetEvent(evControl);
+
+ *pipeTIPtr = NULL;
+
+ case PTI_STATE_DOWN:
+
+ return 1;
+
+ default:
+ /*
+ * Thread works currently, we should try to end it, own the TI structure
+ * (because of possible sharing the joint structures with thread)
+ */
+ InterlockedExchange(&pipeTI->state, PTI_STATE_END);
+ break;
+ }
+
+ return 0;
+}
+
+/*
+ *----------------------------------------------------------------------
+ *
+ * TclPipeThreadStop --
+ *
+ * Send stop signal to the pipe worker and wait for thread completion.
+ *
+ * May be combined with TclPipeThreadStopSignal.
+ *
+ * After calling of this function, TI-structure pointer given via pipeTIPtr
+ * is not accessible (owned by pipe worker or released here).
+ *
+ * Results:
+ * None.
+ *
+ * Side effects:
+ * Can terminate pipe worker (and / or stop its synchronous operations).
+ *
+ *----------------------------------------------------------------------
+ */
+
+void
+TclPipeThreadStop(
+ TclPipeThreadInfo **pipeTIPtr,
+ HANDLE hThread)
+{
+ TclPipeThreadInfo *pipeTI = *pipeTIPtr;
+ HANDLE evControl;
+ int state;
+
+ if (!pipeTI) {
+ return;
+ }
+ pipeTI = *pipeTIPtr;
+ evControl = pipeTI->evControl;
+ pipeTI->evWakeUp = NULL;
+ /*
+ * Try to sane stop the pipe worker, corresponding its current state
+ */
+ switch (
+ (state = InterlockedCompareExchange(&pipeTI->state,
+ PTI_STATE_STOP, PTI_STATE_IDLE))
+ ) {
+
+ case PTI_STATE_IDLE:
+
+ /* Thread was idle/waiting, notify it goes teardown */
+ SetEvent(evControl);
+
+ /* we don't need to wait for it at all, thread frees himself (owns the TI structure) */
+ pipeTI = NULL;
+ break;
+
+ case PTI_STATE_STOP:
+ /* already stopped, thread frees himself (owns the TI structure) */
+ pipeTI = NULL;
+ break;
+ case PTI_STATE_DOWN:
+ /* Thread already down (?), do nothing */
+
+ /* we don't need to wait for it, but we should free pipeTI */
+ hThread = NULL;
+ break;
+
+ /* case PTI_STATE_WORK: */
+ default:
+ /*
+ * Thread works currently, we should try to end it, own the TI structure
+ * (because of possible sharing the joint structures with thread)
+ */
+ if ((state = InterlockedCompareExchange(&pipeTI->state,
+ PTI_STATE_END, PTI_STATE_WORK)) == PTI_STATE_DOWN
+ ) {
+ /* we don't need to wait for it, but we should free pipeTI */
+ hThread = NULL;
+ };
+ break;
+ }
+
+ if (pipeTI && hThread) {
+ DWORD exitCode;
+
+ /*
+ * The thread may already have closed on its own. Check its exit
+ * code.
+ */
+
+ GetExitCodeThread(hThread, &exitCode);
+
+ if (exitCode == STILL_ACTIVE) {
+
+ int inExit = (TclInExit() || TclInThreadExit());
+ /*
+ * Set the stop event so that if the pipe thread is blocked
+ * somewhere, it may hereafter sane exit cleanly.
+ */
+
+ SetEvent(evControl);
+
+ /*
+ * Cancel all sync-IO of this thread (may be blocked there).
+ */
+ if (tclWinProcs.cancelSynchronousIo) {
+ tclWinProcs.cancelSynchronousIo(hThread);
+ }
+
+ /*
+ * Wait at most 20 milliseconds for the reader thread to
+ * close (regarding TIP#398-fast-exit).
+ */
+
+ /* if we want TIP#398-fast-exit. */
+ if (WaitForSingleObject(hThread, inExit ? 0 : 20) == WAIT_TIMEOUT) {
+
+ /*
+ * The thread must be blocked waiting for the pipe to
+ * become readable in ReadFile(). There isn't a clean way
+ * to exit the thread from this condition. We should
+ * terminate the child process instead to get the reader
+ * thread to fall out of ReadFile with a FALSE. (below) is
+ * not the correct way to do this, but will stay here
+ * until a better solution is found.
+ *
+ * Note that we need to guard against terminating the
+ * thread while it is in the middle of Tcl_ThreadAlert
+ * because it won't be able to release the notifier lock.
+ *
+ * Also note that terminating threads during their initialization or teardown phase
+ * may result in ntdll.dll's LoaderLock to remain locked indefinitely.
+ * This causes ntdll.dll's LdrpInitializeThread() to deadlock trying to acquire LoaderLock.
+ * LdrpInitializeThread() is executed within new threads to perform
+ * initialization and to execute DllMain() of all loaded dlls.
+ * As a result, all new threads are deadlocked in their initialization phase and never execute,
+ * even though CreateThread() reports successful thread creation.
+ * This results in a very weird process-wide behavior, which is extremely hard to debug.
+ *
+ * THREADS SHOULD NEVER BE TERMINATED. Period.
+ *
+ * But for now, check if thread is exiting, and if so, let it die peacefully.
+ *
+ * Also don't terminate if in exit (otherwise deadlocked in ntdll.dll's).
+ */
+
+ if ( pipeTI->state != PTI_STATE_DOWN
+ && WaitForSingleObject(hThread,
+ inExit ? 50 : 5000) != WAIT_OBJECT_0
+ ) {
+ /* BUG: this leaks memory */
+ if (inExit || !TerminateThread(hThread, 0)) {
+ /* in exit or terminate fails, just give thread a chance to exit */
+ if (InterlockedExchange(&pipeTI->state,
+ PTI_STATE_STOP) != PTI_STATE_DOWN) {
+ pipeTI = NULL;
+ }
+ };
+ }
+ }
+ }
+ }
+
+ *pipeTIPtr = NULL;
+ if (pipeTI) {
+ if (pipeTI->evWakeUp) {
+ SetEvent(pipeTI->evWakeUp);
+ }
+ CloseHandle(pipeTI->evControl);
+ #ifndef _PTI_USE_CKALLOC
+ free(pipeTI);
+ #else
+ ckfree(pipeTI);
+ #endif
+ }
+}
+
+/*
+ *----------------------------------------------------------------------
+ *
+ * TclPipeThreadExit --
+ *
+ * Clean-up for the pipe thread (removes owned TI-structure in worker).
+ *
+ * Should be executed on worker exit, to inform the main thread or
+ * free TI-structure (if owned).
+ *
+ * After calling of this function, TI-structure pointer given via pipeTIPtr
+ * is not accessible (owned by main thread or released here).
+ *
+ * Results:
+ * None.
+ *
+ *----------------------------------------------------------------------
+ */
+
+void
+TclPipeThreadExit(
+ TclPipeThreadInfo **pipeTIPtr)
+{
+ LONG state;
+ TclPipeThreadInfo *pipeTI = *pipeTIPtr;
+ /*
+ * If state of thread was set to stop (exactly), we can sane free its info
+ * structure, otherwise it is shared with main thread, so main thread will
+ * own it.
+ */
+ if (!pipeTI) {
+ return;
+ }
+ *pipeTIPtr = NULL;
+ if ((state = InterlockedExchange(&pipeTI->state,
+ PTI_STATE_DOWN)) == PTI_STATE_STOP) {
+ CloseHandle(pipeTI->evControl);
+ if (pipeTI->evWakeUp) {
+ SetEvent(pipeTI->evWakeUp);
+ }
+ #ifndef _PTI_USE_CKALLOC
+ free(pipeTI);
+ #else
+ ckfree(pipeTI);
+ /* be sure all subsystems used are finalized */
+ Tcl_FinalizeThread();
+ #endif
+ }
+}
+
+/*
* Local Variables:
* mode: c
* c-basic-offset: 4
diff --git a/win/tclWinReg.c b/win/tclWinReg.c
index 5f7fd31..de48b9b 100644
--- a/win/tclWinReg.c
+++ b/win/tclWinReg.c
@@ -1197,14 +1197,12 @@ RecursiveDeleteKey(
*/
if (mode && !checkExProc) {
- HINSTANCE dllH;
+ HMODULE handle;
checkExProc = 1;
- dllH = LoadLibrary(TEXT("advapi32.dll"));
- if (dllH) {
- regDeleteKeyExProc = (FARPROC)
- GetProcAddress(dllH, "RegDeleteKeyExW");
- }
+ handle = GetModuleHandle(TEXT("ADVAPI32"));
+ regDeleteKeyExProc = (FARPROC)
+ GetProcAddress(handle, "RegDeleteKeyExW");
}
if (mode && regDeleteKeyExProc) {
result = regDeleteKeyExProc(startKey, keyName, mode, 0);
diff --git a/win/tclWinSerial.c b/win/tclWinSerial.c
index 0730a46..fe416ff 100644
--- a/win/tclWinSerial.c
+++ b/win/tclWinSerial.c
@@ -93,17 +93,12 @@ typedef struct SerialInfo {
* threads. */
OVERLAPPED osRead; /* OVERLAPPED structure for read operations. */
OVERLAPPED osWrite; /* OVERLAPPED structure for write operations */
+ TclPipeThreadInfo *writeTI; /* Thread info structure of writer worker. */
HANDLE writeThread; /* Handle to writer thread. */
CRITICAL_SECTION csWrite; /* Writer thread synchronisation. */
HANDLE evWritable; /* Manual-reset event to signal when the
* writer thread has finished waiting for the
* current buffer to be written. */
- HANDLE evStartWriter; /* Auto-reset event used by the main thread to
- * signal when the writer thread should
- * attempt to write to the serial. */
- HANDLE evStopWriter; /* Auto-reset event used by the main thread to
- * signal when the writer thread should close.
- */
DWORD writeError; /* An error caused by the last background
* write. Set to 0 if no error has been
* detected. This word is shared with the
@@ -599,7 +594,6 @@ SerialCloseProc(
int errorCode, result = 0;
SerialInfo *infoPtr, **nextPtrPtr;
ThreadSpecificData *tsdPtr = TCL_TSD_INIT(&dataKey);
- DWORD exitCode;
errorCode = 0;
@@ -609,56 +603,13 @@ SerialCloseProc(
}
serialPtr->validMask &= ~TCL_READABLE;
- if (serialPtr->validMask & TCL_WRITABLE) {
- /*
- * Generally we cannot wait for a pending write operation because it
- * may hang due to handshake
- * WaitForSingleObject(serialPtr->evWritable, INFINITE);
- */
-
- /*
- * The thread may have already closed on it's own. Check it's exit
- * code.
- */
-
- GetExitCodeThread(serialPtr->writeThread, &exitCode);
-
- if (exitCode == STILL_ACTIVE) {
- /*
- * Set the stop event so that if the writer thread is blocked in
- * SerialWriterThread on WaitForMultipleEvents, it will exit
- * cleanly.
- */
-
- SetEvent(serialPtr->evStopWriter);
-
- /*
- * Wait at most 20 milliseconds for the writer thread to close.
- */
-
- if (WaitForSingleObject(serialPtr->writeThread,
- 20) == WAIT_TIMEOUT) {
- /*
- * Forcibly terminate the background thread as a last resort.
- * Note that we need to guard against terminating the thread
- * while it is in the middle of Tcl_ThreadAlert because it
- * won't be able to release the notifier lock.
- */
+ if (serialPtr->writeThread) {
- Tcl_MutexLock(&serialMutex);
+ TclPipeThreadStop(&serialPtr->writeTI, serialPtr->writeThread);
- /* BUG: this leaks memory */
- TerminateThread(serialPtr->writeThread, 0);
-
- Tcl_MutexUnlock(&serialMutex);
- }
- }
-
- CloseHandle(serialPtr->writeThread);
CloseHandle(serialPtr->osWrite.hEvent);
CloseHandle(serialPtr->evWritable);
- CloseHandle(serialPtr->evStartWriter);
- CloseHandle(serialPtr->evStopWriter);
+ CloseHandle(serialPtr->writeThread);
serialPtr->writeThread = NULL;
PurgeComm(serialPtr->handle, PURGE_TXABORT | PURGE_TXCLEAR);
@@ -1076,7 +1027,7 @@ SerialOutputProc(
memcpy(infoPtr->writeBuf, buf, (size_t) toWrite);
infoPtr->toWrite = toWrite;
ResetEvent(infoPtr->evWritable);
- SetEvent(infoPtr->evStartWriter);
+ TclPipeThreadSignal(&infoPtr->writeTI);
bytesWritten = (DWORD) toWrite;
} else {
@@ -1313,34 +1264,21 @@ static DWORD WINAPI
SerialWriterThread(
LPVOID arg)
{
- SerialInfo *infoPtr = (SerialInfo *)arg;
- DWORD bytesWritten, toWrite, waitResult;
+ TclPipeThreadInfo *pipeTI = (TclPipeThreadInfo *)arg;
+ SerialInfo *infoPtr = NULL; /* access info only after success init/wait */
+ DWORD bytesWritten, toWrite;
char *buf;
OVERLAPPED myWrite; /* Have an own OVERLAPPED in this thread. */
- HANDLE wEvents[2];
-
- /*
- * The stop event takes precedence by being first in the list.
- */
-
- wEvents[0] = infoPtr->evStopWriter;
- wEvents[1] = infoPtr->evStartWriter;
for (;;) {
/*
* Wait for the main thread to signal before attempting to write.
*/
-
- waitResult = WaitForMultipleObjects(2, wEvents, FALSE, INFINITE);
-
- if (waitResult != (WAIT_OBJECT_0 + 1)) {
- /*
- * The start event was not signaled. It might be the stop event or
- * an error, so exit.
- */
-
+ if (!TclPipeThreadWaitForSignal(&pipeTI)) {
+ /* exit */
break;
}
+ infoPtr = (SerialInfo *)pipeTI->clientData;
buf = infoPtr->writeBuf;
toWrite = infoPtr->toWrite;
@@ -1404,6 +1342,9 @@ SerialWriterThread(
Tcl_MutexUnlock(&serialMutex);
}
+ /* Worker exit, so inform the main thread or free TI-structure (if owned) */
+ TclPipeThreadExit(&pipeTI);
+
return 0;
}
@@ -1477,7 +1418,6 @@ TclWinOpenSerialChannel(
int permissions)
{
SerialInfo *infoPtr;
- DWORD id;
SerialInit();
@@ -1529,10 +1469,9 @@ TclWinOpenSerialChannel(
infoPtr->osWrite.hEvent = CreateEvent(NULL, TRUE, FALSE, NULL);
infoPtr->evWritable = CreateEvent(NULL, TRUE, TRUE, NULL);
- infoPtr->evStartWriter = CreateEvent(NULL, FALSE, FALSE, NULL);
- infoPtr->evStopWriter = CreateEvent(NULL, FALSE, FALSE, NULL);
infoPtr->writeThread = CreateThread(NULL, 256, SerialWriterThread,
- infoPtr, 0, &id);
+ TclPipeThreadCreateTI(&infoPtr->writeTI, infoPtr,
+ infoPtr->evWritable), 0, NULL);
}
/*