mail-portertech 2.6.2.edge

Sign up to get free protection for your applications and to get access to all the features.
Files changed (153) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.rdoc +753 -0
  3. data/CONTRIBUTING.md +60 -0
  4. data/Dependencies.txt +2 -0
  5. data/Gemfile +15 -0
  6. data/MIT-LICENSE +20 -0
  7. data/README.md +683 -0
  8. data/Rakefile +29 -0
  9. data/TODO.rdoc +9 -0
  10. data/lib/mail.rb +91 -0
  11. data/lib/mail/attachments_list.rb +104 -0
  12. data/lib/mail/body.rb +291 -0
  13. data/lib/mail/check_delivery_params.rb +20 -0
  14. data/lib/mail/configuration.rb +75 -0
  15. data/lib/mail/core_extensions/nil.rb +19 -0
  16. data/lib/mail/core_extensions/object.rb +13 -0
  17. data/lib/mail/core_extensions/smtp.rb +24 -0
  18. data/lib/mail/core_extensions/string.rb +43 -0
  19. data/lib/mail/core_extensions/string/access.rb +145 -0
  20. data/lib/mail/core_extensions/string/multibyte.rb +78 -0
  21. data/lib/mail/elements.rb +14 -0
  22. data/lib/mail/elements/address.rb +270 -0
  23. data/lib/mail/elements/address_list.rb +51 -0
  24. data/lib/mail/elements/content_disposition_element.rb +26 -0
  25. data/lib/mail/elements/content_location_element.rb +21 -0
  26. data/lib/mail/elements/content_transfer_encoding_element.rb +17 -0
  27. data/lib/mail/elements/content_type_element.rb +31 -0
  28. data/lib/mail/elements/date_time_element.rb +22 -0
  29. data/lib/mail/elements/envelope_from_element.rb +39 -0
  30. data/lib/mail/elements/message_ids_element.rb +24 -0
  31. data/lib/mail/elements/mime_version_element.rb +22 -0
  32. data/lib/mail/elements/phrase_list.rb +16 -0
  33. data/lib/mail/elements/received_element.rb +26 -0
  34. data/lib/mail/encodings.rb +304 -0
  35. data/lib/mail/encodings/7bit.rb +31 -0
  36. data/lib/mail/encodings/8bit.rb +31 -0
  37. data/lib/mail/encodings/base64.rb +33 -0
  38. data/lib/mail/encodings/binary.rb +31 -0
  39. data/lib/mail/encodings/quoted_printable.rb +39 -0
  40. data/lib/mail/encodings/transfer_encoding.rb +58 -0
  41. data/lib/mail/envelope.rb +30 -0
  42. data/lib/mail/field.rb +247 -0
  43. data/lib/mail/field_list.rb +33 -0
  44. data/lib/mail/fields.rb +35 -0
  45. data/lib/mail/fields/bcc_field.rb +56 -0
  46. data/lib/mail/fields/cc_field.rb +55 -0
  47. data/lib/mail/fields/comments_field.rb +41 -0
  48. data/lib/mail/fields/common/address_container.rb +16 -0
  49. data/lib/mail/fields/common/common_address.rb +135 -0
  50. data/lib/mail/fields/common/common_date.rb +35 -0
  51. data/lib/mail/fields/common/common_field.rb +57 -0
  52. data/lib/mail/fields/common/common_message_id.rb +48 -0
  53. data/lib/mail/fields/common/parameter_hash.rb +58 -0
  54. data/lib/mail/fields/content_description_field.rb +19 -0
  55. data/lib/mail/fields/content_disposition_field.rb +70 -0
  56. data/lib/mail/fields/content_id_field.rb +62 -0
  57. data/lib/mail/fields/content_location_field.rb +42 -0
  58. data/lib/mail/fields/content_transfer_encoding_field.rb +44 -0
  59. data/lib/mail/fields/content_type_field.rb +201 -0
  60. data/lib/mail/fields/date_field.rb +57 -0
  61. data/lib/mail/fields/from_field.rb +55 -0
  62. data/lib/mail/fields/in_reply_to_field.rb +56 -0
  63. data/lib/mail/fields/keywords_field.rb +44 -0
  64. data/lib/mail/fields/message_id_field.rb +82 -0
  65. data/lib/mail/fields/mime_version_field.rb +53 -0
  66. data/lib/mail/fields/optional_field.rb +13 -0
  67. data/lib/mail/fields/received_field.rb +75 -0
  68. data/lib/mail/fields/references_field.rb +56 -0
  69. data/lib/mail/fields/reply_to_field.rb +55 -0
  70. data/lib/mail/fields/resent_bcc_field.rb +55 -0
  71. data/lib/mail/fields/resent_cc_field.rb +55 -0
  72. data/lib/mail/fields/resent_date_field.rb +35 -0
  73. data/lib/mail/fields/resent_from_field.rb +55 -0
  74. data/lib/mail/fields/resent_message_id_field.rb +34 -0
  75. data/lib/mail/fields/resent_sender_field.rb +62 -0
  76. data/lib/mail/fields/resent_to_field.rb +55 -0
  77. data/lib/mail/fields/return_path_field.rb +65 -0
  78. data/lib/mail/fields/sender_field.rb +67 -0
  79. data/lib/mail/fields/structured_field.rb +51 -0
  80. data/lib/mail/fields/subject_field.rb +16 -0
  81. data/lib/mail/fields/to_field.rb +55 -0
  82. data/lib/mail/fields/unstructured_field.rb +204 -0
  83. data/lib/mail/header.rb +274 -0
  84. data/lib/mail/indifferent_hash.rb +146 -0
  85. data/lib/mail/mail.rb +267 -0
  86. data/lib/mail/matchers/has_sent_mail.rb +157 -0
  87. data/lib/mail/message.rb +2160 -0
  88. data/lib/mail/multibyte.rb +42 -0
  89. data/lib/mail/multibyte/chars.rb +474 -0
  90. data/lib/mail/multibyte/exceptions.rb +8 -0
  91. data/lib/mail/multibyte/unicode.rb +400 -0
  92. data/lib/mail/multibyte/utils.rb +60 -0
  93. data/lib/mail/network.rb +14 -0
  94. data/lib/mail/network/delivery_methods/exim.rb +52 -0
  95. data/lib/mail/network/delivery_methods/file_delivery.rb +45 -0
  96. data/lib/mail/network/delivery_methods/sendmail.rb +89 -0
  97. data/lib/mail/network/delivery_methods/smtp.rb +142 -0
  98. data/lib/mail/network/delivery_methods/smtp_connection.rb +61 -0
  99. data/lib/mail/network/delivery_methods/test_mailer.rb +44 -0
  100. data/lib/mail/network/retriever_methods/base.rb +63 -0
  101. data/lib/mail/network/retriever_methods/imap.rb +173 -0
  102. data/lib/mail/network/retriever_methods/pop3.rb +140 -0
  103. data/lib/mail/network/retriever_methods/test_retriever.rb +43 -0
  104. data/lib/mail/parsers.rb +26 -0
  105. data/lib/mail/parsers/address_lists_parser.rb +132 -0
  106. data/lib/mail/parsers/content_disposition_parser.rb +67 -0
  107. data/lib/mail/parsers/content_location_parser.rb +35 -0
  108. data/lib/mail/parsers/content_transfer_encoding_parser.rb +33 -0
  109. data/lib/mail/parsers/content_type_parser.rb +64 -0
  110. data/lib/mail/parsers/date_time_parser.rb +36 -0
  111. data/lib/mail/parsers/envelope_from_parser.rb +45 -0
  112. data/lib/mail/parsers/message_ids_parser.rb +39 -0
  113. data/lib/mail/parsers/mime_version_parser.rb +41 -0
  114. data/lib/mail/parsers/phrase_lists_parser.rb +33 -0
  115. data/lib/mail/parsers/ragel.rb +17 -0
  116. data/lib/mail/parsers/ragel/common.rl +184 -0
  117. data/lib/mail/parsers/ragel/date_time.rl +30 -0
  118. data/lib/mail/parsers/ragel/parser_info.rb +61 -0
  119. data/lib/mail/parsers/ragel/ruby.rb +39 -0
  120. data/lib/mail/parsers/ragel/ruby/machines/address_lists_machine.rb +14864 -0
  121. data/lib/mail/parsers/ragel/ruby/machines/address_lists_machine.rb.rl +37 -0
  122. data/lib/mail/parsers/ragel/ruby/machines/content_disposition_machine.rb +751 -0
  123. data/lib/mail/parsers/ragel/ruby/machines/content_disposition_machine.rb.rl +37 -0
  124. data/lib/mail/parsers/ragel/ruby/machines/content_location_machine.rb +614 -0
  125. data/lib/mail/parsers/ragel/ruby/machines/content_location_machine.rb.rl +37 -0
  126. data/lib/mail/parsers/ragel/ruby/machines/content_transfer_encoding_machine.rb +447 -0
  127. data/lib/mail/parsers/ragel/ruby/machines/content_transfer_encoding_machine.rb.rl +37 -0
  128. data/lib/mail/parsers/ragel/ruby/machines/content_type_machine.rb +825 -0
  129. data/lib/mail/parsers/ragel/ruby/machines/content_type_machine.rb.rl +37 -0
  130. data/lib/mail/parsers/ragel/ruby/machines/date_time_machine.rb +817 -0
  131. data/lib/mail/parsers/ragel/ruby/machines/date_time_machine.rb.rl +37 -0
  132. data/lib/mail/parsers/ragel/ruby/machines/envelope_from_machine.rb +2129 -0
  133. data/lib/mail/parsers/ragel/ruby/machines/envelope_from_machine.rb.rl +37 -0
  134. data/lib/mail/parsers/ragel/ruby/machines/message_ids_machine.rb +1570 -0
  135. data/lib/mail/parsers/ragel/ruby/machines/message_ids_machine.rb.rl +37 -0
  136. data/lib/mail/parsers/ragel/ruby/machines/mime_version_machine.rb +440 -0
  137. data/lib/mail/parsers/ragel/ruby/machines/mime_version_machine.rb.rl +37 -0
  138. data/lib/mail/parsers/ragel/ruby/machines/phrase_lists_machine.rb +564 -0
  139. data/lib/mail/parsers/ragel/ruby/machines/phrase_lists_machine.rb.rl +37 -0
  140. data/lib/mail/parsers/ragel/ruby/machines/rb_actions.rl +51 -0
  141. data/lib/mail/parsers/ragel/ruby/machines/received_machine.rb +5144 -0
  142. data/lib/mail/parsers/ragel/ruby/machines/received_machine.rb.rl +37 -0
  143. data/lib/mail/parsers/ragel/ruby/parser.rb.rl.erb +37 -0
  144. data/lib/mail/parsers/received_parser.rb +47 -0
  145. data/lib/mail/part.rb +120 -0
  146. data/lib/mail/parts_list.rb +57 -0
  147. data/lib/mail/patterns.rb +37 -0
  148. data/lib/mail/utilities.rb +225 -0
  149. data/lib/mail/values/unicode_tables.dat +0 -0
  150. data/lib/mail/version.rb +4 -0
  151. data/lib/mail/version_specific/ruby_1_8.rb +119 -0
  152. data/lib/mail/version_specific/ruby_1_9.rb +159 -0
  153. metadata +276 -0
@@ -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