mail 2.7.1 → 2.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (126) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +135 -59
  3. data/lib/mail/attachments_list.rb +5 -6
  4. data/lib/mail/body.rb +51 -74
  5. data/lib/mail/constants.rb +27 -5
  6. data/lib/mail/elements/address.rb +27 -27
  7. data/lib/mail/elements/address_list.rb +1 -1
  8. data/lib/mail/elements/content_disposition_element.rb +1 -1
  9. data/lib/mail/elements/content_location_element.rb +1 -1
  10. data/lib/mail/elements/content_transfer_encoding_element.rb +1 -1
  11. data/lib/mail/elements/content_type_element.rb +8 -4
  12. data/lib/mail/elements/date_time_element.rb +1 -1
  13. data/lib/mail/elements/envelope_from_element.rb +13 -7
  14. data/lib/mail/elements/message_ids_element.rb +14 -5
  15. data/lib/mail/elements/mime_version_element.rb +1 -1
  16. data/lib/mail/elements/phrase_list.rb +7 -2
  17. data/lib/mail/elements/received_element.rb +20 -6
  18. data/lib/mail/encodings/7bit.rb +5 -0
  19. data/lib/mail/encodings/base64.rb +2 -2
  20. data/lib/mail/encodings/quoted_printable.rb +2 -2
  21. data/lib/mail/encodings/unix_to_unix.rb +1 -1
  22. data/lib/mail/encodings.rb +32 -61
  23. data/lib/mail/envelope.rb +11 -14
  24. data/lib/mail/field.rb +100 -86
  25. data/lib/mail/field_list.rb +61 -8
  26. data/lib/mail/fields/bcc_field.rb +33 -52
  27. data/lib/mail/fields/cc_field.rb +27 -49
  28. data/lib/mail/fields/comments_field.rb +26 -37
  29. data/lib/mail/fields/common_address_field.rb +162 -0
  30. data/lib/mail/fields/common_date_field.rb +56 -0
  31. data/lib/mail/fields/common_field.rb +77 -0
  32. data/lib/mail/fields/common_message_id_field.rb +41 -0
  33. data/lib/mail/fields/content_description_field.rb +6 -14
  34. data/lib/mail/fields/content_disposition_field.rb +11 -38
  35. data/lib/mail/fields/content_id_field.rb +23 -51
  36. data/lib/mail/fields/content_location_field.rb +10 -25
  37. data/lib/mail/fields/content_transfer_encoding_field.rb +30 -31
  38. data/lib/mail/fields/content_type_field.rb +49 -75
  39. data/lib/mail/fields/date_field.rb +22 -51
  40. data/lib/mail/fields/from_field.rb +27 -49
  41. data/lib/mail/fields/in_reply_to_field.rb +37 -49
  42. data/lib/mail/fields/keywords_field.rb +17 -31
  43. data/lib/mail/fields/message_id_field.rb +24 -71
  44. data/lib/mail/fields/mime_version_field.rb +18 -30
  45. data/lib/mail/fields/named_structured_field.rb +10 -0
  46. data/lib/mail/fields/named_unstructured_field.rb +10 -0
  47. data/lib/mail/fields/optional_field.rb +5 -7
  48. data/lib/mail/fields/{common/parameter_hash.rb → parameter_hash.rb} +12 -10
  49. data/lib/mail/fields/received_field.rb +42 -57
  50. data/lib/mail/fields/references_field.rb +34 -49
  51. data/lib/mail/fields/reply_to_field.rb +27 -49
  52. data/lib/mail/fields/resent_bcc_field.rb +27 -49
  53. data/lib/mail/fields/resent_cc_field.rb +27 -49
  54. data/lib/mail/fields/resent_date_field.rb +4 -29
  55. data/lib/mail/fields/resent_from_field.rb +27 -49
  56. data/lib/mail/fields/resent_message_id_field.rb +4 -29
  57. data/lib/mail/fields/resent_sender_field.rb +26 -56
  58. data/lib/mail/fields/resent_to_field.rb +27 -49
  59. data/lib/mail/fields/return_path_field.rb +49 -54
  60. data/lib/mail/fields/sender_field.rb +33 -55
  61. data/lib/mail/fields/structured_field.rb +2 -30
  62. data/lib/mail/fields/subject_field.rb +8 -11
  63. data/lib/mail/fields/to_field.rb +27 -49
  64. data/lib/mail/fields/unstructured_field.rb +15 -48
  65. data/lib/mail/fields.rb +9 -0
  66. data/lib/mail/header.rb +69 -110
  67. data/lib/mail/mail.rb +32 -27
  68. data/lib/mail/matchers/attachment_matchers.rb +15 -0
  69. data/lib/mail/message.rb +67 -78
  70. data/lib/mail/multibyte/chars.rb +9 -167
  71. data/lib/mail/multibyte/unicode.rb +1 -1
  72. data/lib/mail/multibyte/utils.rb +26 -43
  73. data/lib/mail/multibyte.rb +1 -11
  74. data/lib/mail/network/delivery_methods/exim.rb +5 -4
  75. data/lib/mail/network/delivery_methods/file_delivery.rb +13 -12
  76. data/lib/mail/network/delivery_methods/logger_delivery.rb +2 -5
  77. data/lib/mail/network/delivery_methods/sendmail.rb +27 -35
  78. data/lib/mail/network/delivery_methods/smtp.rb +81 -30
  79. data/lib/mail/network/delivery_methods/smtp_connection.rb +10 -19
  80. data/lib/mail/network/delivery_methods/test_mailer.rb +8 -6
  81. data/lib/mail/network/retriever_methods/base.rb +13 -13
  82. data/lib/mail/network/retriever_methods/imap.rb +8 -5
  83. data/lib/mail/network/retriever_methods/pop3.rb +22 -22
  84. data/lib/mail/network/retriever_methods/test_retriever.rb +2 -1
  85. data/lib/mail/parsers/address_lists_parser.rb +33073 -33064
  86. data/lib/mail/parsers/address_lists_parser.rl +11 -0
  87. data/lib/mail/parsers/content_disposition_parser.rb +837 -828
  88. data/lib/mail/parsers/content_disposition_parser.rl +11 -0
  89. data/lib/mail/parsers/content_location_parser.rb +773 -764
  90. data/lib/mail/parsers/content_location_parser.rl +12 -1
  91. data/lib/mail/parsers/content_transfer_encoding_parser.rb +477 -468
  92. data/lib/mail/parsers/content_transfer_encoding_parser.rl +11 -0
  93. data/lib/mail/parsers/content_type_parser.rb +974 -965
  94. data/lib/mail/parsers/content_type_parser.rl +11 -0
  95. data/lib/mail/parsers/date_time_parser.rb +841 -832
  96. data/lib/mail/parsers/date_time_parser.rl +11 -0
  97. data/lib/mail/parsers/envelope_from_parser.rb +3627 -3530
  98. data/lib/mail/parsers/envelope_from_parser.rl +11 -0
  99. data/lib/mail/parsers/message_ids_parser.rb +5110 -2800
  100. data/lib/mail/parsers/message_ids_parser.rl +16 -1
  101. data/lib/mail/parsers/mime_version_parser.rb +466 -457
  102. data/lib/mail/parsers/mime_version_parser.rl +11 -0
  103. data/lib/mail/parsers/phrase_lists_parser.rb +839 -830
  104. data/lib/mail/parsers/phrase_lists_parser.rl +12 -1
  105. data/lib/mail/parsers/received_parser.rb +8692 -8683
  106. data/lib/mail/parsers/received_parser.rl +11 -0
  107. data/lib/mail/parsers/rfc5322.rl +28 -13
  108. data/lib/mail/parsers.rb +11 -17
  109. data/lib/mail/part.rb +24 -28
  110. data/lib/mail/parts_list.rb +57 -0
  111. data/lib/mail/smtp_envelope.rb +57 -0
  112. data/lib/mail/utilities.rb +321 -69
  113. data/lib/mail/version.rb +1 -1
  114. data/lib/mail/yaml.rb +30 -0
  115. data/lib/mail.rb +2 -22
  116. metadata +83 -19
  117. data/lib/mail/check_delivery_params.rb +0 -60
  118. data/lib/mail/core_extensions/smtp.rb +0 -28
  119. data/lib/mail/core_extensions/string.rb +0 -17
  120. data/lib/mail/fields/common/address_container.rb +0 -17
  121. data/lib/mail/fields/common/common_address.rb +0 -161
  122. data/lib/mail/fields/common/common_date.rb +0 -36
  123. data/lib/mail/fields/common/common_field.rb +0 -52
  124. data/lib/mail/fields/common/common_message_id.rb +0 -49
  125. data/lib/mail/version_specific/ruby_1_8.rb +0 -163
  126. data/lib/mail/version_specific/ruby_1_9.rb +0 -278
@@ -1,895 +1,904 @@
1
-
2
1
  # frozen_string_literal: true
3
2
  require "mail/utilities"
4
3
  require "mail/parser_tools"
5
4
 
6
- module Mail::Parsers
7
- module ContentDispositionParser
8
- extend Mail::ParserTools
5
+ begin
6
+ original_verbose, $VERBOSE = $VERBOSE, nil
9
7
 
10
- ContentDispositionStruct = Struct.new(:disposition_type, :parameters, :error)
8
+ module Mail::Parsers
9
+ module ContentDispositionParser
10
+ extend Mail::ParserTools
11
11
 
