mail 2.5.5 → 2.6.0

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 (127) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.rdoc +8 -9
  3. data/CONTRIBUTING.md +13 -0
  4. data/Dependencies.txt +0 -1
  5. data/Gemfile +7 -24
  6. data/README.md +36 -15
  7. data/Rakefile +10 -2
  8. data/VERSION +4 -0
  9. data/lib/mail.rb +1 -1
  10. data/lib/mail/body.rb +2 -2
  11. data/lib/mail/check_delivery_params.rb +10 -47
  12. data/lib/mail/core_extensions/string.rb +12 -2
  13. data/lib/mail/elements/address.rb +38 -82
  14. data/lib/mail/elements/address_list.rb +19 -42
  15. data/lib/mail/elements/content_disposition_element.rb +3 -7
  16. data/lib/mail/elements/content_location_element.rb +2 -6
  17. data/lib/mail/elements/content_transfer_encoding_element.rb +3 -10
  18. data/lib/mail/elements/content_type_element.rb +4 -8
  19. data/lib/mail/elements/date_time_element.rb +3 -7
  20. data/lib/mail/elements/envelope_from_element.rb +3 -11
  21. data/lib/mail/elements/message_ids_element.rb +1 -6
  22. data/lib/mail/elements/mime_version_element.rb +3 -7
  23. data/lib/mail/elements/phrase_list.rb +2 -7
  24. data/lib/mail/elements/received_element.rb +3 -7
  25. data/lib/mail/encodings.rb +0 -1
  26. data/lib/mail/envelope.rb +0 -5
  27. data/lib/mail/field.rb +53 -17
  28. data/lib/mail/field_list.rb +18 -18
  29. data/lib/mail/fields/common/common_address.rb +15 -20
  30. data/lib/mail/fields/common/common_date.rb +0 -7
  31. data/lib/mail/fields/common/common_field.rb +1 -1
  32. data/lib/mail/fields/content_transfer_encoding_field.rb +0 -6
  33. data/lib/mail/fields/resent_sender_field.rb +1 -1
  34. data/lib/mail/fields/sender_field.rb +1 -1
  35. data/lib/mail/fields/unstructured_field.rb +7 -1
  36. data/lib/mail/header.rb +8 -22
  37. data/lib/mail/mail.rb +12 -0
  38. data/lib/mail/matchers/has_sent_mail.rb +34 -1
  39. data/lib/mail/message.rb +18 -11
  40. data/lib/mail/multibyte/unicode.rb +1 -1
  41. data/lib/mail/network/delivery_methods/exim.rb +10 -6
  42. data/lib/mail/network/delivery_methods/file_delivery.rb +8 -4
  43. data/lib/mail/network/delivery_methods/sendmail.rb +7 -9
  44. data/lib/mail/network/delivery_methods/smtp.rb +5 -2
  45. data/lib/mail/network/delivery_methods/smtp_connection.rb +6 -2
  46. data/lib/mail/network/delivery_methods/test_mailer.rb +8 -5
  47. data/lib/mail/network/retriever_methods/imap.rb +18 -13
  48. data/lib/mail/parsers.rb +26 -0
  49. data/lib/mail/parsers/address_lists_parser.rb +132 -0
  50. data/lib/mail/parsers/content_disposition_parser.rb +67 -0
  51. data/lib/mail/parsers/content_location_parser.rb +35 -0
  52. data/lib/mail/parsers/content_transfer_encoding_parser.rb +33 -0
  53. data/lib/mail/parsers/content_type_parser.rb +64 -0
  54. data/lib/mail/parsers/date_time_parser.rb +36 -0
  55. data/lib/mail/parsers/envelope_from_parser.rb +45 -0
  56. data/lib/mail/parsers/message_ids_parser.rb +39 -0
  57. data/lib/mail/parsers/mime_version_parser.rb +41 -0
  58. data/lib/mail/parsers/phrase_lists_parser.rb +33 -0
  59. data/lib/mail/parsers/ragel.rb +17 -0
  60. data/lib/mail/parsers/ragel/common.rl +184 -0
  61. data/lib/mail/parsers/ragel/date_time.rl +30 -0
  62. data/lib/mail/parsers/ragel/parser_info.rb +61 -0
  63. data/lib/mail/parsers/ragel/ruby.rb +29 -0
  64. data/lib/mail/parsers/ragel/ruby/machines/address_lists_machine.rb +14864 -0
  65. data/lib/mail/parsers/ragel/ruby/machines/address_lists_machine.rb.rl +37 -0
  66. data/lib/mail/parsers/ragel/ruby/machines/content_disposition_machine.rb +751 -0
  67. data/lib/mail/parsers/ragel/ruby/machines/content_disposition_machine.rb.rl +37 -0
  68. data/lib/mail/parsers/ragel/ruby/machines/content_location_machine.rb +614 -0
  69. data/lib/mail/parsers/ragel/ruby/machines/content_location_machine.rb.rl +37 -0
  70. data/lib/mail/parsers/ragel/ruby/machines/content_transfer_encoding_machine.rb +447 -0
  71. data/lib/mail/parsers/ragel/ruby/machines/content_transfer_encoding_machine.rb.rl +37 -0
  72. data/lib/mail/parsers/ragel/ruby/machines/content_type_machine.rb +825 -0
  73. data/lib/mail/parsers/ragel/ruby/machines/content_type_machine.rb.rl +37 -0
  74. data/lib/mail/parsers/ragel/ruby/machines/date_time_machine.rb +817 -0
  75. data/lib/mail/parsers/ragel/ruby/machines/date_time_machine.rb.rl +37 -0
  76. data/lib/mail/parsers/ragel/ruby/machines/envelope_from_machine.rb +2129 -0
  77. data/lib/mail/parsers/ragel/ruby/machines/envelope_from_machine.rb.rl +37 -0
  78. data/lib/mail/parsers/ragel/ruby/machines/message_ids_machine.rb +1570 -0
  79. data/lib/mail/parsers/ragel/ruby/machines/message_ids_machine.rb.rl +37 -0
  80. data/lib/mail/parsers/ragel/ruby/machines/mime_version_machine.rb +440 -0
  81. data/lib/mail/parsers/ragel/ruby/machines/mime_version_machine.rb.rl +37 -0
  82. data/lib/mail/parsers/ragel/ruby/machines/phrase_lists_machine.rb +564 -0
  83. data/lib/mail/parsers/ragel/ruby/machines/phrase_lists_machine.rb.rl +37 -0
  84. data/lib/mail/parsers/ragel/ruby/machines/rb_actions.rl +51 -0
  85. data/lib/mail/parsers/ragel/ruby/machines/received_machine.rb +5144 -0
  86. data/lib/mail/parsers/ragel/ruby/machines/received_machine.rb.rl +37 -0
  87. data/lib/mail/parsers/ragel/ruby/parser.rb.rl.erb +37 -0
  88. data/lib/mail/parsers/received_parser.rb +47 -0
  89. data/lib/mail/parts_list.rb +4 -2
  90. data/lib/mail/patterns.rb +3 -1
  91. data/lib/mail/utilities.rb +3 -1
  92. data/lib/mail/version.rb +1 -1
  93. data/lib/mail/version_specific/ruby_1_8.rb +1 -1
  94. data/lib/mail/version_specific/ruby_1_9.rb +13 -1
  95. metadata +55 -51
  96. data/lib/VERSION +0 -4
  97. data/lib/load_parsers.rb +0 -35
  98. data/lib/mail/parsers/address_lists.rb +0 -64
  99. data/lib/mail/parsers/address_lists.treetop +0 -19
  100. data/lib/mail/parsers/content_disposition.rb +0 -535
  101. data/lib/mail/parsers/content_disposition.treetop +0 -46
  102. data/lib/mail/parsers/content_location.rb +0 -139
  103. data/lib/mail/parsers/content_location.treetop +0 -20
  104. data/lib/mail/parsers/content_transfer_encoding.rb +0 -201
  105. data/lib/mail/parsers/content_transfer_encoding.treetop +0 -18
  106. data/lib/mail/parsers/content_type.rb +0 -971
  107. data/lib/mail/parsers/content_type.treetop +0 -68
  108. data/lib/mail/parsers/date_time.rb +0 -114
  109. data/lib/mail/parsers/date_time.treetop +0 -11
  110. data/lib/mail/parsers/envelope_from.rb +0 -194
  111. data/lib/mail/parsers/envelope_from.treetop +0 -32
  112. data/lib/mail/parsers/message_ids.rb +0 -45
  113. data/lib/mail/parsers/message_ids.treetop +0 -15
  114. data/lib/mail/parsers/mime_version.rb +0 -144
  115. data/lib/mail/parsers/mime_version.treetop +0 -19
  116. data/lib/mail/parsers/phrase_lists.rb +0 -45
  117. data/lib/mail/parsers/phrase_lists.treetop +0 -15
  118. data/lib/mail/parsers/received.rb +0 -71
  119. data/lib/mail/parsers/received.treetop +0 -11
  120. data/lib/mail/parsers/rfc2045.rb +0 -421
  121. data/lib/mail/parsers/rfc2045.treetop +0 -35
  122. data/lib/mail/parsers/rfc2822.rb +0 -5397
  123. data/lib/mail/parsers/rfc2822.treetop +0 -408
  124. data/lib/mail/parsers/rfc2822_obsolete.rb +0 -3768
  125. data/lib/mail/parsers/rfc2822_obsolete.treetop +0 -241
  126. data/lib/tasks/corpus.rake +0 -125
  127. data/lib/tasks/treetop.rake +0 -10
