tzinfo 1.2.5

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of tzinfo might be problematic. Click here for more details.

Files changed (111) hide show
  1. checksums.yaml +7 -0
  2. checksums.yaml.gz.sig +3 -0
  3. data.tar.gz.sig +0 -0
  4. data/.yardopts +6 -0
  5. data/CHANGES.md +786 -0
  6. data/LICENSE +19 -0
  7. data/README.md +151 -0
  8. data/Rakefile +107 -0
  9. data/lib/tzinfo.rb +40 -0
  10. data/lib/tzinfo/country.rb +196 -0
  11. data/lib/tzinfo/country_index_definition.rb +31 -0
  12. data/lib/tzinfo/country_info.rb +42 -0
  13. data/lib/tzinfo/country_timezone.rb +135 -0
  14. data/lib/tzinfo/data_source.rb +190 -0
  15. data/lib/tzinfo/data_timezone.rb +58 -0
  16. data/lib/tzinfo/data_timezone_info.rb +55 -0
  17. data/lib/tzinfo/info_timezone.rb +30 -0
  18. data/lib/tzinfo/linked_timezone.rb +63 -0
  19. data/lib/tzinfo/linked_timezone_info.rb +26 -0
  20. data/lib/tzinfo/offset_rationals.rb +77 -0
  21. data/lib/tzinfo/ruby_core_support.rb +146 -0
  22. data/lib/tzinfo/ruby_country_info.rb +74 -0
  23. data/lib/tzinfo/ruby_data_source.rb +136 -0
  24. data/lib/tzinfo/time_or_datetime.rb +340 -0
  25. data/lib/tzinfo/timezone.rb +669 -0
  26. data/lib/tzinfo/timezone_definition.rb +36 -0
  27. data/lib/tzinfo/timezone_index_definition.rb +54 -0
  28. data/lib/tzinfo/timezone_info.rb +30 -0
  29. data/lib/tzinfo/timezone_offset.rb +101 -0
  30. data/lib/tzinfo/timezone_period.rb +245 -0
  31. data/lib/tzinfo/timezone_proxy.rb +105 -0
  32. data/lib/tzinfo/timezone_transition.rb +130 -0
  33. data/lib/tzinfo/timezone_transition_definition.rb +104 -0
  34. data/lib/tzinfo/transition_data_timezone_info.rb +274 -0
  35. data/lib/tzinfo/zoneinfo_country_info.rb +37 -0
  36. data/lib/tzinfo/zoneinfo_data_source.rb +488 -0
  37. data/lib/tzinfo/zoneinfo_timezone_info.rb +296 -0
  38. data/test/tc_country.rb +234 -0
  39. data/test/tc_country_index_definition.rb +69 -0
  40. data/test/tc_country_info.rb +16 -0
  41. data/test/tc_country_timezone.rb +173 -0
  42. data/test/tc_data_source.rb +218 -0
  43. data/test/tc_data_timezone.rb +99 -0
  44. data/test/tc_data_timezone_info.rb +18 -0
  45. data/test/tc_info_timezone.rb +34 -0
  46. data/test/tc_linked_timezone.rb +155 -0
  47. data/test/tc_linked_timezone_info.rb +23 -0
  48. data/test/tc_offset_rationals.rb +23 -0
  49. data/test/tc_ruby_core_support.rb +168 -0
  50. data/test/tc_ruby_country_info.rb +110 -0
  51. data/test/tc_ruby_data_source.rb +143 -0
  52. data/test/tc_time_or_datetime.rb +654 -0
  53. data/test/tc_timezone.rb +1350 -0
  54. data/test/tc_timezone_definition.rb +113 -0
  55. data/test/tc_timezone_index_definition.rb +73 -0
  56. data/test/tc_timezone_info.rb +11 -0
  57. data/test/tc_timezone_london.rb +143 -0
  58. data/test/tc_timezone_melbourne.rb +142 -0
  59. data/test/tc_timezone_new_york.rb +142 -0
  60. data/test/tc_timezone_offset.rb +126 -0
  61. data/test/tc_timezone_period.rb +555 -0
  62. data/test/tc_timezone_proxy.rb +136 -0
  63. data/test/tc_timezone_transition.rb +366 -0
  64. data/test/tc_timezone_transition_definition.rb +295 -0
  65. data/test/tc_timezone_utc.rb +27 -0
  66. data/test/tc_transition_data_timezone_info.rb +423 -0
  67. data/test/tc_zoneinfo_country_info.rb +78 -0
  68. data/test/tc_zoneinfo_data_source.rb +1195 -0
  69. data/test/tc_zoneinfo_timezone_info.rb +1232 -0
  70. data/test/test_utils.rb +163 -0
  71. data/test/ts_all.rb +7 -0
  72. data/test/ts_all_ruby.rb +5 -0
  73. data/test/ts_all_zoneinfo.rb +7 -0
  74. data/test/tzinfo-data/tzinfo/data.rb +8 -0
  75. data/test/tzinfo-data/tzinfo/data/definitions/America/Argentina/Buenos_Aires.rb +89 -0
  76. data/test/tzinfo-data/tzinfo/data/definitions/America/New_York.rb +315 -0
  77. data/test/tzinfo-data/tzinfo/data/definitions/Australia/Melbourne.rb +218 -0
  78. data/test/tzinfo-data/tzinfo/data/definitions/EST.rb +19 -0
  79. data/test/tzinfo-data/tzinfo/data/definitions/Etc/GMT__m__1.rb +21 -0
  80. data/test/tzinfo-data/tzinfo/data/definitions/Etc/GMT__p__1.rb +21 -0
  81. data/test/tzinfo-data/tzinfo/data/definitions/Etc/UTC.rb +21 -0
  82. data/test/tzinfo-data/tzinfo/data/definitions/Europe/Amsterdam.rb +261 -0
  83. data/test/tzinfo-data/tzinfo/data/definitions/Europe/Andorra.rb +186 -0
  84. data/test/tzinfo-data/tzinfo/data/definitions/Europe/London.rb +321 -0
  85. data/test/tzinfo-data/tzinfo/data/definitions/Europe/Paris.rb +265 -0
  86. data/test/tzinfo-data/tzinfo/data/definitions/Europe/Prague.rb +220 -0
  87. data/test/tzinfo-data/tzinfo/data/definitions/UTC.rb +16 -0
  88. data/test/tzinfo-data/tzinfo/data/indexes/countries.rb +927 -0
  89. data/test/tzinfo-data/tzinfo/data/indexes/timezones.rb +596 -0
  90. data/test/tzinfo-data/tzinfo/data/version.rb +14 -0
  91. data/test/zoneinfo/America/Argentina/Buenos_Aires +0 -0
  92. data/test/zoneinfo/America/New_York +0 -0
  93. data/test/zoneinfo/Australia/Melbourne +0 -0
  94. data/test/zoneinfo/EST +0 -0
  95. data/test/zoneinfo/Etc/UTC +0 -0
  96. data/test/zoneinfo/Europe/Amsterdam +0 -0
  97. data/test/zoneinfo/Europe/Andorra +0 -0
  98. data/test/zoneinfo/Europe/London +0 -0
  99. data/test/zoneinfo/Europe/Paris +0 -0
  100. data/test/zoneinfo/Europe/Prague +0 -0
  101. data/test/zoneinfo/Factory +0 -0
  102. data/test/zoneinfo/iso3166.tab +275 -0
  103. data/test/zoneinfo/leapseconds +61 -0
  104. data/test/zoneinfo/posix/Europe/London +0 -0
  105. data/test/zoneinfo/posixrules +0 -0
  106. data/test/zoneinfo/right/Europe/London +0 -0
  107. data/test/zoneinfo/zone.tab +439 -0
  108. data/test/zoneinfo/zone1970.tab +369 -0
  109. data/tzinfo.gemspec +21 -0
  110. metadata +193 -0
  111. metadata.gz.sig +2 -0