12
- class << self
13
- attr_accessor :_trans_keys
14
- private :_trans_keys, :_trans_keys=
15
- end
16
- self._trans_keys = [
17
- 0, 0, 33, 126, 9, 126,
18
- 10, 10, 9, 32, 33,
19
- 126, 9, 126, 9, 40,
20
- 10, 10, 9, 32, 1, 244,
21
- 1, 244, 10, 10, 9,
22
- 32, 10, 10, 9, 32,
23
- 0, 244, 128, 191, 160, 191,
24
- 128, 191, 128, 159, 144,
25
- 191, 128, 191, 128, 143,
26
- 9, 40, 10, 10, 9, 32,
27
- 9, 126, 1, 244, 1,
28
- 244, 10, 10, 9, 32,
29
- 0, 244, 128, 191, 160, 191,
30
- 128, 191, 128, 159, 144,
31
- 191, 128, 191, 128, 143,
32
- 33, 126, 9, 59, 9, 59,
33
- 9, 126, 9, 59, 9,
34
- 59, 0, 0, 0,
35
- ]
36
-
37
- class << self
38
- attr_accessor :_key_spans
39
- private :_key_spans, :_key_spans=
40
- end
41
- self._key_spans = [
42
- 0, 94, 118, 1, 24, 94, 118, 32,
43
- 1, 24, 244, 244, 1, 24, 1, 24,
44
- 245, 64, 32, 64, 32, 48, 64, 16,
45
- 32, 1, 24, 118, 244, 244, 1, 24,
46
- 245, 64, 32, 64, 32, 48, 64, 16,
47
- 94, 51, 51, 118, 51, 51, 0,
48
- ]
49
-
50
- class << self
51
- attr_accessor :_index_offsets
52
- private :_index_offsets, :_index_offsets=
53
- end
54
- self._index_offsets = [
55
- 0, 0, 95, 214, 216, 241, 336, 455,
56
- 488, 490, 515, 760, 1005, 1007, 1032, 1034,
57
- 1059, 1305, 1370, 1403, 1468, 1501, 1550, 1615,
58
- 1632, 1665, 1667, 1692, 1811, 2056, 2301, 2303,
59
- 2328, 2574, 2639, 2672, 2737, 2770, 2819, 2884,
60
- 2901, 2996, 3048, 3100, 3219, 3271, 3323,
61
- ]
62
-
63
- class << self
64
- attr_accessor :_indicies
65
- private :_indicies, :_indicies=
66
- end
67
- self._indicies = [
68
- 0, 0, 0, 0, 0, 0, 0, 1,
69
- 1, 0, 0, 0, 0, 0, 1, 0,
70
- 0, 0, 0, 0, 0, 0, 0, 0,
71
- 0, 1, 1, 1, 1, 1, 1, 1,
72
- 0, 0, 0, 0, 0, 0, 0, 0,
73
- 0, 0, 0, 0, 0, 0, 0, 0,
74
- 0, 0, 0, 0, 0, 0, 0, 0,
75
- 0, 0, 1, 1, 1, 0, 0, 0,
76
- 0, 0, 0, 0, 0, 0, 0, 0,
77
- 0, 0, 0, 0, 0, 0, 0, 0,
78
- 0, 0, 0, 0, 0, 0, 0, 0,
79
- 0, 0, 0, 0, 0, 0, 1, 2,
80
- 1, 1, 1, 3, 1, 1, 1, 1,
81
- 1, 1, 1, 1, 1, 1, 1, 1,
82
- 1, 1, 1, 1, 1, 1, 2, 4,
83
- 4, 4, 4, 4, 4, 4, 5, 1,
84
- 4, 4, 4, 4, 4, 1, 4, 4,
85
- 4, 4, 4, 4, 4, 4, 4, 4,
86
- 1, 1, 1, 1, 1, 1, 1, 4,
87
- 4, 4, 4, 4, 4, 4, 4, 4,
88
- 4, 4, 4, 4, 4, 4, 4, 4,
89
- 4, 4, 4, 4, 4, 4, 4, 4,
90
- 4, 1, 1, 1, 4, 4, 4, 4,
91
- 4, 4, 4, 4, 4, 4, 4, 4,
92
- 4, 4, 4, 4, 4, 4, 4, 4,
93
- 4, 4, 4, 4, 4, 4, 4, 4,
94
- 4, 4, 4, 4, 4, 1, 6, 1,
95
- 2, 1, 1, 1, 1, 1, 1, 1,
96
- 1, 1, 1, 1, 1, 1, 1, 1,
97
- 1, 1, 1, 1, 1, 1, 1, 2,
98
- 1, 7, 7, 7, 7, 7, 7, 7,
99
- 1, 1, 7, 7, 7, 7, 7, 1,
100
- 7, 7, 7, 7, 7, 7, 7, 7,
101
- 7, 7, 1, 1, 1, 8, 1, 1,
102
- 1, 7, 7, 7, 7, 7, 7, 7,
103
- 7, 7, 7, 7, 7, 7, 7, 7,
104
- 7, 7, 7, 7, 7, 7, 7, 7,
105
- 7, 7, 7, 1, 1, 1, 7, 7,
106
- 7, 7, 7, 7, 7, 7, 7, 7,
107
- 7, 7, 7, 7, 7, 7, 7, 7,
108
- 7, 7, 7, 7, 7, 7, 7, 7,
109
- 7, 7, 7, 7, 7, 7, 7, 1,
110
- 9, 1, 1, 1, 10, 1, 1, 1,
111
- 1, 1, 1, 1, 1, 1, 1, 1,
112
- 1, 1, 1, 1, 1, 1, 1, 9,
113
- 11, 12, 11, 11, 11, 11, 11, 13,
114
- 1, 11, 11, 11, 11, 11, 1, 11,
115
- 11, 11, 11, 11, 11, 11, 11, 11,
116
- 11, 1, 1, 1, 11, 1, 1, 1,
117
- 11, 11, 11, 11, 11, 11, 11, 11,
118
- 11, 11, 11, 11, 11, 11, 11, 11,
119
- 11, 11, 11, 11, 11, 11, 11, 11,
120
- 11, 11, 1, 1, 1, 11, 11, 11,
121
- 11, 11, 11, 11, 11, 11, 11, 11,
122
- 11, 11, 11, 11, 11, 11, 11, 11,
123
- 11, 11, 11, 11, 11, 11, 11, 11,
124
- 11, 11, 11, 11, 11, 11, 1, 14,
125
- 1, 1, 1, 15, 1, 1, 1, 1,
126
- 1, 1, 1, 1, 1, 1, 1, 1,
127
- 1, 1, 1, 1, 1, 1, 14, 1,
128
- 16, 1, 1, 1, 1, 1, 17, 1,
129
- 18, 1, 14, 1, 1, 1, 1, 1,
130
- 1, 1, 1, 1, 1, 1, 1, 1,
131
- 1, 1, 1, 1, 1, 1, 1, 1,
132
- 1, 14, 1, 19, 19, 19, 19, 19,
133
- 19, 19, 19, 19, 1, 19, 19, 20,
134
- 19, 19, 19, 19, 19, 19, 19, 19,
135
- 19, 19, 19, 19, 19, 19, 19, 19,
136
- 19, 19, 19, 19, 21, 19, 19, 19,
137
- 19, 19, 19, 19, 19, 19, 19, 19,
138
- 19, 19, 19, 19, 19, 19, 19, 19,
139
- 19, 19, 19, 19, 19, 19, 19, 19,
140
- 19, 19, 19, 19, 19, 19, 19, 19,
141
- 19, 19, 19, 19, 19, 19, 19, 19,
142
- 19, 19, 19, 19, 19, 19, 19, 19,
143
- 19, 19, 19, 19, 19, 19, 22, 19,
144
- 19, 19, 19, 19, 19, 19, 19, 19,
145
- 19, 19, 19, 19, 19, 19, 19, 19,
146
- 19, 19, 19, 19, 19, 19, 19, 19,
147
- 19, 19, 19, 19, 19, 19, 19, 19,
148
- 19, 19, 1, 1, 1, 1, 1, 1,
149
- 1, 1, 1, 1, 1, 1, 1, 1,
150
- 1, 1, 1, 1, 1, 1, 1, 1,
151
- 1, 1, 1, 1, 1, 1, 1, 1,
152
- 1, 1, 1, 1, 1, 1, 1, 1,
153
- 1, 1, 1, 1, 1, 1, 1, 1,
154
- 1, 1, 1, 1, 1, 1, 1, 1,
155
- 1, 1, 1, 1, 1, 1, 1, 1,
156
- 1, 1, 1, 1, 23, 23, 23, 23,
157
- 23, 23, 23, 23, 23, 23, 23, 23,
158
- 23, 23, 23, 23, 23, 23, 23, 23,
159
- 23, 23, 23, 23, 23, 23, 23, 23,
160
- 23, 23, 24, 25, 25, 25, 25, 25,
161
- 25, 25, 25, 25, 25, 25, 25, 26,
162
- 25, 25, 27, 28, 28, 28, 29, 1,
163
- 30, 30, 30, 30, 30, 30, 30, 30,
164
- 30, 1, 30, 30, 31, 30, 30, 30,
165
- 30, 30, 30, 30, 30, 30, 30, 30,
166
- 30, 30, 30, 30, 30, 30, 30, 30,
167
- 30, 32, 30, 30, 30, 30, 30, 30,
168
- 30, 30, 30, 30, 30, 30, 30, 30,
169
- 30, 30, 30, 30, 30, 30, 30, 30,
170
- 30, 30, 30, 30, 30, 30, 30, 30,
171
- 30, 30, 30, 30, 30, 30, 30, 30,
172
- 30, 30, 30, 30, 30, 30, 30, 30,
173
- 30, 30, 30, 30, 30, 30, 30, 30,
174
- 30, 30, 30, 33, 30, 30, 30, 30,
175
- 30, 30, 30, 30, 30, 30, 30, 30,
176
- 30, 30, 30, 30, 30, 30, 30, 30,
177
- 30, 30, 30, 30, 30, 30, 30, 30,
178
- 30, 30, 30, 30, 30, 30, 30, 1,
179
- 1, 1, 1, 1, 1, 1, 1, 1,
180
- 1, 1, 1, 1, 1, 1, 1, 1,
181
- 1, 1, 1, 1, 1, 1, 1, 1,
182
- 1, 1, 1, 1, 1, 1, 1, 1,
183
- 1, 1, 1, 1, 1, 1, 1, 1,
184
- 1, 1, 1, 1, 1, 1, 1, 1,
185
- 1, 1, 1, 1, 1, 1, 1, 1,
186
- 1, 1, 1, 1, 1, 1, 1, 1,
187
- 1, 34, 34, 34, 34, 34, 34, 34,
188
- 34, 34, 34, 34, 34, 34, 34, 34,
189
- 34, 34, 34, 34, 34, 34, 34, 34,
190
- 34, 34, 34, 34, 34, 34, 34, 35,
191
- 36, 36, 36, 36, 36, 36, 36, 36,
192
- 36, 36, 36, 36, 37, 36, 36, 38,
193
- 39, 39, 39, 40, 1, 41, 1, 30,
194
- 1, 1, 1, 1, 1, 1, 1, 1,
195
- 1, 1, 1, 1, 1, 1, 1, 1,
196
- 1, 1, 1, 1, 1, 1, 30, 1,
197
- 42, 1, 43, 1, 1, 1, 1, 1,
198
- 1, 1, 1, 1, 1, 1, 1, 1,
199
- 1, 1, 1, 1, 1, 1, 1, 1,
200
- 1, 43, 1, 30, 30, 30, 30, 30,
201
- 30, 30, 30, 30, 30, 30, 30, 30,
202
- 30, 30, 30, 30, 30, 30, 30, 30,
203
- 30, 30, 30, 30, 30, 30, 30, 30,
204
- 30, 30, 30, 30, 30, 30, 30, 30,
205
- 30, 30, 30, 30, 30, 30, 30, 30,
206
- 30, 30, 30, 30, 30, 30, 30, 30,
207
- 30, 30, 30, 30, 30, 30, 30, 30,
208
- 30, 30, 30, 30, 30, 30, 30, 30,
209
- 30, 30, 30, 30, 30, 30, 30, 30,
210
- 30, 30, 30, 30, 30, 30, 30, 30,
211
- 30, 30, 30, 30, 30, 30, 30, 30,
212
- 30, 30, 30, 30, 30, 30, 30, 30,
213
- 30, 30, 30, 30, 30, 30, 30, 30,
214
- 30, 30, 30, 30, 30, 30, 30, 30,
215
- 30, 30, 30, 30, 30, 30, 30, 30,
216
- 30, 30, 30, 1, 1, 1, 1, 1,
217
- 1, 1, 1, 1, 1, 1, 1, 1,
218
- 1, 1, 1, 1, 1, 1, 1, 1,
219
- 1, 1, 1, 1, 1, 1, 1, 1,
220
- 1, 1, 1, 1, 1, 1, 1, 1,
221
- 1, 1, 1, 1, 1, 1, 1, 1,
222
- 1, 1, 1, 1, 1, 1, 1, 1,
223
- 1, 1, 1, 1, 1, 1, 1, 1,
224
- 1, 1, 1, 1, 1, 34, 34, 34,
225
- 34, 34, 34, 34, 34, 34, 34, 34,
226
- 34, 34, 34, 34, 34, 34, 34, 34,
227
- 34, 34, 34, 34, 34, 34, 34, 34,
228
- 34, 34, 34, 35, 36, 36, 36, 36,
229
- 36, 36, 36, 36, 36, 36, 36, 36,
230
- 37, 36, 36, 38, 39, 39, 39, 40,
231
- 1, 30, 30, 30, 30, 30, 30, 30,
232
- 30, 30, 30, 30, 30, 30, 30, 30,
233
- 30, 30, 30, 30, 30, 30, 30, 30,
234
- 30, 30, 30, 30, 30, 30, 30, 30,
235
- 30, 30, 30, 30, 30, 30, 30, 30,
236
- 30, 30, 30, 30, 30, 30, 30, 30,
237
- 30, 30, 30, 30, 30, 30, 30, 30,
238
- 30, 30, 30, 30, 30, 30, 30, 30,
239
- 30, 1, 34, 34, 34, 34, 34, 34,
240
- 34, 34, 34, 34, 34, 34, 34, 34,
241
- 34, 34, 34, 34, 34, 34, 34, 34,
242
- 34, 34, 34, 34, 34, 34, 34, 34,
243
- 34, 34, 1, 34, 34, 34, 34, 34,
244
- 34, 34, 34, 34, 34, 34, 34, 34,
245
- 34, 34, 34, 34, 34, 34, 34, 34,
246
- 34, 34, 34, 34, 34, 34, 34, 34,
247
- 34, 34, 34, 34, 34, 34, 34, 34,
248
- 34, 34, 34, 34, 34, 34, 34, 34,
249
- 34, 34, 34, 34, 34, 34, 34, 34,
250
- 34, 34, 34, 34, 34, 34, 34, 34,
251
- 34, 34, 34, 1, 34, 34, 34, 34,
252
- 34, 34, 34, 34, 34, 34, 34, 34,
253
- 34, 34, 34, 34, 34, 34, 34, 34,
254
- 34, 34, 34, 34, 34, 34, 34, 34,
255
- 34, 34, 34, 34, 1, 36, 36, 36,
256
- 36, 36, 36, 36, 36, 36, 36, 36,
257
- 36, 36, 36, 36, 36, 36, 36, 36,
258
- 36, 36, 36, 36, 36, 36, 36, 36,
259
- 36, 36, 36, 36, 36, 36, 36, 36,
260
- 36, 36, 36, 36, 36, 36, 36, 36,
261
- 36, 36, 36, 36, 36, 1, 36, 36,
262
- 36, 36, 36, 36, 36, 36, 36, 36,
263
- 36, 36, 36, 36, 36, 36, 36, 36,
264
- 36, 36, 36, 36, 36, 36, 36, 36,
265
- 36, 36, 36, 36, 36, 36, 36, 36,
266
- 36, 36, 36, 36, 36, 36, 36, 36,
267
- 36, 36, 36, 36, 36, 36, 36, 36,
268
- 36, 36, 36, 36, 36, 36, 36, 36,
269
- 36, 36, 36, 36, 36, 36, 1, 36,
270
- 36, 36, 36, 36, 36, 36, 36, 36,
271
- 36, 36, 36, 36, 36, 36, 36, 1,
272
- 44, 1, 1, 1, 45, 1, 1, 1,
273
- 1, 1, 1, 1, 1, 1, 1, 1,
274
- 1, 1, 1, 1, 1, 1, 1, 44,
275
- 1, 46, 1, 1, 1, 1, 1, 47,
276
- 1, 48, 1, 49, 1, 1, 1, 1,
277
- 1, 1, 1, 1, 1, 1, 1, 1,
278
- 1, 1, 1, 1, 1, 1, 1, 1,
279
- 1, 1, 49, 1, 50, 1, 1, 1,
280
- 51, 1, 1, 1, 1, 1, 1, 1,
281
- 1, 1, 1, 1, 1, 1, 1, 1,
282
- 1, 1, 1, 50, 52, 52, 52, 52,
283
- 52, 52, 52, 53, 1, 52, 52, 52,
284
- 52, 52, 1, 52, 52, 52, 52, 52,
285
- 52, 52, 52, 52, 52, 1, 1, 1,
286
- 1, 1, 1, 1, 52, 52, 52, 52,
287
- 52, 52, 52, 52, 52, 52, 52, 52,
288
- 52, 52, 52, 52, 52, 52, 52, 52,
289
- 52, 52, 52, 52, 52, 52, 1, 1,
290
- 1, 52, 52, 52, 52, 52, 52, 52,
291
- 52, 52, 52, 52, 52, 52, 52, 52,
292
- 52, 52, 52, 52, 52, 52, 52, 52,
293
- 52, 52, 52, 52, 52, 52, 52, 52,
294
- 52, 52, 1, 54, 54, 54, 54, 54,
295
- 54, 54, 54, 54, 1, 54, 54, 55,
296
- 54, 54, 54, 54, 54, 54, 54, 54,
297
- 54, 54, 54, 54, 54, 54, 54, 54,
298
- 54, 54, 54, 54, 54, 54, 54, 54,
299
- 54, 54, 56, 57, 54, 54, 54, 54,
300
- 54, 54, 54, 54, 54, 54, 54, 54,
301
- 54, 54, 54, 54, 54, 54, 54, 54,
302
- 54, 54, 54, 54, 54, 54, 54, 54,
303
- 54, 54, 54, 54, 54, 54, 54, 54,
304
- 54, 54, 54, 54, 54, 54, 54, 54,
305
- 54, 54, 54, 54, 54, 54, 58, 54,
306
- 54, 54, 54, 54, 54, 54, 54, 54,
307
- 54, 54, 54, 54, 54, 54, 54, 54,
308
- 54, 54, 54, 54, 54, 54, 54, 54,
309
- 54, 54, 54, 54, 54, 54, 54, 54,
310
- 54, 54, 1, 1, 1, 1, 1, 1,
311
- 1, 1, 1, 1, 1, 1, 1, 1,
312
- 1, 1, 1, 1, 1, 1, 1, 1,
313
- 1, 1, 1, 1, 1, 1, 1, 1,
314
- 1, 1, 1, 1, 1, 1, 1, 1,
315
- 1, 1, 1, 1, 1, 1, 1, 1,
316
- 1, 1, 1, 1, 1, 1, 1, 1,
317
- 1, 1, 1, 1, 1, 1, 1, 1,
318
- 1, 1, 1, 1, 59, 59, 59, 59,
319
- 59, 59, 59, 59, 59, 59, 59, 59,
320
- 59, 59, 59, 59, 59, 59, 59, 59,
321
- 59, 59, 59, 59, 59, 59, 59, 59,
322
- 59, 59, 60, 61, 61, 61, 61, 61,
323
- 61, 61, 61, 61, 61, 61, 61, 62,
324
- 61, 61, 63, 64, 64, 64, 65, 1,
325
- 66, 66, 66, 66, 66, 66, 66, 66,
326
- 66, 1, 66, 66, 67, 66, 66, 66,
327
- 66, 66, 66, 66, 66, 66, 66, 66,
328
- 66, 66, 66, 66, 66, 66, 66, 66,
329
- 66, 66, 66, 66, 66, 66, 66, 68,
330
- 69, 66, 66, 66, 66, 66, 66, 66,
331
- 66, 66, 66, 66, 66, 66, 66, 66,
332
- 66, 66, 66, 66, 66, 66, 66, 66,
333
- 66, 66, 66, 66, 66, 66, 66, 66,
334
- 66, 66, 66, 66, 66, 66, 66, 66,
335
- 66, 66, 66, 66, 66, 66, 66, 66,
336
- 66, 66, 66, 70, 66, 66, 66, 66,
337
- 66, 66, 66, 66, 66, 66, 66, 66,
338
- 66, 66, 66, 66, 66, 66, 66, 66,
339
- 66, 66, 66, 66, 66, 66, 66, 66,
340
- 66, 66, 66, 66, 66, 66, 66, 1,
341
- 1, 1, 1, 1, 1, 1, 1, 1,
342
- 1, 1, 1, 1, 1, 1, 1, 1,
343
- 1, 1, 1, 1, 1, 1, 1, 1,
344
- 1, 1, 1, 1, 1, 1, 1, 1,
345
- 1, 1, 1, 1, 1, 1, 1, 1,
346
- 1, 1, 1, 1, 1, 1, 1, 1,
347
- 1, 1, 1, 1, 1, 1, 1, 1,
348
- 1, 1, 1, 1, 1, 1, 1, 1,
349
- 1, 71, 71, 71, 71, 71, 71, 71,
350
- 71, 71, 71, 71, 71, 71, 71, 71,
351
- 71, 71, 71, 71, 71, 71, 71, 71,
352
- 71, 71, 71, 71, 71, 71, 71, 72,
353
- 73, 73, 73, 73, 73, 73, 73, 73,
354
- 73, 73, 73, 73, 74, 73, 73, 75,
355
- 76, 76, 76, 77, 1, 78, 1, 66,
356
- 1, 1, 1, 1, 1, 1, 1, 1,
357
- 1, 1, 1, 1, 1, 1, 1, 1,
358
- 1, 1, 1, 1, 1, 1, 66, 1,
359
- 66, 66, 66, 66, 66, 66, 66, 66,
360
- 66, 66, 66, 66, 66, 66, 66, 66,
361
- 66, 66, 66, 66, 66, 66, 66, 66,
362
- 66, 66, 66, 66, 66, 66, 66, 66,
363
- 66, 66, 66, 66, 66, 66, 66, 66,
364
- 66, 66, 66, 66, 66, 66, 66, 66,
365
- 66, 66, 66, 66, 66, 66, 66, 66,
366
- 66, 66, 66, 66, 66, 66, 66, 66,
367
- 66, 66, 66, 66, 66, 66, 66, 66,
368
- 66, 66, 66, 66, 66, 66, 66, 66,
369
- 66, 66, 66, 66, 66, 66, 66, 66,
370
- 66, 66, 66, 66, 66, 66, 66, 66,
371
- 66, 66, 66, 66, 66, 66, 66, 66,
372
- 66, 66, 66, 66, 66, 66, 66, 66,
373
- 66, 66, 66, 66, 66, 66, 66, 66,
374
- 66, 66, 66, 66, 66, 66, 66, 66,
375
- 1, 1, 1, 1, 1, 1, 1, 1,
376
- 1, 1, 1, 1, 1, 1, 1, 1,
377
- 1, 1, 1, 1, 1, 1, 1, 1,
378
- 1, 1, 1, 1, 1, 1, 1, 1,
379
- 1, 1, 1, 1, 1, 1, 1, 1,
380
- 1, 1, 1, 1, 1, 1, 1, 1,
381
- 1, 1, 1, 1, 1, 1, 1, 1,
382
- 1, 1, 1, 1, 1, 1, 1, 1,
383
- 1, 1, 71, 71, 71, 71, 71, 71,
384
- 71, 71, 71, 71, 71, 71, 71, 71,
385
- 71, 71, 71, 71, 71, 71, 71, 71,
386
- 71, 71, 71, 71, 71, 71, 71, 71,
387
- 72, 73, 73, 73, 73, 73, 73, 73,
388
- 73, 73, 73, 73, 73, 74, 73, 73,
389
- 75, 76, 76, 76, 77, 1, 66, 66,
390
- 66, 66, 66, 66, 66, 66, 66, 66,
391
- 66, 66, 66, 66, 66, 66, 66, 66,
392
- 66, 66, 66, 66, 66, 66, 66, 66,
393
- 66, 66, 66, 66, 66, 66, 66, 66,
394
- 66, 66, 66, 66, 66, 66, 66, 66,
395
- 66, 66, 66, 66, 66, 66, 66, 66,
396
- 66, 66, 66, 66, 66, 66, 66, 66,
397
- 66, 66, 66, 66, 66, 66, 1, 71,
398
- 71, 71, 71, 71, 71, 71, 71, 71,
399
- 71, 71, 71, 71, 71, 71, 71, 71,
400
- 71, 71, 71, 71, 71, 71, 71, 71,
401
- 71, 71, 71, 71, 71, 71, 71, 1,
402
- 71, 71, 71, 71, 71, 71, 71, 71,
403
- 71, 71, 71, 71, 71, 71, 71, 71,
404
- 71, 71, 71, 71, 71, 71, 71, 71,
405
- 71, 71, 71, 71, 71, 71, 71, 71,
406
- 71, 71, 71, 71, 71, 71, 71, 71,
407
- 71, 71, 71, 71, 71, 71, 71, 71,
408
- 71, 71, 71, 71, 71, 71, 71, 71,
409
- 71, 71, 71, 71, 71, 71, 71, 71,
410
- 1, 71, 71, 71, 71, 71, 71, 71,
411
- 71, 71, 71, 71, 71, 71, 71, 71,
412
- 71, 71, 71, 71, 71, 71, 71, 71,
413
- 71, 71, 71, 71, 71, 71, 71, 71,
414
- 71, 1, 73, 73, 73, 73, 73, 73,
415
- 73, 73, 73, 73, 73, 73, 73, 73,
416
- 73, 73, 73, 73, 73, 73, 73, 73,
417
- 73, 73, 73, 73, 73, 73, 73, 73,
418
- 73, 73, 73, 73, 73, 73, 73, 73,
419
- 73, 73, 73, 73, 73, 73, 73, 73,
420
- 73, 73, 1, 73, 73, 73, 73, 73,
421
- 73, 73, 73, 73, 73, 73, 73, 73,
422
- 73, 73, 73, 73, 73, 73, 73, 73,
423
- 73, 73, 73, 73, 73, 73, 73, 73,
424
- 73, 73, 73, 73, 73, 73, 73, 73,
425
- 73, 73, 73, 73, 73, 73, 73, 73,
426
- 73, 73, 73, 73, 73, 73, 73, 73,
427
- 73, 73, 73, 73, 73, 73, 73, 73,
428
- 73, 73, 73, 1, 73, 73, 73, 73,
429
- 73, 73, 73, 73, 73, 73, 73, 73,
430
- 73, 73, 73, 73, 1, 79, 79, 79,
431
- 79, 79, 79, 79, 1, 1, 79, 79,
432
- 79, 79, 79, 1, 79, 79, 79, 79,
433
- 79, 79, 79, 79, 79, 79, 1, 80,
434
- 1, 1, 1, 1, 1, 79, 79, 79,
435
- 79, 79, 79, 79, 79, 79, 79, 79,
436
- 79, 79, 79, 79, 79, 79, 79, 79,
437
- 79, 79, 79, 79, 79, 79, 79, 1,
438
- 1, 1, 79, 79, 79, 79, 79, 79,
439
- 79, 79, 79, 79, 79, 79, 79, 79,
440
- 79, 79, 79, 79, 79, 79, 79, 79,
441
- 79, 79, 79, 79, 79, 79, 79, 79,
442
- 79, 79, 79, 1, 81, 1, 1, 1,
443
- 82, 1, 1, 1, 1, 1, 1, 1,
444
- 1, 1, 1, 1, 1, 1, 1, 1,
445
- 1, 1, 1, 81, 1, 1, 1, 1,
446
- 1, 1, 1, 83, 1, 1, 1, 1,
447
- 1, 1, 1, 1, 1, 1, 1, 1,
448
- 1, 1, 1, 1, 1, 1, 84, 1,
449
- 85, 1, 1, 1, 86, 1, 1, 1,
450
- 1, 1, 1, 1, 1, 1, 1, 1,
451
- 1, 1, 1, 1, 1, 1, 1, 85,
452
- 1, 1, 1, 1, 1, 1, 1, 87,
453
- 1, 1, 1, 1, 1, 1, 1, 1,
454
- 1, 1, 1, 1, 1, 1, 1, 1,
455
- 1, 1, 88, 1, 89, 1, 1, 1,
456
- 90, 1, 1, 1, 1, 1, 1, 1,
457
- 1, 1, 1, 1, 1, 1, 1, 1,
458
- 1, 1, 1, 89, 91, 1, 91, 91,
459
- 91, 91, 91, 92, 1, 91, 91, 91,
460
- 91, 91, 1, 91, 91, 91, 91, 91,
461
- 91, 91, 91, 91, 91, 1, 84, 1,
462
- 91, 1, 1, 1, 91, 91, 91, 91,
463
- 91, 91, 91, 91, 91, 91, 91, 91,
464
- 91, 91, 91, 91, 91, 91, 91, 91,
465
- 91, 91, 91, 91, 91, 91, 1, 1,
466
- 1, 91, 91, 91, 91, 91, 91, 91,
467
- 91, 91, 91, 91, 91, 91, 91, 91,
468
- 91, 91, 91, 91, 91, 91, 91, 91,
469
- 91, 91, 91, 91, 91, 91, 91, 91,
470
- 91, 91, 1, 49, 1, 1, 1, 93,
471
- 1, 1, 1, 1, 1, 1, 1, 1,
472
- 1, 1, 1, 1, 1, 1, 1, 1,
473
- 1, 1, 49, 1, 1, 1, 1, 1,
474
- 1, 1, 94, 1, 1, 1, 1, 1,
475
- 1, 1, 1, 1, 1, 1, 1, 1,
476
- 1, 1, 1, 1, 1, 2, 1, 95,
477
- 1, 1, 1, 96, 1, 1, 1, 1,
478
- 1, 1, 1, 1, 1, 1, 1, 1,
479
- 1, 1, 1, 1, 1, 1, 95, 1,
480
- 1, 1, 1, 1, 1, 1, 97, 1,
481
- 1, 1, 1, 1, 1, 1, 1, 1,
482
- 1, 1, 1, 1, 1, 1, 1, 1,
483
- 1, 50, 1, 1, 0,
484
- ]
485
-
486
- class << self
487
- attr_accessor :_trans_targs
488
- private :_trans_targs, :_trans_targs=
489
- end
490
- self._trans_targs = [
491
- 40, 0, 2, 3, 5, 27, 4, 5,
492
- 6, 7, 8, 43, 10, 24, 7, 8,
493
- 10, 24, 9, 11, 12, 41, 16, 17,
494
- 18, 19, 20, 21, 22, 23, 11, 12,
495
- 41, 16, 17, 18, 19, 20, 21, 22,
496
- 23, 13, 15, 41, 7, 8, 10, 24,
497
- 26, 44, 2, 3, 5, 27, 29, 30,
498
- 29, 46, 32, 33, 34, 35, 36, 37,
499
- 38, 39, 29, 30, 29, 46, 32, 33,
500
- 34, 35, 36, 37, 38, 39, 31, 40,
501
- 2, 41, 14, 42, 2, 41, 14, 42,
502
- 2, 44, 25, 43, 45, 25, 45, 44,
503
- 25, 45,
504
- ]
505
-
506
- class << self
507
- attr_accessor :_trans_actions
508
- private :_trans_actions, :_trans_actions=
509
- end
510
- self._trans_actions = [
511
- 1, 0, 0, 0, 2, 3, 0, 0,
512
- 4, 5, 5, 5, 5, 6, 0, 0,
513
- 0, 3, 0, 7, 7, 8, 7, 7,
514
- 7, 7, 7, 7, 7, 7, 0, 0,
515
- 9, 0, 0, 0, 0, 0, 0, 0,
516
- 0, 0, 0, 0, 10, 10, 10, 11,
517
- 0, 0, 10, 10, 12, 11, 13, 13,
518
- 14, 15, 13, 13, 13, 13, 13, 13,
519
- 13, 13, 0, 0, 3, 16, 0, 0,
520
- 0, 0, 0, 0, 0, 0, 0, 0,
521
- 17, 18, 18, 19, 18, 20, 20, 21,
522
- 20, 18, 18, 0, 22, 0, 3, 10,
523
- 10, 11,
524
- ]
525
-
526
- class << self
527
- attr_accessor :_eof_actions
528
- private :_eof_actions, :_eof_actions=
529
- end
530
- self._eof_actions = [
531
- 0, 0, 0, 0, 0, 0, 0, 0,
532
- 0, 0, 0, 0, 0, 0, 0, 0,
533
- 0, 0, 0, 0, 0, 0, 0, 0,
534
- 0, 0, 0, 0, 0, 0, 0, 0,
535
- 0, 0, 0, 0, 0, 0, 0, 0,
536
- 17, 18, 20, 18, 0, 10, 0,
537
- ]
538
-
539
- class << self
540
- attr_accessor :start
541
- end
542
- self.start = 1
543
- class << self
544
- attr_accessor :first_final
545
- end
546
- self.first_final = 40
547
- class << self
548
- attr_accessor :error
549
- end
550
- self.error = 0
12
+ ContentDispositionStruct = Struct.new(:disposition_type, :parameters, :error)
551
13
 
