hpricot 0.6.161-jruby → 0.6.164-jruby

Sign up to get free protection for your applications and to get access to all the features.
data/Rakefile CHANGED
@@ -9,7 +9,7 @@ include FileUtils
9
9
  RbConfig = Config unless defined?(RbConfig)
10
10
 
11
11
  NAME = "hpricot"
12
- REV = `svn info`[/Revision: (\d+)/, 1] rescue nil
12
+ REV = (`#{ENV['GIT'] || "git"} rev-list HEAD`.split.length + 1).to_s
13
13
  VERS = ENV['VERSION'] || "0.6" + (REV ? ".#{REV}" : "")
14
14
  PKG = "#{NAME}-#{VERS}"
15
15
  BIN = "*.{bundle,jar,so,obj,pdb,lib,def,exp,class}"
@@ -21,7 +21,18 @@ RDOC_OPTS = ['--quiet', '--title', 'The Hpricot Reference', '--main', 'README',
21
21
  PKG_FILES = %w(CHANGELOG COPYING README Rakefile) +
22
22
  Dir.glob("{bin,doc,test,lib,extras}/**/*") +
23
23
  Dir.glob("ext/**/*.{h,java,c,rb,rl}") +
24
- %w[ext/hpricot_scan/hpricot_scan.c ext/hpricot_scan/HpricotScanService.java] # needed because it's generated later
24
+ %w[ext/hpricot_scan/hpricot_scan.c ext/hpricot_scan/HpricotScanService.java] # needed because they are generated later
25
+ RAGEL_C_CODE_GENERATION_STYLES = {
26
+ "table_driven" => 'T0',
27
+ "faster_table_driven" => 'T1',
28
+ "flat_table_driven" => 'F0',
29
+ "faster_flat_table_driven" => 'F1',
30
+ "goto_driven" => 'G0',
31
+ "faster_goto_driven" => 'G1',
32
+ "really_fast goto_driven" => 'G2'
33
+ # "n_way_split_really_fast_goto_driven" => 'P<N>'
34
+ }
35
+ DEFAULT_RAGEL_C_CODE_GENERATION = "really_fast goto_driven"
25
36
  SPEC =
26
37
  Gem::Specification.new do |s|
27
38
  s.name = NAME
@@ -113,19 +124,35 @@ task :compile => [:hpricot_scan, :fast_xs] do
113
124
  end
114
125
  task :hpricot_scan => [:ragel]
115
126
 
116
- desc "returns the ragel version"
127
+ desc "Determines the Ragel version and displays it on the console along with the location of the Ragel binary."
117
128
  task :ragel_version do
118
129
  @ragel_v = `ragel -v`[/(version )(\S*)/,2].to_f
130
+ puts "Using ragel version: #{@ragel_v}, location: #{`which ragel`}"
131
+ @ragel_v
119
132
  end
120
133
 
121
134
  desc "Generates the C scanner code with Ragel."
122
135
  task :ragel => [:ragel_version] do
123
- sh %{ragel ext/hpricot_scan/hpricot_scan.rl | #{@ragel_v >= 5.18 ? 'rlgen-cd' : 'rlcodegen'} -G2 -o ext/hpricot_scan/hpricot_scan.c}
136
+ if @ragel_v >= 6.1
137
+ @ragel_c_code_generation_style = RAGEL_C_CODE_GENERATION_STYLES[DEFAULT_RAGEL_C_CODE_GENERATION]
138
+ sh %{cd ext/hpricot_scan; ragel hpricot_scan.rl -#{@ragel_c_code_generation_style} -o hpricot_scan.c}
139
+ else
140
+ STDERR.puts "Ragel 6.1 or greater is required."
141
+ exit(1)
142
+ end
124
143
  end
125
144
 
126
- desc "Generates the Java scanner code with Ragel."
145
+ # Java only supports the table-driven code
146
+ # generation style at this point.
147
+ desc "Generates the Java scanner code using the Ragel table-driven code generation style."
127
148
  task :ragel_java => [:ragel_version] do
128
- sh %{ragel -J ext/hpricot_scan/hpricot_scan.java.rl | #{@ragel_v >= 5.18 ? 'rlgen-java' : 'rlcodegen'} -o ext/hpricot_scan/HpricotScanService.java}
149
+ if @ragel_v >= 6.1
150
+ puts "compiling with ragel version #{@ragel_v}"
151
+ sh %{ragel -J -o ext/hpricot_scan/HpricotScanService.java ext/hpricot_scan/hpricot_scan.java.rl}
152
+ else
153
+ STDERR.puts "Ragel 6.1 or greater is required."
154
+ exit(1)
155
+ end
129
156
  end
130
157
 
131
158
  ### Win32 Packages ###
@@ -25,7 +25,7 @@ public class FastXsService implements BasicLibraryService {
25
25
  String string = recv.convertToString().getUnicodeValue();
26
26
  StringWriter writer = new StringWriter ((int)(string.length() * 1.5));
27
27
  try {
28
- Entities.HTML40.escape(writer, string);
28
+ Entities.XML.escape(writer, string);
29
29
  return recv.getRuntime().newString(writer.toString());
30
30
  } catch (IOException e) {
31
31
  throw recv.getRuntime().newIOErrorFromException(e);
@@ -21,11 +21,11 @@ public class HpricotScanService implements BasicLibraryService {
21
21
  private static RubyObjectAdapter rubyApi;
22
22
 
23
23
  public void ELE(IRubyObject N) {
24
- if (tokend > tokstart || text) {
24
+ if (te > ts || text) {
25
25
  IRubyObject raw_string = runtime.getNil();
26
26
  ele_open = false; text = false;
27
- if (tokstart != -1 && N != cdata && N != sym_text && N != procins && N != comment) {
28
- raw_string = runtime.newString(new String(buf,tokstart,tokend-tokstart));
27
+ if (ts != -1 && N != cdata && N != sym_text && N != procins && N != comment) {
28
+ raw_string = runtime.newString(new String(buf,ts,te-ts));
29
29
  }
30
30
  rb_yield_tokens(N, tag[0], attr, raw_string, taint);
31
31
  }
@@ -79,13 +79,13 @@ public class HpricotScanService implements BasicLibraryService {
79
79
  } else if(N == aval) {
80
80
  mark = mark_aval;
81
81
  }
82
- if(mark > tokstart) {
82
+ if(mark > ts) {
83
83
  if(N == tag) {
84
- mark_tag -= tokstart;
84
+ mark_tag -= ts;
85
85
  } else if(N == akey) {
86
- mark_akey -= tokstart;
86
+ mark_akey -= ts;
87
87
  } else if(N == aval) {
88
- mark_aval -= tokstart;
88
+ mark_aval -= ts;
89
89
  }
90
90
  }
91
91
  }
@@ -95,7 +95,8 @@ public class HpricotScanService implements BasicLibraryService {
95
95
  if(attr.isNil()) {
96
96
  attr = RubyHash.newHash(runtime);
97
97
  }
98
- ((RubyHash)attr).aset(K,V);
98
+ ((RubyHash)attr).op_aset(runtime.getCurrentContext(),K,V);
99
+ // ((RubyHash)attr).aset(K,V);
99
100
  }
100
101
  }
101
102
 
@@ -115,8 +116,8 @@ public class HpricotScanService implements BasicLibraryService {
115
116
  if(!text) {
116
117
  if(ele_open) {
117
118
  ele_open = false;
118
- if(tokstart > -1) {
119
- mark_tag = tokstart;
119
+ if(ts > -1) {
120
+ mark_tag = ts;
120
121
  }
121
122
  } else {
122
123
  mark_tag = p;
@@ -141,860 +142,606 @@ public class HpricotScanService implements BasicLibraryService {
141
142
  return runtime.newString(s);
142
143
  }
143
144
 
144
- // line 188 "ext/hpricot_scan/hpricot_scan.java.rl"
145
+ // line 189 "ext/hpricot_scan/hpricot_scan.java.rl"
145
146
 
146
147
 
147
148
 
148
- // line 149 "ext/hpricot_scan/HpricotScanService.java"
149
- private static void init__hpricot_scan_actions_0( byte[] r )
149
+ // line 150 "ext/hpricot_scan/HpricotScanService.java"
150
+ private static byte[] init__hpricot_scan_actions_0()
150
151
  {
151
- r[0]=0; r[1]=1; r[2]=1; r[3]=1; r[4]=2; r[5]=1; r[6]=4; r[7]=1;
152
- r[8]=5; r[9]=1; r[10]=6; r[11]=1; r[12]=7; r[13]=1; r[14]=8; r[15]=1;
153
- r[16]=9; r[17]=1; r[18]=10; r[19]=1; r[20]=11; r[21]=1; r[22]=12; r[23]=1;
154
- r[24]=14; r[25]=1; r[26]=16; r[27]=1; r[28]=20; r[29]=1; r[30]=21; r[31]=1;
155
- r[32]=22; r[33]=1; r[34]=24; r[35]=1; r[36]=25; r[37]=1; r[38]=26; r[39]=1;
156
- r[40]=28; r[41]=1; r[42]=29; r[43]=1; r[44]=30; r[45]=1; r[46]=32; r[47]=1;
157
- r[48]=33; r[49]=1; r[50]=38; r[51]=1; r[52]=39; r[53]=1; r[54]=40; r[55]=1;
158
- r[56]=41; r[57]=1; r[58]=42; r[59]=1; r[60]=43; r[61]=1; r[62]=44; r[63]=1;
159
- r[64]=45; r[65]=1; r[66]=46; r[67]=1; r[68]=47; r[69]=1; r[70]=48; r[71]=1;
160
- r[72]=49; r[73]=1; r[74]=50; r[75]=2; r[76]=2; r[77]=5; r[78]=2; r[79]=2;
161
- r[80]=6; r[81]=2; r[82]=2; r[83]=11; r[84]=2; r[85]=2; r[86]=12; r[87]=2;
162
- r[88]=2; r[89]=14; r[90]=2; r[91]=4; r[92]=39; r[93]=2; r[94]=4; r[95]=40;
163
- r[96]=2; r[97]=4; r[98]=41; r[99]=2; r[100]=5; r[101]=2; r[102]=2; r[103]=6;
164
- r[104]=14; r[105]=2; r[106]=7; r[107]=6; r[108]=2; r[109]=7; r[110]=14; r[111]=2;
165
- r[112]=11; r[113]=12; r[114]=2; r[115]=13; r[116]=3; r[117]=2; r[118]=14; r[119]=6;
166
- r[120]=2; r[121]=14; r[122]=40; r[123]=2; r[124]=15; r[125]=24; r[126]=2; r[127]=15;
167
- r[128]=28; r[129]=2; r[130]=15; r[131]=32; r[132]=2; r[133]=15; r[134]=45; r[135]=2;
168
- r[136]=17; r[137]=23; r[138]=2; r[139]=18; r[140]=27; r[141]=2; r[142]=19; r[143]=31;
169
- r[144]=2; r[145]=22; r[146]=34; r[147]=2; r[148]=22; r[149]=36; r[150]=3; r[151]=2;
170
- r[152]=6; r[153]=14; r[154]=3; r[155]=2; r[156]=14; r[157]=6; r[158]=3; r[159]=6;
171
- r[160]=7; r[161]=14; r[162]=3; r[163]=6; r[164]=14; r[165]=40; r[166]=3; r[167]=7;
172
- r[168]=14; r[169]=40; r[170]=3; r[171]=14; r[172]=6; r[173]=40; r[174]=3; r[175]=14;
173
- r[176]=13; r[177]=3; r[178]=3; r[179]=22; r[180]=0; r[181]=37; r[182]=3; r[183]=22;
174
- r[184]=2; r[185]=34; r[186]=3; r[187]=22; r[188]=14; r[189]=35; r[190]=4; r[191]=2;
175
- r[192]=14; r[193]=13; r[194]=3; r[195]=4; r[196]=6; r[197]=7; r[198]=14; r[199]=40;
176
- r[200]=4; r[201]=22; r[202]=2; r[203]=14; r[204]=35; r[205]=4; r[206]=22; r[207]=6;
177
- r[208]=14; r[209]=35; r[210]=4; r[211]=22; r[212]=7; r[213]=14; r[214]=35; r[215]=4;
178
- r[216]=22; r[217]=14; r[218]=6; r[219]=35; r[220]=5; r[221]=22; r[222]=2; r[223]=6;
179
- r[224]=14; r[225]=35; r[226]=5; r[227]=22; r[228]=2; r[229]=14; r[230]=6; r[231]=35;
180
- r[232]=5; r[233]=22; r[234]=6; r[235]=7; r[236]=14; r[237]=35;
152
+ return new byte [] {
153
+ 0, 1, 1, 1, 2, 1, 4, 1, 5, 1, 6, 1,
154
+ 7, 1, 8, 1, 9, 1, 10, 1, 11, 1, 12, 1,
155
+ 14, 1, 16, 1, 20, 1, 21, 1, 22, 1, 24, 1,
156
+ 25, 1, 26, 1, 28, 1, 29, 1, 30, 1, 32, 1,
157
+ 33, 1, 38, 1, 39, 1, 40, 1, 41, 1, 42, 1,
158
+ 43, 1, 44, 1, 45, 1, 46, 1, 47, 1, 48, 1,
159
+ 49, 1, 50, 1, 51, 2, 2, 5, 2, 2, 6, 2,
160
+ 2, 11, 2, 2, 12, 2, 2, 14, 2, 4, 39, 2,
161
+ 4, 40, 2, 4, 41, 2, 5, 2, 2, 6, 14, 2,
162
+ 7, 6, 2, 7, 14, 2, 11, 12, 2, 13, 3, 2,
163
+ 14, 6, 2, 14, 40, 2, 15, 24, 2, 15, 28, 2,
164
+ 15, 32, 2, 15, 45, 2, 17, 23, 2, 18, 27, 2,
165
+ 19, 31, 2, 22, 34, 2, 22, 36, 3, 2, 6, 14,
166
+ 3, 2, 14, 6, 3, 6, 7, 14, 3, 6, 14, 40,
167
+ 3, 7, 14, 40, 3, 11, 2, 12, 3, 14, 6, 40,
168
+ 3, 14, 13, 3, 3, 22, 0, 37, 3, 22, 2, 34,
169
+ 3, 22, 14, 35, 4, 2, 14, 13, 3, 4, 6, 7,
170
+ 14, 40, 4, 22, 2, 14, 35, 4, 22, 6, 14, 35,
171
+ 4, 22, 7, 14, 35, 4, 22, 14, 6, 35, 5, 22,
172
+ 2, 6, 14, 35, 5, 22, 2, 14, 6, 35, 5, 22,
173
+ 6, 7, 14, 35
174
+ };
181
175
  }
182
176
 
183
- private static byte[] create__hpricot_scan_actions( )
184
- {
185
- byte[] r = new byte[238];
186
- init__hpricot_scan_actions_0( r );
187
- return r;
188
- }
189
-
190
- private static final byte _hpricot_scan_actions[] = create__hpricot_scan_actions();
177
+ private static final byte _hpricot_scan_actions[] = init__hpricot_scan_actions_0();
191
178
 
192
179
 
193
- private static void init__hpricot_scan_key_offsets_0( short[] r )
180
+ private static short[] init__hpricot_scan_key_offsets_0()
194
181
  {
195
- r[0]=0; r[1]=3; r[2]=4; r[3]=5; r[4]=6; r[5]=7; r[6]=8; r[7]=9;
196
- r[8]=10; r[9]=13; r[10]=22; r[11]=37; r[12]=44; r[13]=45; r[14]=46; r[15]=47;
197
- r[16]=48; r[17]=49; r[18]=52; r[19]=57; r[20]=69; r[21]=81; r[22]=86; r[23]=93;
198
- r[24]=94; r[25]=95; r[26]=100; r[27]=101; r[28]=105; r[29]=106; r[30]=107; r[31]=121;
199
- r[32]=135; r[33]=152; r[34]=169; r[35]=186; r[36]=203; r[37]=210; r[38]=212; r[39]=214;
200
- r[40]=220; r[41]=222; r[42]=227; r[43]=232; r[44]=238; r[45]=240; r[46]=245; r[47]=251;
201
- r[48]=265; r[49]=266; r[50]=267; r[51]=268; r[52]=269; r[53]=270; r[54]=271; r[55]=272;
202
- r[56]=273; r[57]=274; r[58]=275; r[59]=276; r[60]=282; r[61]=296; r[62]=300; r[63]=313;
203
- r[64]=326; r[65]=340; r[66]=354; r[67]=355; r[68]=366; r[69]=375; r[70]=388; r[71]=405;
204
- r[72]=423; r[73]=441; r[74]=450; r[75]=461; r[76]=480; r[77]=499; r[78]=510; r[79]=521;
205
- r[80]=536; r[81]=538; r[82]=540; r[83]=556; r[84]=572; r[85]=575; r[86]=587; r[87]=599;
206
- r[88]=619; r[89]=639; r[90]=658; r[91]=677; r[92]=697; r[93]=717; r[94]=728; r[95]=739;
207
- r[96]=751; r[97]=763; r[98]=775; r[99]=791; r[100]=794; r[101]=809; r[102]=811; r[103]=813;
208
- r[104]=829; r[105]=845; r[106]=848; r[107]=860; r[108]=871; r[109]=890; r[110]=910; r[111]=930;
209
- r[112]=941; r[113]=952; r[114]=964; r[115]=984; r[116]=1004; r[117]=1016; r[118]=1036; r[119]=1057;
210
- r[120]=1074; r[121]=1091; r[122]=1095; r[123]=1098; r[124]=1110; r[125]=1122; r[126]=1142; r[127]=1162;
211
- r[128]=1182; r[129]=1194; r[130]=1206; r[131]=1226; r[132]=1242; r[133]=1258; r[134]=1270; r[135]=1291;
212
- r[136]=1310; r[137]=1313; r[138]=1328; r[139]=1340; r[140]=1355; r[141]=1358; r[142]=1369; r[143]=1371;
213
- r[144]=1373; r[145]=1384; r[146]=1391; r[147]=1404; r[148]=1418; r[149]=1432; r[150]=1445; r[151]=1446;
214
- r[152]=1447; r[153]=1448; r[154]=1449; r[155]=1450; r[156]=1451; r[157]=1455; r[158]=1460; r[159]=1469;
215
- r[160]=1479; r[161]=1484; r[162]=1491; r[163]=1492; r[164]=1493; r[165]=1494; r[166]=1495; r[167]=1496;
216
- r[168]=1497; r[169]=1498; r[170]=1499; r[171]=1503; r[172]=1508; r[173]=1512; r[174]=1522; r[175]=1527;
217
- r[176]=1533; r[177]=1534; r[178]=1535; r[179]=1536; r[180]=1537; r[181]=1538; r[182]=1539; r[183]=1540;
218
- r[184]=1541; r[185]=1542; r[186]=1546; r[187]=1551; r[188]=1553; r[189]=1554; r[190]=1555; r[191]=1560;
219
- r[192]=1561; r[193]=1562; r[194]=1564; r[195]=1565; r[196]=1566; r[197]=1567; r[198]=1568; r[199]=1572;
220
- r[200]=1582; r[201]=1591; r[202]=1601; r[203]=1602; r[204]=1603; r[205]=1605; r[206]=1614; r[207]=1615;
221
- r[208]=1616; r[209]=1617; r[210]=1619; r[211]=1621; r[212]=1624; r[213]=1627; r[214]=1631; r[215]=1633;
222
- r[216]=1634; r[217]=1636; r[218]=1637; r[219]=1640;
182
+ return new short [] {
183
+ 0, 3, 4, 5, 6, 7, 8, 9, 10, 13, 22, 37,
184
+ 44, 45, 46, 47, 48, 49, 52, 57, 69, 81, 86, 93,
185
+ 94, 95, 100, 101, 105, 106, 107, 121, 135, 152, 169, 186,
186
+ 203, 210, 212, 214, 220, 222, 227, 232, 238, 240, 245, 251,
187
+ 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
188
+ 282, 296, 300, 313, 326, 340, 354, 355, 366, 375, 388, 405,
189
+ 423, 441, 450, 461, 480, 499, 510, 521, 536, 538, 540, 556,
190
+ 572, 575, 587, 599, 619, 639, 658, 677, 697, 717, 728, 739,
191
+ 751, 763, 775, 791, 794, 809, 811, 813, 829, 845, 848, 860,
192
+ 871, 890, 910, 930, 941, 952, 964, 984, 1004, 1016, 1036, 1057,
193
+ 1074, 1091, 1095, 1098, 1110, 1122, 1142, 1162, 1182, 1194, 1206, 1226,
194
+ 1242, 1258, 1270, 1291, 1310, 1313, 1328, 1340, 1355, 1358, 1369, 1371,
195
+ 1373, 1384, 1391, 1404, 1418, 1432, 1445, 1446, 1447, 1448, 1449, 1450,
196
+ 1451, 1455, 1460, 1469, 1479, 1484, 1491, 1492, 1493, 1494, 1495, 1496,
197
+ 1497, 1498, 1499, 1503, 1508, 1512, 1522, 1527, 1533, 1534, 1535, 1536,
198
+ 1537, 1538, 1539, 1540, 1541, 1542, 1546, 1551, 1553, 1554, 1555, 1560,
199
+ 1561, 1562, 1564, 1565, 1566, 1567, 1568, 1572, 1582, 1591, 1601, 1602,
200
+ 1603, 1605, 1614, 1615, 1616, 1617, 1619, 1621, 1624, 1627, 1631, 1633,
201
+ 1634, 1636, 1637, 1640
202
+ };
223
203
  }
224
204
 
225
- private static short[] create__hpricot_scan_key_offsets( )
226
- {
227
- short[] r = new short[220];
228
- init__hpricot_scan_key_offsets_0( r );
229
- return r;
230
- }
205
+ private static final short _hpricot_scan_key_offsets[] = init__hpricot_scan_key_offsets_0();
231
206
 
232
- private static final short _hpricot_scan_key_offsets[] = create__hpricot_scan_key_offsets();
233
-
234
-
235
- private static void init__hpricot_scan_trans_keys_0( char[] r )
236
- {
237
- r[0]=45; r[1]=68; r[2]=91; r[3]=45; r[4]=79; r[5]=67; r[6]=84; r[7]=89;
238
- r[8]=80; r[9]=69; r[10]=32; r[11]=9; r[12]=13; r[13]=32; r[14]=58; r[15]=95;
239
- r[16]=9; r[17]=13; r[18]=65; r[19]=90; r[20]=97; r[21]=122; r[22]=32; r[23]=62;
240
- r[24]=63; r[25]=91; r[26]=95; r[27]=9; r[28]=13; r[29]=45; r[30]=46; r[31]=48;
241
- r[32]=58; r[33]=65; r[34]=90; r[35]=97; r[36]=122; r[37]=32; r[38]=62; r[39]=80;
242
- r[40]=83; r[41]=91; r[42]=9; r[43]=13; r[44]=85; r[45]=66; r[46]=76; r[47]=73;
243
- r[48]=67; r[49]=32; r[50]=9; r[51]=13; r[52]=32; r[53]=34; r[54]=39; r[55]=9;
244
- r[56]=13; r[57]=9; r[58]=34; r[59]=61; r[60]=95; r[61]=32; r[62]=37; r[63]=39;
245
- r[64]=59; r[65]=63; r[66]=90; r[67]=97; r[68]=122; r[69]=9; r[70]=34; r[71]=61;
246
- r[72]=95; r[73]=32; r[74]=37; r[75]=39; r[76]=59; r[77]=63; r[78]=90; r[79]=97;
247
- r[80]=122; r[81]=32; r[82]=62; r[83]=91; r[84]=9; r[85]=13; r[86]=32; r[87]=34;
248
- r[88]=39; r[89]=62; r[90]=91; r[91]=9; r[92]=13; r[93]=34; r[94]=34; r[95]=32;
249
- r[96]=62; r[97]=91; r[98]=9; r[99]=13; r[100]=93; r[101]=32; r[102]=62; r[103]=9;
250
- r[104]=13; r[105]=39; r[106]=39; r[107]=9; r[108]=39; r[109]=61; r[110]=95; r[111]=32;
251
- r[112]=33; r[113]=35; r[114]=37; r[115]=40; r[116]=59; r[117]=63; r[118]=90; r[119]=97;
252
- r[120]=122; r[121]=9; r[122]=39; r[123]=61; r[124]=95; r[125]=32; r[126]=33; r[127]=35;
253
- r[128]=37; r[129]=40; r[130]=59; r[131]=63; r[132]=90; r[133]=97; r[134]=122; r[135]=9;
254
- r[136]=32; r[137]=33; r[138]=39; r[139]=62; r[140]=91; r[141]=95; r[142]=10; r[143]=13;
255
- r[144]=35; r[145]=37; r[146]=40; r[147]=59; r[148]=61; r[149]=90; r[150]=97; r[151]=122;
256
- r[152]=9; r[153]=32; r[154]=34; r[155]=39; r[156]=62; r[157]=91; r[158]=95; r[159]=10;
257
- r[160]=13; r[161]=33; r[162]=37; r[163]=40; r[164]=59; r[165]=61; r[166]=90; r[167]=97;
258
- r[168]=122; r[169]=9; r[170]=32; r[171]=33; r[172]=39; r[173]=62; r[174]=91; r[175]=95;
259
- r[176]=10; r[177]=13; r[178]=35; r[179]=37; r[180]=40; r[181]=59; r[182]=61; r[183]=90;
260
- r[184]=97; r[185]=122; r[186]=9; r[187]=32; r[188]=34; r[189]=39; r[190]=62; r[191]=91;
261
- r[192]=95; r[193]=10; r[194]=13; r[195]=33; r[196]=37; r[197]=40; r[198]=59; r[199]=61;
262
- r[200]=90; r[201]=97; r[202]=122; r[203]=32; r[204]=34; r[205]=39; r[206]=62; r[207]=91;
263
- r[208]=9; r[209]=13; r[210]=34; r[211]=39; r[212]=34; r[213]=39; r[214]=32; r[215]=39;
264
- r[216]=62; r[217]=91; r[218]=9; r[219]=13; r[220]=39; r[221]=93; r[222]=32; r[223]=62;
265
- r[224]=93; r[225]=9; r[226]=13; r[227]=32; r[228]=39; r[229]=62; r[230]=9; r[231]=13;
266
- r[232]=32; r[233]=34; r[234]=62; r[235]=91; r[236]=9; r[237]=13; r[238]=34; r[239]=93;
267
- r[240]=32; r[241]=34; r[242]=62; r[243]=9; r[244]=13; r[245]=32; r[246]=39; r[247]=62;
268
- r[248]=91; r[249]=9; r[250]=13; r[251]=9; r[252]=39; r[253]=61; r[254]=95; r[255]=32;
269
- r[256]=33; r[257]=35; r[258]=37; r[259]=40; r[260]=59; r[261]=63; r[262]=90; r[263]=97;
270
- r[264]=122; r[265]=89; r[266]=83; r[267]=84; r[268]=69; r[269]=77; r[270]=67; r[271]=68;
271
- r[272]=65; r[273]=84; r[274]=65; r[275]=91; r[276]=58; r[277]=95; r[278]=65; r[279]=90;
272
- r[280]=97; r[281]=122; r[282]=32; r[283]=62; r[284]=63; r[285]=95; r[286]=9; r[287]=13;
273
- r[288]=45; r[289]=46; r[290]=48; r[291]=58; r[292]=65; r[293]=90; r[294]=97; r[295]=122;
274
- r[296]=32; r[297]=62; r[298]=9; r[299]=13; r[300]=32; r[301]=47; r[302]=62; r[303]=63;
275
- r[304]=95; r[305]=9; r[306]=13; r[307]=45; r[308]=58; r[309]=65; r[310]=90; r[311]=97;
276
- r[312]=122; r[313]=32; r[314]=47; r[315]=62; r[316]=63; r[317]=95; r[318]=9; r[319]=13;
277
- r[320]=45; r[321]=58; r[322]=65; r[323]=90; r[324]=97; r[325]=122; r[326]=32; r[327]=47;
278
- r[328]=61; r[329]=62; r[330]=63; r[331]=95; r[332]=9; r[333]=13; r[334]=45; r[335]=58;
279
- r[336]=65; r[337]=90; r[338]=97; r[339]=122; r[340]=32; r[341]=47; r[342]=61; r[343]=62;
280
- r[344]=63; r[345]=95; r[346]=9; r[347]=13; r[348]=45; r[349]=58; r[350]=65; r[351]=90;
281
- r[352]=97; r[353]=122; r[354]=62; r[355]=13; r[356]=32; r[357]=34; r[358]=39; r[359]=47;
282
- r[360]=60; r[361]=62; r[362]=9; r[363]=10; r[364]=11; r[365]=12; r[366]=13; r[367]=32;
283
- r[368]=47; r[369]=60; r[370]=62; r[371]=9; r[372]=10; r[373]=11; r[374]=12; r[375]=32;
284
- r[376]=47; r[377]=62; r[378]=63; r[379]=95; r[380]=9; r[381]=13; r[382]=45; r[383]=58;
285
- r[384]=65; r[385]=90; r[386]=97; r[387]=122; r[388]=13; r[389]=32; r[390]=47; r[391]=60;
286
- r[392]=62; r[393]=63; r[394]=95; r[395]=9; r[396]=10; r[397]=11; r[398]=12; r[399]=45;
287
- r[400]=58; r[401]=65; r[402]=90; r[403]=97; r[404]=122; r[405]=13; r[406]=32; r[407]=47;
288
- r[408]=60; r[409]=61; r[410]=62; r[411]=63; r[412]=95; r[413]=9; r[414]=10; r[415]=11;
289
- r[416]=12; r[417]=45; r[418]=58; r[419]=65; r[420]=90; r[421]=97; r[422]=122; r[423]=13;
290
- r[424]=32; r[425]=47; r[426]=60; r[427]=61; r[428]=62; r[429]=63; r[430]=95; r[431]=9;
291
- r[432]=10; r[433]=11; r[434]=12; r[435]=45; r[436]=58; r[437]=65; r[438]=90; r[439]=97;
292
- r[440]=122; r[441]=13; r[442]=32; r[443]=47; r[444]=60; r[445]=62; r[446]=9; r[447]=10;
293
- r[448]=11; r[449]=12; r[450]=13; r[451]=32; r[452]=34; r[453]=39; r[454]=47; r[455]=60;
294
- r[456]=62; r[457]=9; r[458]=10; r[459]=11; r[460]=12; r[461]=13; r[462]=32; r[463]=34;
295
- r[464]=39; r[465]=47; r[466]=60; r[467]=62; r[468]=63; r[469]=95; r[470]=9; r[471]=10;
296
- r[472]=11; r[473]=12; r[474]=45; r[475]=58; r[476]=65; r[477]=90; r[478]=97; r[479]=122;
297
- r[480]=13; r[481]=32; r[482]=34; r[483]=39; r[484]=47; r[485]=60; r[486]=62; r[487]=63;
298
- r[488]=95; r[489]=9; r[490]=10; r[491]=11; r[492]=12; r[493]=45; r[494]=58; r[495]=65;
299
- r[496]=90; r[497]=97; r[498]=122; r[499]=13; r[500]=32; r[501]=34; r[502]=47; r[503]=60;
300
- r[504]=62; r[505]=92; r[506]=9; r[507]=10; r[508]=11; r[509]=12; r[510]=13; r[511]=32;
301
- r[512]=34; r[513]=47; r[514]=60; r[515]=62; r[516]=92; r[517]=9; r[518]=10; r[519]=11;
302
- r[520]=12; r[521]=32; r[522]=34; r[523]=47; r[524]=62; r[525]=63; r[526]=92; r[527]=95;
303
- r[528]=9; r[529]=13; r[530]=45; r[531]=58; r[532]=65; r[533]=90; r[534]=97; r[535]=122;
304
- r[536]=34; r[537]=92; r[538]=34; r[539]=92; r[540]=32; r[541]=34; r[542]=47; r[543]=61;
305
- r[544]=62; r[545]=63; r[546]=92; r[547]=95; r[548]=9; r[549]=13; r[550]=45; r[551]=58;
306
- r[552]=65; r[553]=90; r[554]=97; r[555]=122; r[556]=32; r[557]=34; r[558]=47; r[559]=61;
307
- r[560]=62; r[561]=63; r[562]=92; r[563]=95; r[564]=9; r[565]=13; r[566]=45; r[567]=58;
308
- r[568]=65; r[569]=90; r[570]=97; r[571]=122; r[572]=34; r[573]=62; r[574]=92; r[575]=13;
309
- r[576]=32; r[577]=34; r[578]=39; r[579]=47; r[580]=60; r[581]=62; r[582]=92; r[583]=9;
310
- r[584]=10; r[585]=11; r[586]=12; r[587]=13; r[588]=32; r[589]=34; r[590]=39; r[591]=47;
311
- r[592]=60; r[593]=62; r[594]=92; r[595]=9; r[596]=10; r[597]=11; r[598]=12; r[599]=13;
312
- r[600]=32; r[601]=34; r[602]=39; r[603]=47; r[604]=60; r[605]=62; r[606]=63; r[607]=92;
313
- r[608]=95; r[609]=9; r[610]=10; r[611]=11; r[612]=12; r[613]=45; r[614]=58; r[615]=65;
314
- r[616]=90; r[617]=97; r[618]=122; r[619]=13; r[620]=32; r[621]=34; r[622]=39; r[623]=47;
315
- r[624]=60; r[625]=62; r[626]=63; r[627]=92; r[628]=95; r[629]=9; r[630]=10; r[631]=11;
316
- r[632]=12; r[633]=45; r[634]=58; r[635]=65; r[636]=90; r[637]=97; r[638]=122; r[639]=13;
317
- r[640]=32; r[641]=34; r[642]=47; r[643]=60; r[644]=62; r[645]=63; r[646]=92; r[647]=95;
318
- r[648]=9; r[649]=10; r[650]=11; r[651]=12; r[652]=45; r[653]=58; r[654]=65; r[655]=90;
319
- r[656]=97; r[657]=122; r[658]=13; r[659]=32; r[660]=34; r[661]=47; r[662]=60; r[663]=62;
320
- r[664]=63; r[665]=92; r[666]=95; r[667]=9; r[668]=10; r[669]=11; r[670]=12; r[671]=45;
321
- r[672]=58; r[673]=65; r[674]=90; r[675]=97; r[676]=122; r[677]=13; r[678]=32; r[679]=34;
322
- r[680]=47; r[681]=60; r[682]=61; r[683]=62; r[684]=63; r[685]=92; r[686]=95; r[687]=9;
323
- r[688]=10; r[689]=11; r[690]=12; r[691]=45; r[692]=58; r[693]=65; r[694]=90; r[695]=97;
324
- r[696]=122; r[697]=13; r[698]=32; r[699]=34; r[700]=47; r[701]=60; r[702]=61; r[703]=62;
325
- r[704]=63; r[705]=92; r[706]=95; r[707]=9; r[708]=10; r[709]=11; r[710]=12; r[711]=45;
326
- r[712]=58; r[713]=65; r[714]=90; r[715]=97; r[716]=122; r[717]=13; r[718]=32; r[719]=34;
327
- r[720]=47; r[721]=60; r[722]=62; r[723]=92; r[724]=9; r[725]=10; r[726]=11; r[727]=12;
328
- r[728]=13; r[729]=32; r[730]=34; r[731]=47; r[732]=60; r[733]=62; r[734]=92; r[735]=9;
329
- r[736]=10; r[737]=11; r[738]=12; r[739]=13; r[740]=32; r[741]=34; r[742]=39; r[743]=47;
330
- r[744]=60; r[745]=62; r[746]=92; r[747]=9; r[748]=10; r[749]=11; r[750]=12; r[751]=13;
331
- r[752]=32; r[753]=34; r[754]=39; r[755]=47; r[756]=60; r[757]=62; r[758]=92; r[759]=9;
332
- r[760]=10; r[761]=11; r[762]=12; r[763]=13; r[764]=32; r[765]=34; r[766]=39; r[767]=47;
333
- r[768]=60; r[769]=62; r[770]=92; r[771]=9; r[772]=10; r[773]=11; r[774]=12; r[775]=32;
334
- r[776]=34; r[777]=39; r[778]=47; r[779]=62; r[780]=63; r[781]=92; r[782]=95; r[783]=9;
335
- r[784]=13; r[785]=45; r[786]=58; r[787]=65; r[788]=90; r[789]=97; r[790]=122; r[791]=34;
336
- r[792]=39; r[793]=92; r[794]=32; r[795]=39; r[796]=47; r[797]=62; r[798]=63; r[799]=92;
337
- r[800]=95; r[801]=9; r[802]=13; r[803]=45; r[804]=58; r[805]=65; r[806]=90; r[807]=97;
338
- r[808]=122; r[809]=39; r[810]=92; r[811]=39; r[812]=92; r[813]=32; r[814]=39; r[815]=47;
339
- r[816]=61; r[817]=62; r[818]=63; r[819]=92; r[820]=95; r[821]=9; r[822]=13; r[823]=45;
340
- r[824]=58; r[825]=65; r[826]=90; r[827]=97; r[828]=122; r[829]=32; r[830]=39; r[831]=47;
341
- r[832]=61; r[833]=62; r[834]=63; r[835]=92; r[836]=95; r[837]=9; r[838]=13; r[839]=45;
342
- r[840]=58; r[841]=65; r[842]=90; r[843]=97; r[844]=122; r[845]=39; r[846]=62; r[847]=92;
343
- r[848]=13; r[849]=32; r[850]=34; r[851]=39; r[852]=47; r[853]=60; r[854]=62; r[855]=92;
344
- r[856]=9; r[857]=10; r[858]=11; r[859]=12; r[860]=13; r[861]=32; r[862]=39; r[863]=47;
345
- r[864]=60; r[865]=62; r[866]=92; r[867]=9; r[868]=10; r[869]=11; r[870]=12; r[871]=13;
346
- r[872]=32; r[873]=39; r[874]=47; r[875]=60; r[876]=62; r[877]=63; r[878]=92; r[879]=95;
347
- r[880]=9; r[881]=10; r[882]=11; r[883]=12; r[884]=45; r[885]=58; r[886]=65; r[887]=90;
348
- r[888]=97; r[889]=122; r[890]=13; r[891]=32; r[892]=39; r[893]=47; r[894]=60; r[895]=61;
349
- r[896]=62; r[897]=63; r[898]=92; r[899]=95; r[900]=9; r[901]=10; r[902]=11; r[903]=12;
350
- r[904]=45; r[905]=58; r[906]=65; r[907]=90; r[908]=97; r[909]=122; r[910]=13; r[911]=32;
351
- r[912]=39; r[913]=47; r[914]=60; r[915]=61; r[916]=62; r[917]=63; r[918]=92; r[919]=95;
352
- r[920]=9; r[921]=10; r[922]=11; r[923]=12; r[924]=45; r[925]=58; r[926]=65; r[927]=90;
353
- r[928]=97; r[929]=122; r[930]=13; r[931]=32; r[932]=39; r[933]=47; r[934]=60; r[935]=62;
354
- r[936]=92; r[937]=9; r[938]=10; r[939]=11; r[940]=12; r[941]=13; r[942]=32; r[943]=39;
355
- r[944]=47; r[945]=60; r[946]=62; r[947]=92; r[948]=9; r[949]=10; r[950]=11; r[951]=12;
356
- r[952]=13; r[953]=32; r[954]=34; r[955]=39; r[956]=47; r[957]=60; r[958]=62; r[959]=92;
357
- r[960]=9; r[961]=10; r[962]=11; r[963]=12; r[964]=13; r[965]=32; r[966]=34; r[967]=39;
358
- r[968]=47; r[969]=60; r[970]=62; r[971]=63; r[972]=92; r[973]=95; r[974]=9; r[975]=10;
359
- r[976]=11; r[977]=12; r[978]=45; r[979]=58; r[980]=65; r[981]=90; r[982]=97; r[983]=122;
360
- r[984]=13; r[985]=32; r[986]=34; r[987]=39; r[988]=47; r[989]=60; r[990]=62; r[991]=63;
361
- r[992]=92; r[993]=95; r[994]=9; r[995]=10; r[996]=11; r[997]=12; r[998]=45; r[999]=58;
362
- r[1000]=65; r[1001]=90; r[1002]=97; r[1003]=122; r[1004]=13; r[1005]=32; r[1006]=34; r[1007]=39;
363
- r[1008]=47; r[1009]=60; r[1010]=62; r[1011]=92; r[1012]=9; r[1013]=10; r[1014]=11; r[1015]=12;
364
- r[1016]=13; r[1017]=32; r[1018]=34; r[1019]=39; r[1020]=47; r[1021]=60; r[1022]=62; r[1023]=63;
365
- r[1024]=92; r[1025]=95; r[1026]=9; r[1027]=10; r[1028]=11; r[1029]=12; r[1030]=45; r[1031]=58;
366
- r[1032]=65; r[1033]=90; r[1034]=97; r[1035]=122; r[1036]=13; r[1037]=32; r[1038]=34; r[1039]=39;
367
- r[1040]=47; r[1041]=60; r[1042]=61; r[1043]=62; r[1044]=63; r[1045]=92; r[1046]=95; r[1047]=9;
368
- r[1048]=10; r[1049]=11; r[1050]=12; r[1051]=45; r[1052]=58; r[1053]=65; r[1054]=90; r[1055]=97;
369
- r[1056]=122; r[1057]=32; r[1058]=34; r[1059]=39; r[1060]=47; r[1061]=61; r[1062]=62; r[1063]=63;
370
- r[1064]=92; r[1065]=95; r[1066]=9; r[1067]=13; r[1068]=45; r[1069]=58; r[1070]=65; r[1071]=90;
371
- r[1072]=97; r[1073]=122; r[1074]=32; r[1075]=34; r[1076]=39; r[1077]=47; r[1078]=61; r[1079]=62;
372
- r[1080]=63; r[1081]=92; r[1082]=95; r[1083]=9; r[1084]=13; r[1085]=45; r[1086]=58; r[1087]=65;
373
- r[1088]=90; r[1089]=97; r[1090]=122; r[1091]=34; r[1092]=39; r[1093]=62; r[1094]=92; r[1095]=34;
374
- r[1096]=39; r[1097]=92; r[1098]=13; r[1099]=32; r[1100]=34; r[1101]=39; r[1102]=47; r[1103]=60;
375
- r[1104]=62; r[1105]=92; r[1106]=9; r[1107]=10; r[1108]=11; r[1109]=12; r[1110]=13; r[1111]=32;
376
- r[1112]=34; r[1113]=39; r[1114]=47; r[1115]=60; r[1116]=62; r[1117]=92; r[1118]=9; r[1119]=10;
377
- r[1120]=11; r[1121]=12; r[1122]=13; r[1123]=32; r[1124]=34; r[1125]=39; r[1126]=47; r[1127]=60;
378
- r[1128]=62; r[1129]=63; r[1130]=92; r[1131]=95; r[1132]=9; r[1133]=10; r[1134]=11; r[1135]=12;
379
- r[1136]=45; r[1137]=58; r[1138]=65; r[1139]=90; r[1140]=97; r[1141]=122; r[1142]=13; r[1143]=32;
380
- r[1144]=34; r[1145]=39; r[1146]=47; r[1147]=60; r[1148]=62; r[1149]=63; r[1150]=92; r[1151]=95;
381
- r[1152]=9; r[1153]=10; r[1154]=11; r[1155]=12; r[1156]=45; r[1157]=58; r[1158]=65; r[1159]=90;
382
- r[1160]=97; r[1161]=122; r[1162]=13; r[1163]=32; r[1164]=34; r[1165]=39; r[1166]=47; r[1167]=60;
383
- r[1168]=62; r[1169]=63; r[1170]=92; r[1171]=95; r[1172]=9; r[1173]=10; r[1174]=11; r[1175]=12;
384
- r[1176]=45; r[1177]=58; r[1178]=65; r[1179]=90; r[1180]=97; r[1181]=122; r[1182]=13; r[1183]=32;
385
- r[1184]=34; r[1185]=39; r[1186]=47; r[1187]=60; r[1188]=62; r[1189]=92; r[1190]=9; r[1191]=10;
386
- r[1192]=11; r[1193]=12; r[1194]=13; r[1195]=32; r[1196]=34; r[1197]=39; r[1198]=47; r[1199]=60;
387
- r[1200]=62; r[1201]=92; r[1202]=9; r[1203]=10; r[1204]=11; r[1205]=12; r[1206]=13; r[1207]=32;
388
- r[1208]=34; r[1209]=39; r[1210]=47; r[1211]=60; r[1212]=62; r[1213]=63; r[1214]=92; r[1215]=95;
389
- r[1216]=9; r[1217]=10; r[1218]=11; r[1219]=12; r[1220]=45; r[1221]=58; r[1222]=65; r[1223]=90;
390
- r[1224]=97; r[1225]=122; r[1226]=32; r[1227]=34; r[1228]=39; r[1229]=47; r[1230]=62; r[1231]=63;
391
- r[1232]=92; r[1233]=95; r[1234]=9; r[1235]=13; r[1236]=45; r[1237]=58; r[1238]=65; r[1239]=90;
392
- r[1240]=97; r[1241]=122; r[1242]=32; r[1243]=34; r[1244]=39; r[1245]=47; r[1246]=62; r[1247]=63;
393
- r[1248]=92; r[1249]=95; r[1250]=9; r[1251]=13; r[1252]=45; r[1253]=58; r[1254]=65; r[1255]=90;
394
- r[1256]=97; r[1257]=122; r[1258]=13; r[1259]=32; r[1260]=34; r[1261]=39; r[1262]=47; r[1263]=60;
395
- r[1264]=62; r[1265]=92; r[1266]=9; r[1267]=10; r[1268]=11; r[1269]=12; r[1270]=13; r[1271]=32;
396
- r[1272]=34; r[1273]=39; r[1274]=47; r[1275]=60; r[1276]=61; r[1277]=62; r[1278]=63; r[1279]=92;
397
- r[1280]=95; r[1281]=9; r[1282]=10; r[1283]=11; r[1284]=12; r[1285]=45; r[1286]=58; r[1287]=65;
398
- r[1288]=90; r[1289]=97; r[1290]=122; r[1291]=13; r[1292]=32; r[1293]=39; r[1294]=47; r[1295]=60;
399
- r[1296]=62; r[1297]=63; r[1298]=92; r[1299]=95; r[1300]=9; r[1301]=10; r[1302]=11; r[1303]=12;
400
- r[1304]=45; r[1305]=58; r[1306]=65; r[1307]=90; r[1308]=97; r[1309]=122; r[1310]=34; r[1311]=39;
401
- r[1312]=92; r[1313]=32; r[1314]=39; r[1315]=47; r[1316]=62; r[1317]=63; r[1318]=92; r[1319]=95;
402
- r[1320]=9; r[1321]=13; r[1322]=45; r[1323]=58; r[1324]=65; r[1325]=90; r[1326]=97; r[1327]=122;
403
- r[1328]=13; r[1329]=32; r[1330]=34; r[1331]=39; r[1332]=47; r[1333]=60; r[1334]=62; r[1335]=92;
404
- r[1336]=9; r[1337]=10; r[1338]=11; r[1339]=12; r[1340]=32; r[1341]=34; r[1342]=47; r[1343]=62;
405
- r[1344]=63; r[1345]=92; r[1346]=95; r[1347]=9; r[1348]=13; r[1349]=45; r[1350]=58; r[1351]=65;
406
- r[1352]=90; r[1353]=97; r[1354]=122; r[1355]=34; r[1356]=39; r[1357]=92; r[1358]=13; r[1359]=32;
407
- r[1360]=39; r[1361]=47; r[1362]=60; r[1363]=62; r[1364]=92; r[1365]=9; r[1366]=10; r[1367]=11;
408
- r[1368]=12; r[1369]=34; r[1370]=92; r[1371]=39; r[1372]=92; r[1373]=13; r[1374]=32; r[1375]=34;
409
- r[1376]=39; r[1377]=47; r[1378]=60; r[1379]=62; r[1380]=9; r[1381]=10; r[1382]=11; r[1383]=12;
410
- r[1384]=58; r[1385]=95; r[1386]=120; r[1387]=65; r[1388]=90; r[1389]=97; r[1390]=122; r[1391]=32;
411
- r[1392]=63; r[1393]=95; r[1394]=9; r[1395]=13; r[1396]=45; r[1397]=46; r[1398]=48; r[1399]=58;
412
- r[1400]=65; r[1401]=90; r[1402]=97; r[1403]=122; r[1404]=32; r[1405]=63; r[1406]=95; r[1407]=109;
413
- r[1408]=9; r[1409]=13; r[1410]=45; r[1411]=46; r[1412]=48; r[1413]=58; r[1414]=65; r[1415]=90;
414
- r[1416]=97; r[1417]=122; r[1418]=32; r[1419]=63; r[1420]=95; r[1421]=108; r[1422]=9; r[1423]=13;
415
- r[1424]=45; r[1425]=46; r[1426]=48; r[1427]=58; r[1428]=65; r[1429]=90; r[1430]=97; r[1431]=122;
416
- r[1432]=32; r[1433]=63; r[1434]=95; r[1435]=9; r[1436]=13; r[1437]=45; r[1438]=46; r[1439]=48;
417
- r[1440]=58; r[1441]=65; r[1442]=90; r[1443]=97; r[1444]=122; r[1445]=101; r[1446]=114; r[1447]=115;
418
- r[1448]=105; r[1449]=111; r[1450]=110; r[1451]=32; r[1452]=61; r[1453]=9; r[1454]=13; r[1455]=32;
419
- r[1456]=34; r[1457]=39; r[1458]=9; r[1459]=13; r[1460]=95; r[1461]=45; r[1462]=46; r[1463]=48;
420
- r[1464]=58; r[1465]=65; r[1466]=90; r[1467]=97; r[1468]=122; r[1469]=34; r[1470]=95; r[1471]=45;
421
- r[1472]=46; r[1473]=48; r[1474]=58; r[1475]=65; r[1476]=90; r[1477]=97; r[1478]=122; r[1479]=32;
422
- r[1480]=62; r[1481]=63; r[1482]=9; r[1483]=13; r[1484]=32; r[1485]=62; r[1486]=63; r[1487]=101;
423
- r[1488]=115; r[1489]=9; r[1490]=13; r[1491]=62; r[1492]=110; r[1493]=99; r[1494]=111; r[1495]=100;
424
- r[1496]=105; r[1497]=110; r[1498]=103; r[1499]=32; r[1500]=61; r[1501]=9; r[1502]=13; r[1503]=32;
425
- r[1504]=34; r[1505]=39; r[1506]=9; r[1507]=13; r[1508]=65; r[1509]=90; r[1510]=97; r[1511]=122;
426
- r[1512]=34; r[1513]=95; r[1514]=45; r[1515]=46; r[1516]=48; r[1517]=57; r[1518]=65; r[1519]=90;
427
- r[1520]=97; r[1521]=122; r[1522]=32; r[1523]=62; r[1524]=63; r[1525]=9; r[1526]=13; r[1527]=32;
428
- r[1528]=62; r[1529]=63; r[1530]=115; r[1531]=9; r[1532]=13; r[1533]=116; r[1534]=97; r[1535]=110;
429
- r[1536]=100; r[1537]=97; r[1538]=108; r[1539]=111; r[1540]=110; r[1541]=101; r[1542]=32; r[1543]=61;
430
- r[1544]=9; r[1545]=13; r[1546]=32; r[1547]=34; r[1548]=39; r[1549]=9; r[1550]=13; r[1551]=110;
431
- r[1552]=121; r[1553]=111; r[1554]=34; r[1555]=32; r[1556]=62; r[1557]=63; r[1558]=9; r[1559]=13;
432
- r[1560]=101; r[1561]=115; r[1562]=110; r[1563]=121; r[1564]=111; r[1565]=39; r[1566]=101; r[1567]=115;
433
- r[1568]=65; r[1569]=90; r[1570]=97; r[1571]=122; r[1572]=39; r[1573]=95; r[1574]=45; r[1575]=46;
434
- r[1576]=48; r[1577]=57; r[1578]=65; r[1579]=90; r[1580]=97; r[1581]=122; r[1582]=95; r[1583]=45;
435
- r[1584]=46; r[1585]=48; r[1586]=58; r[1587]=65; r[1588]=90; r[1589]=97; r[1590]=122; r[1591]=39;
436
- r[1592]=95; r[1593]=45; r[1594]=46; r[1595]=48; r[1596]=58; r[1597]=65; r[1598]=90; r[1599]=97;
437
- r[1600]=122; r[1601]=62; r[1602]=62; r[1603]=10; r[1604]=60; r[1605]=33; r[1606]=47; r[1607]=58;
438
- r[1608]=63; r[1609]=95; r[1610]=65; r[1611]=90; r[1612]=97; r[1613]=122; r[1614]=39; r[1615]=93;
439
- r[1616]=34; r[1617]=34; r[1618]=92; r[1619]=39; r[1620]=92; r[1621]=34; r[1622]=39; r[1623]=92;
440
- r[1624]=32; r[1625]=9; r[1626]=13; r[1627]=32; r[1628]=118; r[1629]=9; r[1630]=13; r[1631]=10;
441
- r[1632]=45; r[1633]=45; r[1634]=10; r[1635]=93; r[1636]=93; r[1637]=10; r[1638]=62; r[1639]=63;
442
- r[1640]=62; r[1641]=0;
443
- }
444
207
 
445
- private static char[] create__hpricot_scan_trans_keys( )
208
+ private static char[] init__hpricot_scan_trans_keys_0()
446
209
  {
447
- char[] r = new char[1642];
448
- init__hpricot_scan_trans_keys_0( r );
449
- return r;
210
+ return new char [] {
211
+ 45, 68, 91, 45, 79, 67, 84, 89, 80, 69, 32, 9,
212
+ 13, 32, 58, 95, 9, 13, 65, 90, 97, 122, 32, 62,
213
+ 63, 91, 95, 9, 13, 45, 46, 48, 58, 65, 90, 97,
214
+ 122, 32, 62, 80, 83, 91, 9, 13, 85, 66, 76, 73,
215
+ 67, 32, 9, 13, 32, 34, 39, 9, 13, 9, 34, 61,
216
+ 95, 32, 37, 39, 59, 63, 90, 97, 122, 9, 34, 61,
217
+ 95, 32, 37, 39, 59, 63, 90, 97, 122, 32, 62, 91,
218
+ 9, 13, 32, 34, 39, 62, 91, 9, 13, 34, 34, 32,
219
+ 62, 91, 9, 13, 93, 32, 62, 9, 13, 39, 39, 9,
220
+ 39, 61, 95, 32, 33, 35, 37, 40, 59, 63, 90, 97,
221
+ 122, 9, 39, 61, 95, 32, 33, 35, 37, 40, 59, 63,
222
+ 90, 97, 122, 9, 32, 33, 39, 62, 91, 95, 10, 13,
223
+ 35, 37, 40, 59, 61, 90, 97, 122, 9, 32, 34, 39,
224
+ 62, 91, 95, 10, 13, 33, 37, 40, 59, 61, 90, 97,
225
+ 122, 9, 32, 33, 39, 62, 91, 95, 10, 13, 35, 37,
226
+ 40, 59, 61, 90, 97, 122, 9, 32, 34, 39, 62, 91,
227
+ 95, 10, 13, 33, 37, 40, 59, 61, 90, 97, 122, 32,
228
+ 34, 39, 62, 91, 9, 13, 34, 39, 34, 39, 32, 39,
229
+ 62, 91, 9, 13, 39, 93, 32, 62, 93, 9, 13, 32,
230
+ 39, 62, 9, 13, 32, 34, 62, 91, 9, 13, 34, 93,
231
+ 32, 34, 62, 9, 13, 32, 39, 62, 91, 9, 13, 9,
232
+ 39, 61, 95, 32, 33, 35, 37, 40, 59, 63, 90, 97,
233
+ 122, 89, 83, 84, 69, 77, 67, 68, 65, 84, 65, 91,
234
+ 58, 95, 65, 90, 97, 122, 32, 62, 63, 95, 9, 13,
235
+ 45, 46, 48, 58, 65, 90, 97, 122, 32, 62, 9, 13,
236
+ 32, 47, 62, 63, 95, 9, 13, 45, 58, 65, 90, 97,
237
+ 122, 32, 47, 62, 63, 95, 9, 13, 45, 58, 65, 90,
238
+ 97, 122, 32, 47, 61, 62, 63, 95, 9, 13, 45, 58,
239
+ 65, 90, 97, 122, 32, 47, 61, 62, 63, 95, 9, 13,
240
+ 45, 58, 65, 90, 97, 122, 62, 13, 32, 34, 39, 47,
241
+ 60, 62, 9, 10, 11, 12, 13, 32, 47, 60, 62, 9,
242
+ 10, 11, 12, 32, 47, 62, 63, 95, 9, 13, 45, 58,
243
+ 65, 90, 97, 122, 13, 32, 47, 60, 62, 63, 95, 9,
244
+ 10, 11, 12, 45, 58, 65, 90, 97, 122, 13, 32, 47,
245
+ 60, 61, 62, 63, 95, 9, 10, 11, 12, 45, 58, 65,
246
+ 90, 97, 122, 13, 32, 47, 60, 61, 62, 63, 95, 9,
247
+ 10, 11, 12, 45, 58, 65, 90, 97, 122, 13, 32, 47,
248
+ 60, 62, 9, 10, 11, 12, 13, 32, 34, 39, 47, 60,
249
+ 62, 9, 10, 11, 12, 13, 32, 34, 39, 47, 60, 62,
250
+ 63, 95, 9, 10, 11, 12, 45, 58, 65, 90, 97, 122,
251
+ 13, 32, 34, 39, 47, 60, 62, 63, 95, 9, 10, 11,
252
+ 12, 45, 58, 65, 90, 97, 122, 13, 32, 34, 47, 60,
253
+ 62, 92, 9, 10, 11, 12, 13, 32, 34, 47, 60, 62,
254
+ 92, 9, 10, 11, 12, 32, 34, 47, 62, 63, 92, 95,
255
+ 9, 13, 45, 58, 65, 90, 97, 122, 34, 92, 34, 92,
256
+ 32, 34, 47, 61, 62, 63, 92, 95, 9, 13, 45, 58,
257
+ 65, 90, 97, 122, 32, 34, 47, 61, 62, 63, 92, 95,
258
+ 9, 13, 45, 58, 65, 90, 97, 122, 34, 62, 92, 13,
259
+ 32, 34, 39, 47, 60, 62, 92, 9, 10, 11, 12, 13,
260
+ 32, 34, 39, 47, 60, 62, 92, 9, 10, 11, 12, 13,
261
+ 32, 34, 39, 47, 60, 62, 63, 92, 95, 9, 10, 11,
262
+ 12, 45, 58, 65, 90, 97, 122, 13, 32, 34, 39, 47,
263
+ 60, 62, 63, 92, 95, 9, 10, 11, 12, 45, 58, 65,
264
+ 90, 97, 122, 13, 32, 34, 47, 60, 62, 63, 92, 95,
265
+ 9, 10, 11, 12, 45, 58, 65, 90, 97, 122, 13, 32,
266
+ 34, 47, 60, 62, 63, 92, 95, 9, 10, 11, 12, 45,
267
+ 58, 65, 90, 97, 122, 13, 32, 34, 47, 60, 61, 62,
268
+ 63, 92, 95, 9, 10, 11, 12, 45, 58, 65, 90, 97,
269
+ 122, 13, 32, 34, 47, 60, 61, 62, 63, 92, 95, 9,
270
+ 10, 11, 12, 45, 58, 65, 90, 97, 122, 13, 32, 34,
271
+ 47, 60, 62, 92, 9, 10, 11, 12, 13, 32, 34, 47,
272
+ 60, 62, 92, 9, 10, 11, 12, 13, 32, 34, 39, 47,
273
+ 60, 62, 92, 9, 10, 11, 12, 13, 32, 34, 39, 47,
274
+ 60, 62, 92, 9, 10, 11, 12, 13, 32, 34, 39, 47,
275
+ 60, 62, 92, 9, 10, 11, 12, 32, 34, 39, 47, 62,
276
+ 63, 92, 95, 9, 13, 45, 58, 65, 90, 97, 122, 34,
277
+ 39, 92, 32, 39, 47, 62, 63, 92, 95, 9, 13, 45,
278
+ 58, 65, 90, 97, 122, 39, 92, 39, 92, 32, 39, 47,
279
+ 61, 62, 63, 92, 95, 9, 13, 45, 58, 65, 90, 97,
280
+ 122, 32, 39, 47, 61, 62, 63, 92, 95, 9, 13, 45,
281
+ 58, 65, 90, 97, 122, 39, 62, 92, 13, 32, 34, 39,
282
+ 47, 60, 62, 92, 9, 10, 11, 12, 13, 32, 39, 47,
283
+ 60, 62, 92, 9, 10, 11, 12, 13, 32, 39, 47, 60,
284
+ 62, 63, 92, 95, 9, 10, 11, 12, 45, 58, 65, 90,
285
+ 97, 122, 13, 32, 39, 47, 60, 61, 62, 63, 92, 95,
286
+ 9, 10, 11, 12, 45, 58, 65, 90, 97, 122, 13, 32,
287
+ 39, 47, 60, 61, 62, 63, 92, 95, 9, 10, 11, 12,
288
+ 45, 58, 65, 90, 97, 122, 13, 32, 39, 47, 60, 62,
289
+ 92, 9, 10, 11, 12, 13, 32, 39, 47, 60, 62, 92,
290
+ 9, 10, 11, 12, 13, 32, 34, 39, 47, 60, 62, 92,
291
+ 9, 10, 11, 12, 13, 32, 34, 39, 47, 60, 62, 63,
292
+ 92, 95, 9, 10, 11, 12, 45, 58, 65, 90, 97, 122,
293
+ 13, 32, 34, 39, 47, 60, 62, 63, 92, 95, 9, 10,
294
+ 11, 12, 45, 58, 65, 90, 97, 122, 13, 32, 34, 39,
295
+ 47, 60, 62, 92, 9, 10, 11, 12, 13, 32, 34, 39,
296
+ 47, 60, 62, 63, 92, 95, 9, 10, 11, 12, 45, 58,
297
+ 65, 90, 97, 122, 13, 32, 34, 39, 47, 60, 61, 62,
298
+ 63, 92, 95, 9, 10, 11, 12, 45, 58, 65, 90, 97,
299
+ 122, 32, 34, 39, 47, 61, 62, 63, 92, 95, 9, 13,
300
+ 45, 58, 65, 90, 97, 122, 32, 34, 39, 47, 61, 62,
301
+ 63, 92, 95, 9, 13, 45, 58, 65, 90, 97, 122, 34,
302
+ 39, 62, 92, 34, 39, 92, 13, 32, 34, 39, 47, 60,
303
+ 62, 92, 9, 10, 11, 12, 13, 32, 34, 39, 47, 60,
304
+ 62, 92, 9, 10, 11, 12, 13, 32, 34, 39, 47, 60,
305
+ 62, 63, 92, 95, 9, 10, 11, 12, 45, 58, 65, 90,
306
+ 97, 122, 13, 32, 34, 39, 47, 60, 62, 63, 92, 95,
307
+ 9, 10, 11, 12, 45, 58, 65, 90, 97, 122, 13, 32,
308
+ 34, 39, 47, 60, 62, 63, 92, 95, 9, 10, 11, 12,
309
+ 45, 58, 65, 90, 97, 122, 13, 32, 34, 39, 47, 60,
310
+ 62, 92, 9, 10, 11, 12, 13, 32, 34, 39, 47, 60,
311
+ 62, 92, 9, 10, 11, 12, 13, 32, 34, 39, 47, 60,
312
+ 62, 63, 92, 95, 9, 10, 11, 12, 45, 58, 65, 90,
313
+ 97, 122, 32, 34, 39, 47, 62, 63, 92, 95, 9, 13,
314
+ 45, 58, 65, 90, 97, 122, 32, 34, 39, 47, 62, 63,
315
+ 92, 95, 9, 13, 45, 58, 65, 90, 97, 122, 13, 32,
316
+ 34, 39, 47, 60, 62, 92, 9, 10, 11, 12, 13, 32,
317
+ 34, 39, 47, 60, 61, 62, 63, 92, 95, 9, 10, 11,
318
+ 12, 45, 58, 65, 90, 97, 122, 13, 32, 39, 47, 60,
319
+ 62, 63, 92, 95, 9, 10, 11, 12, 45, 58, 65, 90,
320
+ 97, 122, 34, 39, 92, 32, 39, 47, 62, 63, 92, 95,
321
+ 9, 13, 45, 58, 65, 90, 97, 122, 13, 32, 34, 39,
322
+ 47, 60, 62, 92, 9, 10, 11, 12, 32, 34, 47, 62,
323
+ 63, 92, 95, 9, 13, 45, 58, 65, 90, 97, 122, 34,
324
+ 39, 92, 13, 32, 39, 47, 60, 62, 92, 9, 10, 11,
325
+ 12, 34, 92, 39, 92, 13, 32, 34, 39, 47, 60, 62,
326
+ 9, 10, 11, 12, 58, 95, 120, 65, 90, 97, 122, 32,
327
+ 63, 95, 9, 13, 45, 46, 48, 58, 65, 90, 97, 122,
328
+ 32, 63, 95, 109, 9, 13, 45, 46, 48, 58, 65, 90,
329
+ 97, 122, 32, 63, 95, 108, 9, 13, 45, 46, 48, 58,
330
+ 65, 90, 97, 122, 32, 63, 95, 9, 13, 45, 46, 48,
331
+ 58, 65, 90, 97, 122, 101, 114, 115, 105, 111, 110, 32,
332
+ 61, 9, 13, 32, 34, 39, 9, 13, 95, 45, 46, 48,
333
+ 58, 65, 90, 97, 122, 34, 95, 45, 46, 48, 58, 65,
334
+ 90, 97, 122, 32, 62, 63, 9, 13, 32, 62, 63, 101,
335
+ 115, 9, 13, 62, 110, 99, 111, 100, 105, 110, 103, 32,
336
+ 61, 9, 13, 32, 34, 39, 9, 13, 65, 90, 97, 122,
337
+ 34, 95, 45, 46, 48, 57, 65, 90, 97, 122, 32, 62,
338
+ 63, 9, 13, 32, 62, 63, 115, 9, 13, 116, 97, 110,
339
+ 100, 97, 108, 111, 110, 101, 32, 61, 9, 13, 32, 34,
340
+ 39, 9, 13, 110, 121, 111, 34, 32, 62, 63, 9, 13,
341
+ 101, 115, 110, 121, 111, 39, 101, 115, 65, 90, 97, 122,
342
+ 39, 95, 45, 46, 48, 57, 65, 90, 97, 122, 95, 45,
343
+ 46, 48, 58, 65, 90, 97, 122, 39, 95, 45, 46, 48,
344
+ 58, 65, 90, 97, 122, 62, 62, 10, 60, 33, 47, 58,
345
+ 63, 95, 65, 90, 97, 122, 39, 93, 34, 34, 92, 39,
346
+ 92, 34, 39, 92, 32, 9, 13, 32, 118, 9, 13, 10,
347
+ 45, 45, 10, 93, 93, 10, 62, 63, 62, 0
348
+ };
450
349
  }
451
350
 
452
- private static final char _hpricot_scan_trans_keys[] = create__hpricot_scan_trans_keys();
351
+ private static final char _hpricot_scan_trans_keys[] = init__hpricot_scan_trans_keys_0();
453
352
 
454
353
 
455
- private static void init__hpricot_scan_single_lengths_0( byte[] r )
354
+ private static byte[] init__hpricot_scan_single_lengths_0()
456
355
  {
457
- r[0]=3; r[1]=1; r[2]=1; r[3]=1; r[4]=1; r[5]=1; r[6]=1; r[7]=1;
458
- r[8]=1; r[9]=3; r[10]=5; r[11]=5; r[12]=1; r[13]=1; r[14]=1; r[15]=1;
459
- r[16]=1; r[17]=1; r[18]=3; r[19]=4; r[20]=4; r[21]=3; r[22]=5; r[23]=1;
460
- r[24]=1; r[25]=3; r[26]=1; r[27]=2; r[28]=1; r[29]=1; r[30]=4; r[31]=4;
461
- r[32]=7; r[33]=7; r[34]=7; r[35]=7; r[36]=5; r[37]=2; r[38]=2; r[39]=4;
462
- r[40]=2; r[41]=3; r[42]=3; r[43]=4; r[44]=2; r[45]=3; r[46]=4; r[47]=4;
463
- r[48]=1; r[49]=1; r[50]=1; r[51]=1; r[52]=1; r[53]=1; r[54]=1; r[55]=1;
464
- r[56]=1; r[57]=1; r[58]=1; r[59]=2; r[60]=4; r[61]=2; r[62]=5; r[63]=5;
465
- r[64]=6; r[65]=6; r[66]=1; r[67]=7; r[68]=5; r[69]=5; r[70]=7; r[71]=8;
466
- r[72]=8; r[73]=5; r[74]=7; r[75]=9; r[76]=9; r[77]=7; r[78]=7; r[79]=7;
467
- r[80]=2; r[81]=2; r[82]=8; r[83]=8; r[84]=3; r[85]=8; r[86]=8; r[87]=10;
468
- r[88]=10; r[89]=9; r[90]=9; r[91]=10; r[92]=10; r[93]=7; r[94]=7; r[95]=8;
469
- r[96]=8; r[97]=8; r[98]=8; r[99]=3; r[100]=7; r[101]=2; r[102]=2; r[103]=8;
470
- r[104]=8; r[105]=3; r[106]=8; r[107]=7; r[108]=9; r[109]=10; r[110]=10; r[111]=7;
471
- r[112]=7; r[113]=8; r[114]=10; r[115]=10; r[116]=8; r[117]=10; r[118]=11; r[119]=9;
472
- r[120]=9; r[121]=4; r[122]=3; r[123]=8; r[124]=8; r[125]=10; r[126]=10; r[127]=10;
473
- r[128]=8; r[129]=8; r[130]=10; r[131]=8; r[132]=8; r[133]=8; r[134]=11; r[135]=9;
474
- r[136]=3; r[137]=7; r[138]=8; r[139]=7; r[140]=3; r[141]=7; r[142]=2; r[143]=2;
475
- r[144]=7; r[145]=3; r[146]=3; r[147]=4; r[148]=4; r[149]=3; r[150]=1; r[151]=1;
476
- r[152]=1; r[153]=1; r[154]=1; r[155]=1; r[156]=2; r[157]=3; r[158]=1; r[159]=2;
477
- r[160]=3; r[161]=5; r[162]=1; r[163]=1; r[164]=1; r[165]=1; r[166]=1; r[167]=1;
478
- r[168]=1; r[169]=1; r[170]=2; r[171]=3; r[172]=0; r[173]=2; r[174]=3; r[175]=4;
479
- r[176]=1; r[177]=1; r[178]=1; r[179]=1; r[180]=1; r[181]=1; r[182]=1; r[183]=1;
480
- r[184]=1; r[185]=2; r[186]=3; r[187]=2; r[188]=1; r[189]=1; r[190]=3; r[191]=1;
481
- r[192]=1; r[193]=2; r[194]=1; r[195]=1; r[196]=1; r[197]=1; r[198]=0; r[199]=2;
482
- r[200]=1; r[201]=2; r[202]=1; r[203]=1; r[204]=2; r[205]=5; r[206]=1; r[207]=1;
483
- r[208]=1; r[209]=2; r[210]=2; r[211]=3; r[212]=1; r[213]=2; r[214]=2; r[215]=1;
484
- r[216]=2; r[217]=1; r[218]=3; r[219]=1;
356
+ return new byte [] {
357
+ 3, 1, 1, 1, 1, 1, 1, 1, 1, 3, 5, 5,
358
+ 1, 1, 1, 1, 1, 1, 3, 4, 4, 3, 5, 1,
359
+ 1, 3, 1, 2, 1, 1, 4, 4, 7, 7, 7, 7,
360
+ 5, 2, 2, 4, 2, 3, 3, 4, 2, 3, 4, 4,
361
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2,
362
+ 4, 2, 5, 5, 6, 6, 1, 7, 5, 5, 7, 8,
363
+ 8, 5, 7, 9, 9, 7, 7, 7, 2, 2, 8, 8,
364
+ 3, 8, 8, 10, 10, 9, 9, 10, 10, 7, 7, 8,
365
+ 8, 8, 8, 3, 7, 2, 2, 8, 8, 3, 8, 7,
366
+ 9, 10, 10, 7, 7, 8, 10, 10, 8, 10, 11, 9,
367
+ 9, 4, 3, 8, 8, 10, 10, 10, 8, 8, 10, 8,
368
+ 8, 8, 11, 9, 3, 7, 8, 7, 3, 7, 2, 2,
369
+ 7, 3, 3, 4, 4, 3, 1, 1, 1, 1, 1, 1,
370
+ 2, 3, 1, 2, 3, 5, 1, 1, 1, 1, 1, 1,
371
+ 1, 1, 2, 3, 0, 2, 3, 4, 1, 1, 1, 1,
372
+ 1, 1, 1, 1, 1, 2, 3, 2, 1, 1, 3, 1,
373
+ 1, 2, 1, 1, 1, 1, 0, 2, 1, 2, 1, 1,
374
+ 2, 5, 1, 1, 1, 2, 2, 3, 1, 2, 2, 1,
375
+ 2, 1, 3, 1
376
+ };
485
377
  }
486
378
 
487
- private static byte[] create__hpricot_scan_single_lengths( )
488
- {
489
- byte[] r = new byte[220];
490
- init__hpricot_scan_single_lengths_0( r );
491
- return r;
492
- }
493
-
494
- private static final byte _hpricot_scan_single_lengths[] = create__hpricot_scan_single_lengths();
379
+ private static final byte _hpricot_scan_single_lengths[] = init__hpricot_scan_single_lengths_0();
495
380
 
496
381
 
497
- private static void init__hpricot_scan_range_lengths_0( byte[] r )
382
+ private static byte[] init__hpricot_scan_range_lengths_0()
498
383
  {
499
- r[0]=0; r[1]=0; r[2]=0; r[3]=0; r[4]=0; r[5]=0; r[6]=0; r[7]=0;
500
- r[8]=1; r[9]=3; r[10]=5; r[11]=1; r[12]=0; r[13]=0; r[14]=0; r[15]=0;
501
- r[16]=0; r[17]=1; r[18]=1; r[19]=4; r[20]=4; r[21]=1; r[22]=1; r[23]=0;
502
- r[24]=0; r[25]=1; r[26]=0; r[27]=1; r[28]=0; r[29]=0; r[30]=5; r[31]=5;
503
- r[32]=5; r[33]=5; r[34]=5; r[35]=5; r[36]=1; r[37]=0; r[38]=0; r[39]=1;
504
- r[40]=0; r[41]=1; r[42]=1; r[43]=1; r[44]=0; r[45]=1; r[46]=1; r[47]=5;
505
- r[48]=0; r[49]=0; r[50]=0; r[51]=0; r[52]=0; r[53]=0; r[54]=0; r[55]=0;
506
- r[56]=0; r[57]=0; r[58]=0; r[59]=2; r[60]=5; r[61]=1; r[62]=4; r[63]=4;
507
- r[64]=4; r[65]=4; r[66]=0; r[67]=2; r[68]=2; r[69]=4; r[70]=5; r[71]=5;
508
- r[72]=5; r[73]=2; r[74]=2; r[75]=5; r[76]=5; r[77]=2; r[78]=2; r[79]=4;
509
- r[80]=0; r[81]=0; r[82]=4; r[83]=4; r[84]=0; r[85]=2; r[86]=2; r[87]=5;
510
- r[88]=5; r[89]=5; r[90]=5; r[91]=5; r[92]=5; r[93]=2; r[94]=2; r[95]=2;
511
- r[96]=2; r[97]=2; r[98]=4; r[99]=0; r[100]=4; r[101]=0; r[102]=0; r[103]=4;
512
- r[104]=4; r[105]=0; r[106]=2; r[107]=2; r[108]=5; r[109]=5; r[110]=5; r[111]=2;
513
- r[112]=2; r[113]=2; r[114]=5; r[115]=5; r[116]=2; r[117]=5; r[118]=5; r[119]=4;
514
- r[120]=4; r[121]=0; r[122]=0; r[123]=2; r[124]=2; r[125]=5; r[126]=5; r[127]=5;
515
- r[128]=2; r[129]=2; r[130]=5; r[131]=4; r[132]=4; r[133]=2; r[134]=5; r[135]=5;
516
- r[136]=0; r[137]=4; r[138]=2; r[139]=4; r[140]=0; r[141]=2; r[142]=0; r[143]=0;
517
- r[144]=2; r[145]=2; r[146]=5; r[147]=5; r[148]=5; r[149]=5; r[150]=0; r[151]=0;
518
- r[152]=0; r[153]=0; r[154]=0; r[155]=0; r[156]=1; r[157]=1; r[158]=4; r[159]=4;
519
- r[160]=1; r[161]=1; r[162]=0; r[163]=0; r[164]=0; r[165]=0; r[166]=0; r[167]=0;
520
- r[168]=0; r[169]=0; r[170]=1; r[171]=1; r[172]=2; r[173]=4; r[174]=1; r[175]=1;
521
- r[176]=0; r[177]=0; r[178]=0; r[179]=0; r[180]=0; r[181]=0; r[182]=0; r[183]=0;
522
- r[184]=0; r[185]=1; r[186]=1; r[187]=0; r[188]=0; r[189]=0; r[190]=1; r[191]=0;
523
- r[192]=0; r[193]=0; r[194]=0; r[195]=0; r[196]=0; r[197]=0; r[198]=2; r[199]=4;
524
- r[200]=4; r[201]=4; r[202]=0; r[203]=0; r[204]=0; r[205]=2; r[206]=0; r[207]=0;
525
- r[208]=0; r[209]=0; r[210]=0; r[211]=0; r[212]=1; r[213]=1; r[214]=0; r[215]=0;
526
- r[216]=0; r[217]=0; r[218]=0; r[219]=0;
384
+ return new byte [] {
385
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 5, 1,
386
+ 0, 0, 0, 0, 0, 1, 1, 4, 4, 1, 1, 0,
387
+ 0, 1, 0, 1, 0, 0, 5, 5, 5, 5, 5, 5,
388
+ 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 5,
389
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,
390
+ 5, 1, 4, 4, 4, 4, 0, 2, 2, 4, 5, 5,
391
+ 5, 2, 2, 5, 5, 2, 2, 4, 0, 0, 4, 4,
392
+ 0, 2, 2, 5, 5, 5, 5, 5, 5, 2, 2, 2,
393
+ 2, 2, 4, 0, 4, 0, 0, 4, 4, 0, 2, 2,
394
+ 5, 5, 5, 2, 2, 2, 5, 5, 2, 5, 5, 4,
395
+ 4, 0, 0, 2, 2, 5, 5, 5, 2, 2, 5, 4,
396
+ 4, 2, 5, 5, 0, 4, 2, 4, 0, 2, 0, 0,
397
+ 2, 2, 5, 5, 5, 5, 0, 0, 0, 0, 0, 0,
398
+ 1, 1, 4, 4, 1, 1, 0, 0, 0, 0, 0, 0,
399
+ 0, 0, 1, 1, 2, 4, 1, 1, 0, 0, 0, 0,
400
+ 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0,
401
+ 0, 0, 0, 0, 0, 0, 2, 4, 4, 4, 0, 0,
402
+ 0, 2, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
403
+ 0, 0, 0, 0
404
+ };
527
405
  }
528
406
 
529
- private static byte[] create__hpricot_scan_range_lengths( )
530
- {
531
- byte[] r = new byte[220];
532
- init__hpricot_scan_range_lengths_0( r );
533
- return r;
534
- }
407
+ private static final byte _hpricot_scan_range_lengths[] = init__hpricot_scan_range_lengths_0();
535
408
 
536
- private static final byte _hpricot_scan_range_lengths[] = create__hpricot_scan_range_lengths();
537
-
538
-
539
- private static void init__hpricot_scan_index_offsets_0( short[] r )
540
- {
541
- r[0]=0; r[1]=4; r[2]=6; r[3]=8; r[4]=10; r[5]=12; r[6]=14; r[7]=16;
542
- r[8]=18; r[9]=21; r[10]=28; r[11]=39; r[12]=46; r[13]=48; r[14]=50; r[15]=52;
543
- r[16]=54; r[17]=56; r[18]=59; r[19]=64; r[20]=73; r[21]=82; r[22]=87; r[23]=94;
544
- r[24]=96; r[25]=98; r[26]=103; r[27]=105; r[28]=109; r[29]=111; r[30]=113; r[31]=123;
545
- r[32]=133; r[33]=146; r[34]=159; r[35]=172; r[36]=185; r[37]=192; r[38]=195; r[39]=198;
546
- r[40]=204; r[41]=207; r[42]=212; r[43]=217; r[44]=223; r[45]=226; r[46]=231; r[47]=237;
547
- r[48]=247; r[49]=249; r[50]=251; r[51]=253; r[52]=255; r[53]=257; r[54]=259; r[55]=261;
548
- r[56]=263; r[57]=265; r[58]=267; r[59]=269; r[60]=274; r[61]=284; r[62]=288; r[63]=298;
549
- r[64]=308; r[65]=319; r[66]=330; r[67]=332; r[68]=342; r[69]=350; r[70]=360; r[71]=373;
550
- r[72]=387; r[73]=401; r[74]=409; r[75]=419; r[76]=434; r[77]=449; r[78]=459; r[79]=469;
551
- r[80]=481; r[81]=484; r[82]=487; r[83]=500; r[84]=513; r[85]=517; r[86]=528; r[87]=539;
552
- r[88]=555; r[89]=571; r[90]=586; r[91]=601; r[92]=617; r[93]=633; r[94]=643; r[95]=653;
553
- r[96]=664; r[97]=675; r[98]=686; r[99]=699; r[100]=703; r[101]=715; r[102]=718; r[103]=721;
554
- r[104]=734; r[105]=747; r[106]=751; r[107]=762; r[108]=772; r[109]=787; r[110]=803; r[111]=819;
555
- r[112]=829; r[113]=839; r[114]=850; r[115]=866; r[116]=882; r[117]=893; r[118]=909; r[119]=926;
556
- r[120]=940; r[121]=954; r[122]=959; r[123]=963; r[124]=974; r[125]=985; r[126]=1001; r[127]=1017;
557
- r[128]=1033; r[129]=1044; r[130]=1055; r[131]=1071; r[132]=1084; r[133]=1097; r[134]=1108; r[135]=1125;
558
- r[136]=1140; r[137]=1144; r[138]=1156; r[139]=1167; r[140]=1179; r[141]=1183; r[142]=1193; r[143]=1196;
559
- r[144]=1199; r[145]=1209; r[146]=1215; r[147]=1224; r[148]=1234; r[149]=1244; r[150]=1253; r[151]=1255;
560
- r[152]=1257; r[153]=1259; r[154]=1261; r[155]=1263; r[156]=1265; r[157]=1269; r[158]=1274; r[159]=1280;
561
- r[160]=1287; r[161]=1292; r[162]=1299; r[163]=1301; r[164]=1303; r[165]=1305; r[166]=1307; r[167]=1309;
562
- r[168]=1311; r[169]=1313; r[170]=1315; r[171]=1319; r[172]=1324; r[173]=1327; r[174]=1334; r[175]=1339;
563
- r[176]=1345; r[177]=1347; r[178]=1349; r[179]=1351; r[180]=1353; r[181]=1355; r[182]=1357; r[183]=1359;
564
- r[184]=1361; r[185]=1363; r[186]=1367; r[187]=1372; r[188]=1375; r[189]=1377; r[190]=1379; r[191]=1384;
565
- r[192]=1386; r[193]=1388; r[194]=1391; r[195]=1393; r[196]=1395; r[197]=1397; r[198]=1399; r[199]=1402;
566
- r[200]=1409; r[201]=1415; r[202]=1422; r[203]=1424; r[204]=1426; r[205]=1429; r[206]=1437; r[207]=1439;
567
- r[208]=1441; r[209]=1443; r[210]=1446; r[211]=1449; r[212]=1453; r[213]=1456; r[214]=1460; r[215]=1463;
568
- r[216]=1465; r[217]=1468; r[218]=1470; r[219]=1474;
569
- }
570
409
 
571
- private static short[] create__hpricot_scan_index_offsets( )
410
+ private static short[] init__hpricot_scan_index_offsets_0()
572
411
  {
573
- short[] r = new short[220];
574
- init__hpricot_scan_index_offsets_0( r );
575
- return r;
412
+ return new short [] {
413
+ 0, 4, 6, 8, 10, 12, 14, 16, 18, 21, 28, 39,
414
+ 46, 48, 50, 52, 54, 56, 59, 64, 73, 82, 87, 94,
415
+ 96, 98, 103, 105, 109, 111, 113, 123, 133, 146, 159, 172,
416
+ 185, 192, 195, 198, 204, 207, 212, 217, 223, 226, 231, 237,
417
+ 247, 249, 251, 253, 255, 257, 259, 261, 263, 265, 267, 269,
418
+ 274, 284, 288, 298, 308, 319, 330, 332, 342, 350, 360, 373,
419
+ 387, 401, 409, 419, 434, 449, 459, 469, 481, 484, 487, 500,
420
+ 513, 517, 528, 539, 555, 571, 586, 601, 617, 633, 643, 653,
421
+ 664, 675, 686, 699, 703, 715, 718, 721, 734, 747, 751, 762,
422
+ 772, 787, 803, 819, 829, 839, 850, 866, 882, 893, 909, 926,
423
+ 940, 954, 959, 963, 974, 985, 1001, 1017, 1033, 1044, 1055, 1071,
424
+ 1084, 1097, 1108, 1125, 1140, 1144, 1156, 1167, 1179, 1183, 1193, 1196,
425
+ 1199, 1209, 1215, 1224, 1234, 1244, 1253, 1255, 1257, 1259, 1261, 1263,
426
+ 1265, 1269, 1274, 1280, 1287, 1292, 1299, 1301, 1303, 1305, 1307, 1309,
427
+ 1311, 1313, 1315, 1319, 1324, 1327, 1334, 1339, 1345, 1347, 1349, 1351,
428
+ 1353, 1355, 1357, 1359, 1361, 1363, 1367, 1372, 1375, 1377, 1379, 1384,
429
+ 1386, 1388, 1391, 1393, 1395, 1397, 1399, 1402, 1409, 1415, 1422, 1424,
430
+ 1426, 1429, 1437, 1439, 1441, 1443, 1446, 1449, 1453, 1456, 1460, 1463,
431
+ 1465, 1468, 1470, 1474
432
+ };
576
433
  }
577
434
 
578
- private static final short _hpricot_scan_index_offsets[] = create__hpricot_scan_index_offsets();
435
+ private static final short _hpricot_scan_index_offsets[] = init__hpricot_scan_index_offsets_0();
579
436
 
580
437
 
581
- private static void init__hpricot_scan_indicies_0( short[] r )
438
+ private static short[] init__hpricot_scan_indicies_0()
582
439
  {
583
- r[0]=1; r[1]=2; r[2]=3; r[3]=0; r[4]=4; r[5]=0; r[6]=5; r[7]=0;
584
- r[8]=6; r[9]=0; r[10]=7; r[11]=0; r[12]=8; r[13]=0; r[14]=9; r[15]=0;
585
- r[16]=10; r[17]=0; r[18]=11; r[19]=11; r[20]=0; r[21]=11; r[22]=12; r[23]=12;
586
- r[24]=11; r[25]=12; r[26]=12; r[27]=0; r[28]=13; r[29]=15; r[30]=14; r[31]=16;
587
- r[32]=14; r[33]=13; r[34]=14; r[35]=14; r[36]=14; r[37]=14; r[38]=0; r[39]=17;
588
- r[40]=18; r[41]=19; r[42]=20; r[43]=21; r[44]=17; r[45]=0; r[46]=22; r[47]=0;
589
- r[48]=23; r[49]=0; r[50]=24; r[51]=0; r[52]=25; r[53]=0; r[54]=26; r[55]=0;
590
- r[56]=27; r[57]=27; r[58]=0; r[59]=27; r[60]=28; r[61]=29; r[62]=27; r[63]=0;
591
- r[64]=30; r[65]=31; r[66]=30; r[67]=30; r[68]=30; r[69]=30; r[70]=30; r[71]=30;
592
- r[72]=0; r[73]=32; r[74]=31; r[75]=32; r[76]=32; r[77]=32; r[78]=32; r[79]=32;
593
- r[80]=32; r[81]=0; r[82]=33; r[83]=18; r[84]=21; r[85]=33; r[86]=0; r[87]=33;
594
- r[88]=34; r[89]=35; r[90]=18; r[91]=21; r[92]=33; r[93]=0; r[94]=37; r[95]=36;
595
- r[96]=37; r[97]=38; r[98]=40; r[99]=18; r[100]=21; r[101]=40; r[102]=39; r[103]=41;
596
- r[104]=21; r[105]=41; r[106]=18; r[107]=41; r[108]=39; r[109]=37; r[110]=42; r[111]=37;
597
- r[112]=43; r[113]=44; r[114]=45; r[115]=44; r[116]=44; r[117]=44; r[118]=44; r[119]=44;
598
- r[120]=44; r[121]=44; r[122]=0; r[123]=46; r[124]=47; r[125]=46; r[126]=46; r[127]=46;
599
- r[128]=46; r[129]=46; r[130]=46; r[131]=46; r[132]=0; r[133]=48; r[134]=48; r[135]=46;
600
- r[136]=47; r[137]=18; r[138]=21; r[139]=46; r[140]=33; r[141]=46; r[142]=46; r[143]=46;
601
- r[144]=46; r[145]=0; r[146]=48; r[147]=48; r[148]=34; r[149]=49; r[150]=18; r[151]=21;
602
- r[152]=46; r[153]=33; r[154]=46; r[155]=46; r[156]=46; r[157]=46; r[158]=0; r[159]=50;
603
- r[160]=50; r[161]=52; r[162]=53; r[163]=54; r[164]=55; r[165]=52; r[166]=51; r[167]=52;
604
- r[168]=52; r[169]=52; r[170]=52; r[171]=42; r[172]=56; r[173]=56; r[174]=59; r[175]=60;
605
- r[176]=61; r[177]=62; r[178]=58; r[179]=57; r[180]=58; r[181]=58; r[182]=58; r[183]=58;
606
- r[184]=43; r[185]=57; r[186]=59; r[187]=63; r[188]=61; r[189]=62; r[190]=57; r[191]=43;
607
- r[192]=65; r[193]=66; r[194]=64; r[195]=65; r[196]=68; r[197]=67; r[198]=69; r[199]=37;
608
- r[200]=61; r[201]=62; r[202]=69; r[203]=43; r[204]=70; r[205]=71; r[206]=62; r[207]=72;
609
- r[208]=73; r[209]=41; r[210]=72; r[211]=21; r[212]=71; r[213]=37; r[214]=61; r[215]=71;
610
- r[216]=43; r[217]=74; r[218]=37; r[219]=75; r[220]=76; r[221]=74; r[222]=38; r[223]=70;
611
- r[224]=77; r[225]=76; r[226]=77; r[227]=37; r[228]=75; r[229]=77; r[230]=38; r[231]=78;
612
- r[232]=37; r[233]=54; r[234]=55; r[235]=78; r[236]=42; r[237]=58; r[238]=53; r[239]=58;
613
- r[240]=58; r[241]=58; r[242]=58; r[243]=58; r[244]=58; r[245]=58; r[246]=43; r[247]=79;
614
- r[248]=0; r[249]=80; r[250]=0; r[251]=81; r[252]=0; r[253]=82; r[254]=0; r[255]=83;
615
- r[256]=0; r[257]=84; r[258]=0; r[259]=85; r[260]=0; r[261]=86; r[262]=0; r[263]=87;
616
- r[264]=0; r[265]=88; r[266]=0; r[267]=89; r[268]=0; r[269]=90; r[270]=90; r[271]=90;
617
- r[272]=90; r[273]=0; r[274]=91; r[275]=93; r[276]=92; r[277]=92; r[278]=91; r[279]=92;
618
- r[280]=92; r[281]=92; r[282]=92; r[283]=0; r[284]=94; r[285]=95; r[286]=94; r[287]=0;
619
- r[288]=96; r[289]=98; r[290]=99; r[291]=97; r[292]=97; r[293]=96; r[294]=97; r[295]=97;
620
- r[296]=97; r[297]=0; r[298]=100; r[299]=102; r[300]=103; r[301]=101; r[302]=101; r[303]=100;
621
- r[304]=101; r[305]=101; r[306]=101; r[307]=0; r[308]=104; r[309]=106; r[310]=107; r[311]=108;
622
- r[312]=105; r[313]=105; r[314]=104; r[315]=105; r[316]=105; r[317]=105; r[318]=39; r[319]=109;
623
- r[320]=111; r[321]=112; r[322]=113; r[323]=110; r[324]=110; r[325]=109; r[326]=110; r[327]=110;
624
- r[328]=110; r[329]=39; r[330]=114; r[331]=39; r[332]=116; r[333]=116; r[334]=118; r[335]=119;
625
- r[336]=120; r[337]=39; r[338]=113; r[339]=116; r[340]=117; r[341]=115; r[342]=122; r[343]=122;
626
- r[344]=124; r[345]=39; r[346]=125; r[347]=122; r[348]=123; r[349]=121; r[350]=126; r[351]=111;
627
- r[352]=113; r[353]=110; r[354]=110; r[355]=126; r[356]=110; r[357]=110; r[358]=110; r[359]=39;
628
- r[360]=122; r[361]=122; r[362]=128; r[363]=39; r[364]=129; r[365]=127; r[366]=127; r[367]=122;
629
- r[368]=123; r[369]=127; r[370]=127; r[371]=127; r[372]=121; r[373]=130; r[374]=130; r[375]=133;
630
- r[376]=39; r[377]=134; r[378]=135; r[379]=132; r[380]=132; r[381]=130; r[382]=131; r[383]=132;
631
- r[384]=132; r[385]=132; r[386]=121; r[387]=136; r[388]=136; r[389]=128; r[390]=39; r[391]=138;
632
- r[392]=129; r[393]=127; r[394]=127; r[395]=136; r[396]=137; r[397]=127; r[398]=127; r[399]=127;
633
- r[400]=121; r[401]=122; r[402]=122; r[403]=124; r[404]=39; r[405]=125; r[406]=122; r[407]=123;
634
- r[408]=121; r[409]=139; r[410]=139; r[411]=141; r[412]=142; r[413]=143; r[414]=39; r[415]=125;
635
- r[416]=139; r[417]=140; r[418]=115; r[419]=144; r[420]=144; r[421]=118; r[422]=119; r[423]=120;
636
- r[424]=39; r[425]=113; r[426]=146; r[427]=146; r[428]=144; r[429]=145; r[430]=146; r[431]=146;
637
- r[432]=146; r[433]=115; r[434]=139; r[435]=139; r[436]=141; r[437]=142; r[438]=147; r[439]=39;
638
- r[440]=129; r[441]=146; r[442]=146; r[443]=139; r[444]=140; r[445]=146; r[446]=146; r[447]=146;
639
- r[448]=115; r[449]=149; r[450]=149; r[451]=151; r[452]=152; r[453]=153; r[454]=154; r[455]=155;
640
- r[456]=149; r[457]=150; r[458]=148; r[459]=157; r[460]=157; r[461]=151; r[462]=159; r[463]=160;
641
- r[464]=161; r[465]=162; r[466]=157; r[467]=158; r[468]=156; r[469]=163; r[470]=164; r[471]=166;
642
- r[472]=167; r[473]=165; r[474]=168; r[475]=165; r[476]=163; r[477]=165; r[478]=165; r[479]=165;
643
- r[480]=160; r[481]=164; r[482]=168; r[483]=160; r[484]=169; r[485]=168; r[486]=160; r[487]=170;
644
- r[488]=164; r[489]=172; r[490]=173; r[491]=174; r[492]=171; r[493]=168; r[494]=171; r[495]=170;
645
- r[496]=171; r[497]=171; r[498]=171; r[499]=160; r[500]=175; r[501]=164; r[502]=166; r[503]=176;
646
- r[504]=167; r[505]=165; r[506]=168; r[507]=165; r[508]=175; r[509]=165; r[510]=165; r[511]=165;
647
- r[512]=160; r[513]=164; r[514]=177; r[515]=168; r[516]=160; r[517]=178; r[518]=178; r[519]=180;
648
- r[520]=181; r[521]=182; r[522]=160; r[523]=167; r[524]=155; r[525]=178; r[526]=179; r[527]=148;
649
- r[528]=183; r[529]=183; r[530]=180; r[531]=181; r[532]=182; r[533]=160; r[534]=167; r[535]=155;
650
- r[536]=183; r[537]=184; r[538]=148; r[539]=183; r[540]=183; r[541]=180; r[542]=181; r[543]=182;
651
- r[544]=160; r[545]=167; r[546]=185; r[547]=155; r[548]=185; r[549]=183; r[550]=184; r[551]=185;
652
- r[552]=185; r[553]=185; r[554]=148; r[555]=186; r[556]=186; r[557]=188; r[558]=189; r[559]=190;
653
- r[560]=160; r[561]=191; r[562]=185; r[563]=155; r[564]=185; r[565]=186; r[566]=187; r[567]=185;
654
- r[568]=185; r[569]=185; r[570]=148; r[571]=149; r[572]=149; r[573]=151; r[574]=190; r[575]=153;
655
- r[576]=192; r[577]=185; r[578]=155; r[579]=185; r[580]=149; r[581]=150; r[582]=185; r[583]=185;
656
- r[584]=185; r[585]=148; r[586]=157; r[587]=157; r[588]=151; r[589]=194; r[590]=160; r[591]=191;
657
- r[592]=193; r[593]=162; r[594]=193; r[595]=157; r[596]=158; r[597]=193; r[598]=193; r[599]=193;
658
- r[600]=156; r[601]=195; r[602]=195; r[603]=151; r[604]=198; r[605]=160; r[606]=199; r[607]=200;
659
- r[608]=197; r[609]=162; r[610]=197; r[611]=195; r[612]=196; r[613]=197; r[614]=197; r[615]=197;
660
- r[616]=156; r[617]=201; r[618]=201; r[619]=151; r[620]=194; r[621]=160; r[622]=203; r[623]=191;
661
- r[624]=193; r[625]=162; r[626]=193; r[627]=201; r[628]=202; r[629]=193; r[630]=193; r[631]=193;
662
- r[632]=156; r[633]=157; r[634]=157; r[635]=151; r[636]=159; r[637]=160; r[638]=161; r[639]=162;
663
- r[640]=157; r[641]=158; r[642]=156; r[643]=157; r[644]=157; r[645]=204; r[646]=159; r[647]=160;
664
- r[648]=161; r[649]=162; r[650]=157; r[651]=158; r[652]=156; r[653]=186; r[654]=186; r[655]=188;
665
- r[656]=189; r[657]=152; r[658]=160; r[659]=161; r[660]=155; r[661]=186; r[662]=187; r[663]=148;
666
- r[664]=206; r[665]=206; r[666]=208; r[667]=204; r[668]=209; r[669]=210; r[670]=211; r[671]=212;
667
- r[672]=206; r[673]=207; r[674]=205; r[675]=214; r[676]=214; r[677]=216; r[678]=204; r[679]=217;
668
- r[680]=218; r[681]=219; r[682]=220; r[683]=214; r[684]=215; r[685]=213; r[686]=221; r[687]=222;
669
- r[688]=169; r[689]=224; r[690]=225; r[691]=223; r[692]=226; r[693]=223; r[694]=221; r[695]=223;
670
- r[696]=223; r[697]=223; r[698]=218; r[699]=222; r[700]=169; r[701]=226; r[702]=218; r[703]=228;
671
- r[704]=164; r[705]=230; r[706]=231; r[707]=229; r[708]=232; r[709]=229; r[710]=228; r[711]=229;
672
- r[712]=229; r[713]=229; r[714]=227; r[715]=164; r[716]=232; r[717]=227; r[718]=222; r[719]=232;
673
- r[720]=227; r[721]=233; r[722]=164; r[723]=235; r[724]=236; r[725]=237; r[726]=234; r[727]=232;
674
- r[728]=234; r[729]=233; r[730]=234; r[731]=234; r[732]=234; r[733]=227; r[734]=238; r[735]=164;
675
- r[736]=230; r[737]=239; r[738]=231; r[739]=229; r[740]=232; r[741]=229; r[742]=238; r[743]=229;
676
- r[744]=229; r[745]=229; r[746]=227; r[747]=164; r[748]=240; r[749]=232; r[750]=227; r[751]=242;
677
- r[752]=242; r[753]=244; r[754]=245; r[755]=246; r[756]=227; r[757]=231; r[758]=247; r[759]=242;
678
- r[760]=243; r[761]=241; r[762]=249; r[763]=249; r[764]=151; r[765]=251; r[766]=227; r[767]=252;
679
- r[768]=253; r[769]=249; r[770]=250; r[771]=248; r[772]=249; r[773]=249; r[774]=151; r[775]=255;
680
- r[776]=227; r[777]=256; r[778]=254; r[779]=253; r[780]=254; r[781]=249; r[782]=250; r[783]=254;
681
- r[784]=254; r[785]=254; r[786]=248; r[787]=257; r[788]=257; r[789]=151; r[790]=260; r[791]=227;
682
- r[792]=261; r[793]=262; r[794]=259; r[795]=253; r[796]=259; r[797]=257; r[798]=258; r[799]=259;
683
- r[800]=259; r[801]=259; r[802]=248; r[803]=263; r[804]=263; r[805]=151; r[806]=255; r[807]=227;
684
- r[808]=265; r[809]=256; r[810]=254; r[811]=253; r[812]=254; r[813]=263; r[814]=264; r[815]=254;
685
- r[816]=254; r[817]=254; r[818]=248; r[819]=249; r[820]=249; r[821]=151; r[822]=251; r[823]=227;
686
- r[824]=252; r[825]=253; r[826]=249; r[827]=250; r[828]=248; r[829]=249; r[830]=249; r[831]=216;
687
- r[832]=251; r[833]=227; r[834]=252; r[835]=253; r[836]=249; r[837]=250; r[838]=248; r[839]=266;
688
- r[840]=266; r[841]=268; r[842]=269; r[843]=270; r[844]=227; r[845]=252; r[846]=247; r[847]=266;
689
- r[848]=267; r[849]=241; r[850]=271; r[851]=271; r[852]=244; r[853]=245; r[854]=246; r[855]=227;
690
- r[856]=231; r[857]=273; r[858]=247; r[859]=273; r[860]=271; r[861]=272; r[862]=273; r[863]=273;
691
- r[864]=273; r[865]=241; r[866]=266; r[867]=266; r[868]=268; r[869]=269; r[870]=274; r[871]=227;
692
- r[872]=256; r[873]=273; r[874]=247; r[875]=273; r[876]=266; r[877]=267; r[878]=273; r[879]=273;
693
- r[880]=273; r[881]=241; r[882]=206; r[883]=206; r[884]=216; r[885]=275; r[886]=209; r[887]=210;
694
- r[888]=211; r[889]=212; r[890]=206; r[891]=207; r[892]=205; r[893]=214; r[894]=214; r[895]=216;
695
- r[896]=204; r[897]=277; r[898]=218; r[899]=278; r[900]=276; r[901]=220; r[902]=276; r[903]=214;
696
- r[904]=215; r[905]=276; r[906]=276; r[907]=276; r[908]=213; r[909]=279; r[910]=279; r[911]=216;
697
- r[912]=204; r[913]=282; r[914]=218; r[915]=283; r[916]=284; r[917]=281; r[918]=220; r[919]=281;
698
- r[920]=279; r[921]=280; r[922]=281; r[923]=281; r[924]=281; r[925]=213; r[926]=285; r[927]=222;
699
- r[928]=169; r[929]=224; r[930]=286; r[931]=225; r[932]=223; r[933]=226; r[934]=223; r[935]=285;
700
- r[936]=223; r[937]=223; r[938]=223; r[939]=218; r[940]=287; r[941]=222; r[942]=169; r[943]=289;
701
- r[944]=290; r[945]=291; r[946]=288; r[947]=226; r[948]=288; r[949]=287; r[950]=288; r[951]=288;
702
- r[952]=288; r[953]=218; r[954]=222; r[955]=169; r[956]=292; r[957]=226; r[958]=218; r[959]=293;
703
- r[960]=293; r[961]=226; r[962]=218; r[963]=294; r[964]=294; r[965]=296; r[966]=297; r[967]=298;
704
- r[968]=218; r[969]=225; r[970]=212; r[971]=294; r[972]=295; r[973]=205; r[974]=299; r[975]=299;
705
- r[976]=296; r[977]=297; r[978]=298; r[979]=218; r[980]=225; r[981]=212; r[982]=299; r[983]=300;
706
- r[984]=205; r[985]=299; r[986]=299; r[987]=296; r[988]=297; r[989]=298; r[990]=218; r[991]=225;
707
- r[992]=301; r[993]=212; r[994]=301; r[995]=299; r[996]=300; r[997]=301; r[998]=301; r[999]=301;
708
- r[1000]=205; r[1001]=302; r[1002]=302; r[1003]=304; r[1004]=305; r[1005]=306; r[1006]=218; r[1007]=278;
709
- r[1008]=301; r[1009]=212; r[1010]=301; r[1011]=302; r[1012]=303; r[1013]=301; r[1014]=301; r[1015]=301;
710
- r[1016]=205; r[1017]=206; r[1018]=206; r[1019]=216; r[1020]=275; r[1021]=306; r[1022]=210; r[1023]=307;
711
- r[1024]=301; r[1025]=212; r[1026]=301; r[1027]=206; r[1028]=207; r[1029]=301; r[1030]=301; r[1031]=301;
712
- r[1032]=205; r[1033]=214; r[1034]=214; r[1035]=216; r[1036]=204; r[1037]=217; r[1038]=218; r[1039]=219;
713
- r[1040]=220; r[1041]=214; r[1042]=215; r[1043]=213; r[1044]=214; r[1045]=214; r[1046]=308; r[1047]=308;
714
- r[1048]=217; r[1049]=218; r[1050]=219; r[1051]=220; r[1052]=214; r[1053]=215; r[1054]=213; r[1055]=206;
715
- r[1056]=206; r[1057]=208; r[1058]=204; r[1059]=306; r[1060]=210; r[1061]=307; r[1062]=301; r[1063]=212;
716
- r[1064]=301; r[1065]=206; r[1066]=207; r[1067]=301; r[1068]=301; r[1069]=301; r[1070]=205; r[1071]=309;
717
- r[1072]=222; r[1073]=310; r[1074]=312; r[1075]=313; r[1076]=311; r[1077]=314; r[1078]=311; r[1079]=309;
718
- r[1080]=311; r[1081]=311; r[1082]=311; r[1083]=210; r[1084]=309; r[1085]=315; r[1086]=169; r[1087]=312;
719
- r[1088]=313; r[1089]=311; r[1090]=314; r[1091]=311; r[1092]=309; r[1093]=311; r[1094]=311; r[1095]=311;
720
- r[1096]=210; r[1097]=302; r[1098]=302; r[1099]=304; r[1100]=305; r[1101]=209; r[1102]=218; r[1103]=219;
721
- r[1104]=212; r[1105]=302; r[1106]=303; r[1107]=205; r[1108]=316; r[1109]=316; r[1110]=216; r[1111]=204;
722
- r[1112]=277; r[1113]=218; r[1114]=318; r[1115]=278; r[1116]=276; r[1117]=220; r[1118]=276; r[1119]=316;
723
- r[1120]=317; r[1121]=276; r[1122]=276; r[1123]=276; r[1124]=213; r[1125]=319; r[1126]=319; r[1127]=151;
724
- r[1128]=274; r[1129]=321; r[1130]=322; r[1131]=273; r[1132]=247; r[1133]=273; r[1134]=319; r[1135]=320;
725
- r[1136]=273; r[1137]=273; r[1138]=273; r[1139]=241; r[1140]=222; r[1141]=310; r[1142]=314; r[1143]=210;
726
- r[1144]=323; r[1145]=164; r[1146]=325; r[1147]=326; r[1148]=324; r[1149]=327; r[1150]=324; r[1151]=323;
727
- r[1152]=324; r[1153]=324; r[1154]=324; r[1155]=321; r[1156]=271; r[1157]=271; r[1158]=244; r[1159]=245;
728
- r[1160]=246; r[1161]=227; r[1162]=231; r[1163]=247; r[1164]=271; r[1165]=272; r[1166]=241; r[1167]=328;
729
- r[1168]=164; r[1169]=330; r[1170]=331; r[1171]=329; r[1172]=332; r[1173]=329; r[1174]=328; r[1175]=329;
730
- r[1176]=329; r[1177]=329; r[1178]=153; r[1179]=315; r[1180]=169; r[1181]=314; r[1182]=210; r[1183]=319;
731
- r[1184]=319; r[1185]=151; r[1186]=270; r[1187]=321; r[1188]=333; r[1189]=247; r[1190]=319; r[1191]=320;
732
- r[1192]=241; r[1193]=164; r[1194]=332; r[1195]=153; r[1196]=164; r[1197]=327; r[1198]=321; r[1199]=144;
733
- r[1200]=144; r[1201]=118; r[1202]=119; r[1203]=120; r[1204]=39; r[1205]=113; r[1206]=144; r[1207]=145;
734
- r[1208]=115; r[1209]=334; r[1210]=334; r[1211]=335; r[1212]=334; r[1213]=334; r[1214]=0; r[1215]=336;
735
- r[1216]=337; r[1217]=337; r[1218]=336; r[1219]=337; r[1220]=337; r[1221]=337; r[1222]=337; r[1223]=0;
736
- r[1224]=336; r[1225]=337; r[1226]=337; r[1227]=338; r[1228]=336; r[1229]=337; r[1230]=337; r[1231]=337;
737
- r[1232]=337; r[1233]=0; r[1234]=336; r[1235]=337; r[1236]=337; r[1237]=339; r[1238]=336; r[1239]=337;
738
- r[1240]=337; r[1241]=337; r[1242]=337; r[1243]=0; r[1244]=340; r[1245]=337; r[1246]=337; r[1247]=340;
739
- r[1248]=337; r[1249]=337; r[1250]=337; r[1251]=337; r[1252]=0; r[1253]=342; r[1254]=341; r[1255]=343;
740
- r[1256]=341; r[1257]=344; r[1258]=341; r[1259]=345; r[1260]=341; r[1261]=346; r[1262]=341; r[1263]=347;
741
- r[1264]=341; r[1265]=347; r[1266]=348; r[1267]=347; r[1268]=341; r[1269]=348; r[1270]=349; r[1271]=350;
742
- r[1272]=348; r[1273]=341; r[1274]=351; r[1275]=351; r[1276]=351; r[1277]=351; r[1278]=351; r[1279]=341;
743
- r[1280]=352; r[1281]=353; r[1282]=353; r[1283]=353; r[1284]=353; r[1285]=353; r[1286]=341; r[1287]=354;
744
- r[1288]=355; r[1289]=356; r[1290]=354; r[1291]=341; r[1292]=354; r[1293]=355; r[1294]=356; r[1295]=357;
745
- r[1296]=358; r[1297]=354; r[1298]=341; r[1299]=355; r[1300]=341; r[1301]=359; r[1302]=341; r[1303]=360;
746
- r[1304]=341; r[1305]=361; r[1306]=341; r[1307]=362; r[1308]=341; r[1309]=363; r[1310]=341; r[1311]=364;
747
- r[1312]=341; r[1313]=365; r[1314]=341; r[1315]=365; r[1316]=366; r[1317]=365; r[1318]=341; r[1319]=366;
748
- r[1320]=367; r[1321]=368; r[1322]=366; r[1323]=341; r[1324]=369; r[1325]=369; r[1326]=341; r[1327]=370;
749
- r[1328]=371; r[1329]=371; r[1330]=371; r[1331]=371; r[1332]=371; r[1333]=341; r[1334]=372; r[1335]=355;
750
- r[1336]=356; r[1337]=372; r[1338]=341; r[1339]=372; r[1340]=355; r[1341]=356; r[1342]=358; r[1343]=372;
751
- r[1344]=341; r[1345]=373; r[1346]=341; r[1347]=374; r[1348]=341; r[1349]=375; r[1350]=341; r[1351]=376;
752
- r[1352]=341; r[1353]=377; r[1354]=341; r[1355]=378; r[1356]=341; r[1357]=379; r[1358]=341; r[1359]=380;
753
- r[1360]=341; r[1361]=381; r[1362]=341; r[1363]=381; r[1364]=382; r[1365]=381; r[1366]=341; r[1367]=382;
754
- r[1368]=383; r[1369]=384; r[1370]=382; r[1371]=341; r[1372]=385; r[1373]=386; r[1374]=341; r[1375]=387;
755
- r[1376]=341; r[1377]=388; r[1378]=341; r[1379]=389; r[1380]=355; r[1381]=356; r[1382]=389; r[1383]=341;
756
- r[1384]=390; r[1385]=341; r[1386]=387; r[1387]=341; r[1388]=391; r[1389]=392; r[1390]=341; r[1391]=393;
757
- r[1392]=341; r[1393]=388; r[1394]=341; r[1395]=394; r[1396]=341; r[1397]=393; r[1398]=341; r[1399]=395;
758
- r[1400]=395; r[1401]=341; r[1402]=370; r[1403]=396; r[1404]=396; r[1405]=396; r[1406]=396; r[1407]=396;
759
- r[1408]=341; r[1409]=397; r[1410]=397; r[1411]=397; r[1412]=397; r[1413]=397; r[1414]=341; r[1415]=352;
760
- r[1416]=398; r[1417]=398; r[1418]=398; r[1419]=398; r[1420]=398; r[1421]=341; r[1422]=400; r[1423]=399;
761
- r[1424]=402; r[1425]=401; r[1426]=404; r[1427]=405; r[1428]=403; r[1429]=407; r[1430]=408; r[1431]=409;
762
- r[1432]=410; r[1433]=409; r[1434]=409; r[1435]=409; r[1436]=406; r[1437]=37; r[1438]=43; r[1439]=41;
763
- r[1440]=21; r[1441]=37; r[1442]=38; r[1443]=164; r[1444]=168; r[1445]=160; r[1446]=164; r[1447]=232;
764
- r[1448]=227; r[1449]=222; r[1450]=169; r[1451]=226; r[1452]=218; r[1453]=336; r[1454]=336; r[1455]=411;
765
- r[1456]=340; r[1457]=412; r[1458]=340; r[1459]=411; r[1460]=414; r[1461]=415; r[1462]=413; r[1463]=417;
766
- r[1464]=416; r[1465]=419; r[1466]=420; r[1467]=418; r[1468]=422; r[1469]=421; r[1470]=424; r[1471]=425;
767
- r[1472]=426; r[1473]=423; r[1474]=425; r[1475]=427; r[1476]=0;
440
+ return new short [] {
441
+ 1, 2, 3, 0, 4, 0, 5, 0, 6, 0, 7, 0,
442
+ 8, 0, 9, 0, 10, 0, 11, 11, 0, 11, 12, 12,
443
+ 11, 12, 12, 0, 13, 15, 14, 16, 14, 13, 14, 14,
444
+ 14, 14, 0, 17, 18, 19, 20, 21, 17, 0, 22, 0,
445
+ 23, 0, 24, 0, 25, 0, 26, 0, 27, 27, 0, 27,
446
+ 28, 29, 27, 0, 30, 31, 30, 30, 30, 30, 30, 30,
447
+ 0, 32, 33, 32, 32, 32, 32, 32, 32, 0, 34, 18,
448
+ 21, 34, 0, 34, 35, 36, 18, 21, 34, 0, 38, 37,
449
+ 41, 40, 42, 18, 21, 42, 39, 43, 21, 43, 18, 43,
450
+ 39, 38, 44, 41, 45, 46, 47, 46, 46, 46, 46, 46,
451
+ 46, 46, 0, 48, 49, 48, 48, 48, 48, 48, 48, 48,
452
+ 0, 50, 50, 48, 49, 18, 21, 48, 34, 48, 48, 48,
453
+ 48, 0, 50, 50, 35, 51, 18, 21, 48, 34, 48, 48,
454
+ 48, 48, 0, 52, 52, 54, 55, 56, 57, 54, 53, 54,
455
+ 54, 54, 54, 44, 58, 58, 61, 62, 63, 64, 60, 59,
456
+ 60, 60, 60, 60, 45, 59, 61, 65, 63, 64, 59, 45,
457
+ 67, 68, 66, 70, 71, 69, 72, 41, 63, 64, 72, 45,
458
+ 73, 74, 64, 75, 76, 43, 75, 21, 74, 41, 63, 74,
459
+ 45, 77, 41, 78, 79, 77, 40, 73, 80, 79, 80, 41,
460
+ 78, 80, 40, 81, 38, 56, 57, 81, 44, 60, 82, 60,
461
+ 60, 60, 60, 60, 60, 60, 45, 83, 0, 84, 0, 85,
462
+ 0, 86, 0, 87, 0, 88, 0, 89, 0, 90, 0, 91,
463
+ 0, 92, 0, 93, 0, 94, 94, 94, 94, 0, 95, 97,
464
+ 96, 96, 95, 96, 96, 96, 96, 0, 98, 99, 98, 0,
465
+ 100, 102, 103, 101, 101, 100, 101, 101, 101, 0, 104, 106,
466
+ 107, 105, 105, 104, 105, 105, 105, 0, 108, 110, 111, 112,
467
+ 109, 109, 108, 109, 109, 109, 39, 113, 115, 116, 117, 114,
468
+ 114, 113, 114, 114, 114, 39, 118, 39, 120, 120, 122, 123,
469
+ 124, 39, 117, 120, 121, 119, 126, 126, 128, 39, 129, 126,
470
+ 127, 125, 130, 115, 117, 114, 114, 130, 114, 114, 114, 39,
471
+ 126, 126, 132, 39, 133, 131, 131, 126, 127, 131, 131, 131,
472
+ 125, 134, 134, 137, 39, 138, 139, 136, 136, 134, 135, 136,
473
+ 136, 136, 125, 140, 140, 132, 39, 142, 133, 131, 131, 140,
474
+ 141, 131, 131, 131, 125, 126, 126, 128, 39, 129, 126, 127,
475
+ 125, 143, 143, 145, 146, 147, 39, 129, 143, 144, 119, 148,
476
+ 148, 122, 123, 124, 39, 117, 150, 150, 148, 149, 150, 150,
477
+ 150, 119, 143, 143, 145, 146, 151, 39, 133, 150, 150, 143,
478
+ 144, 150, 150, 150, 119, 153, 153, 155, 156, 157, 158, 159,
479
+ 153, 154, 152, 161, 161, 163, 164, 165, 166, 167, 161, 162,
480
+ 160, 168, 169, 171, 172, 170, 173, 170, 168, 170, 170, 170,
481
+ 165, 169, 173, 165, 174, 173, 165, 175, 169, 177, 178, 179,
482
+ 176, 173, 176, 175, 176, 176, 176, 165, 180, 169, 171, 181,
483
+ 172, 170, 173, 170, 180, 170, 170, 170, 165, 169, 182, 173,
484
+ 165, 183, 183, 185, 186, 187, 165, 172, 159, 183, 184, 152,
485
+ 188, 188, 185, 186, 187, 165, 172, 159, 188, 189, 152, 188,
486
+ 188, 185, 186, 187, 165, 172, 190, 159, 190, 188, 189, 190,
487
+ 190, 190, 152, 191, 191, 193, 194, 195, 165, 196, 190, 159,
488
+ 190, 191, 192, 190, 190, 190, 152, 153, 153, 155, 195, 157,
489
+ 197, 190, 159, 190, 153, 154, 190, 190, 190, 152, 161, 161,
490
+ 163, 199, 165, 196, 198, 167, 198, 161, 162, 198, 198, 198,
491
+ 160, 200, 200, 163, 203, 165, 204, 205, 202, 167, 202, 200,
492
+ 201, 202, 202, 202, 160, 206, 206, 163, 199, 165, 208, 196,
493
+ 198, 167, 198, 206, 207, 198, 198, 198, 160, 161, 161, 163,
494
+ 164, 165, 166, 167, 161, 162, 160, 161, 161, 209, 164, 165,
495
+ 166, 167, 161, 162, 160, 191, 191, 193, 194, 156, 165, 166,
496
+ 159, 191, 192, 152, 211, 211, 213, 214, 215, 216, 217, 218,
497
+ 211, 212, 210, 220, 220, 222, 209, 223, 224, 225, 226, 220,
498
+ 221, 219, 227, 228, 174, 230, 231, 229, 232, 229, 227, 229,
499
+ 229, 229, 224, 228, 174, 232, 224, 234, 169, 236, 237, 235,
500
+ 238, 235, 234, 235, 235, 235, 233, 169, 238, 233, 228, 238,
501
+ 233, 239, 169, 241, 242, 243, 240, 238, 240, 239, 240, 240,
502
+ 240, 233, 244, 169, 236, 245, 237, 235, 238, 235, 244, 235,
503
+ 235, 235, 233, 169, 246, 238, 233, 248, 248, 250, 251, 252,
504
+ 233, 237, 253, 248, 249, 247, 255, 255, 163, 257, 233, 258,
505
+ 259, 255, 256, 254, 255, 255, 163, 261, 233, 262, 260, 259,
506
+ 260, 255, 256, 260, 260, 260, 254, 263, 263, 163, 266, 233,
507
+ 267, 268, 265, 259, 265, 263, 264, 265, 265, 265, 254, 269,
508
+ 269, 163, 261, 233, 271, 262, 260, 259, 260, 269, 270, 260,
509
+ 260, 260, 254, 255, 255, 163, 257, 233, 258, 259, 255, 256,
510
+ 254, 255, 255, 222, 257, 233, 258, 259, 255, 256, 254, 272,
511
+ 272, 274, 275, 276, 233, 258, 253, 272, 273, 247, 277, 277,
512
+ 250, 251, 252, 233, 237, 279, 253, 279, 277, 278, 279, 279,
513
+ 279, 247, 272, 272, 274, 275, 280, 233, 262, 279, 253, 279,
514
+ 272, 273, 279, 279, 279, 247, 211, 211, 281, 214, 215, 216,
515
+ 217, 218, 211, 212, 210, 220, 220, 222, 209, 283, 224, 284,
516
+ 282, 226, 282, 220, 221, 282, 282, 282, 219, 285, 285, 222,
517
+ 209, 288, 224, 289, 290, 287, 226, 287, 285, 286, 287, 287,
518
+ 287, 219, 291, 228, 174, 230, 292, 231, 229, 232, 229, 291,
519
+ 229, 229, 229, 224, 293, 228, 174, 295, 296, 297, 294, 232,
520
+ 294, 293, 294, 294, 294, 224, 228, 174, 298, 232, 224, 299,
521
+ 299, 232, 224, 300, 300, 302, 303, 304, 224, 231, 218, 300,
522
+ 301, 210, 305, 305, 302, 303, 304, 224, 231, 218, 305, 306,
523
+ 210, 305, 305, 302, 303, 304, 224, 231, 307, 218, 307, 305,
524
+ 306, 307, 307, 307, 210, 308, 308, 310, 311, 312, 224, 284,
525
+ 307, 218, 307, 308, 309, 307, 307, 307, 210, 211, 211, 281,
526
+ 214, 312, 216, 313, 307, 218, 307, 211, 212, 307, 307, 307,
527
+ 210, 220, 220, 222, 209, 223, 224, 225, 226, 220, 221, 219,
528
+ 220, 220, 314, 314, 223, 224, 225, 226, 220, 221, 219, 211,
529
+ 211, 213, 214, 312, 216, 313, 307, 218, 307, 211, 212, 307,
530
+ 307, 307, 210, 315, 316, 317, 319, 320, 318, 321, 318, 315,
531
+ 318, 318, 318, 216, 315, 322, 317, 319, 320, 318, 321, 318,
532
+ 315, 318, 318, 318, 216, 308, 308, 310, 311, 215, 224, 225,
533
+ 218, 308, 309, 210, 323, 323, 222, 209, 283, 224, 325, 284,
534
+ 282, 226, 282, 323, 324, 282, 282, 282, 219, 326, 326, 155,
535
+ 280, 328, 329, 279, 253, 279, 326, 327, 279, 279, 279, 247,
536
+ 316, 317, 321, 216, 330, 331, 333, 334, 332, 335, 332, 330,
537
+ 332, 332, 332, 328, 277, 277, 250, 251, 252, 233, 237, 253,
538
+ 277, 278, 247, 336, 331, 338, 339, 337, 340, 337, 336, 337,
539
+ 337, 337, 157, 322, 317, 321, 216, 326, 326, 155, 276, 328,
540
+ 341, 253, 326, 327, 247, 331, 340, 157, 331, 335, 328, 148,
541
+ 148, 122, 123, 124, 39, 117, 148, 149, 119, 342, 342, 343,
542
+ 342, 342, 0, 344, 345, 345, 344, 345, 345, 345, 345, 0,
543
+ 344, 345, 345, 346, 344, 345, 345, 345, 345, 0, 344, 345,
544
+ 345, 347, 344, 345, 345, 345, 345, 0, 348, 345, 345, 348,
545
+ 345, 345, 345, 345, 0, 350, 349, 351, 349, 352, 349, 353,
546
+ 349, 354, 349, 355, 349, 355, 356, 355, 349, 356, 357, 358,
547
+ 356, 349, 359, 359, 359, 359, 359, 349, 360, 361, 361, 361,
548
+ 361, 361, 349, 362, 363, 364, 362, 349, 362, 363, 364, 365,
549
+ 366, 362, 349, 363, 349, 367, 349, 368, 349, 369, 349, 370,
550
+ 349, 371, 349, 372, 349, 373, 349, 373, 374, 373, 349, 374,
551
+ 375, 376, 374, 349, 377, 377, 349, 378, 379, 379, 379, 379,
552
+ 379, 349, 380, 363, 364, 380, 349, 380, 363, 364, 366, 380,
553
+ 349, 381, 349, 382, 349, 383, 349, 384, 349, 385, 349, 386,
554
+ 349, 387, 349, 388, 349, 389, 349, 389, 390, 389, 349, 390,
555
+ 391, 392, 390, 349, 393, 394, 349, 395, 349, 396, 349, 397,
556
+ 363, 364, 397, 349, 398, 349, 395, 349, 399, 400, 349, 401,
557
+ 349, 396, 349, 402, 349, 401, 349, 403, 403, 349, 378, 404,
558
+ 404, 404, 404, 404, 349, 405, 405, 405, 405, 405, 349, 360,
559
+ 406, 406, 406, 406, 406, 349, 408, 407, 410, 409, 412, 413,
560
+ 411, 415, 416, 417, 418, 417, 417, 417, 414, 41, 45, 43,
561
+ 21, 41, 40, 169, 173, 165, 169, 238, 233, 228, 174, 232,
562
+ 224, 344, 344, 420, 348, 421, 348, 420, 423, 424, 422, 426,
563
+ 425, 428, 429, 427, 431, 430, 433, 434, 435, 432, 434, 436,
564
+ 0
565
+ };
768
566
  }
769
567
 
770
- private static short[] create__hpricot_scan_indicies( )
771
- {
772
- short[] r = new short[1477];
773
- init__hpricot_scan_indicies_0( r );
774
- return r;
775
- }
776
-
777
- private static final short _hpricot_scan_indicies[] = create__hpricot_scan_indicies();
568
+ private static final short _hpricot_scan_indicies[] = init__hpricot_scan_indicies_0();
778
569
 
779
570
 
780
- private static void init__hpricot_scan_trans_targs_wi_0( short[] r )
571
+ private static short[] init__hpricot_scan_trans_targs_0()
781
572
  {
782
- r[0]=204; r[1]=1; r[2]=2; r[3]=53; r[4]=204; r[5]=3; r[6]=4; r[7]=5;
783
- r[8]=6; r[9]=7; r[10]=8; r[11]=9; r[12]=10; r[13]=11; r[14]=10; r[15]=204;
784
- r[16]=26; r[17]=11; r[18]=204; r[19]=12; r[20]=48; r[21]=26; r[22]=13; r[23]=14;
785
- r[24]=15; r[25]=16; r[26]=17; r[27]=18; r[28]=19; r[29]=30; r[30]=20; r[31]=21;
786
- r[32]=20; r[33]=22; r[34]=23; r[35]=28; r[36]=24; r[37]=25; r[38]=24; r[39]=204;
787
- r[40]=25; r[41]=27; r[42]=29; r[43]=29; r[44]=31; r[45]=32; r[46]=31; r[47]=32;
788
- r[48]=33; r[49]=34; r[50]=35; r[51]=36; r[52]=47; r[53]=32; r[54]=206; r[55]=40;
789
- r[56]=35; r[57]=36; r[58]=47; r[59]=37; r[60]=34; r[61]=206; r[62]=40; r[63]=46;
790
- r[64]=38; r[65]=39; r[66]=43; r[67]=38; r[68]=43; r[69]=39; r[70]=41; r[71]=42;
791
- r[72]=41; r[73]=207; r[74]=43; r[75]=208; r[76]=44; r[77]=45; r[78]=39; r[79]=49;
792
- r[80]=50; r[81]=51; r[82]=52; r[83]=21; r[84]=54; r[85]=55; r[86]=56; r[87]=57;
793
- r[88]=58; r[89]=204; r[90]=60; r[91]=61; r[92]=60; r[93]=204; r[94]=61; r[95]=204;
794
- r[96]=63; r[97]=62; r[98]=66; r[99]=204; r[100]=63; r[101]=64; r[102]=66; r[103]=204;
795
- r[104]=65; r[105]=64; r[106]=66; r[107]=67; r[108]=204; r[109]=65; r[110]=64; r[111]=66;
796
- r[112]=67; r[113]=204; r[114]=204; r[115]=68; r[116]=144; r[117]=74; r[118]=142; r[119]=143;
797
- r[120]=73; r[121]=68; r[122]=69; r[123]=70; r[124]=73; r[125]=204; r[126]=69; r[127]=71;
798
- r[128]=73; r[129]=204; r[130]=65; r[131]=72; r[132]=71; r[133]=73; r[134]=74; r[135]=204;
799
- r[136]=65; r[137]=72; r[138]=74; r[139]=75; r[140]=76; r[141]=77; r[142]=141; r[143]=73;
800
- r[144]=75; r[145]=76; r[146]=71; r[147]=73; r[148]=78; r[149]=79; r[150]=90; r[151]=70;
801
- r[152]=93; r[153]=80; r[154]=209; r[155]=94; r[156]=78; r[157]=79; r[158]=90; r[159]=93;
802
- r[160]=80; r[161]=209; r[162]=94; r[163]=79; r[164]=69; r[165]=82; r[166]=84; r[167]=209;
803
- r[168]=81; r[169]=79; r[170]=83; r[171]=82; r[172]=84; r[173]=85; r[174]=209; r[175]=83;
804
- r[176]=85; r[177]=209; r[178]=86; r[179]=95; r[180]=139; r[181]=140; r[182]=93; r[183]=87;
805
- r[184]=88; r[185]=91; r[186]=87; r[187]=88; r[188]=89; r[189]=96; r[190]=93; r[191]=209;
806
- r[192]=209; r[193]=91; r[194]=93; r[195]=83; r[196]=92; r[197]=91; r[198]=93; r[199]=95;
807
- r[200]=209; r[201]=83; r[202]=92; r[203]=95; r[204]=90; r[205]=97; r[206]=98; r[207]=117;
808
- r[208]=108; r[209]=128; r[210]=99; r[211]=211; r[212]=129; r[213]=97; r[214]=98; r[215]=117;
809
- r[216]=108; r[217]=128; r[218]=99; r[219]=211; r[220]=129; r[221]=98; r[222]=100; r[223]=120;
810
- r[224]=121; r[225]=211; r[226]=122; r[227]=101; r[228]=100; r[229]=103; r[230]=105; r[231]=210;
811
- r[232]=102; r[233]=104; r[234]=103; r[235]=105; r[236]=106; r[237]=210; r[238]=104; r[239]=106;
812
- r[240]=210; r[241]=107; r[242]=138; r[243]=113; r[244]=136; r[245]=137; r[246]=111; r[247]=112;
813
- r[248]=107; r[249]=100; r[250]=108; r[251]=111; r[252]=210; r[253]=112; r[254]=109; r[255]=111;
814
- r[256]=210; r[257]=104; r[258]=110; r[259]=109; r[260]=111; r[261]=113; r[262]=210; r[263]=104;
815
- r[264]=110; r[265]=113; r[266]=114; r[267]=115; r[268]=116; r[269]=135; r[270]=111; r[271]=114;
816
- r[272]=115; r[273]=109; r[274]=111; r[275]=90; r[276]=118; r[277]=128; r[278]=211; r[279]=119;
817
- r[280]=134; r[281]=118; r[282]=128; r[283]=133; r[284]=211; r[285]=119; r[286]=123; r[287]=119;
818
- r[288]=120; r[289]=121; r[290]=123; r[291]=211; r[292]=211; r[293]=98; r[294]=124; r[295]=133;
819
- r[296]=131; r[297]=132; r[298]=128; r[299]=125; r[300]=126; r[301]=118; r[302]=125; r[303]=126;
820
- r[304]=127; r[305]=130; r[306]=128; r[307]=211; r[308]=117; r[309]=98; r[310]=79; r[311]=120;
821
- r[312]=121; r[313]=211; r[314]=122; r[315]=100; r[316]=119; r[317]=134; r[318]=133; r[319]=100;
822
- r[320]=108; r[321]=101; r[322]=210; r[323]=100; r[324]=103; r[325]=105; r[326]=210; r[327]=102;
823
- r[328]=79; r[329]=82; r[330]=84; r[331]=209; r[332]=81; r[333]=210; r[334]=146; r[335]=147;
824
- r[336]=212; r[337]=146; r[338]=148; r[339]=149; r[340]=213; r[341]=204; r[342]=151; r[343]=152;
825
- r[344]=153; r[345]=154; r[346]=155; r[347]=156; r[348]=157; r[349]=158; r[350]=200; r[351]=159;
826
- r[352]=160; r[353]=159; r[354]=161; r[355]=204; r[356]=162; r[357]=163; r[358]=176; r[359]=164;
827
- r[360]=165; r[361]=166; r[362]=167; r[363]=168; r[364]=169; r[365]=170; r[366]=171; r[367]=172;
828
- r[368]=198; r[369]=173; r[370]=174; r[371]=173; r[372]=175; r[373]=177; r[374]=178; r[375]=179;
829
- r[376]=180; r[377]=181; r[378]=182; r[379]=183; r[380]=184; r[381]=185; r[382]=186; r[383]=187;
830
- r[384]=193; r[385]=188; r[386]=191; r[387]=189; r[388]=190; r[389]=190; r[390]=192; r[391]=194;
831
- r[392]=196; r[393]=195; r[394]=197; r[395]=199; r[396]=199; r[397]=201; r[398]=201; r[399]=214;
832
- r[400]=214; r[401]=216; r[402]=216; r[403]=204; r[404]=204; r[405]=205; r[406]=204; r[407]=0;
833
- r[408]=59; r[409]=62; r[410]=145; r[411]=204; r[412]=150; r[413]=214; r[414]=214; r[415]=215;
834
- r[416]=214; r[417]=202; r[418]=216; r[419]=216; r[420]=217; r[421]=216; r[422]=203; r[423]=218;
835
- r[424]=218; r[425]=218; r[426]=219; r[427]=218;
573
+ return new short [] {
574
+ 204, 1, 2, 53, 204, 3, 4, 5, 6, 7, 8, 9,
575
+ 10, 11, 10, 204, 26, 11, 204, 12, 48, 26, 13, 14,
576
+ 15, 16, 17, 18, 19, 30, 20, 21, 20, 21, 22, 23,
577
+ 28, 24, 25, 204, 24, 25, 25, 27, 29, 29, 31, 32,
578
+ 31, 32, 33, 34, 35, 36, 47, 32, 206, 40, 35, 36,
579
+ 47, 37, 34, 206, 40, 46, 38, 39, 43, 38, 39, 43,
580
+ 39, 41, 42, 41, 207, 43, 208, 44, 45, 39, 32, 49,
581
+ 50, 51, 52, 21, 54, 55, 56, 57, 58, 204, 60, 61,
582
+ 60, 204, 61, 204, 63, 62, 66, 204, 63, 64, 66, 204,
583
+ 65, 64, 66, 67, 204, 65, 64, 66, 67, 204, 204, 68,
584
+ 144, 74, 142, 143, 73, 68, 69, 70, 73, 204, 69, 71,
585
+ 73, 204, 65, 72, 71, 73, 74, 204, 65, 72, 74, 75,
586
+ 76, 77, 141, 73, 75, 76, 71, 73, 78, 79, 90, 70,
587
+ 93, 80, 209, 94, 78, 79, 90, 70, 93, 80, 209, 94,
588
+ 79, 69, 82, 84, 209, 81, 79, 83, 82, 84, 85, 209,
589
+ 83, 85, 209, 86, 95, 139, 140, 93, 87, 88, 91, 87,
590
+ 88, 89, 96, 93, 209, 209, 91, 93, 83, 92, 91, 93,
591
+ 95, 209, 83, 92, 95, 90, 97, 98, 117, 108, 90, 128,
592
+ 99, 211, 129, 97, 98, 117, 108, 128, 99, 211, 129, 98,
593
+ 100, 120, 121, 211, 122, 101, 100, 103, 105, 210, 102, 104,
594
+ 103, 105, 106, 210, 104, 106, 210, 107, 138, 113, 136, 137,
595
+ 111, 112, 107, 100, 108, 111, 210, 112, 109, 111, 210, 104,
596
+ 110, 109, 111, 113, 210, 104, 110, 113, 114, 115, 116, 135,
597
+ 111, 114, 115, 109, 111, 108, 118, 128, 211, 119, 134, 118,
598
+ 128, 133, 211, 119, 123, 119, 120, 121, 123, 211, 211, 98,
599
+ 124, 133, 131, 132, 128, 125, 126, 118, 125, 126, 127, 130,
600
+ 128, 211, 117, 98, 100, 79, 120, 121, 211, 122, 100, 119,
601
+ 134, 133, 100, 108, 101, 210, 100, 69, 103, 105, 210, 102,
602
+ 79, 82, 84, 209, 81, 210, 146, 147, 212, 146, 148, 149,
603
+ 213, 204, 151, 152, 153, 154, 155, 156, 157, 158, 200, 159,
604
+ 160, 159, 161, 204, 162, 163, 176, 164, 165, 166, 167, 168,
605
+ 169, 170, 171, 172, 198, 173, 174, 173, 175, 177, 178, 179,
606
+ 180, 181, 182, 183, 184, 185, 186, 187, 193, 188, 191, 189,
607
+ 190, 190, 192, 194, 196, 195, 197, 199, 199, 201, 201, 214,
608
+ 214, 216, 216, 204, 204, 205, 204, 0, 59, 62, 145, 204,
609
+ 204, 150, 214, 214, 215, 214, 202, 216, 216, 217, 216, 203,
610
+ 218, 218, 218, 219, 218
611
+ };
836
612
  }
837
613
 
838
- private static short[] create__hpricot_scan_trans_targs_wi( )
839
- {
840
- short[] r = new short[428];
841
- init__hpricot_scan_trans_targs_wi_0( r );
842
- return r;
843
- }
614
+ private static final short _hpricot_scan_trans_targs[] = init__hpricot_scan_trans_targs_0();
844
615
 
845
- private static final short _hpricot_scan_trans_targs_wi[] = create__hpricot_scan_trans_targs_wi();
846
-
847
-
848
- private static void init__hpricot_scan_trans_actions_wi_0( short[] r )
849
- {
850
- r[0]=71; r[1]=0; r[2]=0; r[3]=0; r[4]=59; r[5]=0; r[6]=0; r[7]=0;
851
- r[8]=0; r[9]=0; r[10]=0; r[11]=0; r[12]=1; r[13]=5; r[14]=0; r[15]=90;
852
- r[16]=5; r[17]=0; r[18]=51; r[19]=0; r[20]=0; r[21]=0; r[22]=0; r[23]=0;
853
- r[24]=0; r[25]=0; r[26]=0; r[27]=0; r[28]=0; r[29]=0; r[30]=3; r[31]=19;
854
- r[32]=0; r[33]=0; r[34]=0; r[35]=0; r[36]=3; r[37]=21; r[38]=0; r[39]=73;
855
- r[40]=0; r[41]=0; r[42]=3; r[43]=0; r[44]=3; r[45]=81; r[46]=0; r[47]=19;
856
- r[48]=0; r[49]=19; r[50]=3; r[51]=3; r[52]=3; r[53]=111; r[54]=182; r[55]=3;
857
- r[56]=0; r[57]=0; r[58]=0; r[59]=0; r[60]=111; r[61]=144; r[62]=0; r[63]=21;
858
- r[64]=3; r[65]=21; r[66]=84; r[67]=0; r[68]=21; r[69]=0; r[70]=21; r[71]=0;
859
- r[72]=0; r[73]=144; r[74]=0; r[75]=144; r[76]=0; r[77]=0; r[78]=3; r[79]=0;
860
- r[80]=0; r[81]=0; r[82]=0; r[83]=0; r[84]=0; r[85]=0; r[86]=0; r[87]=0;
861
- r[88]=0; r[89]=61; r[90]=1; r[91]=5; r[92]=0; r[93]=96; r[94]=0; r[95]=55;
862
- r[96]=5; r[97]=0; r[98]=5; r[99]=93; r[100]=0; r[101]=114; r[102]=0; r[103]=53;
863
- r[104]=11; r[105]=0; r[106]=108; r[107]=11; r[108]=166; r[109]=0; r[110]=174; r[111]=23;
864
- r[112]=0; r[113]=120; r[114]=57; r[115]=3; r[116]=3; r[117]=3; r[118]=0; r[119]=0;
865
- r[120]=87; r[121]=0; r[122]=9; r[123]=9; r[124]=102; r[125]=162; r[126]=0; r[127]=174;
866
- r[128]=117; r[129]=170; r[130]=105; r[131]=105; r[132]=0; r[133]=158; r[134]=11; r[135]=195;
867
- r[136]=9; r[137]=9; r[138]=0; r[139]=78; r[140]=78; r[141]=0; r[142]=0; r[143]=150;
868
- r[144]=3; r[145]=3; r[146]=190; r[147]=154; r[148]=3; r[149]=78; r[150]=78; r[151]=7;
869
- r[152]=150; r[153]=3; r[154]=220; r[155]=3; r[156]=0; r[157]=9; r[158]=9; r[159]=102;
870
- r[160]=0; r[161]=205; r[162]=0; r[163]=0; r[164]=7; r[165]=174; r[166]=23; r[167]=186;
871
- r[168]=0; r[169]=7; r[170]=11; r[171]=0; r[172]=108; r[173]=11; r[174]=210; r[175]=0;
872
- r[176]=0; r[177]=147; r[178]=3; r[179]=3; r[180]=7; r[181]=0; r[182]=87; r[183]=3;
873
- r[184]=3; r[185]=190; r[186]=78; r[187]=78; r[188]=7; r[189]=0; r[190]=154; r[191]=215;
874
- r[192]=226; r[193]=174; r[194]=117; r[195]=105; r[196]=105; r[197]=0; r[198]=158; r[199]=11;
875
- r[200]=232; r[201]=9; r[202]=9; r[203]=0; r[204]=7; r[205]=3; r[206]=78; r[207]=78;
876
- r[208]=99; r[209]=150; r[210]=3; r[211]=220; r[212]=3; r[213]=0; r[214]=9; r[215]=9;
877
- r[216]=7; r[217]=102; r[218]=0; r[219]=205; r[220]=0; r[221]=0; r[222]=7; r[223]=174;
878
- r[224]=23; r[225]=186; r[226]=0; r[227]=0; r[228]=0; r[229]=174; r[230]=23; r[231]=186;
879
- r[232]=0; r[233]=11; r[234]=0; r[235]=108; r[236]=11; r[237]=210; r[238]=0; r[239]=0;
880
- r[240]=147; r[241]=3; r[242]=3; r[243]=3; r[244]=0; r[245]=7; r[246]=87; r[247]=3;
881
- r[248]=0; r[249]=9; r[250]=9; r[251]=102; r[252]=205; r[253]=0; r[254]=174; r[255]=117;
882
- r[256]=215; r[257]=105; r[258]=105; r[259]=0; r[260]=158; r[261]=11; r[262]=232; r[263]=9;
883
- r[264]=9; r[265]=0; r[266]=78; r[267]=78; r[268]=0; r[269]=7; r[270]=150; r[271]=3;
884
- r[272]=3; r[273]=190; r[274]=154; r[275]=75; r[276]=174; r[277]=117; r[278]=215; r[279]=105;
885
- r[280]=105; r[281]=0; r[282]=158; r[283]=11; r[284]=232; r[285]=0; r[286]=0; r[287]=11;
886
- r[288]=0; r[289]=108; r[290]=11; r[291]=210; r[292]=147; r[293]=7; r[294]=3; r[295]=3;
887
- r[296]=7; r[297]=7; r[298]=87; r[299]=3; r[300]=3; r[301]=190; r[302]=78; r[303]=78;
888
- r[304]=7; r[305]=7; r[306]=154; r[307]=226; r[308]=7; r[309]=3; r[310]=75; r[311]=190;
889
- r[312]=87; r[313]=200; r[314]=3; r[315]=99; r[316]=9; r[317]=9; r[318]=0; r[319]=78;
890
- r[320]=78; r[321]=3; r[322]=226; r[323]=3; r[324]=190; r[325]=87; r[326]=200; r[327]=3;
891
- r[328]=3; r[329]=190; r[330]=87; r[331]=200; r[332]=3; r[333]=220; r[334]=25; r[335]=25;
892
- r[336]=0; r[337]=0; r[338]=0; r[339]=0; r[340]=31; r[341]=69; r[342]=0; r[343]=0;
893
- r[344]=0; r[345]=0; r[346]=0; r[347]=0; r[348]=0; r[349]=0; r[350]=0; r[351]=3;
894
- r[352]=13; r[353]=0; r[354]=0; r[355]=49; r[356]=0; r[357]=0; r[358]=0; r[359]=0;
895
- r[360]=0; r[361]=0; r[362]=0; r[363]=0; r[364]=0; r[365]=0; r[366]=0; r[367]=0;
896
- r[368]=0; r[369]=3; r[370]=15; r[371]=0; r[372]=0; r[373]=0; r[374]=0; r[375]=0;
897
- r[376]=0; r[377]=0; r[378]=0; r[379]=0; r[380]=0; r[381]=0; r[382]=0; r[383]=0;
898
- r[384]=0; r[385]=3; r[386]=3; r[387]=0; r[388]=17; r[389]=0; r[390]=0; r[391]=3;
899
- r[392]=3; r[393]=0; r[394]=0; r[395]=3; r[396]=0; r[397]=3; r[398]=0; r[399]=37;
900
- r[400]=135; r[401]=43; r[402]=138; r[403]=63; r[404]=132; r[405]=178; r[406]=67; r[407]=0;
901
- r[408]=0; r[409]=1; r[410]=0; r[411]=65; r[412]=0; r[413]=33; r[414]=123; r[415]=31;
902
- r[416]=35; r[417]=0; r[418]=39; r[419]=126; r[420]=31; r[421]=41; r[422]=0; r[423]=45;
903
- r[424]=129; r[425]=141; r[426]=0; r[427]=47;
904
- }
905
616
 
906
- private static short[] create__hpricot_scan_trans_actions_wi( )
617
+ private static short[] init__hpricot_scan_trans_actions_0()
907
618
  {
908
- short[] r = new short[428];
909
- init__hpricot_scan_trans_actions_wi_0( r );
910
- return r;
619
+ return new short [] {
620
+ 73, 0, 0, 0, 59, 0, 0, 0, 0, 0, 0, 0,
621
+ 1, 5, 0, 92, 5, 0, 51, 0, 0, 0, 0, 0,
622
+ 0, 0, 0, 0, 0, 0, 3, 83, 0, 19, 0, 0,
623
+ 0, 3, 86, 75, 0, 21, 0, 0, 3, 0, 3, 83,
624
+ 0, 19, 0, 19, 3, 3, 3, 172, 188, 3, 0, 0,
625
+ 0, 0, 113, 146, 0, 21, 3, 86, 86, 0, 21, 21,
626
+ 0, 21, 0, 0, 146, 0, 146, 0, 0, 3, 113, 0,
627
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 1, 5,
628
+ 0, 98, 0, 55, 5, 0, 5, 95, 0, 116, 0, 53,
629
+ 11, 0, 110, 11, 168, 0, 180, 23, 0, 122, 57, 3,
630
+ 3, 3, 0, 0, 89, 0, 9, 9, 104, 164, 0, 180,
631
+ 119, 176, 107, 107, 0, 160, 11, 201, 9, 9, 0, 80,
632
+ 80, 0, 0, 152, 3, 3, 196, 156, 3, 80, 80, 77,
633
+ 152, 3, 226, 3, 0, 9, 9, 7, 104, 0, 211, 0,
634
+ 0, 7, 180, 23, 192, 0, 7, 11, 0, 110, 11, 216,
635
+ 0, 0, 149, 3, 3, 7, 0, 89, 3, 3, 196, 80,
636
+ 80, 7, 0, 156, 221, 232, 180, 119, 107, 107, 0, 160,
637
+ 11, 238, 9, 9, 0, 7, 3, 80, 80, 101, 77, 152,
638
+ 3, 226, 3, 0, 9, 9, 7, 104, 0, 211, 0, 0,
639
+ 7, 180, 23, 192, 0, 0, 0, 180, 23, 192, 0, 11,
640
+ 0, 110, 11, 216, 0, 0, 149, 3, 3, 3, 0, 7,
641
+ 89, 3, 0, 9, 9, 104, 211, 0, 180, 119, 221, 107,
642
+ 107, 0, 160, 11, 238, 9, 9, 0, 80, 80, 0, 7,
643
+ 152, 3, 3, 196, 156, 77, 180, 119, 221, 107, 107, 0,
644
+ 160, 11, 238, 0, 0, 11, 0, 110, 11, 216, 149, 7,
645
+ 3, 3, 7, 7, 89, 3, 3, 196, 80, 80, 7, 7,
646
+ 156, 232, 7, 3, 77, 77, 196, 89, 206, 3, 101, 9,
647
+ 9, 0, 80, 80, 3, 232, 3, 77, 196, 89, 206, 3,
648
+ 3, 196, 89, 206, 3, 226, 25, 25, 0, 0, 0, 0,
649
+ 31, 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
650
+ 13, 0, 0, 49, 0, 0, 0, 0, 0, 0, 0, 0,
651
+ 0, 0, 0, 0, 0, 3, 15, 0, 0, 0, 0, 0,
652
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0,
653
+ 17, 0, 0, 3, 3, 0, 0, 3, 0, 3, 0, 37,
654
+ 137, 43, 140, 63, 134, 184, 69, 0, 0, 1, 0, 65,
655
+ 67, 0, 33, 125, 31, 35, 0, 39, 128, 31, 41, 0,
656
+ 45, 131, 143, 0, 47
657
+ };
911
658
  }
912
659
 
913
- private static final short _hpricot_scan_trans_actions_wi[] = create__hpricot_scan_trans_actions_wi();
660
+ private static final short _hpricot_scan_trans_actions[] = init__hpricot_scan_trans_actions_0();
914
661
 
915
662
 
916
- private static void init__hpricot_scan_to_state_actions_0( short[] r )
663
+ private static short[] init__hpricot_scan_to_state_actions_0()
917
664
  {
918
- r[0]=0; r[1]=0; r[2]=0; r[3]=0; r[4]=0; r[5]=0; r[6]=0; r[7]=0;
919
- r[8]=0; r[9]=0; r[10]=0; r[11]=0; r[12]=0; r[13]=0; r[14]=0; r[15]=0;
920
- r[16]=0; r[17]=0; r[18]=0; r[19]=0; r[20]=0; r[21]=0; r[22]=0; r[23]=0;
921
- r[24]=0; r[25]=0; r[26]=0; r[27]=0; r[28]=0; r[29]=0; r[30]=0; r[31]=0;
922
- r[32]=0; r[33]=0; r[34]=0; r[35]=0; r[36]=0; r[37]=0; r[38]=0; r[39]=0;
923
- r[40]=0; r[41]=0; r[42]=0; r[43]=0; r[44]=0; r[45]=0; r[46]=0; r[47]=0;
924
- r[48]=0; r[49]=0; r[50]=0; r[51]=0; r[52]=0; r[53]=0; r[54]=0; r[55]=0;
925
- r[56]=0; r[57]=0; r[58]=0; r[59]=0; r[60]=0; r[61]=0; r[62]=0; r[63]=0;
926
- r[64]=0; r[65]=0; r[66]=0; r[67]=0; r[68]=0; r[69]=0; r[70]=0; r[71]=0;
927
- r[72]=0; r[73]=0; r[74]=0; r[75]=0; r[76]=0; r[77]=0; r[78]=0; r[79]=0;
928
- r[80]=0; r[81]=0; r[82]=0; r[83]=0; r[84]=0; r[85]=0; r[86]=0; r[87]=0;
929
- r[88]=0; r[89]=0; r[90]=0; r[91]=0; r[92]=0; r[93]=0; r[94]=0; r[95]=0;
930
- r[96]=0; r[97]=0; r[98]=0; r[99]=0; r[100]=0; r[101]=0; r[102]=0; r[103]=0;
931
- r[104]=0; r[105]=0; r[106]=0; r[107]=0; r[108]=0; r[109]=0; r[110]=0; r[111]=0;
932
- r[112]=0; r[113]=0; r[114]=0; r[115]=0; r[116]=0; r[117]=0; r[118]=0; r[119]=0;
933
- r[120]=0; r[121]=0; r[122]=0; r[123]=0; r[124]=0; r[125]=0; r[126]=0; r[127]=0;
934
- r[128]=0; r[129]=0; r[130]=0; r[131]=0; r[132]=0; r[133]=0; r[134]=0; r[135]=0;
935
- r[136]=0; r[137]=0; r[138]=0; r[139]=0; r[140]=0; r[141]=0; r[142]=0; r[143]=0;
936
- r[144]=0; r[145]=0; r[146]=0; r[147]=0; r[148]=0; r[149]=0; r[150]=0; r[151]=0;
937
- r[152]=0; r[153]=0; r[154]=0; r[155]=0; r[156]=0; r[157]=0; r[158]=0; r[159]=0;
938
- r[160]=0; r[161]=0; r[162]=0; r[163]=0; r[164]=0; r[165]=0; r[166]=0; r[167]=0;
939
- r[168]=0; r[169]=0; r[170]=0; r[171]=0; r[172]=0; r[173]=0; r[174]=0; r[175]=0;
940
- r[176]=0; r[177]=0; r[178]=0; r[179]=0; r[180]=0; r[181]=0; r[182]=0; r[183]=0;
941
- r[184]=0; r[185]=0; r[186]=0; r[187]=0; r[188]=0; r[189]=0; r[190]=0; r[191]=0;
942
- r[192]=0; r[193]=0; r[194]=0; r[195]=0; r[196]=0; r[197]=0; r[198]=0; r[199]=0;
943
- r[200]=0; r[201]=0; r[202]=0; r[203]=0; r[204]=27; r[205]=0; r[206]=0; r[207]=0;
944
- r[208]=0; r[209]=0; r[210]=0; r[211]=0; r[212]=0; r[213]=0; r[214]=27; r[215]=0;
945
- r[216]=27; r[217]=0; r[218]=27; r[219]=0;
665
+ return new short [] {
666
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
667
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
668
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
669
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
670
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
671
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
672
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
673
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
674
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
675
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
676
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
677
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
678
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
679
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
680
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
681
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
682
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
683
+ 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0,
684
+ 27, 0, 27, 0
685
+ };
946
686
  }
947
687
 
948
- private static short[] create__hpricot_scan_to_state_actions( )
949
- {
950
- short[] r = new short[220];
951
- init__hpricot_scan_to_state_actions_0( r );
952
- return r;
953
- }
688
+ private static final short _hpricot_scan_to_state_actions[] = init__hpricot_scan_to_state_actions_0();
954
689
 
955
- private static final short _hpricot_scan_to_state_actions[] = create__hpricot_scan_to_state_actions();
956
690
 
957
-
958
- private static void init__hpricot_scan_from_state_actions_0( short[] r )
691
+ private static short[] init__hpricot_scan_from_state_actions_0()
959
692
  {
960
- r[0]=0; r[1]=0; r[2]=0; r[3]=0; r[4]=0; r[5]=0; r[6]=0; r[7]=0;
961
- r[8]=0; r[9]=0; r[10]=0; r[11]=0; r[12]=0; r[13]=0; r[14]=0; r[15]=0;
962
- r[16]=0; r[17]=0; r[18]=0; r[19]=0; r[20]=0; r[21]=0; r[22]=0; r[23]=0;
963
- r[24]=0; r[25]=0; r[26]=0; r[27]=0; r[28]=0; r[29]=0; r[30]=0; r[31]=0;
964
- r[32]=0; r[33]=0; r[34]=0; r[35]=0; r[36]=0; r[37]=0; r[38]=0; r[39]=0;
965
- r[40]=0; r[41]=0; r[42]=0; r[43]=0; r[44]=0; r[45]=0; r[46]=0; r[47]=0;
966
- r[48]=0; r[49]=0; r[50]=0; r[51]=0; r[52]=0; r[53]=0; r[54]=0; r[55]=0;
967
- r[56]=0; r[57]=0; r[58]=0; r[59]=0; r[60]=0; r[61]=0; r[62]=0; r[63]=0;
968
- r[64]=0; r[65]=0; r[66]=0; r[67]=0; r[68]=0; r[69]=0; r[70]=0; r[71]=0;
969
- r[72]=0; r[73]=0; r[74]=0; r[75]=0; r[76]=0; r[77]=0; r[78]=0; r[79]=0;
970
- r[80]=0; r[81]=0; r[82]=0; r[83]=0; r[84]=0; r[85]=0; r[86]=0; r[87]=0;
971
- r[88]=0; r[89]=0; r[90]=0; r[91]=0; r[92]=0; r[93]=0; r[94]=0; r[95]=0;
972
- r[96]=0; r[97]=0; r[98]=0; r[99]=0; r[100]=0; r[101]=0; r[102]=0; r[103]=0;
973
- r[104]=0; r[105]=0; r[106]=0; r[107]=0; r[108]=0; r[109]=0; r[110]=0; r[111]=0;
974
- r[112]=0; r[113]=0; r[114]=0; r[115]=0; r[116]=0; r[117]=0; r[118]=0; r[119]=0;
975
- r[120]=0; r[121]=0; r[122]=0; r[123]=0; r[124]=0; r[125]=0; r[126]=0; r[127]=0;
976
- r[128]=0; r[129]=0; r[130]=0; r[131]=0; r[132]=0; r[133]=0; r[134]=0; r[135]=0;
977
- r[136]=0; r[137]=0; r[138]=0; r[139]=0; r[140]=0; r[141]=0; r[142]=0; r[143]=0;
978
- r[144]=0; r[145]=0; r[146]=0; r[147]=0; r[148]=0; r[149]=0; r[150]=0; r[151]=0;
979
- r[152]=0; r[153]=0; r[154]=0; r[155]=0; r[156]=0; r[157]=0; r[158]=0; r[159]=0;
980
- r[160]=0; r[161]=0; r[162]=0; r[163]=0; r[164]=0; r[165]=0; r[166]=0; r[167]=0;
981
- r[168]=0; r[169]=0; r[170]=0; r[171]=0; r[172]=0; r[173]=0; r[174]=0; r[175]=0;
982
- r[176]=0; r[177]=0; r[178]=0; r[179]=0; r[180]=0; r[181]=0; r[182]=0; r[183]=0;
983
- r[184]=0; r[185]=0; r[186]=0; r[187]=0; r[188]=0; r[189]=0; r[190]=0; r[191]=0;
984
- r[192]=0; r[193]=0; r[194]=0; r[195]=0; r[196]=0; r[197]=0; r[198]=0; r[199]=0;
985
- r[200]=0; r[201]=0; r[202]=0; r[203]=0; r[204]=29; r[205]=0; r[206]=0; r[207]=0;
986
- r[208]=0; r[209]=0; r[210]=0; r[211]=0; r[212]=0; r[213]=0; r[214]=29; r[215]=0;
987
- r[216]=29; r[217]=0; r[218]=29; r[219]=0;
693
+ return new short [] {
694
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
695
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
696
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
697
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
698
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
699
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
700
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
701
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
702
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
703
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
704
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
705
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
706
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
707
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
708
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
709
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
710
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
711
+ 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 0,
712
+ 29, 0, 29, 0
713
+ };
988
714
  }
989
715
 
990
- private static short[] create__hpricot_scan_from_state_actions( )
716
+ private static final short _hpricot_scan_from_state_actions[] = init__hpricot_scan_from_state_actions_0();
717
+
718
+
719
+ private static short[] init__hpricot_scan_eof_trans_0()
991
720
  {
992
- short[] r = new short[220];
993
- init__hpricot_scan_from_state_actions_0( r );
994
- return r;
721
+ return new short [] {
722
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
723
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
724
+ 40, 40, 40, 40, 1, 40, 1, 1, 1, 1, 1, 1,
725
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
726
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
727
+ 1, 1, 1, 1, 40, 40, 40, 40, 40, 40, 40, 40,
728
+ 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
729
+ 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
730
+ 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
731
+ 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
732
+ 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
733
+ 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
734
+ 40, 1, 1, 1, 1, 1, 350, 350, 350, 350, 350, 350,
735
+ 350, 350, 350, 350, 350, 350, 350, 350, 350, 350, 350, 350,
736
+ 350, 350, 350, 350, 350, 350, 350, 350, 350, 350, 350, 350,
737
+ 350, 350, 350, 350, 350, 350, 350, 350, 350, 350, 350, 350,
738
+ 350, 350, 350, 350, 350, 350, 350, 350, 350, 350, 408, 410,
739
+ 0, 415, 420, 420, 420, 40, 40, 40, 421, 421, 0, 426,
740
+ 0, 431, 0, 437
741
+ };
995
742
  }
996
743
 
997
- private static final short _hpricot_scan_from_state_actions[] = create__hpricot_scan_from_state_actions();
744
+ private static final short _hpricot_scan_eof_trans[] = init__hpricot_scan_eof_trans_0();
998
745
 
999
746
 
1000
747
  static final int hpricot_scan_start = 204;
@@ -1005,7 +752,7 @@ static final int hpricot_scan_en_html_cdata = 216;
1005
752
  static final int hpricot_scan_en_html_procins = 218;
1006
753
  static final int hpricot_scan_en_main = 204;
1007
754
 
1008
- // line 191 "ext/hpricot_scan/hpricot_scan.java.rl"
755
+ // line 192 "ext/hpricot_scan/hpricot_scan.java.rl"
1009
756
 
1010
757
  public final static int BUFSIZE=16384;
1011
758
 
@@ -1027,7 +774,8 @@ private void rb_yield_tokens(IRubyObject sym, IRubyObject tag, IRubyObject attr,
1027
774
 
1028
775
  int cs, act, have = 0, nread = 0, curline = 1, p=-1;
1029
776
  boolean text = false;
1030
- int tokstart=-1, tokend;
777
+ int ts=-1, te;
778
+ int eof=-1;
1031
779
  char[] buf;
1032
780
  Ruby runtime;
1033
781
  IRubyObject attr, bufsize;
@@ -1069,14 +817,14 @@ IRubyObject hpricot_scan(IRubyObject recv, IRubyObject port) {
1069
817
  buf = new char[buffer_size];
1070
818
 
1071
819
 
1072
- // line 1073 "ext/hpricot_scan/HpricotScanService.java"
820
+ // line 821 "ext/hpricot_scan/HpricotScanService.java"
1073
821
  {
1074
822
  cs = hpricot_scan_start;
1075
- tokstart = -1;
1076
- tokend = -1;
823
+ ts = -1;
824
+ te = -1;
1077
825
  act = 0;
1078
826
  }
1079
- // line 254 "ext/hpricot_scan/hpricot_scan.java.rl"
827
+ // line 256 "ext/hpricot_scan/hpricot_scan.java.rl"
1080
828
 
1081
829
  while( !done ) {
1082
830
  IRubyObject str;
@@ -1114,26 +862,32 @@ IRubyObject hpricot_scan(IRubyObject recv, IRubyObject port) {
1114
862
  char[] data = buf;
1115
863
 
1116
864
 
1117
- // line 1118 "ext/hpricot_scan/HpricotScanService.java"
865
+ // line 866 "ext/hpricot_scan/HpricotScanService.java"
1118
866
  {
1119
867
  int _klen;
1120
- int _trans;
868
+ int _trans = 0;
1121
869
  int _acts;
1122
870
  int _nacts;
1123
871
  int _keys;
872
+ int _goto_targ = 0;
1124
873
 
1125
- if ( p != pe ) {
1126
- _resume: while ( true ) {
1127
- _again: do {
874
+ _goto: while (true) {
875
+ switch ( _goto_targ ) {
876
+ case 0:
877
+ if ( p == pe ) {
878
+ _goto_targ = 4;
879
+ continue _goto;
880
+ }
881
+ case 1:
1128
882
  _acts = _hpricot_scan_from_state_actions[cs];
1129
883
  _nacts = (int) _hpricot_scan_actions[_acts++];
1130
884
  while ( _nacts-- > 0 ) {
1131
885
  switch ( _hpricot_scan_actions[_acts++] ) {
1132
886
  case 21:
1133
887
  // line 1 "ext/hpricot_scan/hpricot_scan.java.rl"
1134
- {tokstart = p;}
888
+ {ts = p;}
1135
889
  break;
1136
- // line 1137 "ext/hpricot_scan/HpricotScanService.java"
890
+ // line 891 "ext/hpricot_scan/HpricotScanService.java"
1137
891
  }
1138
892
  }
1139
893
 
@@ -1187,19 +941,18 @@ IRubyObject hpricot_scan(IRubyObject recv, IRubyObject port) {
1187
941
  } while (false);
1188
942
 
1189
943
  _trans = _hpricot_scan_indicies[_trans];
1190
- cs = _hpricot_scan_trans_targs_wi[_trans];
1191
-
1192
- if ( _hpricot_scan_trans_actions_wi[_trans] == 0 )
1193
- break _again;
944
+ case 3:
945
+ cs = _hpricot_scan_trans_targs[_trans];
1194
946
 
1195
- _acts = _hpricot_scan_trans_actions_wi[_trans];
1196
- _nacts = (int) _hpricot_scan_actions[_acts++];
1197
- while ( _nacts-- > 0 )
947
+ if ( _hpricot_scan_trans_actions[_trans] != 0 ) {
948
+ _acts = _hpricot_scan_trans_actions[_trans];
949
+ _nacts = (int) _hpricot_scan_actions[_acts++];
950
+ while ( _nacts-- > 0 )
1198
951
  {
1199
- switch ( _hpricot_scan_actions[_acts++] )
1200
- {
952
+ switch ( _hpricot_scan_actions[_acts++] )
953
+ {
1201
954
  case 0:
1202
- // line 146 "ext/hpricot_scan/hpricot_scan.java.rl"
955
+ // line 147 "ext/hpricot_scan/hpricot_scan.java.rl"
1203
956
  {
1204
957
  if (text) {
1205
958
  CAT(tag, p);
@@ -1213,58 +966,58 @@ IRubyObject hpricot_scan(IRubyObject recv, IRubyObject port) {
1213
966
  }
1214
967
  break;
1215
968
  case 1:
1216
- // line 158 "ext/hpricot_scan/hpricot_scan.java.rl"
969
+ // line 159 "ext/hpricot_scan/hpricot_scan.java.rl"
1217
970
  { mark_tag = p; }
1218
971
  break;
1219
972
  case 2:
1220
- // line 159 "ext/hpricot_scan/hpricot_scan.java.rl"
973
+ // line 160 "ext/hpricot_scan/hpricot_scan.java.rl"
1221
974
  { mark_aval = p; }
1222
975
  break;
1223
976
  case 3:
1224
- // line 160 "ext/hpricot_scan/hpricot_scan.java.rl"
977
+ // line 161 "ext/hpricot_scan/hpricot_scan.java.rl"
1225
978
  { mark_akey = p; }
1226
979
  break;
1227
980
  case 4:
1228
- // line 161 "ext/hpricot_scan/hpricot_scan.java.rl"
981
+ // line 162 "ext/hpricot_scan/hpricot_scan.java.rl"
1229
982
  { SET(tag, p); }
1230
983
  break;
1231
984
  case 5:
1232
- // line 163 "ext/hpricot_scan/hpricot_scan.java.rl"
985
+ // line 164 "ext/hpricot_scan/hpricot_scan.java.rl"
1233
986
  { SET(aval, p); }
1234
987
  break;
1235
988
  case 6:
1236
- // line 164 "ext/hpricot_scan/hpricot_scan.java.rl"
989
+ // line 165 "ext/hpricot_scan/hpricot_scan.java.rl"
1237
990
  {
1238
991
  if (buf[p-1] == '"' || buf[p-1] == '\'') { SET(aval, p-1); }
1239
992
  else { SET(aval, p); }
1240
993
  }
1241
994
  break;
1242
995
  case 7:
1243
- // line 168 "ext/hpricot_scan/hpricot_scan.java.rl"
996
+ // line 169 "ext/hpricot_scan/hpricot_scan.java.rl"
1244
997
  { SET(akey, p); }
1245
998
  break;
1246
999
  case 8:
1247
- // line 169 "ext/hpricot_scan/hpricot_scan.java.rl"
1000
+ // line 170 "ext/hpricot_scan/hpricot_scan.java.rl"
1248
1001
  { SET(aval, p); ATTR(rb_str_new2("version"), aval); }
1249
1002
  break;
1250
1003
  case 9:
1251
- // line 170 "ext/hpricot_scan/hpricot_scan.java.rl"
1004
+ // line 171 "ext/hpricot_scan/hpricot_scan.java.rl"
1252
1005
  { SET(aval, p); ATTR(rb_str_new2("encoding"), aval); }
1253
1006
  break;
1254
1007
  case 10:
1255
- // line 171 "ext/hpricot_scan/hpricot_scan.java.rl"
1008
+ // line 172 "ext/hpricot_scan/hpricot_scan.java.rl"
1256
1009
  { SET(aval, p); ATTR(rb_str_new2("standalone"), aval); }
1257
1010
  break;
1258
1011
  case 11:
1259
- // line 172 "ext/hpricot_scan/hpricot_scan.java.rl"
1012
+ // line 173 "ext/hpricot_scan/hpricot_scan.java.rl"
1260
1013
  { SET(aval, p); ATTR(rb_str_new2("public_id"), aval); }
1261
1014
  break;
1262
1015
  case 12:
1263
- // line 173 "ext/hpricot_scan/hpricot_scan.java.rl"
1016
+ // line 174 "ext/hpricot_scan/hpricot_scan.java.rl"
1264
1017
  { SET(aval, p); ATTR(rb_str_new2("system_id"), aval); }
1265
1018
  break;
1266
1019
  case 13:
1267
- // line 175 "ext/hpricot_scan/hpricot_scan.java.rl"
1020
+ // line 176 "ext/hpricot_scan/hpricot_scan.java.rl"
1268
1021
  {
1269
1022
  akey[0] = runtime.getNil();
1270
1023
  aval[0] = runtime.getNil();
@@ -1273,7 +1026,7 @@ IRubyObject hpricot_scan(IRubyObject recv, IRubyObject port) {
1273
1026
  }
1274
1027
  break;
1275
1028
  case 14:
1276
- // line 182 "ext/hpricot_scan/hpricot_scan.java.rl"
1029
+ // line 183 "ext/hpricot_scan/hpricot_scan.java.rl"
1277
1030
  {
1278
1031
  ATTR(akey, aval);
1279
1032
  }
@@ -1288,63 +1041,63 @@ IRubyObject hpricot_scan(IRubyObject recv, IRubyObject port) {
1288
1041
  break;
1289
1042
  case 17:
1290
1043
  // line 50 "ext/hpricot_scan/hpricot_scan.java.rl"
1291
- { EBLK(comment, 3); {cs = 204; if (true) break _again;} }
1044
+ { EBLK(comment, 3); {cs = 204; _goto_targ = 2; if (true) continue _goto;} }
1292
1045
  break;
1293
1046
  case 18:
1294
1047
  // line 55 "ext/hpricot_scan/hpricot_scan.java.rl"
1295
- { EBLK(cdata, 3); {cs = 204; if (true) break _again;} }
1048
+ { EBLK(cdata, 3); {cs = 204; _goto_targ = 2; if (true) continue _goto;} }
1296
1049
  break;
1297
1050
  case 19:
1298
1051
  // line 60 "ext/hpricot_scan/hpricot_scan.java.rl"
1299
- { EBLK(procins, 2); {cs = 204; if (true) break _again;} }
1052
+ { EBLK(procins, 2); {cs = 204; _goto_targ = 2; if (true) continue _goto;} }
1300
1053
  break;
1301
1054
  case 22:
1302
1055
  // line 1 "ext/hpricot_scan/hpricot_scan.java.rl"
1303
- {tokend = p+1;}
1056
+ {te = p+1;}
1304
1057
  break;
1305
1058
  case 23:
1306
1059
  // line 50 "ext/hpricot_scan/hpricot_scan.java.rl"
1307
- {tokend = p+1;}
1060
+ {te = p+1;}
1308
1061
  break;
1309
1062
  case 24:
1310
1063
  // line 51 "ext/hpricot_scan/hpricot_scan.java.rl"
1311
- {tokend = p+1;{ TEXT_PASS(); }}
1064
+ {te = p+1;{ TEXT_PASS(); }}
1312
1065
  break;
1313
1066
  case 25:
1314
1067
  // line 51 "ext/hpricot_scan/hpricot_scan.java.rl"
1315
- {tokend = p;p--;{ TEXT_PASS(); }}
1068
+ {te = p;p--;{ TEXT_PASS(); }}
1316
1069
  break;
1317
1070
  case 26:
1318
1071
  // line 51 "ext/hpricot_scan/hpricot_scan.java.rl"
1319
- {{p = ((tokend))-1;}{ TEXT_PASS(); }}
1072
+ {{p = ((te))-1;}{ TEXT_PASS(); }}
1320
1073
  break;
1321
1074
  case 27:
1322
1075
  // line 55 "ext/hpricot_scan/hpricot_scan.java.rl"
1323
- {tokend = p+1;}
1076
+ {te = p+1;}
1324
1077
  break;
1325
1078
  case 28:
1326
1079
  // line 56 "ext/hpricot_scan/hpricot_scan.java.rl"
1327
- {tokend = p+1;{ TEXT_PASS(); }}
1080
+ {te = p+1;{ TEXT_PASS(); }}
1328
1081
  break;
1329
1082
  case 29:
1330
1083
  // line 56 "ext/hpricot_scan/hpricot_scan.java.rl"
1331
- {tokend = p;p--;{ TEXT_PASS(); }}
1084
+ {te = p;p--;{ TEXT_PASS(); }}
1332
1085
  break;
1333
1086
  case 30:
1334
1087
  // line 56 "ext/hpricot_scan/hpricot_scan.java.rl"
1335
- {{p = ((tokend))-1;}{ TEXT_PASS(); }}
1088
+ {{p = ((te))-1;}{ TEXT_PASS(); }}
1336
1089
  break;
1337
1090
  case 31:
1338
1091
  // line 60 "ext/hpricot_scan/hpricot_scan.java.rl"
1339
- {tokend = p+1;}
1092
+ {te = p+1;}
1340
1093
  break;
1341
1094
  case 32:
1342
1095
  // line 61 "ext/hpricot_scan/hpricot_scan.java.rl"
1343
- {tokend = p+1;{ TEXT_PASS(); }}
1096
+ {te = p+1;{ TEXT_PASS(); }}
1344
1097
  break;
1345
1098
  case 33:
1346
1099
  // line 61 "ext/hpricot_scan/hpricot_scan.java.rl"
1347
- {tokend = p;p--;{ TEXT_PASS(); }}
1100
+ {te = p;p--;{ TEXT_PASS(); }}
1348
1101
  break;
1349
1102
  case 34:
1350
1103
  // line 66 "ext/hpricot_scan/hpricot_scan.java.rl"
@@ -1364,94 +1117,111 @@ IRubyObject hpricot_scan(IRubyObject recv, IRubyObject port) {
1364
1117
  break;
1365
1118
  case 38:
1366
1119
  // line 65 "ext/hpricot_scan/hpricot_scan.java.rl"
1367
- {tokend = p+1;{ ELE(xmldecl); }}
1120
+ {te = p+1;{ ELE(xmldecl); }}
1368
1121
  break;
1369
1122
  case 39:
1370
1123
  // line 66 "ext/hpricot_scan/hpricot_scan.java.rl"
1371
- {tokend = p+1;{ ELE(doctype); }}
1124
+ {te = p+1;{ ELE(doctype); }}
1372
1125
  break;
1373
1126
  case 40:
1374
1127
  // line 68 "ext/hpricot_scan/hpricot_scan.java.rl"
1375
- {tokend = p+1;{ ELE(stag); }}
1128
+ {te = p+1;{ ELE(stag); }}
1376
1129
  break;
1377
1130
  case 41:
1378
1131
  // line 69 "ext/hpricot_scan/hpricot_scan.java.rl"
1379
- {tokend = p+1;{ ELE(etag); }}
1132
+ {te = p+1;{ ELE(etag); }}
1380
1133
  break;
1381
1134
  case 42:
1382
1135
  // line 70 "ext/hpricot_scan/hpricot_scan.java.rl"
1383
- {tokend = p+1;{ ELE(emptytag); }}
1136
+ {te = p+1;{ ELE(emptytag); }}
1384
1137
  break;
1385
1138
  case 43:
1386
1139
  // line 71 "ext/hpricot_scan/hpricot_scan.java.rl"
1387
- {tokend = p+1;{ {cs = 214; if (true) break _again;} }}
1140
+ {te = p+1;{ {cs = 214; _goto_targ = 2; if (true) continue _goto;} }}
1388
1141
  break;
1389
1142
  case 44:
1390
1143
  // line 72 "ext/hpricot_scan/hpricot_scan.java.rl"
1391
- {tokend = p+1;{ {cs = 216; if (true) break _again;} }}
1144
+ {te = p+1;{ {cs = 216; _goto_targ = 2; if (true) continue _goto;} }}
1392
1145
  break;
1393
1146
  case 45:
1394
1147
  // line 73 "ext/hpricot_scan/hpricot_scan.java.rl"
1395
- {tokend = p+1;{ TEXT_PASS(); }}
1148
+ {te = p+1;{ TEXT_PASS(); }}
1396
1149
  break;
1397
1150
  case 46:
1398
- // line 67 "ext/hpricot_scan/hpricot_scan.java.rl"
1399
- {tokend = p;p--;{ {cs = 218; if (true) break _again;} }}
1151
+ // line 66 "ext/hpricot_scan/hpricot_scan.java.rl"
1152
+ {te = p;p--;{ ELE(doctype); }}
1400
1153
  break;
1401
1154
  case 47:
1402
- // line 73 "ext/hpricot_scan/hpricot_scan.java.rl"
1403
- {tokend = p;p--;{ TEXT_PASS(); }}
1155
+ // line 67 "ext/hpricot_scan/hpricot_scan.java.rl"
1156
+ {te = p;p--;{ {cs = 218; _goto_targ = 2; if (true) continue _goto;} }}
1404
1157
  break;
1405
1158
  case 48:
1406
- // line 67 "ext/hpricot_scan/hpricot_scan.java.rl"
1407
- {{p = ((tokend))-1;}{ {cs = 218; if (true) break _again;} }}
1159
+ // line 73 "ext/hpricot_scan/hpricot_scan.java.rl"
1160
+ {te = p;p--;{ TEXT_PASS(); }}
1408
1161
  break;
1409
1162
  case 49:
1410
- // line 73 "ext/hpricot_scan/hpricot_scan.java.rl"
1411
- {{p = ((tokend))-1;}{ TEXT_PASS(); }}
1163
+ // line 67 "ext/hpricot_scan/hpricot_scan.java.rl"
1164
+ {{p = ((te))-1;}{ {cs = 218; _goto_targ = 2; if (true) continue _goto;} }}
1412
1165
  break;
1413
1166
  case 50:
1167
+ // line 73 "ext/hpricot_scan/hpricot_scan.java.rl"
1168
+ {{p = ((te))-1;}{ TEXT_PASS(); }}
1169
+ break;
1170
+ case 51:
1414
1171
  // line 1 "ext/hpricot_scan/hpricot_scan.java.rl"
1415
1172
  { switch( act ) {
1416
1173
  case 8:
1417
- {{p = ((tokend))-1;} ELE(doctype); }
1174
+ {{p = ((te))-1;} ELE(doctype); }
1418
1175
  break;
1419
1176
  case 10:
1420
- {{p = ((tokend))-1;} ELE(stag); }
1177
+ {{p = ((te))-1;} ELE(stag); }
1421
1178
  break;
1422
1179
  case 12:
1423
- {{p = ((tokend))-1;} ELE(emptytag); }
1180
+ {{p = ((te))-1;} ELE(emptytag); }
1424
1181
  break;
1425
1182
  case 15:
1426
- {{p = ((tokend))-1;} TEXT_PASS(); }
1183
+ {{p = ((te))-1;} TEXT_PASS(); }
1427
1184
  break;
1428
- default: break;
1429
1185
  }
1430
1186
  }
1431
1187
  break;
1432
- // line 1433 "ext/hpricot_scan/HpricotScanService.java"
1188
+ // line 1189 "ext/hpricot_scan/HpricotScanService.java"
1189
+ }
1433
1190
  }
1434
1191
  }
1435
1192
 
1436
- } while (false);
1193
+ case 2:
1437
1194
  _acts = _hpricot_scan_to_state_actions[cs];
1438
1195
  _nacts = (int) _hpricot_scan_actions[_acts++];
1439
1196
  while ( _nacts-- > 0 ) {
1440
1197
  switch ( _hpricot_scan_actions[_acts++] ) {
1441
1198
  case 20:
1442
1199
  // line 1 "ext/hpricot_scan/hpricot_scan.java.rl"
1443
- {tokstart = -1;}
1200
+ {ts = -1;}
1444
1201
  break;
1445
- // line 1446 "ext/hpricot_scan/HpricotScanService.java"
1202
+ // line 1203 "ext/hpricot_scan/HpricotScanService.java"
1446
1203
  }
1447
1204
  }
1448
1205
 
1449
- if ( ++p == pe )
1450
- break _resume;
1206
+ if ( ++p != pe ) {
1207
+ _goto_targ = 1;
1208
+ continue _goto;
1451
1209
  }
1210
+ case 4:
1211
+ if ( p == eof )
1212
+ {
1213
+ if ( _hpricot_scan_eof_trans[cs] > 0 ) {
1214
+ _trans = _hpricot_scan_eof_trans[cs] - 1;
1215
+ _goto_targ = 3;
1216
+ continue _goto;
1217
+ }
1218
+ }
1219
+
1220
+ case 5:
1452
1221
  }
1222
+ break; }
1453
1223
  }
1454
- // line 291 "ext/hpricot_scan/hpricot_scan.java.rl"
1224
+ // line 293 "ext/hpricot_scan/hpricot_scan.java.rl"
1455
1225
 
1456
1226
  if ( cs == hpricot_scan_error ) {
1457
1227
  if(!tag[0].isNil()) {
@@ -1463,16 +1233,16 @@ IRubyObject hpricot_scan(IRubyObject recv, IRubyObject port) {
1463
1233
 
1464
1234
  if ( done && ele_open ) {
1465
1235
  ele_open = false;
1466
- if(tokstart > -1) {
1467
- mark_tag = tokstart;
1468
- tokstart = -1;
1236
+ if(ts > -1) {
1237
+ mark_tag = ts;
1238
+ ts = -1;
1469
1239
  text = true;
1470
1240
  }
1471
1241
  }
1472
1242
 
1473
- if(tokstart == -1) {
1243
+ if(ts == -1) {
1474
1244
  have = 0;
1475
- /* text nodes have no tokstart because each byte is parsed alone */
1245
+ /* text nodes have no ts because each byte is parsed alone */
1476
1246
  if(mark_tag != -1 && text) {
1477
1247
  if (done) {
1478
1248
  if(mark_tag < p-1) {
@@ -1485,13 +1255,13 @@ IRubyObject hpricot_scan(IRubyObject recv, IRubyObject port) {
1485
1255
  }
1486
1256
  mark_tag = 0;
1487
1257
  } else {
1488
- have = pe - tokstart;
1489
- System.arraycopy(buf,tokstart,buf,0,have);
1258
+ have = pe - ts;
1259
+ System.arraycopy(buf,ts,buf,0,have);
1490
1260
  SLIDE(tag);
1491
1261
  SLIDE(akey);
1492
1262
  SLIDE(aval);
1493
- tokend = (tokend - tokstart);
1494
- tokstart = 0;
1263
+ te = (te - ts);
1264
+ ts = 0;
1495
1265
  }
1496
1266
  }
1497
1267
  return runtime.getNil();
@@ -1522,10 +1292,10 @@ public boolean basicLoad(final Ruby runtime) throws IOException {
1522
1292
 
1523
1293
  public static void Init_hpricot_scan(Ruby runtime) {
1524
1294
  RubyModule mHpricot = runtime.defineModule("Hpricot");
1525
- mHpricot.getMetaClass().attr_accessor(new IRubyObject[]{runtime.newSymbol("buffer_size")});
1295
+ mHpricot.getMetaClass().attr_accessor(runtime.getCurrentContext(),new IRubyObject[]{runtime.newSymbol("buffer_size")});
1526
1296
  CallbackFactory fact = runtime.callbackFactory(HpricotScanService.class);
1527
1297
  mHpricot.getMetaClass().defineMethod("scan",fact.getSingletonMethod("__hpricot_scan",IRubyObject.class));
1528
- mHpricot.defineClassUnder("ParseError",runtime.getClass("Exception"),runtime.getClass("Exception").getAllocator());
1298
+ mHpricot.defineClassUnder("ParseError",runtime.getClass("StandardError"),runtime.getClass("StandardError").getAllocator());
1529
1299
  rubyApi = JavaEmbedUtils.newObjectAdapter();
1530
1300
  }
1531
1301
  }