@@ -0,0 +1,163 @@
1
+ TESTS_DIR = File.expand_path(File.dirname(__FILE__)).untaint
2
+ TZINFO_LIB_DIR = File.expand_path(File.join(TESTS_DIR, '..', 'lib'))
3
+ TZINFO_TEST_DATA_DIR = File.join(TESTS_DIR, 'tzinfo-data')
4
+ TZINFO_TEST_ZONEINFO_DIR = File.join(TESTS_DIR, 'zoneinfo')
5
+
6
+ $:.unshift(TZINFO_LIB_DIR) unless $:.include?(TZINFO_LIB_DIR)
7
+
8
+ # tzinfo-data contains a cut down copy of tzinfo-data for use in the tests.
9
+ # Add it to the load path.
10
+ $:.unshift(TZINFO_TEST_DATA_DIR) unless $:.include?(TZINFO_TEST_DATA_DIR)
11
+
12
+ require 'minitest/autorun'
13
+ require 'tzinfo'
14
+ require 'fileutils'
15
+ require 'rbconfig'
16
+
17
+ module TestUtils
18
+ ZONEINFO_SYMLINKS = [
19
+ ['localtime', 'America/New_York'],
20
+ ['UTC', 'Etc/UTC']]
21
+
22
+
23
+ def self.prepare_test_zoneinfo_dir
24
+ ZONEINFO_SYMLINKS.each do |file, target|
25
+ path = File.join(TZINFO_TEST_ZONEINFO_DIR, file)
26
+
27
+ File.delete(path) if File.exist?(path)
28
+
29
+ begin
30
+ FileUtils.ln_s(target, path)
31
+ rescue NotImplementedError, Errno::EACCES
32
+ # Symlinks not supported on this platform, or permission denied
33
+ # (administrative rights are required on Windows). Copy instead.
34
+ target_path = File.join(TZINFO_TEST_ZONEINFO_DIR, target)
35
+ FileUtils.cp(target_path, path)
36
+ end
37
+ end
38
+ end
39
+ end
40
+
41
+ TestUtils.prepare_test_zoneinfo_dir
42
+
43
+
44
+
45
+ module Kernel
46
+ # Suppresses any warnings raised in a specified block.
47
+ def without_warnings
48
+ old_verbose = $VERBOSE
49
+ begin
50
+ $VERBOSE = nil
51
+ yield
52
+ ensure
53
+ $-v = old_verbose
54
+ end
55
+ end
56
+
57
+ def safe_test(options = {})
58
+ # JRuby and Rubinus don't support SAFE levels.
59
+ available = !(defined?(RUBY_ENGINE) && %w(jruby rbx).include?(RUBY_ENGINE))
60
+
61
+ if available || options[:unavailable] != :skip
62
+ thread = Thread.new do
63
+ orig_diff = Minitest::Assertions.diff
64
+
65
+ if available
66
+ orig_safe = $SAFE
67
+ $SAFE = options[:level] || 1
68
+ end
69
+ begin
70
+ # Disable the use of external diff tools during safe mode tests (since
71
+ # safe mode will prevent their use). The initial value is retrieved
72
+ # before activating safe mode because the first time
73
+ # Minitest::Assertions.diff is called, it will attempt to find a diff
74
+ # tool. Finding the diff tool will also fail in safe mode.
75
+ Minitest::Assertions.diff = nil
76
+ begin
77
+ yield
78
+ ensure
79
+ Minitest::Assertions.diff = orig_diff
80
+ end
81
+ ensure
82
+ if available
83
+ # On Ruby < 2.6, setting $SAFE affects only the current thread
84
+ # and the $SAFE level cannot be downgraded. Catch and ignore the
85
+ # SecurityError.
86
+ # On Ruby >= 2.6, setting $SAFE is global, and the $SAFE level
87
+ # can be downgraded. Restore $SAFE back to the original level.
88
+ begin
89
+ $SAFE = orig_safe
90
+ rescue SecurityError
91
+ end
92
+ end
93
+ end
94
+ end
95
+
96
+ thread.join
97
+ end
98
+ end
99
+
100
+ def assert_array_same_items(expected, actual, msg = nil)
101
+ full_message = message(msg, '') { diff(expected, actual) }
102
+ condition = (expected.size == actual.size) && (expected - actual == [])
103
+ assert(condition, full_message)
104
+ end
105
+
106
+ def assert_sub_process_returns(expected_lines, code, extra_load_path = [], required = ['tzinfo'])
107
+ ruby = File.join(RbConfig::CONFIG['bindir'],
108
+ RbConfig::CONFIG['ruby_install_name'] + RbConfig::CONFIG['EXEEXT'])
109
+
110
+ load_path = [TZINFO_LIB_DIR] + extra_load_path
111
+
112
+ # If RubyGems is loaded in the current process, then require it in the
113
+ # sub-process, as it may be needed in order to require dependencies.
114
+ if defined?(Gem) && Gem.instance_of?(Module)
115
+ required = ['rubygems'] + required
116
+ end
117
+
118
+ if defined?(RUBY_ENGINE) && RUBY_ENGINE == 'rbx'
119
+ # Stop Rubinus from operating as irb.
120
+ args = ' -'
121
+ else
122
+ args = ''
123
+ end
124
+
125
+ IO.popen("\"#{ruby}\"#{args}", 'r+') do |process|
126
+ load_path.each do |p|
127
+ process.puts("$:.unshift('#{p.gsub("'", "\\\\'")}')")
128
+ end
129
+
130
+ required.each do |r|
131
+ process.puts("require '#{r.gsub("'", "\\\\'")}'")
132
+ end
133
+
134
+ process.puts(code)
135
+ process.flush
136
+ process.close_write
137
+
138
+ actual_lines = process.readlines
139
+ actual_lines = actual_lines.collect {|l| l.chomp}
140
+ assert_equal(expected_lines, actual_lines)
141
+ end
142
+ end
143
+
144
+ def assert_nothing_raised(msg = nil)
145
+ begin
146
+ yield
147
+ rescue => e
148
+ full_message = message(msg) { exception_details(e, 'Exception raised: ') }
149
+ assert(false, full_message)
150
+ end
151
+ end
152
+ end
153
+
154
+
155
+ # JRuby 1.7.5 to 1.7.9 consider DateTime instances that differ by less than
156
+ # 1 millisecond to be equivalent (https://github.com/jruby/jruby/issues/1311).
157
+ #
158
+ # A few test cases compare at a resolution of 1 microsecond, so this causes
159
+ # failures on JRuby 1.7.5 to 1.7.9.
160
+ #
161
+ # Determine what the platform supports and adjust the tests accordingly.
162
+ DATETIME_RESOLUTION = (0..5).collect {|i| 10**i}.find {|i| (DateTime.new(2013,1,1,0,0,0) <=> DateTime.new(2013,1,1,0,0,Rational(i,1000000))) < 0}
163
+ raise 'Unable to compare DateTimes at a resolution less than one second on this platform' unless DATETIME_RESOLUTION
@@ -0,0 +1,7 @@
1
+ # Force a particular timezone to be local (helps find issues when local
2
+ # timezone isn't GMT). This won't work on Windows.
3
+ ENV['TZ'] = 'America/Los_Angeles'
4
+
5
+ Dir[File.join(File.expand_path(File.dirname(__FILE__)), 'tc_*.rb')].each {|t| require t}
6
+
7
+ puts "Using #{DataSource.get}"
@@ -0,0 +1,5 @@
1
+ require File.join(File.expand_path(File.dirname(__FILE__)), 'test_utils.rb')
2
+
3
+ TZInfo::DataSource.set(:ruby)
4
+
5
+ require File.join(File.expand_path(File.dirname(__FILE__)), 'ts_all.rb')
@@ -0,0 +1,7 @@
1
+ require File.join(File.expand_path(File.dirname(__FILE__)), 'test_utils.rb')
2
+
3
+ # Use a zoneinfo directory containing files needed by the tests.
4
+ # The symlinks in this directory are set up in test_utils.rb.
5
+ TZInfo::DataSource.set(:zoneinfo, File.join(File.expand_path(File.dirname(__FILE__)), 'zoneinfo').untaint)
6
+
7
+ require File.join(File.expand_path(File.dirname(__FILE__)), 'ts_all.rb')
@@ -0,0 +1,8 @@
1
+ # Top level module for TZInfo.
2
+ module TZInfo
3
+ # Top level module for TZInfo::Data.
4
+ module Data
5
+ end
6
+ end
7
+
8
+ require 'tzinfo/data/version'
@@ -0,0 +1,89 @@
1
+ # encoding: UTF-8
2
+
3
+ # This file contains data derived from the IANA Time Zone Database
4
+ # (http://www.iana.org/time-zones).
5
+
6
+ module TZInfo
7
+ module Data
8
+ module Definitions
9
+ module America
10
+ module Argentina
11
+ module Buenos_Aires
12
+ include TimezoneDefinition
13
+
14
+ timezone 'America/Argentina/Buenos_Aires' do |tz|
15
+ tz.offset :o0, -14028, 0, :LMT
16
+ tz.offset :o1, -15408, 0, :CMT
17
+ tz.offset :o2, -14400, 0, :ART
18
+ tz.offset :o3, -14400, 3600, :ARST
19
+ tz.offset :o4, -10800, 0, :ART
20
+ tz.offset :o5, -10800, 3600, :ARST
21
+
22
+ tz.transition 1894, 10, :o1, -2372097972, 17374555169, 7200
23
+ tz.transition 1920, 5, :o2, -1567453392, 1453467407, 600
24
+ tz.transition 1930, 12, :o3, -1233432000, 7278935, 3
25
+ tz.transition 1931, 4, :o2, -1222981200, 19411461, 8
26
+ tz.transition 1931, 10, :o3, -1205956800, 7279889, 3
27
+ tz.transition 1932, 3, :o2, -1194037200, 19414141, 8
28
+ tz.transition 1932, 11, :o3, -1172865600, 7281038, 3
29
+ tz.transition 1933, 3, :o2, -1162501200, 19417061, 8
30
+ tz.transition 1933, 11, :o3, -1141329600, 7282133, 3
31
+ tz.transition 1934, 3, :o2, -1130965200, 19419981, 8
32
+ tz.transition 1934, 11, :o3, -1109793600, 7283228, 3
33
+ tz.transition 1935, 3, :o2, -1099429200, 19422901, 8
34
+ tz.transition 1935, 11, :o3, -1078257600, 7284323, 3
35
+ tz.transition 1936, 3, :o2, -1067806800, 19425829, 8
36
+ tz.transition 1936, 11, :o3, -1046635200, 7285421, 3
37
+ tz.transition 1937, 3, :o2, -1036270800, 19428749, 8
38
+ tz.transition 1937, 11, :o3, -1015099200, 7286516, 3
39
+ tz.transition 1938, 3, :o2, -1004734800, 19431669, 8
40
+ tz.transition 1938, 11, :o3, -983563200, 7287611, 3
41
+ tz.transition 1939, 3, :o2, -973198800, 19434589, 8
42
+ tz.transition 1939, 11, :o3, -952027200, 7288706, 3
43
+ tz.transition 1940, 3, :o2, -941576400, 19437517, 8
44
+ tz.transition 1940, 7, :o3, -931032000, 7289435, 3
45
+ tz.transition 1941, 6, :o2, -900882000, 19441285, 8
46
+ tz.transition 1941, 10, :o3, -890337600, 7290848, 3
47
+ tz.transition 1943, 8, :o2, -833749200, 19447501, 8
48
+ tz.transition 1943, 10, :o3, -827265600, 7293038, 3
49
+ tz.transition 1946, 3, :o2, -752274000, 19455045, 8
50
+ tz.transition 1946, 10, :o3, -733780800, 7296284, 3
51
+ tz.transition 1963, 10, :o2, -197326800, 19506429, 8
52
+ tz.transition 1963, 12, :o3, -190843200, 7315136, 3
53
+ tz.transition 1964, 3, :o2, -184194000, 19507645, 8
54
+ tz.transition 1964, 10, :o3, -164491200, 7316051, 3
55
+ tz.transition 1965, 3, :o2, -152658000, 19510565, 8
56
+ tz.transition 1965, 10, :o3, -132955200, 7317146, 3
57
+ tz.transition 1966, 3, :o2, -121122000, 19513485, 8
58
+ tz.transition 1966, 10, :o3, -101419200, 7318241, 3
59
+ tz.transition 1967, 4, :o2, -86821200, 19516661, 8
60
+ tz.transition 1967, 10, :o3, -71092800, 7319294, 3
61
+ tz.transition 1968, 4, :o2, -54766800, 19519629, 8
62
+ tz.transition 1968, 10, :o3, -39038400, 7320407, 3
63
+ tz.transition 1969, 4, :o2, -23317200, 19522541, 8
64
+ tz.transition 1969, 10, :o4, -7588800, 7321499, 3
65
+ tz.transition 1974, 1, :o5, 128142000
66
+ tz.transition 1974, 5, :o4, 136605600
67
+ tz.transition 1988, 12, :o5, 596948400
68
+ tz.transition 1989, 3, :o4, 605066400
69
+ tz.transition 1989, 10, :o5, 624423600
70
+ tz.transition 1990, 3, :o4, 636516000
71
+ tz.transition 1990, 10, :o5, 656478000
72
+ tz.transition 1991, 3, :o4, 667965600
73
+ tz.transition 1991, 10, :o5, 687927600
74
+ tz.transition 1992, 3, :o4, 699415200
75
+ tz.transition 1992, 10, :o5, 719377200
76
+ tz.transition 1993, 3, :o4, 731469600
77
+ tz.transition 1999, 10, :o3, 938919600
78
+ tz.transition 2000, 3, :o4, 952052400
79
+ tz.transition 2007, 12, :o5, 1198983600
80
+ tz.transition 2008, 3, :o4, 1205632800
81
+ tz.transition 2008, 10, :o5, 1224385200
82
+ tz.transition 2009, 3, :o4, 1237082400
83
+ end
84
+ end
85
+ end
86
+ end
87
+ end
88
+ end
89
+ end
@@ -0,0 +1,315 @@
1
+ # encoding: UTF-8
2
+
3
+ # This file contains data derived from the IANA Time Zone Database
4
+ # (http://www.iana.org/time-zones).
5
+
6
+ module TZInfo
7
+ module Data
8
+ module Definitions
9
+ module America
10
+ module New_York
11
+ include TimezoneDefinition
12
+
13
+ timezone 'America/New_York' do |tz|
14
+ tz.offset :o0, -17762, 0, :LMT
15
+ tz.offset :o1, -18000, 0, :EST
16
+ tz.offset :o2, -18000, 3600, :EDT
17
+ tz.offset :o3, -18000, 3600, :EWT
18
+ tz.offset :o4, -18000, 3600, :EPT
19
+
20
+ tz.transition 1883, 11, :o1, -2717650800, 57819197, 24
21
+ tz.transition 1918, 3, :o2, -1633280400, 58120411, 24
22
+ tz.transition 1918, 10, :o1, -1615140000, 9687575, 4
23
+ tz.transition 1919, 3, :o2, -1601830800, 58129147, 24
24
+ tz.transition 1919, 10, :o1, -1583690400, 9689031, 4
25
+ tz.transition 1920, 3, :o2, -1570381200, 58137883, 24
26
+ tz.transition 1920, 10, :o1, -1551636000, 9690515, 4
27
+ tz.transition 1921, 4, :o2, -1536512400, 58147291, 24
28
+ tz.transition 1921, 9, :o1, -1523210400, 9691831, 4
29
+ tz.transition 1922, 4, :o2, -1504458000, 58156195, 24
30
+ tz.transition 1922, 9, :o1, -1491760800, 9693287, 4
31
+ tz.transition 1923, 4, :o2, -1473008400, 58164931, 24
32
+ tz.transition 1923, 9, :o1, -1459706400, 9694771, 4
33
+ tz.transition 1924, 4, :o2, -1441558800, 58173667, 24
34
+ tz.transition 1924, 9, :o1, -1428256800, 9696227, 4
35
+ tz.transition 1925, 4, :o2, -1410109200, 58182403, 24
36
+ tz.transition 1925, 9, :o1, -1396807200, 9697683, 4
37
+ tz.transition 1926, 4, :o2, -1378659600, 58191139, 24
38
+ tz.transition 1926, 9, :o1, -1365357600, 9699139, 4
39
+ tz.transition 1927, 4, :o2, -1347210000, 58199875, 24
40
+ tz.transition 1927, 9, :o1, -1333908000, 9700595, 4
41
+ tz.transition 1928, 4, :o2, -1315155600, 58208779, 24
42
+ tz.transition 1928, 9, :o1, -1301853600, 9702079, 4
43
+ tz.transition 1929, 4, :o2, -1283706000, 58217515, 24
44
+ tz.transition 1929, 9, :o1, -1270404000, 9703535, 4
45
+ tz.transition 1930, 4, :o2, -1252256400, 58226251, 24
46
+ tz.transition 1930, 9, :o1, -1238954400, 9704991, 4
47
+ tz.transition 1931, 4, :o2, -1220806800, 58234987, 24
48
+ tz.transition 1931, 9, :o1, -1207504800, 9706447, 4
49
+ tz.transition 1932, 4, :o2, -1189357200, 58243723, 24
50
+ tz.transition 1932, 9, :o1, -1176055200, 9707903, 4
51
+ tz.transition 1933, 4, :o2, -1157302800, 58252627, 24
52
+ tz.transition 1933, 9, :o1, -1144605600, 9709359, 4
53
+ tz.transition 1934, 4, :o2, -1125853200, 58261363, 24
54
+ tz.transition 1934, 9, :o1, -1112551200, 9710843, 4
55
+ tz.transition 1935, 4, :o2, -1094403600, 58270099, 24
56
+ tz.transition 1935, 9, :o1, -1081101600, 9712299, 4
57
+ tz.transition 1936, 4, :o2, -1062954000, 58278835, 24
58
+ tz.transition 1936, 9, :o1, -1049652000, 9713755, 4
59
+ tz.transition 1937, 4, :o2, -1031504400, 58287571, 24
60
+ tz.transition 1937, 9, :o1, -1018202400, 9715211, 4
61
+ tz.transition 1938, 4, :o2, -1000054800, 58296307, 24
62
+ tz.transition 1938, 9, :o1, -986752800, 9716667, 4
63
+ tz.transition 1939, 4, :o2, -968000400, 58305211, 24
64
+ tz.transition 1939, 9, :o1, -955303200, 9718123, 4
65
+ tz.transition 1940, 4, :o2, -936550800, 58313947, 24
66
+ tz.transition 1940, 9, :o1, -923248800, 9719607, 4
67
+ tz.transition 1941, 4, :o2, -905101200, 58322683, 24
68
+ tz.transition 1941, 9, :o1, -891799200, 9721063, 4
69
+ tz.transition 1942, 2, :o3, -880218000, 58329595, 24
70
+ tz.transition 1945, 8, :o4, -769395600, 58360379, 24
71
+ tz.transition 1945, 9, :o1, -765396000, 9726915, 4
72
+ tz.transition 1946, 4, :o2, -747248400, 58366531, 24
73
+ tz.transition 1946, 9, :o1, -733946400, 9728371, 4
74
+ tz.transition 1947, 4, :o2, -715798800, 58375267, 24
75
+ tz.transition 1947, 9, :o1, -702496800, 9729827, 4
76
+ tz.transition 1948, 4, :o2, -684349200, 58384003, 24
77
+ tz.transition 1948, 9, :o1, -671047200, 9731283, 4
78
+ tz.transition 1949, 4, :o2, -652899600, 58392739, 24
79
+ tz.transition 1949, 9, :o1, -639597600, 9732739, 4
80
+ tz.transition 1950, 4, :o2, -620845200, 58401643, 24
81
+ tz.transition 1950, 9, :o1, -608148000, 9734195, 4
82
+ tz.transition 1951, 4, :o2, -589395600, 58410379, 24
83
+ tz.transition 1951, 9, :o1, -576093600, 9735679, 4
84
+ tz.transition 1952, 4, :o2, -557946000, 58419115, 24
85
+ tz.transition 1952, 9, :o1, -544644000, 9737135, 4
86
+ tz.transition 1953, 4, :o2, -526496400, 58427851, 24
87
+ tz.transition 1953, 9, :o1, -513194400, 9738591, 4
88
+ tz.transition 1954, 4, :o2, -495046800, 58436587, 24
89
+ tz.transition 1954, 9, :o1, -481744800, 9740047, 4
90
+ tz.transition 1955, 4, :o2, -463597200, 58445323, 24
91
+ tz.transition 1955, 10, :o1, -447271200, 9741643, 4
92
+ tz.transition 1956, 4, :o2, -431542800, 58454227, 24
93
+ tz.transition 1956, 10, :o1, -415821600, 9743099, 4
94
+ tz.transition 1957, 4, :o2, -400093200, 58462963, 24
95
+ tz.transition 1957, 10, :o1, -384372000, 9744555, 4
96
+ tz.transition 1958, 4, :o2, -368643600, 58471699, 24
97
+ tz.transition 1958, 10, :o1, -352922400, 9746011, 4
98
+ tz.transition 1959, 4, :o2, -337194000, 58480435, 24
99
+ tz.transition 1959, 10, :o1, -321472800, 9747467, 4
100
+ tz.transition 1960, 4, :o2, -305744400, 58489171, 24
101
+ tz.transition 1960, 10, :o1, -289418400, 9748951, 4
102
+ tz.transition 1961, 4, :o2, -273690000, 58498075, 24
103
+ tz.transition 1961, 10, :o1, -257968800, 9750407, 4
104
+ tz.transition 1962, 4, :o2, -242240400, 58506811, 24
105
+ tz.transition 1962, 10, :o1, -226519200, 9751863, 4
106
+ tz.transition 1963, 4, :o2, -210790800, 58515547, 24
107
+ tz.transition 1963, 10, :o1, -195069600, 9753319, 4
108
+ tz.transition 1964, 4, :o2, -179341200, 58524283, 24
109
+ tz.transition 1964, 10, :o1, -163620000, 9754775, 4
110
+ tz.transition 1965, 4, :o2, -147891600, 58533019, 24
111
+ tz.transition 1965, 10, :o1, -131565600, 9756259, 4
112
+ tz.transition 1966, 4, :o2, -116442000, 58541755, 24
113
+ tz.transition 1966, 10, :o1, -100116000, 9757715, 4
114
+ tz.transition 1967, 4, :o2, -84387600, 58550659, 24
115
+ tz.transition 1967, 10, :o1, -68666400, 9759171, 4
116
+ tz.transition 1968, 4, :o2, -52938000, 58559395, 24
117
+ tz.transition 1968, 10, :o1, -37216800, 9760627, 4
118
+ tz.transition 1969, 4, :o2, -21488400, 58568131, 24
119
+ tz.transition 1969, 10, :o1, -5767200, 9762083, 4
120
+ tz.transition 1970, 4, :o2, 9961200
121
+ tz.transition 1970, 10, :o1, 25682400
122
+ tz.transition 1971, 4, :o2, 41410800
123
+ tz.transition 1971, 10, :o1, 57736800
124
+ tz.transition 1972, 4, :o2, 73465200
125
+ tz.transition 1972, 10, :o1, 89186400
126
+ tz.transition 1973, 4, :o2, 104914800
127
+ tz.transition 1973, 10, :o1, 120636000
128
+ tz.transition 1974, 1, :o2, 126687600
129
+ tz.transition 1974, 10, :o1, 152085600
130
+ tz.transition 1975, 2, :o2, 162370800
131
+ tz.transition 1975, 10, :o1, 183535200
132
+ tz.transition 1976, 4, :o2, 199263600
133
+ tz.transition 1976, 10, :o1, 215589600
134
+ tz.transition 1977, 4, :o2, 230713200
135
+ tz.transition 1977, 10, :o1, 247039200
136
+ tz.transition 1978, 4, :o2, 262767600
137
+ tz.transition 1978, 10, :o1, 278488800
138
+ tz.transition 1979, 4, :o2, 294217200
139
+ tz.transition 1979, 10, :o1, 309938400
140
+ tz.transition 1980, 4, :o2, 325666800
141
+ tz.transition 1980, 10, :o1, 341388000
142
+ tz.transition 1981, 4, :o2, 357116400
143
+ tz.transition 1981, 10, :o1, 372837600
144
+ tz.transition 1982, 4, :o2, 388566000
145
+ tz.transition 1982, 10, :o1, 404892000
146
+ tz.transition 1983, 4, :o2, 420015600
147
+ tz.transition 1983, 10, :o1, 436341600
148
+ tz.transition 1984, 4, :o2, 452070000
149
+ tz.transition 1984, 10, :o1, 467791200
150
+ tz.transition 1985, 4, :o2, 483519600
151
+ tz.transition 1985, 10, :o1, 499240800
152
+ tz.transition 1986, 4, :o2, 514969200
153
+ tz.transition 1986, 10, :o1, 530690400
154
+ tz.transition 1987, 4, :o2, 544604400
155
+ tz.transition 1987, 10, :o1, 562140000
156
+ tz.transition 1988, 4, :o2, 576054000
157
+ tz.transition 1988, 10, :o1, 594194400
158
+ tz.transition 1989, 4, :o2, 607503600
159
+ tz.transition 1989, 10, :o1, 625644000
160
+ tz.transition 1990, 4, :o2, 638953200
161
+ tz.transition 1990, 10, :o1, 657093600
162
+ tz.transition 1991, 4, :o2, 671007600
163
+ tz.transition 1991, 10, :o1, 688543200
164
+ tz.transition 1992, 4, :o2, 702457200
165
+ tz.transition 1992, 10, :o1, 719992800
166
+ tz.transition 1993, 4, :o2, 733906800
167
+ tz.transition 1993, 10, :o1, 752047200
168
+ tz.transition 1994, 4, :o2, 765356400
169
+ tz.transition 1994, 10, :o1, 783496800
170
+ tz.transition 1995, 4, :o2, 796806000
171
+ tz.transition 1995, 10, :o1, 814946400
172
+ tz.transition 1996, 4, :o2, 828860400
173
+ tz.transition 1996, 10, :o1, 846396000
174
+ tz.transition 1997, 4, :o2, 860310000
175
+ tz.transition 1997, 10, :o1, 877845600
176
+ tz.transition 1998, 4, :o2, 891759600
177
+ tz.transition 1998, 10, :o1, 909295200
178
+ tz.transition 1999, 4, :o2, 923209200
179
+ tz.transition 1999, 10, :o1, 941349600
180
+ tz.transition 2000, 4, :o2, 954658800
181
+ tz.transition 2000, 10, :o1, 972799200
182
+ tz.transition 2001, 4, :o2, 986108400
183
+ tz.transition 2001, 10, :o1, 1004248800
184
+ tz.transition 2002, 4, :o2, 1018162800
185
+ tz.transition 2002, 10, :o1, 1035698400
186
+ tz.transition 2003, 4, :o2, 1049612400
187
+ tz.transition 2003, 10, :o1, 1067148000
188
+ tz.transition 2004, 4, :o2, 1081062000
189
+ tz.transition 2004, 10, :o1, 1099202400
190
+ tz.transition 2005, 4, :o2, 1112511600
191
+ tz.transition 2005, 10, :o1, 1130652000
192
+ tz.transition 2006, 4, :o2, 1143961200
193
+ tz.transition 2006, 10, :o1, 1162101600
194
+ tz.transition 2007, 3, :o2, 1173596400
195
+ tz.transition 2007, 11, :o1, 1194156000
196
+ tz.transition 2008, 3, :o2, 1205046000
197
+ tz.transition 2008, 11, :o1, 1225605600
198
+ tz.transition 2009, 3, :o2, 1236495600
199
+ tz.transition 2009, 11, :o1, 1257055200
200
+ tz.transition 2010, 3, :o2, 1268550000
201
+ tz.transition 2010, 11, :o1, 1289109600
202
+ tz.transition 2011, 3, :o2, 1299999600
203
+ tz.transition 2011, 11, :o1, 1320559200
204
+ tz.transition 2012, 3, :o2, 1331449200
205
+ tz.transition 2012, 11, :o1, 1352008800
206
+ tz.transition 2013, 3, :o2, 1362898800
207
+ tz.transition 2013, 11, :o1, 1383458400
208
+ tz.transition 2014, 3, :o2, 1394348400
209
+ tz.transition 2014, 11, :o1, 1414908000
210
+ tz.transition 2015, 3, :o2, 1425798000
211
+ tz.transition 2015, 11, :o1, 1446357600
212
+ tz.transition 2016, 3, :o2, 1457852400
213
+ tz.transition 2016, 11, :o1, 1478412000
214
+ tz.transition 2017, 3, :o2, 1489302000
215
+ tz.transition 2017, 11, :o1, 1509861600
216
+ tz.transition 2018, 3, :o2, 1520751600
217
+ tz.transition 2018, 11, :o1, 1541311200
218
+ tz.transition 2019, 3, :o2, 1552201200
219
+ tz.transition 2019, 11, :o1, 1572760800
220
+ tz.transition 2020, 3, :o2, 1583650800
221
+ tz.transition 2020, 11, :o1, 1604210400
222
+ tz.transition 2021, 3, :o2, 1615705200
223
+ tz.transition 2021, 11, :o1, 1636264800
224
+ tz.transition 2022, 3, :o2, 1647154800
225
+ tz.transition 2022, 11, :o1, 1667714400
226
+ tz.transition 2023, 3, :o2, 1678604400
227
+ tz.transition 2023, 11, :o1, 1699164000
228
+ tz.transition 2024, 3, :o2, 1710054000
229
+ tz.transition 2024, 11, :o1, 1730613600
230
+ tz.transition 2025, 3, :o2, 1741503600
231
+ tz.transition 2025, 11, :o1, 1762063200
232
+ tz.transition 2026, 3, :o2, 1772953200
233
+ tz.transition 2026, 11, :o1, 1793512800
234
+ tz.transition 2027, 3, :o2, 1805007600
235
+ tz.transition 2027, 11, :o1, 1825567200
236
+ tz.transition 2028, 3, :o2, 1836457200
237
+ tz.transition 2028, 11, :o1, 1857016800
238
+ tz.transition 2029, 3, :o2, 1867906800
239
+ tz.transition 2029, 11, :o1, 1888466400
240
+ tz.transition 2030, 3, :o2, 1899356400
241
+ tz.transition 2030, 11, :o1, 1919916000
242
+ tz.transition 2031, 3, :o2, 1930806000
243
+ tz.transition 2031, 11, :o1, 1951365600
244
+ tz.transition 2032, 3, :o2, 1962860400
245
+ tz.transition 2032, 11, :o1, 1983420000
246
+ tz.transition 2033, 3, :o2, 1994310000
247
+ tz.transition 2033, 11, :o1, 2014869600
248
+ tz.transition 2034, 3, :o2, 2025759600
249
+ tz.transition 2034, 11, :o1, 2046319200
250
+ tz.transition 2035, 3, :o2, 2057209200
251
+ tz.transition 2035, 11, :o1, 2077768800
252
+ tz.transition 2036, 3, :o2, 2088658800
253
+ tz.transition 2036, 11, :o1, 2109218400
254
+ tz.transition 2037, 3, :o2, 2120108400
255
+ tz.transition 2037, 11, :o1, 2140668000
256
+ tz.transition 2038, 3, :o2, 2152162800, 59171923, 24
257
+ tz.transition 2038, 11, :o1, 2172722400, 9862939, 4
258
+ tz.transition 2039, 3, :o2, 2183612400, 59180659, 24
259
+ tz.transition 2039, 11, :o1, 2204172000, 9864395, 4
260
+ tz.transition 2040, 3, :o2, 2215062000, 59189395, 24
261
+ tz.transition 2040, 11, :o1, 2235621600, 9865851, 4
262
+ tz.transition 2041, 3, :o2, 2246511600, 59198131, 24
263
+ tz.transition 2041, 11, :o1, 2267071200, 9867307, 4
264
+ tz.transition 2042, 3, :o2, 2277961200, 59206867, 24
265
+ tz.transition 2042, 11, :o1, 2298520800, 9868763, 4
266
+ tz.transition 2043, 3, :o2, 2309410800, 59215603, 24
267
+ tz.transition 2043, 11, :o1, 2329970400, 9870219, 4
268
+ tz.transition 2044, 3, :o2, 2341465200, 59224507, 24
269
+ tz.transition 2044, 11, :o1, 2362024800, 9871703, 4
270
+ tz.transition 2045, 3, :o2, 2372914800, 59233243, 24
271
+ tz.transition 2045, 11, :o1, 2393474400, 9873159, 4
272
+ tz.transition 2046, 3, :o2, 2404364400, 59241979, 24
273
+ tz.transition 2046, 11, :o1, 2424924000, 9874615, 4
274
+ tz.transition 2047, 3, :o2, 2435814000, 59250715, 24
275
+ tz.transition 2047, 11, :o1, 2456373600, 9876071, 4
276
+ tz.transition 2048, 3, :o2, 2467263600, 59259451, 24
277
+ tz.transition 2048, 11, :o1, 2487823200, 9877527, 4
278
+ tz.transition 2049, 3, :o2, 2499318000, 59268355, 24
279
+ tz.transition 2049, 11, :o1, 2519877600, 9879011, 4
280
+ tz.transition 2050, 3, :o2, 2530767600, 59277091, 24
281
+ tz.transition 2050, 11, :o1, 2551327200, 9880467, 4
282
+ tz.transition 2051, 3, :o2, 2562217200, 59285827, 24
283
+ tz.transition 2051, 11, :o1, 2582776800, 9881923, 4
284
+ tz.transition 2052, 3, :o2, 2593666800, 59294563, 24
285
+ tz.transition 2052, 11, :o1, 2614226400, 9883379, 4
286
+ tz.transition 2053, 3, :o2, 2625116400, 59303299, 24
287
+ tz.transition 2053, 11, :o1, 2645676000, 9884835, 4
288
+ tz.transition 2054, 3, :o2, 2656566000, 59312035, 24
289
+ tz.transition 2054, 11, :o1, 2677125600, 9886291, 4
290
+ tz.transition 2055, 3, :o2, 2688620400, 59320939, 24
291
+ tz.transition 2055, 11, :o1, 2709180000, 9887775, 4
292
+ tz.transition 2056, 3, :o2, 2720070000, 59329675, 24
293
+ tz.transition 2056, 11, :o1, 2740629600, 9889231, 4
294
+ tz.transition 2057, 3, :o2, 2751519600, 59338411, 24
295
+ tz.transition 2057, 11, :o1, 2772079200, 9890687, 4
296
+ tz.transition 2058, 3, :o2, 2782969200, 59347147, 24
297
+ tz.transition 2058, 11, :o1, 2803528800, 9892143, 4
298
+ tz.transition 2059, 3, :o2, 2814418800, 59355883, 24
299
+ tz.transition 2059, 11, :o1, 2834978400, 9893599, 4
300
+ tz.transition 2060, 3, :o2, 2846473200, 59364787, 24
301
+ tz.transition 2060, 11, :o1, 2867032800, 9895083, 4
302
+ tz.transition 2061, 3, :o2, 2877922800, 59373523, 24
303
+ tz.transition 2061, 11, :o1, 2898482400, 9896539, 4
304
+ tz.transition 2062, 3, :o2, 2909372400, 59382259, 24
305
+ tz.transition 2062, 11, :o1, 2929932000, 9897995, 4
306
+ tz.transition 2063, 3, :o2, 2940822000, 59390995, 24
307
+ tz.transition 2063, 11, :o1, 2961381600, 9899451, 4
308
+ tz.transition 2064, 3, :o2, 2972271600, 59399731, 24
309
+ tz.transition 2064, 11, :o1, 2992831200, 9900907, 4
310
+ end
311
+ end
312
+ end
313
+ end
314
+ end
315
+ end