552
- class << self
553
- attr_accessor :en_comment_tail
554
- end
555
- self.en_comment_tail = 28
556
- class << self
557
- attr_accessor :en_main
558
- end
559
- self.en_main = 1
14
+ class << self
15
+ attr_accessor :_trans_keys
16
+ private :_trans_keys, :_trans_keys=
17
+ end
18
+ self._trans_keys = [
19
+ 0, 0, 33, 126, 9, 126,
20
+ 10, 10, 9, 32, 33,
21
+ 126, 9, 126, 9, 40,
22
+ 10, 10, 9, 32, 1, 244,
23
+ 1, 244, 10, 10, 9,
24
+ 32, 10, 10, 9, 32,
25
+ 0, 244, 128, 191, 160, 191,
26
+ 128, 191, 128, 159, 144,
27
+ 191, 128, 191, 128, 143,
28
+ 9, 40, 10, 10, 9, 32,
29
+ 9, 126, 1, 244, 1,
30
+ 244, 10, 10, 9, 32,
31
+ 0, 244, 128, 191, 160, 191,
32
+ 128, 191, 128, 159, 144,
33
+ 191, 128, 191, 128, 143,
34
+ 33, 126, 9, 59, 9, 59,
35
+ 9, 126, 9, 59, 9,
36
+ 59, 0, 0, 0,
37
+ ]
38
+
39
+ class << self
40
+ attr_accessor :_key_spans
41
+ private :_key_spans, :_key_spans=
42
+ end
43
+ self._key_spans = [
44
+ 0, 94, 118, 1, 24, 94, 118, 32,
45
+ 1, 24, 244, 244, 1, 24, 1, 24,
46
+ 245, 64, 32, 64, 32, 48, 64, 16,
47
+ 32, 1, 24, 118, 244, 244, 1, 24,
48
+ 245, 64, 32, 64, 32, 48, 64, 16,
49
+ 94, 51, 51, 118, 51, 51, 0,
50
+ ]
51
+
52
+ class << self
53
+ attr_accessor :_index_offsets
54
+ private :_index_offsets, :_index_offsets=
55
+ end
56
+ self._index_offsets = [
57
+ 0, 0, 95, 214, 216, 241, 336, 455,
58
+ 488, 490, 515, 760, 1005, 1007, 1032, 1034,
59
+ 1059, 1305, 1370, 1403, 1468, 1501, 1550, 1615,
60
+ 1632, 1665, 1667, 1692, 1811, 2056, 2301, 2303,
61
+ 2328, 2574, 2639, 2672, 2737, 2770, 2819, 2884,
62
+ 2901, 2996, 3048, 3100, 3219, 3271, 3323,
63
+ ]
64
+
65
+ class << self
66
+ attr_accessor :_indicies
67
+ private :_indicies, :_indicies=
68
+ end
69
+ self._indicies = [
70
+ 0, 0, 0, 0, 0, 0, 0, 1,
71
+ 1, 0, 0, 0, 0, 0, 1, 0,
72
+ 0, 0, 0, 0, 0, 0, 0, 0,
73
+ 0, 1, 1, 1, 1, 1, 1, 1,
74
+ 0, 0, 0, 0, 0, 0, 0, 0,
75
+ 0, 0, 0, 0, 0, 0, 0, 0,
76
+ 0, 0, 0, 0, 0, 0, 0, 0,
77
+ 0, 0, 1, 1, 1, 0, 0, 0,
78
+ 0, 0, 0, 0, 0, 0, 0, 0,
79
+ 0, 0, 0, 0, 0, 0, 0, 0,
80
+ 0, 0, 0, 0, 0, 0, 0, 0,
81
+ 0, 0, 0, 0, 0, 0, 1, 2,
82
+ 1, 1, 1, 3, 1, 1, 1, 1,
83
+ 1, 1, 1, 1, 1, 1, 1, 1,
84
+ 1, 1, 1, 1, 1, 1, 2, 4,
85
+ 4, 4, 4, 4, 4, 4, 5, 1,
86
+ 4, 4, 4, 4, 4, 1, 4, 4,
87
+ 4, 4, 4, 4, 4, 4, 4, 4,
88
+ 1, 1, 1, 1, 1, 1, 1, 4,
89
+ 4, 4, 4, 4, 4, 4, 4, 4,
90
+ 4, 4, 4, 4, 4, 4, 4, 4,
91
+ 4, 4, 4, 4, 4, 4, 4, 4,
92
+ 4, 1, 1, 1, 4, 4, 4, 4,
93
+ 4, 4, 4, 4, 4, 4, 4, 4,
94
+ 4, 4, 4, 4, 4, 4, 4, 4,
95
+ 4, 4, 4, 4, 4, 4, 4, 4,
96
+ 4, 4, 4, 4, 4, 1, 6, 1,
97
+ 2, 1, 1, 1, 1, 1, 1, 1,
98
+ 1, 1, 1, 1, 1, 1, 1, 1,
99
+ 1, 1, 1, 1, 1, 1, 1, 2,
100
+ 1, 7, 7, 7, 7, 7, 7, 7,
101
+ 1, 1, 7, 7, 7, 7, 7, 1,
102
+ 7, 7, 7, 7, 7, 7, 7, 7,
103
+ 7, 7, 1, 1, 1, 8, 1, 1,
104
+ 1, 7, 7, 7, 7, 7, 7, 7,
105
+ 7, 7, 7, 7, 7, 7, 7, 7,
106
+ 7, 7, 7, 7, 7, 7, 7, 7,
107
+ 7, 7, 7, 1, 1, 1, 7, 7,
108
+ 7, 7, 7, 7, 7, 7, 7, 7,
109
+ 7, 7, 7, 7, 7, 7, 7, 7,
110
+ 7, 7, 7, 7, 7, 7, 7, 7,
111
+ 7, 7, 7, 7, 7, 7, 7, 1,
112
+ 9, 1, 1, 1, 10, 1, 1, 1,
113
+ 1, 1, 1, 1, 1, 1, 1, 1,
114
+ 1, 1, 1, 1, 1, 1, 1, 9,
115
+ 11, 12, 11, 11, 11, 11, 11, 13,
116
+ 1, 11, 11, 11, 11, 11, 1, 11,
117
+ 11, 11, 11, 11, 11, 11, 11, 11,
118
+ 11, 1, 1, 1, 11, 1, 1, 1,
119
+ 11, 11, 11, 11, 11, 11, 11, 11,
120
+ 11, 11, 11, 11, 11, 11, 11, 11,
121
+ 11, 11, 11, 11, 11, 11, 11, 11,
122
+ 11, 11, 1, 1, 1, 11, 11, 11,
123
+ 11, 11, 11, 11, 11, 11, 11, 11,
124
+ 11, 11, 11, 11, 11, 11, 11, 11,
125
+ 11, 11, 11, 11, 11, 11, 11, 11,
126
+ 11, 11, 11, 11, 11, 11, 1, 14,
127
+ 1, 1, 1, 15, 1, 1, 1, 1,
128
+ 1, 1, 1, 1, 1, 1, 1, 1,
129
+ 1, 1, 1, 1, 1, 1, 14, 1,
130
+ 16, 1, 1, 1, 1, 1, 17, 1,
131
+ 18, 1, 14, 1, 1, 1, 1, 1,
132
+ 1, 1, 1, 1, 1, 1, 1, 1,
133
+ 1, 1, 1, 1, 1, 1, 1, 1,
134
+ 1, 14, 1, 19, 19, 19, 19, 19,
135
+ 19, 19, 19, 19, 1, 19, 19, 20,
136
+ 19, 19, 19, 19, 19, 19, 19, 19,
137
+ 19, 19, 19, 19, 19, 19, 19, 19,
138
+ 19, 19, 19, 19, 21, 19, 19, 19,
139
+ 19, 19, 19, 19, 19, 19, 19, 19,
140
+ 19, 19, 19, 19, 19, 19, 19, 19,
141
+ 19, 19, 19, 19, 19, 19, 19, 19,
142
+ 19, 19, 19, 19, 19, 19, 19, 19,
143
+ 19, 19, 19, 19, 19, 19, 19, 19,
144
+ 19, 19, 19, 19, 19, 19, 19, 19,
145
+ 19, 19, 19, 19, 19, 19, 22, 19,
146
+ 19, 19, 19, 19, 19, 19, 19, 19,
147
+ 19, 19, 19, 19, 19, 19, 19, 19,
148
+ 19, 19, 19, 19, 19, 19, 19, 19,
149
+ 19, 19, 19, 19, 19, 19, 19, 19,
150
+ 19, 19, 1, 1, 1, 1, 1, 1,
151
+ 1, 1, 1, 1, 1, 1, 1, 1,
152
+ 1, 1, 1, 1, 1, 1, 1, 1,
153
+ 1, 1, 1, 1, 1, 1, 1, 1,
154
+ 1, 1, 1, 1, 1, 1, 1, 1,
155
+ 1, 1, 1, 1, 1, 1, 1, 1,
156
+ 1, 1, 1, 1, 1, 1, 1, 1,
157
+ 1, 1, 1, 1, 1, 1, 1, 1,
158
+ 1, 1, 1, 1, 23, 23, 23, 23,
159
+ 23, 23, 23, 23, 23, 23, 23, 23,
160
+ 23, 23, 23, 23, 23, 23, 23, 23,
161
+ 23, 23, 23, 23, 23, 23, 23, 23,
162
+ 23, 23, 24, 25, 25, 25, 25, 25,
163
+ 25, 25, 25, 25, 25, 25, 25, 26,
164
+ 25, 25, 27, 28, 28, 28, 29, 1,
165
+ 30, 30, 30, 30, 30, 30, 30, 30,
166
+ 30, 1, 30, 30, 31, 30, 30, 30,
167
+ 30, 30, 30, 30, 30, 30, 30, 30,
168
+ 30, 30, 30, 30, 30, 30, 30, 30,
169
+ 30, 32, 30, 30, 30, 30, 30, 30,
170
+ 30, 30, 30, 30, 30, 30, 30, 30,
171
+ 30, 30, 30, 30, 30, 30, 30, 30,
172
+ 30, 30, 30, 30, 30, 30, 30, 30,
173
+ 30, 30, 30, 30, 30, 30, 30, 30,
174
+ 30, 30, 30, 30, 30, 30, 30, 30,
175
+ 30, 30, 30, 30, 30, 30, 30, 30,
176
+ 30, 30, 30, 33, 30, 30, 30, 30,
177
+ 30, 30, 30, 30, 30, 30, 30, 30,
178
+ 30, 30, 30, 30, 30, 30, 30, 30,
179
+ 30, 30, 30, 30, 30, 30, 30, 30,
180
+ 30, 30, 30, 30, 30, 30, 30, 1,
181
+ 1, 1, 1, 1, 1, 1, 1, 1,
182
+ 1, 1, 1, 1, 1, 1, 1, 1,
183
+ 1, 1, 1, 1, 1, 1, 1, 1,
184
+ 1, 1, 1, 1, 1, 1, 1, 1,
185
+ 1, 1, 1, 1, 1, 1, 1, 1,
186
+ 1, 1, 1, 1, 1, 1, 1, 1,
187
+ 1, 1, 1, 1, 1, 1, 1, 1,
188
+ 1, 1, 1, 1, 1, 1, 1, 1,
189
+ 1, 34, 34, 34, 34, 34, 34, 34,
190
+ 34, 34, 34, 34, 34, 34, 34, 34,
191
+ 34, 34, 34, 34, 34, 34, 34, 34,
192
+ 34, 34, 34, 34, 34, 34, 34, 35,
193
+ 36, 36, 36, 36, 36, 36, 36, 36,
194
+ 36, 36, 36, 36, 37, 36, 36, 38,
195
+ 39, 39, 39, 40, 1, 41, 1, 30,
196
+ 1, 1, 1, 1, 1, 1, 1, 1,
197
+ 1, 1, 1, 1, 1, 1, 1, 1,
198
+ 1, 1, 1, 1, 1, 1, 30, 1,
199
+ 42, 1, 43, 1, 1, 1, 1, 1,
200
+ 1, 1, 1, 1, 1, 1, 1, 1,
201
+ 1, 1, 1, 1, 1, 1, 1, 1,
202
+ 1, 43, 1, 30, 30, 30, 30, 30,
203
+ 30, 30, 30, 30, 30, 30, 30, 30,
204
+ 30, 30, 30, 30, 30, 30, 30, 30,
205
+ 30, 30, 30, 30, 30, 30, 30, 30,
206
+ 30, 30, 30, 30, 30, 30, 30, 30,
207
+ 30, 30, 30, 30, 30, 30, 30, 30,
208
+ 30, 30, 30, 30, 30, 30, 30, 30,
209
+ 30, 30, 30, 30, 30, 30, 30, 30,
210
+ 30, 30, 30, 30, 30, 30, 30, 30,
211
+ 30, 30, 30, 30, 30, 30, 30, 30,
212
+ 30, 30, 30, 30, 30, 30, 30, 30,
213
+ 30, 30, 30, 30, 30, 30, 30, 30,
214
+ 30, 30, 30, 30, 30, 30, 30, 30,
215
+ 30, 30, 30, 30, 30, 30, 30, 30,
216
+ 30, 30, 30, 30, 30, 30, 30, 30,
217
+ 30, 30, 30, 30, 30, 30, 30, 30,
218
+ 30, 30, 30, 1, 1, 1, 1, 1,
219
+ 1, 1, 1, 1, 1, 1, 1, 1,
220
+ 1, 1, 1, 1, 1, 1, 1, 1,
221
+ 1, 1, 1, 1, 1, 1, 1, 1,
222
+ 1, 1, 1, 1, 1, 1, 1, 1,
223
+ 1, 1, 1, 1, 1, 1, 1, 1,
224
+ 1, 1, 1, 1, 1, 1, 1, 1,
225
+ 1, 1, 1, 1, 1, 1, 1, 1,
226
+ 1, 1, 1, 1, 1, 34, 34, 34,
227
+ 34, 34, 34, 34, 34, 34, 34, 34,
228
+ 34, 34, 34, 34, 34, 34, 34, 34,
229
+ 34, 34, 34, 34, 34, 34, 34, 34,
230
+ 34, 34, 34, 35, 36, 36, 36, 36,
231
+ 36, 36, 36, 36, 36, 36, 36, 36,
232
+ 37, 36, 36, 38, 39, 39, 39, 40,
233
+ 1, 30, 30, 30, 30, 30, 30, 30,
234
+ 30, 30, 30, 30, 30, 30, 30, 30,
235
+ 30, 30, 30, 30, 30, 30, 30, 30,
236
+ 30, 30, 30, 30, 30, 30, 30, 30,
237
+ 30, 30, 30, 30, 30, 30, 30, 30,
238
+ 30, 30, 30, 30, 30, 30, 30, 30,
239
+ 30, 30, 30, 30, 30, 30, 30, 30,
240
+ 30, 30, 30, 30, 30, 30, 30, 30,
241
+ 30, 1, 34, 34, 34, 34, 34, 34,
242
+ 34, 34, 34, 34, 34, 34, 34, 34,
243
+ 34, 34, 34, 34, 34, 34, 34, 34,
244
+ 34, 34, 34, 34, 34, 34, 34, 34,
245
+ 34, 34, 1, 34, 34, 34, 34, 34,
246
+ 34, 34, 34, 34, 34, 34, 34, 34,
247
+ 34, 34, 34, 34, 34, 34, 34, 34,
248
+ 34, 34, 34, 34, 34, 34, 34, 34,
249
+ 34, 34, 34, 34, 34, 34, 34, 34,
250
+ 34, 34, 34, 34, 34, 34, 34, 34,
251
+ 34, 34, 34, 34, 34, 34, 34, 34,
252
+ 34, 34, 34, 34, 34, 34, 34, 34,
253
+ 34, 34, 34, 1, 34, 34, 34, 34,
254
+ 34, 34, 34, 34, 34, 34, 34, 34,
255
+ 34, 34, 34, 34, 34, 34, 34, 34,
256
+ 34, 34, 34, 34, 34, 34, 34, 34,
257
+ 34, 34, 34, 34, 1, 36, 36, 36,
258
+ 36, 36, 36, 36, 36, 36, 36, 36,
259
+ 36, 36, 36, 36, 36, 36, 36, 36,
260
+ 36, 36, 36, 36, 36, 36, 36, 36,
261
+ 36, 36, 36, 36, 36, 36, 36, 36,
262
+ 36, 36, 36, 36, 36, 36, 36, 36,
263
+ 36, 36, 36, 36, 36, 1, 36, 36,
264
+ 36, 36, 36, 36, 36, 36, 36, 36,
265
+ 36, 36, 36, 36, 36, 36, 36, 36,
266
+ 36, 36, 36, 36, 36, 36, 36, 36,
267
+ 36, 36, 36, 36, 36, 36, 36, 36,
268
+ 36, 36, 36, 36, 36, 36, 36, 36,
269
+ 36, 36, 36, 36, 36, 36, 36, 36,
270
+ 36, 36, 36, 36, 36, 36, 36, 36,
271
+ 36, 36, 36, 36, 36, 36, 1, 36,
272
+ 36, 36, 36, 36, 36, 36, 36, 36,
273
+ 36, 36, 36, 36, 36, 36, 36, 1,
274
+ 44, 1, 1, 1, 45, 1, 1, 1,
275
+ 1, 1, 1, 1, 1, 1, 1, 1,
276
+ 1, 1, 1, 1, 1, 1, 1, 44,
277
+ 1, 46, 1, 1, 1, 1, 1, 47,
278
+ 1, 48, 1, 49, 1, 1, 1, 1,
279
+ 1, 1, 1, 1, 1, 1, 1, 1,
280
+ 1, 1, 1, 1, 1, 1, 1, 1,
281
+ 1, 1, 49, 1, 50, 1, 1, 1,
282
+ 51, 1, 1, 1, 1, 1, 1, 1,
283
+ 1, 1, 1, 1, 1, 1, 1, 1,
284
+ 1, 1, 1, 50, 52, 52, 52, 52,
285
+ 52, 52, 52, 53, 1, 52, 52, 52,
286
+ 52, 52, 1, 52, 52, 52, 52, 52,
287
+ 52, 52, 52, 52, 52, 1, 1, 1,
288
+ 1, 1, 1, 1, 52, 52, 52, 52,
289
+ 52, 52, 52, 52, 52, 52, 52, 52,
290
+ 52, 52, 52, 52, 52, 52, 52, 52,
291
+ 52, 52, 52, 52, 52, 52, 1, 1,
292
+ 1, 52, 52, 52, 52, 52, 52, 52,
293
+ 52, 52, 52, 52, 52, 52, 52, 52,
294
+ 52, 52, 52, 52, 52, 52, 52, 52,
295
+ 52, 52, 52, 52, 52, 52, 52, 52,
296
+ 52, 52, 1, 54, 54, 54, 54, 54,
297
+ 54, 54, 54, 54, 1, 54, 54, 55,
298
+ 54, 54, 54, 54, 54, 54, 54, 54,
299
+ 54, 54, 54, 54, 54, 54, 54, 54,
300
+ 54, 54, 54, 54, 54, 54, 54, 54,
301
+ 54, 54, 56, 57, 54, 54, 54, 54,
302
+ 54, 54, 54, 54, 54, 54, 54, 54,
303
+ 54, 54, 54, 54, 54, 54, 54, 54,
304
+ 54, 54, 54, 54, 54, 54, 54, 54,
305
+ 54, 54, 54, 54, 54, 54, 54, 54,
306
+ 54, 54, 54, 54, 54, 54, 54, 54,
307
+ 54, 54, 54, 54, 54, 54, 58, 54,
308
+ 54, 54, 54, 54, 54, 54, 54, 54,
309
+ 54, 54, 54, 54, 54, 54, 54, 54,
310
+ 54, 54, 54, 54, 54, 54, 54, 54,
311
+ 54, 54, 54, 54, 54, 54, 54, 54,
312
+ 54, 54, 1, 1, 1, 1, 1, 1,
313
+ 1, 1, 1, 1, 1, 1, 1, 1,
314
+ 1, 1, 1, 1, 1, 1, 1, 1,
315
+ 1, 1, 1, 1, 1, 1, 1, 1,
316
+ 1, 1, 1, 1, 1, 1, 1, 1,
317
+ 1, 1, 1, 1, 1, 1, 1, 1,
318
+ 1, 1, 1, 1, 1, 1, 1, 1,
319
+ 1, 1, 1, 1, 1, 1, 1, 1,
320
+ 1, 1, 1, 1, 59, 59, 59, 59,
321
+ 59, 59, 59, 59, 59, 59, 59, 59,
322
+ 59, 59, 59, 59, 59, 59, 59, 59,
323
+ 59, 59, 59, 59, 59, 59, 59, 59,
324
+ 59, 59, 60, 61, 61, 61, 61, 61,
325
+ 61, 61, 61, 61, 61, 61, 61, 62,
326
+ 61, 61, 63, 64, 64, 64, 65, 1,
327
+ 66, 66, 66, 66, 66, 66, 66, 66,
328
+ 66, 1, 66, 66, 67, 66, 66, 66,
329
+ 66, 66, 66, 66, 66, 66, 66, 66,
330
+ 66, 66, 66, 66, 66, 66, 66, 66,
331
+ 66, 66, 66, 66, 66, 66, 66, 68,
332
+ 69, 66, 66, 66, 66, 66, 66, 66,
333
+ 66, 66, 66, 66, 66, 66, 66, 66,
334
+ 66, 66, 66, 66, 66, 66, 66, 66,
335
+ 66, 66, 66, 66, 66, 66, 66, 66,
336
+ 66, 66, 66, 66, 66, 66, 66, 66,
337
+ 66, 66, 66, 66, 66, 66, 66, 66,
338
+ 66, 66, 66, 70, 66, 66, 66, 66,
339
+ 66, 66, 66, 66, 66, 66, 66, 66,
340
+ 66, 66, 66, 66, 66, 66, 66, 66,
341
+ 66, 66, 66, 66, 66, 66, 66, 66,
342
+ 66, 66, 66, 66, 66, 66, 66, 1,
343
+ 1, 1, 1, 1, 1, 1, 1, 1,
344
+ 1, 1, 1, 1, 1, 1, 1, 1,
345
+ 1, 1, 1, 1, 1, 1, 1, 1,
346
+ 1, 1, 1, 1, 1, 1, 1, 1,
347
+ 1, 1, 1, 1, 1, 1, 1, 1,
348
+ 1, 1, 1, 1, 1, 1, 1, 1,
349
+ 1, 1, 1, 1, 1, 1, 1, 1,
350
+ 1, 1, 1, 1, 1, 1, 1, 1,
351
+ 1, 71, 71, 71, 71, 71, 71, 71,
352
+ 71, 71, 71, 71, 71, 71, 71, 71,
353
+ 71, 71, 71, 71, 71, 71, 71, 71,
354
+ 71, 71, 71, 71, 71, 71, 71, 72,
355
+ 73, 73, 73, 73, 73, 73, 73, 73,
356
+ 73, 73, 73, 73, 74, 73, 73, 75,
357
+ 76, 76, 76, 77, 1, 78, 1, 66,
358
+ 1, 1, 1, 1, 1, 1, 1, 1,
359
+ 1, 1, 1, 1, 1, 1, 1, 1,
360
+ 1, 1, 1, 1, 1, 1, 66, 1,
361
+ 66, 66, 66, 66, 66, 66, 66, 66,
362
+ 66, 66, 66, 66, 66, 66, 66, 66,
363
+ 66, 66, 66, 66, 66, 66, 66, 66,
364
+ 66, 66, 66, 66, 66, 66, 66, 66,
365
+ 66, 66, 66, 66, 66, 66, 66, 66,
366
+ 66, 66, 66, 66, 66, 66, 66, 66,
367
+ 66, 66, 66, 66, 66, 66, 66, 66,
368
+ 66, 66, 66, 66, 66, 66, 66, 66,
369
+ 66, 66, 66, 66, 66, 66, 66, 66,
370
+ 66, 66, 66, 66, 66, 66, 66, 66,
371
+ 66, 66, 66, 66, 66, 66, 66, 66,
372
+ 66, 66, 66, 66, 66, 66, 66, 66,
373
+ 66, 66, 66, 66, 66, 66, 66, 66,
374
+ 66, 66, 66, 66, 66, 66, 66, 66,
375
+ 66, 66, 66, 66, 66, 66, 66, 66,
376
+ 66, 66, 66, 66, 66, 66, 66, 66,
377
+ 1, 1, 1, 1, 1, 1, 1, 1,
378
+ 1, 1, 1, 1, 1, 1, 1, 1,
379
+ 1, 1, 1, 1, 1, 1, 1, 1,
380
+ 1, 1, 1, 1, 1, 1, 1, 1,
381
+ 1, 1, 1, 1, 1, 1, 1, 1,
382
+ 1, 1, 1, 1, 1, 1, 1, 1,
383
+ 1, 1, 1, 1, 1, 1, 1, 1,
384
+ 1, 1, 1, 1, 1, 1, 1, 1,
385
+ 1, 1, 71, 71, 71, 71, 71, 71,
386
+ 71, 71, 71, 71, 71, 71, 71, 71,
387
+ 71, 71, 71, 71, 71, 71, 71, 71,
388
+ 71, 71, 71, 71, 71, 71, 71, 71,
389
+ 72, 73, 73, 73, 73, 73, 73, 73,
390
+ 73, 73, 73, 73, 73, 74, 73, 73,
391
+ 75, 76, 76, 76, 77, 1, 66, 66,
392
+ 66, 66, 66, 66, 66, 66, 66, 66,
393
+ 66, 66, 66, 66, 66, 66, 66, 66,
394
+ 66, 66, 66, 66, 66, 66, 66, 66,
395
+ 66, 66, 66, 66, 66, 66, 66, 66,
396
+ 66, 66, 66, 66, 66, 66, 66, 66,
397
+ 66, 66, 66, 66, 66, 66, 66, 66,
398
+ 66, 66, 66, 66, 66, 66, 66, 66,
399
+ 66, 66, 66, 66, 66, 66, 1, 71,
400
+ 71, 71, 71, 71, 71, 71, 71, 71,
401
+ 71, 71, 71, 71, 71, 71, 71, 71,
402
+ 71, 71, 71, 71, 71, 71, 71, 71,
403
+ 71, 71, 71, 71, 71, 71, 71, 1,
404
+ 71, 71, 71, 71, 71, 71, 71, 71,
405
+ 71, 71, 71, 71, 71, 71, 71, 71,
406
+ 71, 71, 71, 71, 71, 71, 71, 71,
407
+ 71, 71, 71, 71, 71, 71, 71, 71,
408
+ 71, 71, 71, 71, 71, 71, 71, 71,
409
+ 71, 71, 71, 71, 71, 71, 71, 71,
410
+ 71, 71, 71, 71, 71, 71, 71, 71,
411
+ 71, 71, 71, 71, 71, 71, 71, 71,
412
+ 1, 71, 71, 71, 71, 71, 71, 71,
413
+ 71, 71, 71, 71, 71, 71, 71, 71,
414
+ 71, 71, 71, 71, 71, 71, 71, 71,
415
+ 71, 71, 71, 71, 71, 71, 71, 71,
416
+ 71, 1, 73, 73, 73, 73, 73, 73,
417
+ 73, 73, 73, 73, 73, 73, 73, 73,
418
+ 73, 73, 73, 73, 73, 73, 73, 73,
419
+ 73, 73, 73, 73, 73, 73, 73, 73,
420
+ 73, 73, 73, 73, 73, 73, 73, 73,
421
+ 73, 73, 73, 73, 73, 73, 73, 73,
422
+ 73, 73, 1, 73, 73, 73, 73, 73,
423
+ 73, 73, 73, 73, 73, 73, 73, 73,
424
+ 73, 73, 73, 73, 73, 73, 73, 73,
425
+ 73, 73, 73, 73, 73, 73, 73, 73,
426
+ 73, 73, 73, 73, 73, 73, 73, 73,
427
+ 73, 73, 73, 73, 73, 73, 73, 73,
428
+ 73, 73, 73, 73, 73, 73, 73, 73,
429
+ 73, 73, 73, 73, 73, 73, 73, 73,
430
+ 73, 73, 73, 1, 73, 73, 73, 73,
431
+ 73, 73, 73, 73, 73, 73, 73, 73,
432
+ 73, 73, 73, 73, 1, 79, 79, 79,
433
+ 79, 79, 79, 79, 1, 1, 79, 79,
434
+ 79, 79, 79, 1, 79, 79, 79, 79,
435
+ 79, 79, 79, 79, 79, 79, 1, 80,
436
+ 1, 1, 1, 1, 1, 79, 79, 79,
437
+ 79, 79, 79, 79, 79, 79, 79, 79,
438
+ 79, 79, 79, 79, 79, 79, 79, 79,
439
+ 79, 79, 79, 79, 79, 79, 79, 1,
440
+ 1, 1, 79, 79, 79, 79, 79, 79,
441
+ 79, 79, 79, 79, 79, 79, 79, 79,
442
+ 79, 79, 79, 79, 79, 79, 79, 79,
443
+ 79, 79, 79, 79, 79, 79, 79, 79,
444
+ 79, 79, 79, 1, 81, 1, 1, 1,
445
+ 82, 1, 1, 1, 1, 1, 1, 1,
446
+ 1, 1, 1, 1, 1, 1, 1, 1,
447
+ 1, 1, 1, 81, 1, 1, 1, 1,
448
+ 1, 1, 1, 83, 1, 1, 1, 1,
449
+ 1, 1, 1, 1, 1, 1, 1, 1,
450
+ 1, 1, 1, 1, 1, 1, 84, 1,
451
+ 85, 1, 1, 1, 86, 1, 1, 1,
452
+ 1, 1, 1, 1, 1, 1, 1, 1,
453
+ 1, 1, 1, 1, 1, 1, 1, 85,
454
+ 1, 1, 1, 1, 1, 1, 1, 87,
455
+ 1, 1, 1, 1, 1, 1, 1, 1,
456
+ 1, 1, 1, 1, 1, 1, 1, 1,
457
+ 1, 1, 88, 1, 89, 1, 1, 1,
458
+ 90, 1, 1, 1, 1, 1, 1, 1,
459
+ 1, 1, 1, 1, 1, 1, 1, 1,
460
+ 1, 1, 1, 89, 91, 1, 91, 91,
461
+ 91, 91, 91, 92, 1, 91, 91, 91,
462
+ 91, 91, 1, 91, 91, 91, 91, 91,
463
+ 91, 91, 91, 91, 91, 1, 84, 1,
464
+ 91, 1, 1, 1, 91, 91, 91, 91,
465
+ 91, 91, 91, 91, 91, 91, 91, 91,
466
+ 91, 91, 91, 91, 91, 91, 91, 91,
467
+ 91, 91, 91, 91, 91, 91, 1, 1,
468
+ 1, 91, 91, 91, 91, 91, 91, 91,
469
+ 91, 91, 91, 91, 91, 91, 91, 91,
470
+ 91, 91, 91, 91, 91, 91, 91, 91,
471
+ 91, 91, 91, 91, 91, 91, 91, 91,
472
+ 91, 91, 1, 49, 1, 1, 1, 93,
473
+ 1, 1, 1, 1, 1, 1, 1, 1,
474
+ 1, 1, 1, 1, 1, 1, 1, 1,
475
+ 1, 1, 49, 1, 1, 1, 1, 1,
476
+ 1, 1, 94, 1, 1, 1, 1, 1,
477
+ 1, 1, 1, 1, 1, 1, 1, 1,
478
+ 1, 1, 1, 1, 1, 2, 1, 95,
479
+ 1, 1, 1, 96, 1, 1, 1, 1,
480
+ 1, 1, 1, 1, 1, 1, 1, 1,
481
+ 1, 1, 1, 1, 1, 1, 95, 1,
482
+ 1, 1, 1, 1, 1, 1, 97, 1,
483
+ 1, 1, 1, 1, 1, 1, 1, 1,
484
+ 1, 1, 1, 1, 1, 1, 1, 1,
485
+ 1, 50, 1, 1, 0,
486
+ ]
487
+
488
+ class << self
489
+ attr_accessor :_trans_targs
490
+ private :_trans_targs, :_trans_targs=
491
+ end
492
+ self._trans_targs = [
493
+ 40, 0, 2, 3, 5, 27, 4, 5,
494
+ 6, 7, 8, 43, 10, 24, 7, 8,
495
+ 10, 24, 9, 11, 12, 41, 16, 17,
496
+ 18, 19, 20, 21, 22, 23, 11, 12,
497
+ 41, 16, 17, 18, 19, 20, 21, 22,
498
+ 23, 13, 15, 41, 7, 8, 10, 24,
499
+ 26, 44, 2, 3, 5, 27, 29, 30,
500
+ 29, 46, 32, 33, 34, 35, 36, 37,
501
+ 38, 39, 29, 30, 29, 46, 32, 33,
502
+ 34, 35, 36, 37, 38, 39, 31, 40,
503
+ 2, 41, 14, 42, 2, 41, 14, 42,
504
+ 2, 44, 25, 43, 45, 25, 45, 44,
505
+ 25, 45,
506
+ ]
507
+
508
+ class << self
509
+ attr_accessor :_trans_actions
510
+ private :_trans_actions, :_trans_actions=
511
+ end
512
+ self._trans_actions = [
513
+ 1, 0, 0, 0, 2, 3, 0, 0,
514
+ 4, 5, 5, 5, 5, 6, 0, 0,
515
+ 0, 3, 0, 7, 7, 8, 7, 7,
516
+ 7, 7, 7, 7, 7, 7, 0, 0,
517
+ 9, 0, 0, 0, 0, 0, 0, 0,
518
+ 0, 0, 0, 0, 10, 10, 10, 11,
519
+ 0, 0, 10, 10, 12, 11, 13, 13,
520
+ 14, 15, 13, 13, 13, 13, 13, 13,
521
+ 13, 13, 0, 0, 3, 16, 0, 0,
522
+ 0, 0, 0, 0, 0, 0, 0, 0,
523
+ 17, 18, 18, 19, 18, 20, 20, 21,
524
+ 20, 18, 18, 0, 22, 0, 3, 10,
525
+ 10, 11,
526
+ ]
527
+
528
+ class << self
529
+ attr_accessor :_eof_actions
530
+ private :_eof_actions, :_eof_actions=
531
+ end
532
+ self._eof_actions = [
533
+ 0, 0, 0, 0, 0, 0, 0, 0,
534
+ 0, 0, 0, 0, 0, 0, 0, 0,
535
+ 0, 0, 0, 0, 0, 0, 0, 0,
536
+ 0, 0, 0, 0, 0, 0, 0, 0,
537
+ 0, 0, 0, 0, 0, 0, 0, 0,
538
+ 17, 18, 20, 18, 0, 10, 0,
539
+ ]
540
+
541
+ class << self
542
+ attr_accessor :start
543
+ end
544
+ self.start = 1
545
+ class << self
546
+ attr_accessor :first_final
547
+ end
548
+ self.first_final = 40
549
+ class << self
550
+ attr_accessor :error
551
+ end
552
+ self.error = 0
553
+
554
+ class << self
555
+ attr_accessor :en_comment_tail
556
+ end
557
+ self.en_comment_tail = 28
558
+ class << self
559
+ attr_accessor :en_main
560
+ end
561
+ self.en_main = 1
560
562
 