@@ -0,0 +1,37 @@
1
+ %%{
2
+ machine content_transfer_encoding;
3
+
4
+ include rb_actions "rb_actions.rl";
5
+ include common "../../common.rl";
6
+
7
+ getkey data_unpacked[p];
8
+
9
+ main := content_transfer_encoding;
10
+ }%%
11
+
12
+ module Mail
13
+ module Parsers
14
+ module Ragel
15
+ module ContentTransferEncodingMachine
16
+ %%write data;
17
+
18
+ def self.parse(data)
19
+ p = 0
20
+ eof = data.length
21
+ stack = []
22
+
23
+ actions = []
24
+ data_unpacked = data.bytes.to_a
25
+ %%write init;
26
+ %%write exec;
27
+
28
+ if p == eof && cs >= %%{ write first_final; }%%
29
+ return actions, nil
30
+ else
31
+ return [], "Only able to parse up to #{data[0..p]}"
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,825 @@
1
+
2
+ # line 1 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/content_type_machine.rb.rl"
3
+
4
+ # line 10 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/content_type_machine.rb.rl"
5
+
6
+
7
+ module Mail
8
+ module Parsers
9
+ module Ragel
10
+ module ContentTypeMachine
11
+
12
+ # line 13 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/content_type_machine.rb"
13
+ class << self
14
+ attr_accessor :_content_type_trans_keys
15
+ private :_content_type_trans_keys, :_content_type_trans_keys=
16
+ end
17
+ self._content_type_trans_keys = [
18
+ 0, 0, 33, 126, 33, 126,
19
+ 33, 126, 9, 126, 10,
20
+ 10, 9, 32, 33, 126,
21
+ 9, 126, 9, 40, 10, 10,
22
+ 9, 32, 1, 127, 1,
23
+ 127, 10, 10, 9, 32,
24
+ 10, 10, 9, 32, 9, 126,
25
+ 9, 126, 10, 10, 9,
26
+ 32, 9, 126, 0, 127,
27
+ 9, 40, 10, 10, 9, 32,
28
+ 9, 126, 1, 127, 1,
29
+ 127, 10, 10, 9, 32,
30
+ 0, 127, 9, 126, 9, 59,
31
+ 9, 126, 9, 126, 9,
32
+ 126, 9, 126, 9, 126,
33
+ 0, 0, 0
34
+ ]
35
+
36
+ class << self
37
+ attr_accessor :_content_type_key_spans
38
+ private :_content_type_key_spans, :_content_type_key_spans=
39
+ end
40
+ self._content_type_key_spans = [
41
+ 0, 94, 94, 94, 118, 1, 24, 94,
42
+ 118, 32, 1, 24, 127, 127, 1, 24,
43
+ 1, 24, 118, 118, 1, 24, 118, 128,
44
+ 32, 1, 24, 118, 127, 127, 1, 24,
45
+ 128, 118, 51, 118, 118, 118, 118, 118,
46
+ 0
47
+ ]
48
+
49
+ class << self
50
+ attr_accessor :_content_type_index_offsets
51
+ private :_content_type_index_offsets, :_content_type_index_offsets=
52
+ end
53
+ self._content_type_index_offsets = [
54
+ 0, 0, 95, 190, 285, 404, 406, 431,
55
+ 526, 645, 678, 680, 705, 833, 961, 963,
56
+ 988, 990, 1015, 1134, 1253, 1255, 1280, 1399,
57
+ 1528, 1561, 1563, 1588, 1707, 1835, 1963, 1965,
58
+ 1990, 2119, 2238, 2290, 2409, 2528, 2647, 2766,
59
+ 2885
60
+ ]
61
+
62
+ class << self
63
+ attr_accessor :_content_type_indicies
64
+ private :_content_type_indicies, :_content_type_indicies=
65
+ end
66
+ self._content_type_indicies = [
67
+ 0, 0, 0, 0, 0, 0, 0, 1,
68
+ 1, 0, 0, 0, 0, 0, 1, 0,
69
+ 0, 0, 0, 0, 0, 0, 0, 0,
70
+ 0, 1, 1, 1, 1, 1, 1, 1,
71
+ 0, 0, 0, 0, 0, 0, 0, 0,
72
+ 0, 0, 0, 0, 0, 0, 0, 0,
73
+ 0, 0, 0, 0, 0, 0, 0, 0,
74
+ 0, 0, 1, 1, 1, 0, 0, 0,
75
+ 0, 0, 0, 0, 0, 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, 1, 2,
79
+ 2, 2, 2, 2, 2, 2, 1, 1,
80
+ 2, 2, 2, 2, 2, 3, 2, 2,
81
+ 2, 2, 2, 2, 2, 2, 2, 2,
82
+ 1, 1, 1, 1, 1, 1, 1, 2,
83
+ 2, 2, 2, 2, 2, 2, 2, 2,
84
+ 2, 2, 2, 2, 2, 2, 2, 2,
85
+ 2, 2, 2, 2, 2, 2, 2, 2,
86
+ 2, 1, 1, 1, 2, 2, 2, 2,
87
+ 2, 2, 2, 2, 2, 2, 2, 2,
88
+ 2, 2, 2, 2, 2, 2, 2, 2,
89
+ 2, 2, 2, 2, 2, 2, 2, 2,
90
+ 2, 2, 2, 2, 2, 1, 4, 4,
91
+ 4, 4, 4, 4, 4, 1, 1, 4,
92
+ 4, 4, 4, 4, 1, 4, 4, 4,
93
+ 4, 4, 4, 4, 4, 4, 4, 1,
94
+ 1, 1, 1, 1, 1, 1, 4, 4,
95
+ 4, 4, 4, 4, 4, 4, 4, 4,
96
+ 4, 4, 4, 4, 4, 4, 4, 4,
97
+ 4, 4, 4, 4, 4, 4, 4, 4,
98
+ 1, 1, 1, 4, 4, 4, 4, 4,
99
+ 4, 4, 4, 4, 4, 4, 4, 4,
100
+ 4, 4, 4, 4, 4, 4, 4, 4,
101
+ 4, 4, 4, 4, 4, 4, 4, 4,
102
+ 4, 4, 4, 4, 1, 5, 1, 1,
103
+ 1, 6, 1, 1, 1, 1, 1, 1,
104
+ 1, 1, 1, 1, 1, 1, 1, 1,
105
+ 1, 1, 1, 1, 5, 7, 7, 7,
106
+ 7, 7, 7, 7, 8, 1, 7, 7,
107
+ 7, 7, 7, 1, 7, 7, 7, 7,
108
+ 7, 7, 7, 7, 7, 7, 1, 9,
109
+ 1, 1, 1, 1, 1, 7, 7, 7,
110
+ 7, 7, 7, 7, 7, 7, 7, 7,
111
+ 7, 7, 7, 7, 7, 7, 7, 7,
112
+ 7, 7, 7, 7, 7, 7, 7, 1,
113
+ 1, 1, 7, 7, 7, 7, 7, 7,
114
+ 7, 7, 7, 7, 7, 7, 7, 7,
115
+ 7, 7, 7, 7, 7, 7, 7, 7,
116
+ 7, 7, 7, 7, 7, 7, 7, 7,
117
+ 7, 7, 7, 1, 10, 1, 5, 1,
118
+ 1, 1, 1, 1, 1, 1, 1, 1,
119
+ 1, 1, 1, 1, 1, 1, 1, 1,
120
+ 1, 1, 1, 1, 1, 5, 1, 11,
121
+ 11, 11, 11, 11, 11, 11, 1, 1,
122
+ 11, 11, 11, 11, 11, 1, 11, 11,
123
+ 11, 11, 11, 11, 11, 11, 11, 11,
124
+ 1, 1, 1, 12, 1, 1, 1, 11,
125
+ 11, 11, 11, 11, 11, 11, 11, 11,
126
+ 11, 11, 11, 11, 11, 11, 11, 11,
127
+ 11, 11, 11, 11, 11, 11, 11, 11,
128
+ 11, 1, 1, 1, 11, 11, 11, 11,
129
+ 11, 11, 11, 11, 11, 11, 11, 11,
130
+ 11, 11, 11, 11, 11, 11, 11, 11,
131
+ 11, 11, 11, 11, 11, 11, 11, 11,
132
+ 11, 11, 11, 11, 11, 1, 13, 1,
133
+ 1, 1, 14, 1, 1, 1, 1, 1,
134
+ 1, 1, 1, 1, 1, 1, 1, 1,
135
+ 1, 1, 1, 1, 1, 13, 15, 16,
136
+ 15, 15, 15, 15, 15, 17, 1, 15,
137
+ 15, 15, 15, 15, 1, 15, 15, 15,
138
+ 15, 15, 15, 15, 15, 15, 15, 1,
139
+ 1, 1, 15, 1, 1, 1, 15, 15,
140
+ 15, 15, 15, 15, 15, 15, 15, 15,
141
+ 15, 15, 15, 15, 15, 15, 15, 15,
142
+ 15, 15, 15, 15, 15, 15, 15, 15,
143
+ 1, 1, 1, 15, 15, 15, 15, 15,
144
+ 15, 15, 15, 15, 15, 15, 15, 15,
145
+ 15, 15, 15, 15, 15, 15, 15, 15,
146
+ 15, 15, 15, 15, 15, 15, 15, 15,
147
+ 15, 15, 15, 15, 1, 18, 1, 1,
148
+ 1, 19, 1, 1, 1, 1, 1, 1,
149
+ 1, 1, 1, 1, 1, 1, 1, 1,
150
+ 1, 1, 1, 1, 18, 1, 20, 1,
151
+ 1, 1, 1, 1, 21, 1, 22, 1,
152
+ 18, 1, 1, 1, 1, 1, 1, 1,
153
+ 1, 1, 1, 1, 1, 1, 1, 1,
154
+ 1, 1, 1, 1, 1, 1, 1, 18,
155
+ 1, 23, 23, 23, 23, 23, 23, 23,
156
+ 23, 23, 1, 23, 23, 24, 23, 23,
157
+ 23, 23, 23, 23, 23, 23, 23, 23,
158
+ 23, 23, 23, 23, 23, 23, 23, 23,
159
+ 23, 23, 25, 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, 23, 23, 23, 23, 23, 23,
163
+ 23, 23, 23, 23, 23, 23, 23, 23,
164
+ 23, 23, 23, 23, 23, 23, 23, 23,
165
+ 23, 23, 23, 23, 23, 23, 23, 23,
166
+ 23, 23, 23, 23, 26, 23, 23, 23,
167
+ 23, 23, 23, 23, 23, 23, 23, 23,
168
+ 23, 23, 23, 23, 23, 23, 23, 23,
169
+ 23, 23, 23, 23, 23, 23, 23, 23,
170
+ 23, 23, 23, 23, 23, 23, 23, 23,
171
+ 1, 27, 27, 27, 27, 27, 27, 27,
172
+ 27, 27, 1, 27, 27, 28, 27, 27,
173
+ 27, 27, 27, 27, 27, 27, 27, 27,
174
+ 27, 27, 27, 27, 27, 27, 27, 27,
175
+ 27, 27, 29, 27, 27, 27, 27, 27,
176
+ 27, 27, 27, 27, 27, 27, 27, 27,
177
+ 27, 27, 27, 27, 27, 27, 27, 27,
178
+ 27, 27, 27, 27, 27, 27, 27, 27,
179
+ 27, 27, 27, 27, 27, 27, 27, 27,
180
+ 27, 27, 27, 27, 27, 27, 27, 27,
181
+ 27, 27, 27, 27, 27, 27, 27, 27,
182
+ 27, 27, 27, 27, 30, 27, 27, 27,
183
+ 27, 27, 27, 27, 27, 27, 27, 27,
184
+ 27, 27, 27, 27, 27, 27, 27, 27,
185
+ 27, 27, 27, 27, 27, 27, 27, 27,
186
+ 27, 27, 27, 27, 27, 27, 27, 27,
187
+ 1, 31, 1, 27, 1, 1, 1, 1,
188
+ 1, 1, 1, 1, 1, 1, 1, 1,
189
+ 1, 1, 1, 1, 1, 1, 1, 1,
190
+ 1, 1, 27, 1, 32, 1, 33, 1,
191
+ 1, 1, 1, 1, 1, 1, 1, 1,
192
+ 1, 1, 1, 1, 1, 1, 1, 1,
193
+ 1, 1, 1, 1, 1, 33, 1, 34,
194
+ 1, 1, 1, 35, 1, 1, 1, 1,
195
+ 1, 1, 1, 1, 1, 1, 1, 1,
196
+ 1, 1, 1, 1, 1, 1, 34, 7,
197
+ 7, 7, 7, 7, 7, 7, 36, 1,
198
+ 7, 7, 7, 7, 7, 1, 7, 7,
199
+ 7, 7, 7, 7, 7, 7, 7, 7,
200
+ 1, 9, 1, 1, 1, 1, 1, 7,
201
+ 7, 7, 7, 7, 7, 7, 7, 7,
202
+ 7, 7, 7, 7, 7, 7, 7, 7,
203
+ 7, 7, 7, 7, 7, 7, 7, 7,
204
+ 7, 1, 1, 1, 7, 7, 7, 7,
205
+ 7, 7, 7, 7, 7, 7, 7, 7,
206
+ 7, 7, 7, 7, 7, 7, 7, 7,
207
+ 7, 7, 7, 7, 7, 7, 7, 7,
208
+ 7, 7, 7, 7, 7, 1, 34, 1,
209
+ 1, 1, 35, 1, 1, 1, 1, 1,
210
+ 1, 1, 1, 1, 1, 1, 1, 1,
211
+ 1, 1, 1, 1, 1, 34, 7, 7,
212
+ 7, 7, 7, 7, 7, 36, 1, 7,
213
+ 7, 7, 7, 7, 1, 7, 7, 7,
214
+ 7, 7, 7, 7, 7, 7, 7, 1,
215
+ 1, 1, 1, 1, 1, 1, 7, 7,
216
+ 7, 7, 7, 7, 7, 7, 7, 7,
217
+ 7, 7, 7, 7, 7, 7, 7, 7,
218
+ 7, 7, 7, 7, 7, 7, 7, 7,
219
+ 1, 1, 1, 7, 7, 7, 7, 7,
220
+ 7, 7, 7, 7, 7, 7, 7, 7,
221
+ 7, 7, 7, 7, 7, 7, 7, 7,
222
+ 7, 7, 7, 7, 7, 7, 7, 7,
223
+ 7, 7, 7, 7, 1, 37, 1, 34,
224
+ 1, 1, 1, 1, 1, 1, 1, 1,
225
+ 1, 1, 1, 1, 1, 1, 1, 1,
226
+ 1, 1, 1, 1, 1, 1, 34, 1,
227
+ 38, 1, 1, 1, 39, 1, 1, 1,
228
+ 1, 1, 1, 1, 1, 1, 1, 1,
229
+ 1, 1, 1, 1, 1, 1, 1, 38,
230
+ 40, 40, 40, 40, 40, 40, 40, 41,
231
+ 1, 40, 40, 40, 40, 40, 1, 40,
232
+ 40, 40, 40, 40, 40, 40, 40, 40,
233
+ 40, 1, 1, 1, 1, 1, 1, 1,
234
+ 40, 40, 40, 40, 40, 40, 40, 40,
235
+ 40, 40, 40, 40, 40, 40, 40, 40,
236
+ 40, 40, 40, 40, 40, 40, 40, 40,
237
+ 40, 40, 1, 1, 1, 40, 40, 40,
238
+ 40, 40, 40, 40, 40, 40, 40, 40,
239
+ 40, 40, 40, 40, 40, 40, 40, 40,
240
+ 40, 40, 40, 40, 40, 40, 40, 40,
241
+ 40, 40, 40, 40, 40, 40, 1, 27,
242
+ 27, 27, 27, 27, 27, 27, 27, 27,
243
+ 27, 27, 27, 27, 27, 27, 27, 27,
244
+ 27, 27, 27, 27, 27, 27, 27, 27,
245
+ 27, 27, 27, 27, 27, 27, 27, 27,
246
+ 27, 27, 27, 27, 27, 27, 27, 27,
247
+ 27, 27, 27, 27, 27, 27, 27, 27,
248
+ 27, 27, 27, 27, 27, 27, 27, 27,
249
+ 27, 27, 27, 27, 27, 27, 27, 27,
250
+ 27, 27, 27, 27, 27, 27, 27, 27,
251
+ 27, 27, 27, 27, 27, 27, 27, 27,
252
+ 27, 27, 27, 27, 27, 27, 27, 27,
253
+ 27, 27, 27, 27, 27, 27, 27, 27,
254
+ 27, 27, 27, 27, 27, 27, 27, 27,
255
+ 27, 27, 27, 27, 27, 27, 27, 27,
256
+ 27, 27, 27, 27, 27, 27, 27, 27,
257
+ 27, 27, 27, 27, 27, 27, 27, 1,
258
+ 42, 1, 1, 1, 43, 1, 1, 1,
259
+ 1, 1, 1, 1, 1, 1, 1, 1,
260
+ 1, 1, 1, 1, 1, 1, 1, 42,
261
+ 1, 44, 1, 1, 1, 1, 1, 45,
262
+ 1, 46, 1, 47, 1, 1, 1, 1,
263
+ 1, 1, 1, 1, 1, 1, 1, 1,
264
+ 1, 1, 1, 1, 1, 1, 1, 1,
265
+ 1, 1, 47, 1, 48, 1, 1, 1,
266
+ 49, 1, 1, 1, 1, 1, 1, 1,
267
+ 1, 1, 1, 1, 1, 1, 1, 1,
268
+ 1, 1, 1, 48, 40, 40, 40, 40,
269
+ 40, 40, 40, 50, 1, 40, 40, 40,
270
+ 40, 40, 1, 40, 40, 40, 40, 40,
271
+ 40, 40, 40, 40, 40, 1, 51, 1,
272
+ 1, 1, 1, 1, 40, 40, 40, 40,
273
+ 40, 40, 40, 40, 40, 40, 40, 40,
274
+ 40, 40, 40, 40, 40, 40, 40, 40,
275
+ 40, 40, 40, 40, 40, 40, 1, 1,
276
+ 1, 40, 40, 40, 40, 40, 40, 40,
277
+ 40, 40, 40, 40, 40, 40, 40, 40,
278
+ 40, 40, 40, 40, 40, 40, 40, 40,
279
+ 40, 40, 40, 40, 40, 40, 40, 40,
280
+ 40, 40, 1, 52, 52, 52, 52, 52,
281
+ 52, 52, 52, 52, 1, 52, 52, 53,
282
+ 52, 52, 52, 52, 52, 52, 52, 52,
283
+ 52, 52, 52, 52, 52, 52, 52, 52,
284
+ 52, 52, 52, 52, 52, 52, 52, 52,
285
+ 52, 52, 54, 55, 52, 52, 52, 52,
286
+ 52, 52, 52, 52, 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, 52, 52,
290
+ 52, 52, 52, 52, 52, 52, 52, 52,
291
+ 52, 52, 52, 52, 52, 52, 56, 52,
292
+ 52, 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, 57, 57, 57, 57, 57,
297
+ 57, 57, 57, 57, 1, 57, 57, 58,
298
+ 57, 57, 57, 57, 57, 57, 57, 57,
299
+ 57, 57, 57, 57, 57, 57, 57, 57,
300
+ 57, 57, 57, 57, 57, 57, 57, 57,
301
+ 57, 57, 59, 60, 57, 57, 57, 57,
302
+ 57, 57, 57, 57, 57, 57, 57, 57,
303
+ 57, 57, 57, 57, 57, 57, 57, 57,
304
+ 57, 57, 57, 57, 57, 57, 57, 57,
305
+ 57, 57, 57, 57, 57, 57, 57, 57,
306
+ 57, 57, 57, 57, 57, 57, 57, 57,
307
+ 57, 57, 57, 57, 57, 57, 61, 57,
308
+ 57, 57, 57, 57, 57, 57, 57, 57,
309
+ 57, 57, 57, 57, 57, 57, 57, 57,
310
+ 57, 57, 57, 57, 57, 57, 57, 57,
311
+ 57, 57, 57, 57, 57, 57, 57, 57,
312
+ 57, 57, 1, 62, 1, 57, 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, 57, 1, 57, 57,
316
+ 57, 57, 57, 57, 57, 57, 57, 57,
317
+ 57, 57, 57, 57, 57, 57, 57, 57,
318
+ 57, 57, 57, 57, 57, 57, 57, 57,
319
+ 57, 57, 57, 57, 57, 57, 57, 57,
320
+ 57, 57, 57, 57, 57, 57, 57, 57,
321
+ 57, 57, 57, 57, 57, 57, 57, 57,
322
+ 57, 57, 57, 57, 57, 57, 57, 57,
323
+ 57, 57, 57, 57, 57, 57, 57, 57,
324
+ 57, 57, 57, 57, 57, 57, 57, 57,
325
+ 57, 57, 57, 57, 57, 57, 57, 57,
326
+ 57, 57, 57, 57, 57, 57, 57, 57,
327
+ 57, 57, 57, 57, 57, 57, 57, 57,
328
+ 57, 57, 57, 57, 57, 57, 57, 57,
329
+ 57, 57, 57, 57, 57, 57, 57, 57,
330
+ 57, 57, 57, 57, 57, 57, 57, 57,
331
+ 57, 57, 57, 57, 57, 57, 1, 63,
332
+ 1, 1, 1, 64, 1, 1, 1, 1,
333
+ 1, 1, 1, 1, 1, 1, 1, 1,
334
+ 1, 1, 1, 1, 1, 1, 63, 65,
335
+ 65, 65, 65, 65, 65, 65, 66, 1,
336
+ 65, 65, 65, 65, 65, 1, 65, 65,
337
+ 65, 65, 65, 65, 65, 65, 65, 65,
338
+ 1, 67, 1, 1, 1, 1, 1, 65,
339
+ 65, 65, 65, 65, 65, 65, 65, 65,
340
+ 65, 65, 65, 65, 65, 65, 65, 65,
341
+ 65, 65, 65, 65, 65, 65, 65, 65,
342
+ 65, 1, 1, 1, 65, 65, 65, 65,
343
+ 65, 65, 65, 65, 65, 65, 65, 65,
344
+ 65, 65, 65, 65, 65, 65, 65, 65,
345
+ 65, 65, 65, 65, 65, 65, 65, 65,
346
+ 65, 65, 65, 65, 65, 1, 68, 1,
347
+ 1, 1, 69, 1, 1, 1, 1, 1,
348
+ 1, 1, 1, 1, 1, 1, 1, 1,
349
+ 1, 1, 1, 1, 1, 68, 1, 1,
350
+ 1, 1, 1, 1, 1, 70, 1, 1,
351
+ 1, 1, 1, 1, 1, 1, 1, 1,
352
+ 1, 1, 1, 1, 1, 1, 1, 1,
353
+ 71, 1, 68, 1, 1, 1, 69, 1,
354
+ 1, 1, 1, 1, 1, 1, 1, 1,
355
+ 1, 1, 1, 1, 1, 1, 1, 1,
356
+ 1, 68, 7, 7, 7, 7, 7, 7,
357
+ 7, 70, 1, 7, 7, 7, 7, 7,
358
+ 1, 7, 7, 7, 7, 7, 7, 7,
359
+ 7, 7, 7, 1, 71, 1, 1, 1,
360
+ 1, 1, 7, 7, 7, 7, 7, 7,
361
+ 7, 7, 7, 7, 7, 7, 7, 7,
362
+ 7, 7, 7, 7, 7, 7, 7, 7,
363
+ 7, 7, 7, 7, 1, 1, 1, 7,
364
+ 7, 7, 7, 7, 7, 7, 7, 7,
365
+ 7, 7, 7, 7, 7, 7, 7, 7,
366
+ 7, 7, 7, 7, 7, 7, 7, 7,
367
+ 7, 7, 7, 7, 7, 7, 7, 7,
368
+ 1, 72, 1, 1, 1, 73, 1, 1,
369
+ 1, 1, 1, 1, 1, 1, 1, 1,
370
+ 1, 1, 1, 1, 1, 1, 1, 1,
371
+ 72, 40, 40, 40, 40, 40, 40, 40,
372
+ 74, 1, 40, 40, 40, 40, 40, 1,
373
+ 40, 40, 40, 40, 40, 40, 40, 40,
374
+ 40, 40, 1, 75, 1, 1, 1, 1,
375
+ 1, 40, 40, 40, 40, 40, 40, 40,
376
+ 40, 40, 40, 40, 40, 40, 40, 40,
377
+ 40, 40, 40, 40, 40, 40, 40, 40,
378
+ 40, 40, 40, 1, 1, 1, 40, 40,
379
+ 40, 40, 40, 40, 40, 40, 40, 40,
380
+ 40, 40, 40, 40, 40, 40, 40, 40,
381
+ 40, 40, 40, 40, 40, 40, 40, 40,
382
+ 40, 40, 40, 40, 40, 40, 40, 1,
383
+ 76, 1, 1, 1, 77, 1, 1, 1,
384
+ 1, 1, 1, 1, 1, 1, 1, 1,
385
+ 1, 1, 1, 1, 1, 1, 1, 76,
386
+ 78, 1, 78, 78, 78, 78, 78, 79,
387
+ 1, 78, 78, 78, 78, 78, 1, 78,
388
+ 78, 78, 78, 78, 78, 78, 78, 78,
389
+ 78, 1, 71, 1, 78, 1, 1, 1,
390
+ 78, 78, 78, 78, 78, 78, 78, 78,
391
+ 78, 78, 78, 78, 78, 78, 78, 78,
392
+ 78, 78, 78, 78, 78, 78, 78, 78,
393
+ 78, 78, 1, 1, 1, 78, 78, 78,
394
+ 78, 78, 78, 78, 78, 78, 78, 78,
395
+ 78, 78, 78, 78, 78, 78, 78, 78,
396
+ 78, 78, 78, 78, 78, 78, 78, 78,
397
+ 78, 78, 78, 78, 78, 78, 1, 47,
398
+ 1, 1, 1, 80, 1, 1, 1, 1,
399
+ 1, 1, 1, 1, 1, 1, 1, 1,
400
+ 1, 1, 1, 1, 1, 1, 47, 7,
401
+ 7, 7, 7, 7, 7, 7, 81, 1,
402
+ 7, 7, 7, 7, 7, 1, 7, 7,
403
+ 7, 7, 7, 7, 7, 7, 7, 7,
404
+ 1, 9, 1, 1, 1, 1, 1, 7,
405
+ 7, 7, 7, 7, 7, 7, 7, 7,
406
+ 7, 7, 7, 7, 7, 7, 7, 7,
407
+ 7, 7, 7, 7, 7, 7, 7, 7,
408
+ 7, 1, 1, 1, 7, 7, 7, 7,
409
+ 7, 7, 7, 7, 7, 7, 7, 7,
410
+ 7, 7, 7, 7, 7, 7, 7, 7,
411
+ 7, 7, 7, 7, 7, 7, 7, 7,
412
+ 7, 7, 7, 7, 7, 1, 82, 1,
413
+ 1, 1, 83, 1, 1, 1, 1, 1,
414
+ 1, 1, 1, 1, 1, 1, 1, 1,
415
+ 1, 1, 1, 1, 1, 82, 40, 40,
416
+ 40, 40, 40, 40, 40, 84, 1, 40,
417
+ 40, 40, 40, 40, 1, 40, 40, 40,
418
+ 40, 40, 40, 40, 40, 40, 40, 1,
419
+ 51, 1, 1, 1, 1, 1, 40, 40,
420
+ 40, 40, 40, 40, 40, 40, 40, 40,
421
+ 40, 40, 40, 40, 40, 40, 40, 40,
422
+ 40, 40, 40, 40, 40, 40, 40, 40,
423
+ 1, 1, 1, 40, 40, 40, 40, 40,
424
+ 40, 40, 40, 40, 40, 40, 40, 40,
425
+ 40, 40, 40, 40, 40, 40, 40, 40,
426
+ 40, 40, 40, 40, 40, 40, 40, 40,
427
+ 40, 40, 40, 40, 1, 1, 0
428
+ ]
429
+
430
+ class << self
431
+ attr_accessor :_content_type_trans_targs
432
+ private :_content_type_trans_targs, :_content_type_trans_targs=
433
+ end
434
+ self._content_type_trans_targs = [
435
+ 2, 0, 2, 3, 33, 4, 5, 7,
436
+ 27, 18, 6, 7, 8, 9, 10, 37,
437
+ 12, 24, 9, 10, 12, 24, 11, 13,
438
+ 14, 34, 23, 13, 14, 34, 23, 15,
439
+ 17, 35, 19, 20, 22, 21, 19, 20,
440
+ 7, 22, 9, 10, 12, 24, 26, 38,
441
+ 4, 5, 27, 18, 29, 30, 29, 40,
442
+ 32, 29, 30, 29, 40, 32, 31, 4,
443
+ 5, 33, 27, 18, 35, 16, 36, 18,
444
+ 35, 16, 36, 18, 38, 25, 37, 39,
445
+ 25, 39, 38, 25, 39
446
+ ]
447
+
448
+ class << self
449
+ attr_accessor :_content_type_trans_actions
450
+ private :_content_type_trans_actions, :_content_type_trans_actions=
451
+ end
452
+ self._content_type_trans_actions = [
453
+ 1, 0, 0, 2, 3, 0, 0, 4,
454
+ 5, 0, 0, 0, 6, 7, 7, 7,
455
+ 7, 8, 0, 0, 0, 5, 0, 9,
456
+ 9, 10, 9, 0, 0, 11, 0, 0,
457
+ 0, 0, 0, 0, 5, 0, 12, 12,
458
+ 13, 14, 12, 12, 12, 14, 0, 0,
459
+ 12, 12, 14, 12, 15, 15, 16, 17,
460
+ 15, 0, 0, 5, 18, 0, 0, 19,
461
+ 19, 0, 20, 19, 21, 21, 22, 21,
462
+ 23, 23, 24, 23, 21, 21, 0, 25,
463
+ 0, 5, 12, 12, 14
464
+ ]
465
+
466
+ class << self
467
+ attr_accessor :_content_type_eof_actions
468
+ private :_content_type_eof_actions, :_content_type_eof_actions=
469
+ end
470
+ self._content_type_eof_actions = [
471
+ 0, 0, 0, 0, 0, 0, 0, 0,
472
+ 0, 0, 0, 0, 0, 0, 0, 0,
473
+ 0, 0, 0, 0, 0, 0, 0, 0,
474
+ 0, 0, 0, 0, 0, 0, 0, 0,
475
+ 0, 19, 21, 21, 23, 21, 0, 12,
476
+ 0
477
+ ]
478
+
479
+ class << self
480
+ attr_accessor :content_type_start
481
+ end
482
+ self.content_type_start = 1;
483
+ class << self
484
+ attr_accessor :content_type_first_final
485
+ end
486
+ self.content_type_first_final = 33;
487
+ class << self
488
+ attr_accessor :content_type_error
489
+ end
490
+ self.content_type_error = 0;
491
+
492
+ class << self
493
+ attr_accessor :content_type_en_comment_tail
494
+ end
495
+ self.content_type_en_comment_tail = 28;
496
+ class << self
497
+ attr_accessor :content_type_en_main
498
+ end
499
+ self.content_type_en_main = 1;
500
+
501
+
502
+ # line 17 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/content_type_machine.rb.rl"
503
+
504
+ def self.parse(data)
505
+ p = 0
506
+ eof = data.length
507
+ stack = []
508
+
509
+ actions = []
510
+ data_unpacked = data.bytes.to_a
511
+
512
+ # line 513 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/content_type_machine.rb"
513
+ begin
514
+ p ||= 0
515
+ pe ||= data.length
516
+ cs = content_type_start
517
+ top = 0
518
+ end
519
+
520
+ # line 26 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/content_type_machine.rb.rl"
521
+
522
+ # line 523 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/content_type_machine.rb"
523
+ begin
524
+ testEof = false
525
+ _slen, _trans, _keys, _inds, _acts, _nacts = nil
526
+ _goto_level = 0
527
+ _resume = 10
528
+ _eof_trans = 15
529
+ _again = 20
530
+ _test_eof = 30
531
+ _out = 40
532
+ while true
533
+ if _goto_level <= 0
534
+ if p == pe
535
+ _goto_level = _test_eof
536
+ next
537
+ end
538
+ if cs == 0
539
+ _goto_level = _out
540
+ next
541
+ end
542
+ end
543
+ if _goto_level <= _resume
544
+ _keys = cs << 1
545
+ _inds = _content_type_index_offsets[cs]
546
+ _slen = _content_type_key_spans[cs]
547
+ _trans = if ( _slen > 0 &&
548
+ _content_type_trans_keys[_keys] <= ( data_unpacked[p]) &&
549
+ ( data_unpacked[p]) <= _content_type_trans_keys[_keys + 1]
550
+ ) then
551
+ _content_type_indicies[ _inds + ( data_unpacked[p]) - _content_type_trans_keys[_keys] ]
552
+ else
553
+ _content_type_indicies[ _inds + _slen ]
554
+ end
555
+ cs = _content_type_trans_targs[_trans]
556
+ if _content_type_trans_actions[_trans] != 0
557
+ case _content_type_trans_actions[_trans]
558
+ when 12 then
559
+ # line 7 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/rb_actions.rl"
560
+ begin
561
+ actions.push(4, p) end
562
+ when 15 then
563
+ # line 8 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/rb_actions.rl"
564
+ begin
565
+ actions.push(5, p) end
566
+ when 2 then
567
+ # line 25 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/rb_actions.rl"
568
+ begin
569
+ actions.push(22, p) end
570
+ when 1 then
571
+ # line 26 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/rb_actions.rl"
572
+ begin
573
+ actions.push(23, p) end
574
+ when 6 then
575
+ # line 35 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/rb_actions.rl"
576
+ begin
577
+ actions.push(32, p) end
578
+ when 4 then
579
+ # line 36 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/rb_actions.rl"
580
+ begin
581
+ actions.push(33, p) end
582
+ when 21 then
583
+ # line 37 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/rb_actions.rl"
584
+ begin
585
+ actions.push(34, p) end
586
+ when 7 then
587
+ # line 38 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/rb_actions.rl"
588
+ begin
589
+ actions.push(35, p) end
590
+ when 11 then
591
+ # line 41 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/rb_actions.rl"
592
+ begin
593
+ actions.push(38, p) end
594
+ when 9 then
595
+ # line 42 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/rb_actions.rl"
596
+ begin
597
+ actions.push(39, p) end
598
+ when 19 then
599
+ # line 45 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/rb_actions.rl"
600
+ begin
601
+ actions.push(42, p) end
602
+ when 3 then
603
+ # line 46 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/rb_actions.rl"
604
+ begin
605
+ actions.push(43, p) end
606
+ when 5 then
607
+ # line 5 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/../../common.rl"
608
+ begin
609
+ begin
610
+ stack[top] = cs
611
+ top+= 1
612
+ cs = 28
613
+ _goto_level = _again
614
+ next
615
+ end
616
+ end
617
+ when 18 then
618
+ # line 6 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/../../common.rl"
619
+ begin
620
+ begin
621
+ top -= 1
622
+ cs = stack[top]
623
+ _goto_level = _again
624
+ next
625
+ end
626
+ end
627
+ when 13 then
628
+ # line 7 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/rb_actions.rl"
629
+ begin
630
+ actions.push(4, p) end
631
+ # line 36 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/rb_actions.rl"
632
+ begin
633
+ actions.push(33, p) end
634
+ when 23 then
635
+ # line 7 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/rb_actions.rl"
636
+ begin
637
+ actions.push(4, p) end
638
+ # line 37 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/rb_actions.rl"
639
+ begin
640
+ actions.push(34, p) end
641
+ when 14 then
642
+ # line 7 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/rb_actions.rl"
643
+ begin
644
+ actions.push(4, p) end
645
+ # line 5 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/../../common.rl"
646
+ begin
647
+ begin
648
+ stack[top] = cs
649
+ top+= 1
650
+ cs = 28
651
+ _goto_level = _again
652
+ next
653
+ end
654
+ end
655
+ when 16 then
656
+ # line 8 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/rb_actions.rl"
657
+ begin
658
+ actions.push(5, p) end
659
+ # line 5 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/../../common.rl"
660
+ begin
661
+ begin
662
+ stack[top] = cs
663
+ top+= 1
664
+ cs = 28
665
+ _goto_level = _again
666
+ next
667
+ end
668
+ end
669
+ when 17 then
670
+ # line 8 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/rb_actions.rl"
671
+ begin
672
+ actions.push(5, p) end
673
+ # line 6 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/../../common.rl"
674
+ begin
675
+ begin
676
+ top -= 1
677
+ cs = stack[top]
678
+ _goto_level = _again
679
+ next
680
+ end
681
+ end
682
+ when 25 then
683
+ # line 37 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/rb_actions.rl"
684
+ begin
685
+ actions.push(34, p) end
686
+ # line 5 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/../../common.rl"
687
+ begin
688
+ begin
689
+ stack[top] = cs
690
+ top+= 1
691
+ cs = 28
692
+ _goto_level = _again
693
+ next
694
+ end
695
+ end
696
+ when 8 then
697
+ # line 38 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/rb_actions.rl"
698
+ begin
699
+ actions.push(35, p) end
700
+ # line 5 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/../../common.rl"
701
+ begin
702
+ begin
703
+ stack[top] = cs
704
+ top+= 1
705
+ cs = 28
706
+ _goto_level = _again
707
+ next
708
+ end
709
+ end
710
+ when 10 then
711
+ # line 42 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/rb_actions.rl"
712
+ begin
713
+ actions.push(39, p) end
714
+ # line 41 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/rb_actions.rl"
715
+ begin
716
+ actions.push(38, p) end
717
+ when 20 then
718
+ # line 45 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/rb_actions.rl"
719
+ begin
720
+ actions.push(42, p) end
721
+ # line 5 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/../../common.rl"
722
+ begin
723
+ begin
724
+ stack[top] = cs
725
+ top+= 1
726
+ cs = 28
727
+ _goto_level = _again
728
+ next
729
+ end
730
+ end
731
+ when 22 then
732
+ # line 5 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/../../common.rl"
733
+ begin
734
+ begin
735
+ stack[top] = cs
736
+ top+= 1
737
+ cs = 28
738
+ _goto_level = _again
739
+ next
740
+ end
741
+ end
742
+ # line 37 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/rb_actions.rl"
743
+ begin
744
+ actions.push(34, p) end
745
+ when 24 then
746
+ # line 7 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/rb_actions.rl"
747
+ begin
748
+ actions.push(4, p) end
749
+ # line 5 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/../../common.rl"
750
+ begin
751
+ begin
752
+ stack[top] = cs
753
+ top+= 1
754
+ cs = 28
755
+ _goto_level = _again
756
+ next
757
+ end
758
+ end
759
+ # line 37 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/rb_actions.rl"
760
+ begin
761
+ actions.push(34, p) end
762
+ # line 763 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/content_type_machine.rb"
763
+ end
764
+ end
765
+ end
766
+ if _goto_level <= _again
767
+ if cs == 0
768
+ _goto_level = _out
769
+ next
770
+ end
771
+ p += 1
772
+ if p != pe
773
+ _goto_level = _resume
774
+ next
775
+ end
776
+ end
777
+ if _goto_level <= _test_eof
778
+ if p == eof
779
+ case _content_type_eof_actions[cs]
780
+ when 12 then
781
+ # line 7 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/rb_actions.rl"
782
+ begin
783
+ actions.push(4, p) end
784
+ when 21 then
785
+ # line 37 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/rb_actions.rl"
786
+ begin
787
+ actions.push(34, p) end
788
+ when 19 then
789
+ # line 45 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/rb_actions.rl"
790
+ begin
791
+ actions.push(42, p) end
792
+ when 23 then
793
+ # line 7 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/rb_actions.rl"
794
+ begin
795
+ actions.push(4, p) end
796
+ # line 37 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/rb_actions.rl"
797
+ begin
798
+ actions.push(34, p) end
799
+ # line 800 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/content_type_machine.rb"
800
+ end
801
+ end
802
+
803
+ end
804
+ if _goto_level <= _out
805
+ break
806
+ end
807
+ end
808
+ end
809
+
810
+ # line 27 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/content_type_machine.rb.rl"
811
+
812
+ if p == eof && cs >=
813
+ # line 814 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/content_type_machine.rb"
814
+ 33
815
+ # line 28 "/home/bpot/src/gh/bpot/mail/lib/mail/parsers/ragel/ruby/machines/content_type_machine.rb.rl"
816
+
817
+ return actions, nil
818
+ else
819
+ return [], "Only able to parse up to #{data[0..p]}"
820
+ end
821
+ end
822
+ end
823
+ end
824
+ end
825
+ end