561
- def self.parse(data)
562
- data = data.dup.force_encoding(Encoding::ASCII_8BIT) if data.respond_to?(:force_encoding)
563
+ def self.parse(data)
564
+ data = data.dup.force_encoding(Encoding::ASCII_8BIT) if data.respond_to?(:force_encoding)
563
565
 
564
- content_disposition = ContentDispositionStruct.new("", [])
565
- return content_disposition if Mail::Utilities.blank?(data)
566
+ content_disposition = ContentDispositionStruct.new("", [])
567
+ return content_disposition if Mail::Utilities.blank?(data)
566
568
 
567
- # Parser state
568
- disp_type_s = param_attr_s = param_attr = qstr_s = qstr = param_val_s = nil
569
+ # Parser state
570
+ disp_type_s = param_attr_s = param_attr = qstr_s = qstr = param_val_s = nil
569
571
 
570
- # 5.1 Variables Used by Ragel
571
- p = 0
572
- eof = pe = data.length
573
- stack = []
572
+ # 5.1 Variables Used by Ragel
573
+ p = 0
574
+ eof = pe = data.length
575
+ stack = []
574
576
 
575
- begin
576
- p ||= 0
577
- pe ||= data.length
578
- cs = start
579
- top = 0
580
- end
577
+ begin
578
+ p ||= 0
579
+ pe ||= data.length
580
+ cs = start
581
+ top = 0
582
+ end
581
583
 
582
- begin
583
- testEof = false
584
- _slen, _trans, _keys, _inds, _acts, _nacts = nil
585
- _goto_level = 0
586
- _resume = 10
587
- _eof_trans = 15
588
- _again = 20
589
- _test_eof = 30
590
- _out = 40
591
- while true
592
- if _goto_level <= 0
593
- if p == pe
594
- _goto_level = _test_eof
595
- next
596
- end
597
- if cs == 0
598
- _goto_level = _out
599
- next
584
+ begin
585
+ testEof = false
586
+ _slen, _trans, _keys, _inds, _acts, _nacts = nil
587
+ _goto_level = 0
588
+ _resume = 10
589
+ _eof_trans = 15
590
+ _again = 20
591
+ _test_eof = 30
592
+ _out = 40
593
+ while true
594
+ if _goto_level <= 0
595
+ if p == pe
596
+ _goto_level = _test_eof
597
+ next
598
+ end
599
+ if cs == 0
600
+ _goto_level = _out
601
+ next
602
+ end
600
603
  end
601
- end
602
- if _goto_level <= _resume
603
- _keys = cs << 1
604
- _inds = _index_offsets[cs]
605
- _slen = _key_spans[cs]
606
- _wide = data[p].ord
607
- _trans = if (_slen > 0 &&
608
- _trans_keys[_keys] <= _wide &&
609
- _wide <= _trans_keys[_keys + 1])
610
- _indicies[_inds + _wide - _trans_keys[_keys]]
611
- else
612
- _indicies[_inds + _slen]
613
- end
614
- cs = _trans_targs[_trans]
615
- if _trans_actions[_trans] != 0
616
- case _trans_actions[_trans]
617
- when 1
618
- begin
619
- disp_type_s = p
620
- end
621
- when 17
622
- begin
623
- content_disposition.disposition_type = chars(data, disp_type_s, p - 1).downcase
624
- end
625
- when 2
626
- begin
627
- param_attr_s = p
628
- end
629
- when 4
630
- begin
631
- param_attr = chars(data, param_attr_s, p - 1)
632
- end
633
- when 7
634
- begin
635
- qstr_s = p
636
- end
637
- when 9
638
- begin
639
- qstr = chars(data, qstr_s, p - 1)
640
- end
641
- when 5
642
- begin
643
- param_val_s = p
644
- end
645
- when 18
646
- begin
647
- if param_attr.nil?
648
- raise Mail::Field::ParseError.new(Mail::ContentDispositionElement, data, "no attribute for value")
604
+ if _goto_level <= _resume
605
+ _keys = cs << 1
606
+ _inds = _index_offsets[cs]
607
+ _slen = _key_spans[cs]
608
+ _wide = data[p].ord
609
+ _trans = if (_slen > 0 &&
610
+ _trans_keys[_keys] <= _wide &&
611
+ _wide <= _trans_keys[_keys + 1])
612
+ _indicies[_inds + _wide - _trans_keys[_keys]]
613
+ else
614
+ _indicies[_inds + _slen]
615
+ end
616
+ cs = _trans_targs[_trans]
617
+ if _trans_actions[_trans] != 0
618
+ case _trans_actions[_trans]
619
+ when 1
620
+ begin
621
+ disp_type_s = p
622
+ end
623
+ when 17
624
+ begin
625
+ content_disposition.disposition_type = chars(data, disp_type_s, p - 1).downcase
626
+ end
627
+ when 2
628
+ begin
629
+ param_attr_s = p
630
+ end
631
+ when 4
632
+ begin
633
+ param_attr = chars(data, param_attr_s, p - 1)
634
+ end
635
+ when 7
636
+ begin
637
+ qstr_s = p
638
+ end
639
+ when 9
640
+ begin
641
+ qstr = chars(data, qstr_s, p - 1)
649
642
  end
643
+ when 5
644
+ begin
645
+ param_val_s = p
646
+ end
647
+ when 18
648
+ begin
649
+ if param_attr.nil?
650
+ raise Mail::Field::ParseError.new(Mail::ContentDispositionElement, data, "no attribute for value")
651
+ end
650
652
 
651
- # Use quoted string value if one exists, otherwise use parameter value
652
- value = qstr || chars(data, param_val_s, p - 1)
653
+ # Use quoted string value if one exists, otherwise use parameter value
654
+ value = qstr || chars(data, param_val_s, p - 1)
653
655
 
654
- content_disposition.parameters << {param_attr => value}
655
- param_attr = nil
656
- qstr = nil
657
- end
658
- when 10
659
- begin
660
- end
661
- when 13
662
- begin
663
- end
664
- when 3
665
- begin
656
+ content_disposition.parameters << { param_attr => value }
657
+ param_attr = nil
658
+ qstr = nil
659
+ end
660
+ when 10
666
661
  begin
667
- stack[top] = cs
668
- top += 1
669
- cs = 28
670
- _goto_level = _again
671
- next
672
662
  end
673
- end
674
- when 16
675
- begin
663
+ when 13
676
664
  begin
677
- top -= 1
678
- cs = stack[top]
679
- _goto_level = _again
680
- next
681
665
  end
682
- end
683
- when 8
684
- begin
685
- qstr_s = p
686
- end
687
- begin
688
- qstr = chars(data, qstr_s, p - 1)
689
- end
690
- when 6
691
- begin
692
- param_val_s = p
693
- end
694
- begin
666
+ when 3
695
667
  begin
696
- stack[top] = cs
697
- top += 1
698
- cs = 28
699
- _goto_level = _again
700
- next
668
+ begin
669
+ stack[top] = cs
670
+ top += 1
671
+ cs = 28
672
+ _goto_level = _again
673
+ next
674
+ end
701
675
  end
702
- end
703
- when 22
704
- begin
705
- if param_attr.nil?
706
- raise Mail::Field::ParseError.new(Mail::ContentDispositionElement, data, "no attribute for value")
676
+ when 16
677
+ begin
678
+ begin
679
+ top -= 1
680
+ cs = stack[top]
681
+ _goto_level = _again
682
+ next
683
+ end
684
+ end
685
+ when 8
686
+ begin
687
+ qstr_s = p
707
688
  end
689
+ begin
690
+ qstr = chars(data, qstr_s, p - 1)
691
+ end
692
+ when 6
693
+ begin
694
+ param_val_s = p
695
+ end
696
+ begin
697
+ begin
698
+ stack[top] = cs
699
+ top += 1
700
+ cs = 28
701
+ _goto_level = _again
702
+ next
703
+ end
704
+ end
705
+ when 22
706
+ begin
707
+ if param_attr.nil?
708
+ raise Mail::Field::ParseError.new(Mail::ContentDispositionElement, data, "no attribute for value")
709
+ end
708
710
 
709
- # Use quoted string value if one exists, otherwise use parameter value
710
- value = qstr || chars(data, param_val_s, p - 1)
711
+ # Use quoted string value if one exists, otherwise use parameter value
712
+ value = qstr || chars(data, param_val_s, p - 1)
711
713
 
712
- content_disposition.parameters << {param_attr => value}
713
- param_attr = nil
714
- qstr = nil
715
- end
716
- begin
714
+ content_disposition.parameters << { param_attr => value }
715
+ param_attr = nil
716
+ qstr = nil
717
+ end
717
718
  begin
718
- stack[top] = cs
719
- top += 1
720
- cs = 28
721
- _goto_level = _again
722
- next
719
+ begin
720
+ stack[top] = cs
721
+ top += 1
722
+ cs = 28
723
+ _goto_level = _again
724
+ next
725
+ end
723
726
  end
724
- end
725
- when 12
726
- begin
727
- end
728
- begin
729
- param_attr_s = p
730
- end
731
- when 20
732
- begin
733
- end
734
- begin
735
- if param_attr.nil?
736
- raise Mail::Field::ParseError.new(Mail::ContentDispositionElement, data, "no attribute for value")
727
+ when 12
728
+ begin
729
+ end
730
+ begin
731
+ param_attr_s = p
737
732
  end
733
+ when 20
734
+ begin
735
+ end
736
+ begin
737
+ if param_attr.nil?
738
+ raise Mail::Field::ParseError.new(Mail::ContentDispositionElement, data, "no attribute for value")
739
+ end
738
740
 
739
- # Use quoted string value if one exists, otherwise use parameter value
740
- value = qstr || chars(data, param_val_s, p - 1)
741
+ # Use quoted string value if one exists, otherwise use parameter value
742
+ value = qstr || chars(data, param_val_s, p - 1)
741
743
 
742
- content_disposition.parameters << {param_attr => value}
743
- param_attr = nil
744
- qstr = nil
745
- end
746
- when 11
747
- begin
748
- end
749
- begin
744
+ content_disposition.parameters << { param_attr => value }
745
+ param_attr = nil
746
+ qstr = nil
747
+ end
748
+ when 11
750
749
  begin
751
- stack[top] = cs
752
- top += 1
753
- cs = 28
754
- _goto_level = _again
755
- next
756
750
  end
757
- end
758
- when 14
759
- begin
760
- end
761
- begin
762
751
  begin
763
- stack[top] = cs
764
- top += 1
765
- cs = 28
766
- _goto_level = _again
767
- next
752
+ begin
753
+ stack[top] = cs
754
+ top += 1
755
+ cs = 28
756
+ _goto_level = _again
757
+ next
758
+ end
768
759
  end
769
- end
770
- when 15
771
- begin
772
- end
773
- begin
760
+ when 14
774
761
  begin
775
- top -= 1
776
- cs = stack[top]
777
- _goto_level = _again
778
- next
779
762
  end
780
- end
781
- when 19
782
- begin
783
763
  begin
784
- stack[top] = cs
785
- top += 1
786
- cs = 28
787
- _goto_level = _again
788
- next
764
+ begin
765
+ stack[top] = cs
766
+ top += 1
767
+ cs = 28
768
+ _goto_level = _again
769
+ next
770
+ end
789
771
  end
790
- end
791
- begin
792
- if param_attr.nil?
793
- raise Mail::Field::ParseError.new(Mail::ContentDispositionElement, data, "no attribute for value")
772
+ when 15
773
+ begin
774
+ end
775
+ begin
776
+ begin
777
+ top -= 1
778
+ cs = stack[top]
779
+ _goto_level = _again
780
+ next
781
+ end
782
+ end
783
+ when 19
784
+ begin
785
+ begin
786
+ stack[top] = cs
787
+ top += 1
788
+ cs = 28
789
+ _goto_level = _again
790
+ next
791
+ end
794
792
  end
793
+ begin
794
+ if param_attr.nil?
795
+ raise Mail::Field::ParseError.new(Mail::ContentDispositionElement, data, "no attribute for value")
796
+ end
795
797
 
796
- # Use quoted string value if one exists, otherwise use parameter value
797
- value = qstr || chars(data, param_val_s, p - 1)
798
+ # Use quoted string value if one exists, otherwise use parameter value
799
+ value = qstr || chars(data, param_val_s, p - 1)
798
800
 
799
- content_disposition.parameters << {param_attr => value}
800
- param_attr = nil
801
- qstr = nil
802
- end
803
- when 21
804
- begin
805
- end
806
- begin
801
+ content_disposition.parameters << { param_attr => value }
802
+ param_attr = nil
803
+ qstr = nil
804
+ end
805
+ when 21
807
806
  begin
808
- stack[top] = cs
809
- top += 1
810
- cs = 28
811
- _goto_level = _again
812
- next
813
807
  end
814
- end
815
- begin
816
- if param_attr.nil?
817
- raise Mail::Field::ParseError.new(Mail::ContentDispositionElement, data, "no attribute for value")
808
+ begin
809
+ begin
810
+ stack[top] = cs
811
+ top += 1
812
+ cs = 28
813
+ _goto_level = _again
814
+ next
815
+ end
818
816
  end
817
+ begin
818
+ if param_attr.nil?
819
+ raise Mail::Field::ParseError.new(Mail::ContentDispositionElement, data, "no attribute for value")
820
+ end
819
821
 
820
- # Use quoted string value if one exists, otherwise use parameter value
821
- value = qstr || chars(data, param_val_s, p - 1)
822
+ # Use quoted string value if one exists, otherwise use parameter value
823
+ value = qstr || chars(data, param_val_s, p - 1)
822
824
 
823
- content_disposition.parameters << {param_attr => value}
824
- param_attr = nil
825
- qstr = nil
825
+ content_disposition.parameters << { param_attr => value }
826
+ param_attr = nil
827
+ qstr = nil
828
+ end
826
829
  end
827
830
  end
828
831
  end
829
- end
830
- if _goto_level <= _again
831
- if cs == 0
832
- _goto_level = _out
833
- next
834
- end
835
- p += 1
836
- if p != pe
837
- _goto_level = _resume
838
- next
832
+ if _goto_level <= _again
833
+ if cs == 0
834
+ _goto_level = _out
835
+ next
836
+ end
837
+ p += 1
838
+ if p != pe
839
+ _goto_level = _resume
840
+ next
841
+ end
839
842
  end
840
- end
841
- if _goto_level <= _test_eof
842
- if p == eof
843
- case _eof_actions[cs]
844
- when 17
845
- begin
846
- content_disposition.disposition_type = chars(data, disp_type_s, p - 1).downcase
847
- end
848
- when 18
849
- begin
850
- if param_attr.nil?
851
- raise Mail::Field::ParseError.new(Mail::ContentDispositionElement, data, "no attribute for value")
843
+ if _goto_level <= _test_eof
844
+ if p == eof
845
+ case _eof_actions[cs]
846
+ when 17
847
+ begin
848
+ content_disposition.disposition_type = chars(data, disp_type_s, p - 1).downcase
852
849
  end
850
+ when 18
851
+ begin
852
+ if param_attr.nil?
853
+ raise Mail::Field::ParseError.new(Mail::ContentDispositionElement, data, "no attribute for value")
854
+ end
853
855
 
854
- # Use quoted string value if one exists, otherwise use parameter value
855
- value = qstr || chars(data, param_val_s, p - 1)
856
+ # Use quoted string value if one exists, otherwise use parameter value
857
+ value = qstr || chars(data, param_val_s, p - 1)
856
858
 
857
- content_disposition.parameters << {param_attr => value}
858
- param_attr = nil
859
- qstr = nil
860
- end
861
- when 10
862
- begin
863
- end
864
- when 20
865
- begin
866
- end
867
- begin
868
- if param_attr.nil?
869
- raise Mail::Field::ParseError.new(Mail::ContentDispositionElement, data, "no attribute for value")
859
+ content_disposition.parameters << { param_attr => value }
860
+ param_attr = nil
861
+ qstr = nil
862
+ end
863
+ when 10
864
+ begin
870
865
  end
866
+ when 20
867
+ begin
868
+ end
869
+ begin
870
+ if param_attr.nil?
871
+ raise Mail::Field::ParseError.new(Mail::ContentDispositionElement, data, "no attribute for value")
872
+ end
871
873
 
872
- # Use quoted string value if one exists, otherwise use parameter value
873
- value = qstr || chars(data, param_val_s, p - 1)
874
+ # Use quoted string value if one exists, otherwise use parameter value
875
+ value = qstr || chars(data, param_val_s, p - 1)
874
876
 
875
- content_disposition.parameters << {param_attr => value}
876
- param_attr = nil
877
- qstr = nil
877
+ content_disposition.parameters << { param_attr => value }
878
+ param_attr = nil
879
+ qstr = nil
880
+ end
878
881
  end
879
882
  end
880
883
  end
881
- end
882
- if _goto_level <= _out
883
- break
884
+ if _goto_level <= _out
885
+ break
886
+ end
884
887
  end
885
888
  end
886
- end
887
889
 
888
- if p != eof || cs < 40
889
- raise Mail::Field::IncompleteParseError.new(Mail::ContentDispositionElement, data, p)
890
- end
890
+ if false
891
+ testEof
892
+ end
893
+
894
+ if p != eof || cs < 40
895
+ raise Mail::Field::IncompleteParseError.new(Mail::ContentDispositionElement, data, p)
896
+ end
891
897
 
892
- content_disposition
898
+ content_disposition
899
+ end
893
900
  end
894
901
  end
902
+ ensure
903
+ $VERBOSE = original_verbose
895
904
  end