3
let unicode_baseChar = 2
91
let one_char_classes = [
181
class dummy_entity = object end
183
let dummy_entity = ( new dummy_entity : entity_id )
185
(* The following tokens are pre-allocated to reduce the load on the
189
let tok_Doctype__Document_type = Doctype dummy_entity, Document_type
190
let tok_Ignore__Document = Ignore, Document
191
let tok_Ignore__Within_tag = Ignore, Within_tag
192
let tok_IgnoreLineEnd__Within_tag = IgnoreLineEnd, Within_tag
193
let tok_Ignore__Document_type = Ignore, Document_type
194
let tok_Ignore__Declaration = Ignore, Declaration
195
let tok_Ignore__Ignored = Ignore, Ignored_section
196
let tok_Eof__Document = Eof, Document
197
let tok_Eof__Content = Eof, Content
198
let tok_Eof__Within_tag = Eof, Within_tag
199
let tok_Eof__Document_type = Eof, Document_type
200
let tok_Eof__Declaration = Eof, Declaration
201
let tok_Eof__Ignored = Eof, Ignored_section
202
let tok_LineEndCRLF__Content = LineEnd "\r\n", Content
203
let tok_LineEndCR__Content = LineEnd "\r", Content
204
let tok_LineEndLF__Content = LineEnd "\n", Content
205
let tok_CharDataRBRACKET__Content = CharData "]", Content
206
let tok_Eq__Within_tag = Eq, Within_tag
207
let tok_Rangle__Content = Rangle, Content
208
let tok_Rangle_empty__Content = Rangle_empty, Content
209
let tok_Dtd_begin__Declaration = Dtd_begin dummy_entity, Declaration
210
let tok_Doctype_rangle__Document = Doctype_rangle dummy_entity, Document
211
let tok_Percent__Declaration = Percent, Declaration
212
let tok_Plus__Declaration = Plus, Declaration
213
let tok_Star__Declaration = Star, Declaration
214
let tok_Bar__Declaration = Bar, Declaration
215
let tok_Comma__Declaration = Comma, Declaration
216
let tok_Qmark__Declaration = Qmark, Declaration
217
let tok_Lparen__Declaration = Lparen dummy_entity, Declaration
218
let tok_RparenPlus__Declaration = RparenPlus dummy_entity, Declaration
219
let tok_RparenStar__Declaration = RparenStar dummy_entity, Declaration
220
let tok_RparenQmark__Declaration = RparenQmark dummy_entity, Declaration
221
let tok_Rparen__Declaration = Rparen dummy_entity, Declaration
222
let tok_Required__Declaration = Required, Declaration
223
let tok_Implied__Declaration = Implied, Declaration
224
let tok_Fixed__Declaration = Fixed, Declaration
225
let tok_Pcdata__Declaration = Pcdata, Declaration
226
let tok_Decl_element__Declaration = Decl_element dummy_entity, Declaration
227
let tok_Decl_attlist__Declaration = Decl_attlist dummy_entity, Declaration
228
let tok_Decl_entity__Declaration = Decl_entity dummy_entity, Declaration
229
let tok_Decl_notation__Declaration = Decl_notation dummy_entity, Declaration
230
let tok_Conditional_begin__Declaration = Conditional_begin dummy_entity,
232
let tok_Conditional_begin__Ignored = Conditional_begin dummy_entity,
234
let tok_Conditional_end__Declaration = Conditional_end dummy_entity,
236
let tok_Conditional_end__Ignored = Conditional_end dummy_entity,
238
let tok_Conditional_body__Declaration = Conditional_body dummy_entity,
240
let tok_Decl_rangle__Declaration = Decl_rangle dummy_entity, Declaration
241
let tok_Dtd_end__Document_type = Dtd_end dummy_entity, Document_type
247
"\000\000\026\000\047\000\054\000\117\000\145\000\075\000\002\000\
248
\234\000\001\000\041\000\005\000\007\000\009\000\006\001\175\000\
249
\250\255\244\255\027\001\000\000\003\000\049\000\035\000\045\000\
250
\252\255\051\000\251\255\001\000\254\255\000\000\001\000\255\255\
251
\012\000\014\000\016\000\011\000\253\255\035\001\252\255\250\255\
252
\097\001\125\001\251\255\050\000\069\000\154\001\206\001\018\000\
253
\013\000\018\000\163\000\172\000\017\000\022\000\199\000\251\000\
254
\044\000\058\000\024\001\159\000\046\000\080\000\000\000\006\000\
255
\010\000\080\000\235\001\037\001\116\001\127\001\243\001\145\001\
256
\249\255\247\255\007\002\248\255\169\000\170\000\015\001\017\001\
257
\190\000\200\000\022\001\033\001\035\001\044\001\039\002\049\001\
258
\254\255\020\000\022\000\244\255\243\255\059\002\129\002\157\002\
259
\247\255\063\000\246\255\249\255\239\002\011\003\169\000\148\001\
260
\138\002\249\002\097\002\219\255\216\255\040\003\092\003\217\255\
261
\183\000\221\255\245\255\228\255\090\000\252\255\124\001\129\003\
262
\249\255\248\255\247\255\246\255\244\255\187\000\249\001\004\002\
263
\160\001\166\001\054\002\225\255\043\002\223\255\241\255\242\255\
264
\173\003\007\000\004\000\000\000\015\000\004\000\008\000\021\000\
265
\013\000\027\000\030\000\239\255\031\000\035\000\029\000\050\000\
266
\236\255\036\000\151\000\160\000\236\000\241\000\238\255\233\000\
267
\010\001\014\001\237\255\255\000\229\255\255\001\209\003\074\001\
268
\093\001\081\001\053\001\230\255\231\255\096\001\130\001\112\001\
269
\125\001\120\001\122\001\232\255\134\001\121\001\134\001\124\001\
270
\123\001\233\255\136\001\167\001\215\001\229\001\235\255\230\001\
271
\239\001\245\001\238\001\238\001\234\255\057\002\186\002\188\002\
272
\227\255\211\002\013\003\219\003\254\003\044\004\248\255\249\255\
273
\246\255\245\255\089\002\171\002\054\002\068\002\180\002\015\003\
274
\079\004\247\255\245\255\246\255\168\004\191\002\195\002\125\004\
275
\042\003\034\002\008\002\223\001\022\002\013\002\012\002\024\002\
276
\038\002\121\003\149\003\097\004\099\004\206\004\245\255\214\004\
277
\246\255\001\005\247\255\223\001\218\004\127\002\099\002\085\005\
278
\095\005\057\005\243\255\111\005\242\255\245\255\247\001\065\003\
279
\250\255\139\003\253\255\227\001\072\002\165\002\141\003\145\003\
280
\139\005\241\255\160\005\230\005\249\001\002\006\242\255\234\001\
281
\084\006\127\003\118\003\238\005\094\006\248\255\246\255\034\002\
282
\240\255\112\006\020\005\225\002\201\006\056\002\156\002\167\002\
283
\237\002\222\002\247\002\190\002\013\004\021\004\102\004\091\005\
284
\182\004\051\005\053\005\101\005\170\005\157\005\032\006";
286
"\255\255\255\255\255\255\255\255\255\255\255\255\255\255\000\000\
287
\255\255\001\000\255\255\255\255\255\255\255\255\255\255\255\255\
288
\255\255\255\255\006\000\007\000\008\000\009\000\010\000\255\255\
289
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
290
\255\255\255\255\255\255\255\255\255\255\006\000\255\255\255\255\
291
\000\000\002\000\255\255\001\000\001\000\002\000\000\000\003\000\
292
\002\000\001\000\003\000\003\000\002\000\001\000\003\000\003\000\
293
\002\000\001\000\003\000\003\000\001\000\255\255\255\255\255\255\
294
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\000\000\
295
\255\255\255\255\000\000\255\255\003\000\001\000\005\000\255\255\
296
\255\255\004\000\001\000\255\255\255\255\002\000\000\000\000\000\
297
\255\255\000\000\000\000\255\255\255\255\010\000\005\000\001\000\
298
\255\255\007\000\255\255\255\255\255\255\255\255\255\255\255\255\
299
\255\255\255\255\010\000\255\255\255\255\004\000\005\000\255\255\
300
\038\000\255\255\255\255\255\255\035\000\255\255\038\000\002\000\
301
\255\255\255\255\255\255\255\255\255\255\015\000\033\000\031\000\
302
\000\000\000\000\255\255\255\255\255\255\255\255\255\255\255\255\
303
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
304
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
305
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
306
\255\255\255\255\255\255\255\255\255\255\029\000\037\000\255\255\
307
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
308
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
309
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
310
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
311
\255\255\255\255\028\000\005\000\004\000\000\000\255\255\255\255\
312
\255\255\255\255\005\000\003\000\001\000\001\000\255\255\255\255\
313
\000\000\255\255\255\255\255\255\006\000\007\000\007\000\005\000\
314
\001\000\004\000\255\255\255\255\255\255\255\255\255\255\255\255\
315
\255\255\255\255\255\255\255\255\255\255\000\000\255\255\004\000\
316
\255\255\003\000\255\255\007\000\255\255\255\255\255\255\255\255\
317
\255\255\004\000\255\255\004\000\255\255\255\255\013\000\009\000\
318
\255\255\007\000\255\255\001\000\003\000\003\000\255\255\255\255\
319
\004\000\255\255\017\000\006\000\016\000\010\000\255\255\012\000\
320
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
321
\255\255\003\000\001\000\005\000\255\255\255\255\255\255\255\255\
322
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
323
\255\255\255\255\255\255\255\255\255\255\000\000\017\000";
325
"\010\001\251\000\239\000\219\000\205\000\109\000\093\000\089\000\
326
\074\000\255\255\059\000\055\000\051\000\047\000\040\000\018\000\
327
\000\000\000\000\037\000\255\255\255\255\025\000\023\000\023\000\
328
\000\000\025\000\000\000\255\255\000\000\255\255\255\255\000\000\
329
\032\000\034\000\034\000\255\255\000\000\037\000\000\000\000\000\
330
\046\000\045\000\000\000\255\255\255\255\045\000\046\000\050\000\
331
\255\255\255\255\050\000\054\000\255\255\255\255\054\000\058\000\
332
\255\255\255\255\058\000\059\000\255\255\255\255\255\255\255\255\
333
\255\255\255\255\067\000\067\000\069\000\069\000\069\000\069\000\
334
\000\000\000\000\086\000\000\000\083\000\255\255\079\000\079\000\
335
\255\255\255\255\255\255\083\000\255\255\255\255\086\000\255\255\
336
\000\000\090\000\090\000\000\000\000\000\106\000\101\000\100\000\
337
\000\000\255\255\000\000\000\000\100\000\101\000\255\255\255\255\
338
\255\255\255\255\106\000\000\000\000\000\204\000\203\000\000\000\
339
\255\255\000\000\000\000\000\000\255\255\000\000\255\255\136\000\
340
\000\000\000\000\000\000\000\000\000\000\255\255\132\000\130\000\
341
\255\255\255\255\130\000\000\000\132\000\000\000\000\000\000\000\
342
\136\000\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
343
\255\255\255\255\255\255\000\000\255\255\255\255\255\255\255\255\
344
\000\000\255\255\255\255\255\255\255\255\255\255\000\000\255\255\
345
\255\255\255\255\000\000\255\255\000\000\197\000\255\255\255\255\
346
\255\255\255\255\255\255\000\000\000\000\255\255\255\255\255\255\
347
\255\255\255\255\255\255\000\000\255\255\255\255\255\255\255\255\
348
\255\255\000\000\255\255\255\255\255\255\255\255\000\000\255\255\
349
\255\255\255\255\255\255\255\255\000\000\197\000\199\000\199\000\
350
\000\000\199\000\199\000\203\000\204\000\216\000\000\000\000\000\
351
\000\000\000\000\215\000\214\000\255\255\255\255\214\000\215\000\
352
\216\000\000\000\000\000\000\000\223\000\255\255\255\255\223\000\
353
\233\000\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
354
\255\255\233\000\235\000\235\000\235\000\235\000\000\000\249\000\
355
\000\000\244\000\000\000\255\255\244\000\255\255\255\255\255\255\
356
\255\255\249\000\000\000\008\001\000\000\000\000\255\255\007\001\
357
\000\000\006\001\000\000\255\255\255\255\255\255\006\001\007\001\
358
\008\001\000\000\046\001\025\001\255\255\016\001\000\000\255\255\
359
\016\001\255\255\255\255\255\255\255\255\000\000\000\000\255\255\
360
\000\000\025\001\041\001\255\255\025\001\255\255\255\255\255\255\
361
\255\255\255\255\255\255\255\255\036\001\038\001\038\001\040\001\
362
\040\001\041\001\043\001\043\001\043\001\043\001\046\001";
364
"\009\001\162\000\088\000\036\000\000\000\042\000\039\000\042\000\
365
\039\000\042\000\039\000\148\000\255\255\255\255\255\255\255\255\
366
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
367
\159\000\153\000\250\000\134\000\141\000\142\000\252\000\252\000\
368
\252\000\252\000\252\000\255\255\255\255\143\000\144\000\145\000\
369
\146\000\026\000\147\000\149\000\150\000\255\255\255\255\238\000\
370
\017\000\255\255\255\255\255\255\255\255\064\000\217\000\218\000\
371
\065\000\151\000\063\000\152\000\154\000\011\001\061\000\028\000\
372
\029\000\030\000\032\000\031\000\012\001\013\001\056\000\027\000\
373
\052\000\036\000\048\000\091\000\092\000\033\000\049\000\035\000\
374
\031\000\033\000\053\000\255\255\031\000\014\001\015\001\252\000\
375
\253\000\252\000\252\000\252\000\254\000\252\000\252\000\252\000\
376
\252\000\252\000\252\000\252\000\252\000\252\000\252\000\252\000\
377
\252\000\255\000\000\001\252\000\240\000\057\000\001\001\002\001\
378
\003\001\004\001\004\001\220\000\241\000\096\000\092\000\024\000\
379
\031\000\091\000\091\000\091\000\091\000\091\000\036\000\060\000\
380
\026\000\024\000\026\000\031\000\242\000\243\000\016\000\044\000\
381
\044\000\044\000\044\000\221\000\221\000\221\000\221\000\062\000\
382
\094\000\107\000\108\000\095\000\099\000\110\000\110\000\110\000\
383
\110\000\111\000\044\000\044\000\044\000\044\000\163\000\255\255\
384
\096\000\097\000\098\000\255\255\255\255\066\000\066\000\066\000\
385
\066\000\255\255\255\255\155\000\255\255\255\255\103\000\016\000\
386
\017\000\156\000\091\000\206\000\091\000\091\000\091\000\091\000\
387
\207\000\091\000\208\000\091\000\091\000\209\000\091\000\091\000\
388
\091\000\091\000\091\000\091\000\210\000\091\000\091\000\255\255\
389
\255\255\211\000\212\000\212\000\212\000\212\000\112\000\113\000\
390
\114\000\111\000\110\000\111\000\115\000\116\000\117\000\118\000\
391
\111\000\119\000\120\000\121\000\122\000\123\000\124\000\125\000\
392
\126\000\111\000\110\000\104\000\255\255\127\000\128\000\128\000\
393
\128\000\128\000\072\000\073\000\019\000\255\255\075\000\075\000\
394
\075\000\075\000\075\000\020\000\255\255\255\255\165\000\166\000\
395
\084\000\157\000\134\000\255\255\255\255\158\000\021\000\082\000\
396
\082\000\082\000\082\000\022\000\092\000\135\000\038\000\039\000\
397
\255\255\160\000\041\000\041\000\041\000\041\000\042\000\255\255\
398
\255\255\255\255\255\255\081\000\081\000\081\000\081\000\161\000\
399
\255\255\255\255\162\000\255\255\255\255\081\000\081\000\081\000\
400
\081\000\255\255\255\255\255\255\255\255\255\255\255\255\075\000\
401
\075\000\075\000\075\000\075\000\075\000\075\000\075\000\075\000\
402
\075\000\075\000\075\000\075\000\075\000\075\000\075\000\075\000\
403
\075\000\076\000\077\000\075\000\255\255\164\000\078\000\075\000\
404
\075\000\075\000\075\000\042\000\042\000\042\000\042\000\041\000\
405
\042\000\042\000\042\000\042\000\042\000\042\000\042\000\042\000\
406
\042\000\042\000\042\000\042\000\042\000\042\000\042\000\041\000\
407
\255\255\255\255\042\000\043\000\043\000\043\000\043\000\255\255\
408
\255\255\255\255\255\255\080\000\068\000\080\000\191\000\255\255\
409
\173\000\255\255\255\255\082\000\082\000\082\000\082\000\255\255\
410
\084\000\180\000\255\255\181\000\255\255\255\255\172\000\255\255\
411
\085\000\085\000\085\000\085\000\174\000\255\255\255\255\255\255\
412
\255\255\085\000\085\000\085\000\085\000\255\255\087\000\087\000\
413
\087\000\087\000\137\000\175\000\176\000\138\000\177\000\178\000\
414
\179\000\255\255\255\255\186\000\139\000\182\000\140\000\183\000\
415
\184\000\103\000\255\255\255\255\185\000\187\000\255\255\255\255\
416
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
417
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
418
\255\255\255\255\031\000\070\000\188\000\255\255\255\255\255\255\
419
\255\255\255\255\255\255\255\255\255\255\255\255\068\000\255\255\
420
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
421
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
422
\068\000\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
423
\255\255\255\255\255\255\024\000\255\255\255\255\255\255\255\255\
424
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
425
\255\255\255\255\255\255\255\255\255\255\189\000\255\255\255\255\
426
\255\255\255\255\255\255\255\255\255\255\129\000\129\000\129\000\
427
\129\000\255\255\255\255\129\000\129\000\129\000\129\000\255\255\
428
\255\255\190\000\192\000\193\000\255\255\255\255\194\000\255\255\
429
\255\255\195\000\196\000\255\255\255\255\255\255\255\255\255\255\
430
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
431
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\228\000\
432
\024\000\229\000\255\255\255\255\255\255\255\255\255\255\255\255\
433
\255\255\230\000\068\000\255\255\255\255\231\000\226\000\255\255\
434
\232\000\071\000\068\000\036\000\099\000\017\000\255\255\255\255\
435
\031\000\255\255\255\255\255\255\255\255\023\001\198\000\017\000\
436
\066\000\066\000\066\000\066\000\255\255\255\255\255\255\255\255\
437
\133\000\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
438
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
439
\131\000\255\255\255\255\255\255\087\000\087\000\087\000\087\000\
440
\024\001\255\255\255\255\227\000\255\255\255\255\255\255\255\255\
441
\246\000\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
442
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
443
\198\000\036\000\133\000\255\255\087\000\087\000\087\000\087\000\
444
\255\255\255\255\255\255\255\255\246\000\255\255\255\255\255\255\
445
\255\255\255\255\131\000\213\000\213\000\213\000\213\000\105\000\
446
\255\255\255\255\255\255\105\000\105\000\105\000\105\000\105\000\
447
\105\000\213\000\213\000\213\000\213\000\255\255\255\255\005\001\
448
\005\001\255\255\255\255\255\255\255\255\255\255\255\255\031\001\
449
\026\000\255\255\028\000\255\255\255\255\105\000\105\000\105\000\
450
\105\000\105\000\105\000\032\001\255\255\255\255\255\255\255\255\
451
\255\255\247\000\255\255\255\255\255\255\255\255\255\255\255\255\
452
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\102\000\
453
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
454
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
455
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
456
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
457
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
458
\255\255\255\255\255\255\255\255\255\255\255\255\033\001\255\255\
459
\200\000\201\000\034\001\198\000\005\001\005\001\105\000\036\000\
460
\035\001\036\001\105\000\105\000\105\000\105\000\105\000\105\000\
461
\036\000\000\000\000\000\255\255\255\255\255\255\255\255\255\255\
462
\255\255\202\000\198\000\255\255\222\000\222\000\222\000\222\000\
463
\222\000\222\000\222\000\222\000\105\000\105\000\105\000\105\000\
464
\105\000\105\000\029\001\000\000\030\001\000\000\000\000\000\000\
465
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
466
\255\255\255\255\255\255\255\255\255\255\255\255\031\000\255\255\
467
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
468
\026\000\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
469
\255\255\255\255\255\255\255\255\198\000\255\255\255\255\255\255\
470
\255\255\255\255\036\000\255\255\255\255\255\255\255\255\255\255\
471
\255\255\255\255\255\255\255\255\255\255\255\255\026\000\255\255\
472
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
473
\255\255\234\000\255\255\255\255\255\255\255\255\255\255\255\255\
474
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
475
\255\255\255\255\255\255\018\001\255\255\255\255\255\255\255\255\
476
\255\255\255\255\255\255\000\000\018\001\255\255\255\255\255\255\
477
\255\255\255\255\000\000\255\255\255\255\255\255\255\255\000\000\
478
\073\000\255\255\255\255\000\000\000\000\255\255\255\255\000\000\
479
\000\000\255\255\255\255\255\255\255\255\000\000\255\255\255\255\
480
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
481
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\000\000\
482
\255\255\255\255\255\255\255\255\255\255\255\255\000\000\000\000\
483
\234\000\019\001\000\000\000\000\000\000\021\001\255\255\255\255\
484
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
485
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
486
\255\255\255\255\255\255\031\000\236\000\255\255\255\255\255\255\
487
\255\255\255\255\167\000\255\255\255\255\000\000\168\000\099\000\
488
\073\000\099\000\000\000\255\255\000\000\000\000\000\000\169\000\
489
\000\000\000\000\255\255\255\255\255\255\255\255\000\000\255\255\
490
\255\255\255\255\255\255\255\255\028\000\255\255\255\255\255\255\
491
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
492
\000\000\255\255\255\255\255\255\255\255\255\255\255\255\000\000\
493
\000\000\000\000\000\000\000\000\000\000\255\255\255\255\000\000\
494
\000\000\000\000\170\000\000\000\171\000\255\255\255\255\000\000\
495
\255\255\255\255\255\255\255\255\000\000\255\255\255\255\255\255\
496
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
497
\255\255\255\255\255\255\255\255\255\255\255\255\000\000\255\255\
498
\255\255\255\255\255\255\255\255\255\255\000\000\000\000\000\000\
499
\000\000\000\000\000\000\255\255\255\255\255\255\255\255\000\000\
500
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
501
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
502
\255\255\037\001\255\255\255\255\255\255\255\255\255\255\255\255\
503
\000\000\039\001\000\000\000\000\000\000\000\000\000\000\000\000\
504
\000\000\255\255\255\255\255\255\255\255\000\000\255\255\255\255\
505
\000\000\255\255\255\255\255\255\255\255\000\000\255\255\255\255\
506
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
507
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\000\000\
508
\255\255\255\255\255\255\255\255\255\255\255\255\000\000\000\000\
509
\000\000\000\000\000\000\000\000\255\255\255\255\255\255\255\255\
510
\000\000\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
511
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
512
\234\000\237\000\234\000\255\255\255\255\255\255\255\255\255\255\
513
\255\255\255\255\037\001\000\000\255\255\255\255\255\255\255\255\
514
\255\255\000\000\000\000\000\000\000\000\000\000\255\255\255\255\
515
\000\000\000\000\255\255\255\255\255\255\255\255\000\000\255\255\
516
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
517
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
518
\000\000\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
519
\000\000\000\000\255\255\255\255\000\000\000\000\000\000\000\000\
520
\000\000\000\000\255\255\000\000\000\000\255\255\255\255\224\000\
521
\225\000\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
522
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
523
\255\255\255\255\037\001\000\000\255\255\255\255\255\255\255\255\
524
\255\255\255\255\255\255\000\000\000\000\255\255\255\255\255\255\
525
\255\255\255\255\000\000\000\000\000\000\234\000\000\000\000\000\
526
\000\000\000\000\000\000\255\255\255\255\255\255\000\000\255\255\
527
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
528
\255\255\031\000\255\255\255\255\255\255\255\255\255\255\255\255\
529
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
530
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\000\000\
531
\000\000\255\255\255\255\000\000\000\000\000\000\255\255\255\255\
532
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\245\000\
533
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
534
\255\255\255\255\255\255\042\001\000\000\255\255\255\255\255\255\
535
\255\255\255\255\248\000\255\255\255\255\000\000\248\000\248\000\
536
\248\000\248\000\248\000\248\000\248\000\255\255\255\255\000\000\
537
\248\000\248\000\248\000\248\000\248\000\248\000\000\000\255\255\
538
\255\255\000\000\042\001\031\000\044\001\000\000\255\255\255\255\
539
\248\000\248\000\248\000\248\000\248\000\248\000\255\255\000\000\
540
\000\000\000\000\248\000\248\000\248\000\248\000\248\000\248\000\
541
\000\000\000\000\000\000\255\255\255\255\000\000\255\255\255\255\
542
\255\255\000\000\000\000\255\255\000\000\000\000\000\000\000\000\
543
\000\000\026\000\000\000\000\000\000\000\255\255\255\255\039\001\
544
\255\255\255\255\000\000\000\000\042\001\000\000\036\000\000\000\
545
\000\000\000\000\255\255\255\255\255\255\255\255\255\255\255\255\
546
\000\000\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
547
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
548
\000\000\000\000\000\000\255\255\255\255\255\255\255\255\255\255\
549
\255\255\255\255\255\255\255\255\000\000\255\255\255\255\255\255\
550
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
551
\255\255\255\255\255\255\255\255\042\001\255\255\000\000\255\255\
552
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
553
\045\001\042\001\255\255\255\255\255\255\255\255\255\255\000\000\
554
\000\000\000\000\000\000\020\001\000\000\255\255\255\255\020\001\
555
\020\001\020\001\020\001\020\001\020\001\000\000\000\000\000\000\
556
\000\000\000\000\255\255\255\255\000\000\000\000\255\255\255\255\
557
\255\255\255\255\255\255\000\000\000\000\000\000\000\000\000\000\
558
\000\000\020\001\020\001\020\001\020\001\020\001\020\001\000\000\
559
\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
560
\255\255\255\255\000\000\255\255\255\255\026\001\027\001\255\255\
561
\028\001\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
562
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
563
\000\000\000\000\255\255\255\255\255\255\255\255\255\255\255\255\
564
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
565
\017\001\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
566
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
567
\255\255\255\255\255\255\000\000\255\255\255\255\000\000\000\000\
568
\000\000\000\000\000\000\020\001\255\255\255\255\000\000\020\001\
569
\020\001\020\001\020\001\020\001\020\001\000\000\000\000\000\000\
570
\255\255\255\255\000\000\000\000\000\000\255\255\255\255\000\000\
571
\255\255\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
572
\000\000\020\001\020\001\020\001\020\001\020\001\020\001\000\000\
573
\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
574
\000\000\255\255\255\255\255\255\255\255\000\000\255\255\255\255\
575
\255\255\255\255\255\255\022\001\255\255\255\255\255\255\255\255\
576
\255\255\255\255\255\255\255\255\255\255\073\000\000\000\000\000\
577
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
578
\255\255\000\000\255\255\255\255\255\255\255\255\255\255\255\255\
579
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
580
\255\255\000\000\000\000\000\000\255\255\255\255\255\255\255\255\
581
\255\255\255\255\255\255\000\000\000\000\255\255\255\255\255\255\
582
\255\255\255\255\000\000\000\000\000\000\000\000\000\000\000\000\
583
\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
584
\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
585
\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
586
\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
587
\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
588
\000\000\000\000\000\000\000\000\000\000\000\000\255\255\255\255\
589
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
590
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
591
\255\255\255\255\255\255\000\000\000\000\255\255\255\255\255\255\
594
"\000\000\000\000\007\000\007\000\255\255\011\000\011\000\012\000\
595
\012\000\013\000\013\000\139\000\032\000\032\000\033\000\033\000\
596
\034\000\034\000\047\000\047\000\089\000\089\000\090\000\090\000\
597
\137\000\138\000\001\000\001\000\140\000\141\000\001\000\001\000\
598
\001\000\001\000\001\000\022\000\022\000\142\000\143\000\144\000\
599
\145\000\010\000\146\000\148\000\149\000\023\000\023\000\002\000\
600
\002\000\021\000\021\000\025\000\025\000\063\000\003\000\003\000\
601
\064\000\150\000\062\000\151\000\153\000\000\000\009\000\027\000\
602
\019\000\029\000\030\000\029\000\000\000\000\000\011\000\020\000\
603
\012\000\035\000\013\000\006\000\006\000\032\000\048\000\033\000\
604
\049\000\034\000\052\000\047\000\053\000\000\000\000\000\001\000\
605
\001\000\001\000\001\000\001\000\001\000\001\000\001\000\001\000\
606
\001\000\001\000\001\000\001\000\001\000\001\000\001\000\001\000\
607
\001\000\001\000\001\000\001\000\002\000\056\000\001\000\001\000\
608
\001\000\001\000\001\000\003\000\002\000\004\000\004\000\022\000\
609
\057\000\004\000\004\000\004\000\004\000\004\000\010\000\010\000\
610
\021\000\023\000\025\000\060\000\002\000\002\000\002\000\043\000\
611
\043\000\043\000\043\000\003\000\003\000\003\000\003\000\061\000\
612
\006\000\005\000\005\000\006\000\097\000\005\000\005\000\005\000\
613
\005\000\005\000\044\000\044\000\044\000\044\000\116\000\059\000\
614
\006\000\006\000\006\000\050\000\050\000\065\000\065\000\065\000\
615
\065\000\076\000\076\000\154\000\051\000\051\000\102\000\015\000\
616
\015\000\155\000\004\000\004\000\004\000\004\000\004\000\004\000\
617
\004\000\004\000\004\000\004\000\004\000\004\000\004\000\004\000\
618
\004\000\004\000\004\000\004\000\004\000\004\000\004\000\054\000\
619
\054\000\004\000\004\000\004\000\004\000\004\000\005\000\005\000\
620
\005\000\005\000\005\000\005\000\005\000\005\000\005\000\005\000\
621
\005\000\005\000\005\000\005\000\005\000\005\000\005\000\005\000\
622
\005\000\005\000\005\000\102\000\050\000\005\000\005\000\005\000\
623
\005\000\005\000\008\000\008\000\015\000\051\000\008\000\008\000\
624
\008\000\008\000\008\000\015\000\059\000\059\000\112\000\112\000\
625
\076\000\156\000\125\000\055\000\055\000\157\000\015\000\077\000\
626
\077\000\077\000\077\000\015\000\125\000\125\000\014\000\014\000\
627
\054\000\159\000\014\000\014\000\014\000\014\000\014\000\078\000\
628
\078\000\079\000\079\000\080\000\080\000\080\000\080\000\160\000\
629
\058\000\058\000\161\000\018\000\018\000\081\000\081\000\081\000\
630
\081\000\083\000\083\000\037\000\037\000\067\000\067\000\008\000\
631
\008\000\008\000\008\000\008\000\008\000\008\000\008\000\008\000\
632
\008\000\008\000\008\000\008\000\008\000\008\000\008\000\008\000\
633
\008\000\008\000\008\000\008\000\055\000\163\000\008\000\008\000\
634
\008\000\008\000\008\000\014\000\014\000\014\000\014\000\014\000\
635
\014\000\014\000\014\000\014\000\014\000\014\000\014\000\014\000\
636
\014\000\014\000\014\000\014\000\014\000\014\000\014\000\014\000\
637
\018\000\058\000\014\000\014\000\014\000\014\000\014\000\018\000\
638
\037\000\040\000\040\000\078\000\067\000\079\000\167\000\037\000\
639
\169\000\040\000\018\000\082\000\082\000\082\000\082\000\018\000\
640
\083\000\168\000\037\000\168\000\068\000\068\000\170\000\037\000\
641
\084\000\084\000\084\000\084\000\173\000\041\000\041\000\069\000\
642
\069\000\085\000\085\000\085\000\085\000\041\000\087\000\087\000\
643
\087\000\087\000\118\000\174\000\175\000\118\000\176\000\177\000\
644
\178\000\071\000\071\000\180\000\118\000\181\000\118\000\182\000\
645
\183\000\103\000\045\000\045\000\184\000\186\000\040\000\040\000\
646
\040\000\040\000\045\000\040\000\040\000\040\000\040\000\040\000\
647
\040\000\040\000\040\000\040\000\040\000\040\000\040\000\040\000\
648
\040\000\040\000\068\000\068\000\187\000\040\000\040\000\040\000\
649
\040\000\040\000\041\000\041\000\041\000\041\000\069\000\041\000\
650
\041\000\041\000\041\000\041\000\041\000\041\000\041\000\041\000\
651
\041\000\041\000\041\000\041\000\041\000\041\000\046\000\046\000\
652
\071\000\041\000\041\000\041\000\041\000\041\000\046\000\045\000\
653
\045\000\045\000\045\000\103\000\045\000\045\000\045\000\045\000\
654
\045\000\045\000\045\000\045\000\045\000\045\000\045\000\045\000\
655
\045\000\045\000\045\000\066\000\066\000\188\000\045\000\045\000\
656
\045\000\045\000\045\000\070\000\070\000\128\000\128\000\128\000\
657
\128\000\126\000\126\000\129\000\129\000\129\000\129\000\165\000\
658
\165\000\189\000\191\000\192\000\127\000\127\000\193\000\074\000\
659
\074\000\194\000\195\000\046\000\046\000\046\000\046\000\074\000\
660
\046\000\046\000\046\000\046\000\046\000\046\000\046\000\046\000\
661
\046\000\046\000\046\000\046\000\046\000\046\000\046\000\226\000\
662
\227\000\228\000\046\000\046\000\046\000\046\000\046\000\086\000\
663
\086\000\229\000\066\000\132\000\132\000\230\000\225\000\086\000\
664
\231\000\070\000\070\000\232\000\243\000\254\000\130\000\130\000\
665
\003\001\197\000\197\000\093\000\093\000\012\001\165\000\015\001\
666
\066\000\066\000\066\000\066\000\074\000\074\000\074\000\074\000\
667
\126\000\074\000\074\000\074\000\074\000\074\000\074\000\074\000\
668
\074\000\074\000\074\000\074\000\074\000\074\000\074\000\074\000\
669
\127\000\210\000\210\000\074\000\074\000\074\000\074\000\074\000\
670
\023\001\106\000\106\000\225\000\086\000\086\000\086\000\086\000\
671
\246\000\086\000\086\000\086\000\086\000\086\000\086\000\086\000\
672
\086\000\086\000\086\000\086\000\086\000\086\000\086\000\086\000\
673
\197\000\029\001\132\000\086\000\086\000\086\000\086\000\086\000\
674
\093\000\094\000\094\000\093\000\245\000\094\000\094\000\094\000\
675
\094\000\094\000\130\000\212\000\212\000\212\000\212\000\104\000\
676
\093\000\093\000\093\000\104\000\104\000\104\000\104\000\104\000\
677
\104\000\213\000\213\000\213\000\213\000\095\000\095\000\004\001\
678
\004\001\095\000\095\000\095\000\095\000\095\000\106\000\030\001\
679
\210\000\106\000\246\000\211\000\211\000\104\000\104\000\104\000\
680
\104\000\104\000\104\000\031\001\214\000\214\000\106\000\106\000\
681
\106\000\245\000\198\000\198\000\199\000\199\000\094\000\094\000\
682
\094\000\094\000\094\000\094\000\094\000\094\000\094\000\094\000\
683
\094\000\094\000\094\000\094\000\094\000\094\000\094\000\094\000\
684
\094\000\094\000\094\000\201\000\201\000\094\000\094\000\094\000\
685
\094\000\094\000\095\000\095\000\095\000\095\000\095\000\095\000\
686
\095\000\095\000\095\000\095\000\095\000\095\000\095\000\095\000\
687
\095\000\095\000\095\000\095\000\095\000\095\000\095\000\100\000\
688
\100\000\095\000\095\000\095\000\095\000\095\000\032\001\100\000\
689
\198\000\198\000\033\001\199\000\005\001\005\001\105\000\211\000\
690
\034\001\035\001\105\000\105\000\105\000\105\000\105\000\105\000\
691
\214\000\255\255\255\255\101\000\101\000\202\000\202\000\215\000\
692
\215\000\201\000\201\000\101\000\221\000\221\000\221\000\221\000\
693
\222\000\222\000\222\000\222\000\105\000\105\000\105\000\105\000\
694
\105\000\105\000\027\001\255\255\027\001\255\255\255\255\255\255\
695
\109\000\109\000\224\000\224\000\100\000\100\000\100\000\100\000\
696
\109\000\100\000\100\000\100\000\100\000\100\000\100\000\100\000\
697
\100\000\100\000\100\000\100\000\100\000\100\000\100\000\100\000\
698
\105\000\255\000\255\000\100\000\100\000\100\000\100\000\100\000\
699
\101\000\101\000\101\000\101\000\202\000\101\000\101\000\101\000\
700
\101\000\101\000\101\000\101\000\101\000\101\000\101\000\101\000\
701
\101\000\101\000\101\000\101\000\110\000\110\000\215\000\101\000\
702
\101\000\101\000\101\000\101\000\110\000\109\000\109\000\109\000\
703
\109\000\224\000\109\000\109\000\109\000\109\000\109\000\109\000\
704
\109\000\109\000\109\000\109\000\109\000\109\000\109\000\109\000\
705
\109\000\233\000\233\000\018\001\109\000\109\000\109\000\109\000\
706
\109\000\119\000\119\000\255\255\017\001\119\000\119\000\119\000\
707
\119\000\119\000\255\255\001\001\001\001\006\001\006\001\255\255\
708
\255\000\007\001\007\001\255\255\255\255\234\000\234\000\255\255\
709
\255\255\110\000\110\000\110\000\110\000\255\255\110\000\110\000\
710
\110\000\110\000\110\000\110\000\110\000\110\000\110\000\110\000\
711
\110\000\110\000\110\000\110\000\110\000\136\000\136\000\255\255\
712
\110\000\110\000\110\000\110\000\110\000\136\000\255\255\255\255\
713
\233\000\017\001\255\255\255\255\255\255\018\001\119\000\119\000\
714
\119\000\119\000\119\000\119\000\119\000\119\000\119\000\119\000\
715
\119\000\119\000\119\000\119\000\119\000\119\000\119\000\119\000\
716
\119\000\119\000\119\000\234\000\234\000\119\000\119\000\119\000\
717
\119\000\119\000\166\000\203\000\203\000\255\255\166\000\001\001\
718
\007\001\006\001\255\255\203\000\255\255\255\255\255\255\166\000\
719
\255\255\255\255\136\000\136\000\136\000\136\000\255\255\136\000\
720
\136\000\136\000\136\000\136\000\136\000\136\000\136\000\136\000\
721
\136\000\136\000\136\000\136\000\136\000\136\000\204\000\204\000\
722
\255\255\136\000\136\000\136\000\136\000\136\000\204\000\255\255\
723
\255\255\255\255\255\255\255\255\255\255\036\001\036\001\255\255\
724
\255\255\255\255\166\000\255\255\166\000\037\001\037\001\255\255\
725
\203\000\203\000\203\000\203\000\255\255\203\000\203\000\203\000\
726
\203\000\203\000\203\000\203\000\203\000\203\000\203\000\203\000\
727
\203\000\203\000\203\000\203\000\205\000\205\000\255\255\203\000\
728
\203\000\203\000\203\000\203\000\205\000\255\255\255\255\255\255\
729
\255\255\255\255\255\255\204\000\204\000\204\000\204\000\255\255\
730
\204\000\204\000\204\000\204\000\204\000\204\000\204\000\204\000\
731
\204\000\204\000\204\000\204\000\204\000\204\000\204\000\216\000\
732
\216\000\036\001\204\000\204\000\204\000\204\000\204\000\216\000\
733
\255\255\037\001\255\255\255\255\255\255\255\255\255\255\255\255\
734
\255\255\235\000\235\000\236\000\236\000\255\255\038\001\038\001\
735
\255\255\205\000\205\000\205\000\205\000\255\255\205\000\205\000\
736
\205\000\205\000\205\000\205\000\205\000\205\000\205\000\205\000\
737
\205\000\205\000\205\000\205\000\205\000\223\000\223\000\255\255\
738
\205\000\205\000\205\000\205\000\205\000\223\000\255\255\255\255\
739
\255\255\255\255\255\255\255\255\216\000\216\000\216\000\216\000\
740
\255\255\216\000\216\000\216\000\216\000\216\000\216\000\216\000\
741
\216\000\216\000\216\000\216\000\216\000\216\000\216\000\216\000\
742
\235\000\236\000\236\000\216\000\216\000\216\000\216\000\216\000\
743
\220\000\220\000\038\001\255\255\220\000\220\000\220\000\220\000\
744
\220\000\255\255\255\255\255\255\255\255\255\255\040\001\040\001\
745
\255\255\255\255\223\000\223\000\223\000\223\000\255\255\223\000\
746
\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\
747
\223\000\223\000\223\000\223\000\223\000\223\000\237\000\237\000\
748
\255\255\223\000\223\000\223\000\223\000\223\000\239\000\239\000\
749
\255\255\255\255\244\000\244\000\255\255\255\255\255\255\255\255\
750
\255\255\255\255\244\000\255\255\255\255\220\000\220\000\220\000\
751
\220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\
752
\220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\
753
\220\000\220\000\040\001\255\255\220\000\220\000\220\000\220\000\
754
\220\000\241\000\241\000\255\255\255\255\241\000\241\000\241\000\
755
\241\000\241\000\255\255\255\255\255\255\237\000\255\255\255\255\
756
\255\255\255\255\255\255\239\000\026\001\026\001\255\255\244\000\
757
\244\000\244\000\244\000\239\000\244\000\244\000\244\000\244\000\
758
\244\000\244\000\244\000\244\000\244\000\244\000\244\000\244\000\
759
\244\000\244\000\244\000\239\000\239\000\239\000\244\000\244\000\
760
\244\000\244\000\244\000\041\001\041\001\042\001\042\001\255\255\
761
\255\255\249\000\249\000\255\255\255\255\255\255\241\000\241\000\
762
\241\000\241\000\241\000\241\000\241\000\241\000\241\000\241\000\
763
\241\000\241\000\241\000\241\000\241\000\241\000\241\000\241\000\
764
\241\000\241\000\241\000\026\001\255\255\241\000\241\000\241\000\
765
\241\000\241\000\247\000\039\001\039\001\255\255\247\000\247\000\
766
\247\000\247\000\247\000\247\000\248\000\043\001\043\001\255\255\
767
\248\000\248\000\248\000\248\000\248\000\248\000\255\255\251\000\
768
\251\000\255\255\041\001\042\001\042\001\255\255\249\000\251\000\
769
\247\000\247\000\247\000\247\000\247\000\247\000\249\000\255\255\
770
\255\255\255\255\248\000\248\000\248\000\248\000\248\000\248\000\
771
\255\255\255\255\255\255\008\001\008\001\255\255\249\000\249\000\
772
\249\000\255\255\255\255\008\001\255\255\255\255\255\255\255\255\
773
\255\255\039\001\255\255\255\255\255\255\045\001\045\001\039\001\
774
\010\001\010\001\255\255\255\255\043\001\255\255\248\000\255\255\
775
\255\255\255\255\044\001\044\001\251\000\251\000\251\000\251\000\
776
\255\255\251\000\251\000\251\000\251\000\251\000\251\000\251\000\
777
\251\000\251\000\251\000\251\000\251\000\251\000\251\000\251\000\
778
\255\255\255\255\255\255\251\000\251\000\251\000\251\000\251\000\
779
\008\001\008\001\008\001\008\001\255\255\008\001\008\001\008\001\
780
\008\001\008\001\008\001\008\001\008\001\008\001\008\001\008\001\
781
\008\001\008\001\008\001\008\001\045\001\010\001\255\255\008\001\
782
\008\001\008\001\008\001\008\001\010\001\010\001\011\001\011\001\
783
\044\001\044\001\011\001\011\001\011\001\011\001\011\001\255\255\
784
\255\255\255\255\255\255\019\001\255\255\010\001\010\001\019\001\
785
\019\001\019\001\019\001\019\001\019\001\255\255\255\255\255\255\
786
\255\255\255\255\013\001\013\001\255\255\255\255\013\001\013\001\
787
\013\001\013\001\013\001\255\255\255\255\255\255\255\255\255\255\
788
\255\255\019\001\019\001\019\001\019\001\019\001\019\001\255\255\
789
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
790
\046\001\046\001\255\255\011\001\011\001\011\001\011\001\011\001\
791
\011\001\011\001\011\001\011\001\011\001\011\001\011\001\011\001\
792
\011\001\011\001\011\001\011\001\011\001\011\001\011\001\011\001\
793
\255\255\255\255\011\001\011\001\011\001\011\001\011\001\013\001\
794
\013\001\013\001\013\001\013\001\013\001\013\001\013\001\013\001\
795
\013\001\013\001\013\001\013\001\013\001\013\001\013\001\013\001\
796
\013\001\013\001\013\001\013\001\016\001\016\001\013\001\013\001\
797
\013\001\013\001\013\001\255\255\016\001\046\001\255\255\255\255\
798
\255\255\255\255\255\255\020\001\046\001\046\001\255\255\020\001\
799
\020\001\020\001\020\001\020\001\020\001\255\255\255\255\255\255\
800
\025\001\025\001\255\255\255\255\255\255\046\001\046\001\255\255\
801
\025\001\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
802
\255\255\020\001\020\001\020\001\020\001\020\001\020\001\255\255\
803
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
804
\255\255\016\001\016\001\016\001\016\001\255\255\016\001\016\001\
805
\016\001\016\001\016\001\016\001\016\001\016\001\016\001\016\001\
806
\016\001\016\001\016\001\016\001\016\001\020\001\255\255\255\255\
807
\016\001\016\001\016\001\016\001\016\001\025\001\025\001\025\001\
808
\025\001\255\255\025\001\025\001\025\001\025\001\025\001\025\001\
809
\025\001\025\001\025\001\025\001\025\001\025\001\025\001\025\001\
810
\025\001\255\255\255\255\255\255\025\001\025\001\025\001\025\001\
811
\025\001\028\001\028\001\255\255\255\255\028\001\028\001\028\001\
812
\028\001\028\001\255\255\255\255\255\255\255\255\255\255\255\255\
813
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
814
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
815
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
816
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
817
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
818
\255\255\255\255\255\255\255\255\255\255\255\255\028\001\028\001\
819
\028\001\028\001\028\001\028\001\028\001\028\001\028\001\028\001\
820
\028\001\028\001\028\001\028\001\028\001\028\001\028\001\028\001\
821
\028\001\028\001\028\001\255\255\255\255\028\001\028\001\028\001\
825
let rec scan_content engine lexbuf =
826
match engine lex_tables 0 lexbuf with
829
scan_pi (Lexing.lexeme lexbuf) (scan_xml_pi engine), Content )
832
raise (WF_error ("Illegal processing instruction")) )
835
Comment_begin dummy_entity, Content_comment )
838
let l = Lexing.lexeme_end lexbuf - Lexing.lexeme_start lexbuf in
839
if Lexing.lexeme_char lexbuf 1 = '/' then
840
Tag_end (sub_lexeme lexbuf 2 (l-2), dummy_entity),
843
Tag_beg (sub_lexeme lexbuf 1 (l-1), dummy_entity),
848
let l = Lexing.lexeme_end lexbuf - Lexing.lexeme_start lexbuf in
849
Cdata (sub_lexeme lexbuf 9 (l-12)), Content )
852
raise (WF_error "Declaration either malformed or not allowed in this context")
856
raise (WF_error ("The left angle bracket '<' must be written as '<'"))
860
let l = Lexing.lexeme_end lexbuf - Lexing.lexeme_start lexbuf in
861
CRef (int_of_string (sub_lexeme lexbuf 2 (l-3))), Content )
864
let l = Lexing.lexeme_end lexbuf - Lexing.lexeme_start lexbuf in
865
CRef (int_of_string ("0x" ^ sub_lexeme lexbuf 3 (l-4))), Content )
868
let l = Lexing.lexeme_end lexbuf - Lexing.lexeme_start lexbuf in
869
ERef (sub_lexeme lexbuf 1 (l-2)), Content )
872
raise (WF_error ("The ampersand '&' must be written as '&'"))
876
tok_LineEndCRLF__Content )
879
tok_LineEndCR__Content )
882
tok_LineEndLF__Content )
888
raise (WF_error ("The sequence ']]>' must be written as ']]>'"))
892
tok_CharDataRBRACKET__Content )
895
let s = Lexing.lexeme lexbuf in
900
raise Netconversion.Malformed_code )
901
| _ -> failwith "lexing: empty token [scan_content]"
903
and scan_within_tag engine lexbuf =
904
match engine lex_tables 1 lexbuf with
907
tok_IgnoreLineEnd__Within_tag )
910
tok_IgnoreLineEnd__Within_tag )
913
tok_IgnoreLineEnd__Within_tag )
916
tok_Ignore__Within_tag )
919
Name (Lexing.lexeme lexbuf ), Within_tag )
925
let l = Lexing.lexeme_end lexbuf - Lexing.lexeme_start lexbuf in
926
let v = sub_lexeme lexbuf 1 (l-2) in
927
Attval v, Within_tag )
930
raise (WF_error ("Cannot find the second quotation mark"))
934
let l = Lexing.lexeme_end lexbuf - Lexing.lexeme_start lexbuf in
935
let v = sub_lexeme lexbuf 1 (l-2) in
936
Attval v, Within_tag )
939
raise (WF_error ("Cannot find the second quotation mark"))
943
tok_Rangle__Content )
946
tok_Rangle_empty__Content )
949
tok_Eof__Within_tag )
952
raise (WF_error ("Illegal inside tags")) )
955
raise Netconversion.Malformed_code )
956
| _ -> failwith "lexing: empty token [scan_within_tag]"
958
and scan_content_string engine lexbuf =
959
match engine lex_tables 2 lexbuf with
962
let s = Lexing.lexeme lexbuf in
963
ERef (String.sub s 1 (String.length s - 2)) )
966
let s = Lexing.lexeme lexbuf in
967
CRef (int_of_string (String.sub s 2 (String.length s - 3))) )
970
let s = Lexing.lexeme lexbuf in
971
CRef (int_of_string ("0x" ^ String.sub s 3 (String.length s - 4))) )
974
raise(WF_error("The character '&' must be written as '&'")) )
977
CharData "" (* (Lexing.lexeme lexbuf) *) )
983
CRef(-1) (* A special case *)
994
(* Depending on the situation, '<' may be legal or not: *)
1001
# 311 "pxp_wlex.mll"
1002
raise Netconversion.Malformed_code )
1003
| _ -> failwith "lexing: empty token [scan_content_string]"
1005
and scan_document engine lexbuf =
1006
match engine lex_tables 3 lexbuf with
1008
# 318 "pxp_wlex.mll"
1009
scan_pi (Lexing.lexeme lexbuf) (scan_xml_pi engine), Document )
1011
# 320 "pxp_wlex.mll"
1012
raise (WF_error ("Illegal processing instruction")) )
1014
# 322 "pxp_wlex.mll"
1015
tok_Doctype__Document_type )
1017
# 324 "pxp_wlex.mll"
1018
Comment_begin dummy_entity, Document_comment )
1020
# 326 "pxp_wlex.mll"
1021
raise (WF_error "Declaration either malformed or not allowed in this context")
1024
# 329 "pxp_wlex.mll"
1025
let s = Lexing.lexeme lexbuf in
1026
Tag_beg (String.sub s 1 (String.length s - 1), dummy_entity), Within_tag
1029
# 333 "pxp_wlex.mll"
1030
raise (WF_error ("Illegal token")) )
1032
# 335 "pxp_wlex.mll"
1033
tok_Ignore__Document )
1035
# 337 "pxp_wlex.mll"
1038
# 339 "pxp_wlex.mll"
1039
raise (WF_error ("Content not allowed here")) )
1041
# 341 "pxp_wlex.mll"
1042
raise Netconversion.Malformed_code )
1043
| _ -> failwith "lexing: empty token [scan_document]"
1045
and scan_document_type engine lexbuf =
1046
match engine lex_tables 4 lexbuf with
1048
# 348 "pxp_wlex.mll"
1049
let s = Lexing.lexeme lexbuf in
1050
Name s, Document_type )
1052
# 351 "pxp_wlex.mll"
1053
tok_Ignore__Document_type )
1055
# 353 "pxp_wlex.mll"
1056
let s = Lexing.lexeme lexbuf in
1057
(Unparsed_string (String.sub s 1 (String.length s - 2))), Document_type )
1059
# 356 "pxp_wlex.mll"
1060
raise (WF_error ("Cannot find the second quotation mark"))
1063
# 359 "pxp_wlex.mll"
1064
let s = Lexing.lexeme lexbuf in
1065
(Unparsed_string (String.sub s 1 (String.length s - 2))), Document_type )
1067
# 362 "pxp_wlex.mll"
1068
raise (WF_error ("Cannot find the second quotation mark"))
1071
# 365 "pxp_wlex.mll"
1072
tok_Dtd_begin__Declaration )
1074
# 367 "pxp_wlex.mll"
1075
tok_Doctype_rangle__Document )
1077
# 369 "pxp_wlex.mll"
1078
tok_Eof__Document_type )
1080
# 371 "pxp_wlex.mll"
1081
raise (WF_error("References to general entities not allowed here")) )
1083
# 373 "pxp_wlex.mll"
1084
raise (WF_error("References to parameter entities not allowed here")) )
1086
# 375 "pxp_wlex.mll"
1087
raise (WF_error("Content not allowed here")) )
1089
# 377 "pxp_wlex.mll"
1090
raise Netconversion.Malformed_code )
1091
| _ -> failwith "lexing: empty token [scan_document_type]"
1093
and scan_declaration engine lexbuf =
1094
match engine lex_tables 5 lexbuf with
1096
# 385 "pxp_wlex.mll"
1097
tok_Ignore__Declaration )
1099
# 387 "pxp_wlex.mll"
1100
let s = Lexing.lexeme lexbuf in
1101
(PERef (String.sub s 1 (String.length s - 2))), Declaration )
1103
# 390 "pxp_wlex.mll"
1104
tok_Percent__Declaration )
1106
# 392 "pxp_wlex.mll"
1107
raise(WF_error("References to general entities not allowed in DTDs")) )
1109
# 394 "pxp_wlex.mll"
1110
Name (Lexing.lexeme lexbuf), Declaration )
1112
# 396 "pxp_wlex.mll"
1113
Nametoken (Lexing.lexeme lexbuf), Declaration )
1115
# 398 "pxp_wlex.mll"
1116
tok_Plus__Declaration )
1118
# 400 "pxp_wlex.mll"
1119
tok_Star__Declaration )
1121
# 402 "pxp_wlex.mll"
1122
tok_Bar__Declaration )
1124
# 404 "pxp_wlex.mll"
1125
tok_Comma__Declaration )
1127
# 406 "pxp_wlex.mll"
1128
tok_Qmark__Declaration )
1130
# 408 "pxp_wlex.mll"
1131
tok_Lparen__Declaration )
1133
# 410 "pxp_wlex.mll"
1134
tok_RparenPlus__Declaration )
1136
# 412 "pxp_wlex.mll"
1137
tok_RparenStar__Declaration )
1139
# 414 "pxp_wlex.mll"
1140
tok_RparenQmark__Declaration )
1142
# 416 "pxp_wlex.mll"
1143
tok_Rparen__Declaration )
1145
# 418 "pxp_wlex.mll"
1146
tok_Required__Declaration )
1148
# 420 "pxp_wlex.mll"
1149
tok_Implied__Declaration )
1151
# 422 "pxp_wlex.mll"
1152
tok_Fixed__Declaration )
1154
# 424 "pxp_wlex.mll"
1155
tok_Pcdata__Declaration )
1157
# 426 "pxp_wlex.mll"
1158
tok_Decl_element__Declaration )
1160
# 428 "pxp_wlex.mll"
1161
tok_Decl_attlist__Declaration )
1163
# 430 "pxp_wlex.mll"
1164
tok_Decl_entity__Declaration )
1166
# 432 "pxp_wlex.mll"
1167
tok_Decl_notation__Declaration )
1169
# 434 "pxp_wlex.mll"
1170
Comment_begin dummy_entity, Decl_comment )
1172
# 436 "pxp_wlex.mll"
1173
tok_Conditional_begin__Declaration )
1175
# 438 "pxp_wlex.mll"
1176
tok_Conditional_end__Declaration )
1178
# 440 "pxp_wlex.mll"
1179
tok_Conditional_body__Declaration )
1181
# 445 "pxp_wlex.mll"
1182
scan_pi (Lexing.lexeme lexbuf) (scan_xml_pi engine), Declaration )
1184
# 447 "pxp_wlex.mll"
1185
raise (WF_error ("Illegal processing instruction")) )
1187
# 449 "pxp_wlex.mll"
1188
let s = Lexing.lexeme lexbuf in
1189
(Unparsed_string (String.sub s 1 (String.length s - 2))), Declaration )
1191
# 452 "pxp_wlex.mll"
1192
raise (WF_error ("Cannot find the second quotation mark"))
1195
# 455 "pxp_wlex.mll"
1196
let s = Lexing.lexeme lexbuf in
1197
(Unparsed_string (String.sub s 1 (String.length s - 2))), Declaration )
1199
# 458 "pxp_wlex.mll"
1200
raise (WF_error ("Cannot find the second quotation mark"))
1203
# 461 "pxp_wlex.mll"
1204
tok_Decl_rangle__Declaration )
1206
# 463 "pxp_wlex.mll"
1207
tok_Dtd_end__Document_type )
1209
# 465 "pxp_wlex.mll"
1210
tok_Eof__Declaration )
1212
# 467 "pxp_wlex.mll"
1213
raise (WF_error "Declaration either malformed or not allowed in this context")
1216
# 470 "pxp_wlex.mll"
1217
raise (WF_error("Illegal token or character")) )
1219
# 472 "pxp_wlex.mll"
1220
raise Netconversion.Malformed_code )
1221
| _ -> failwith "lexing: empty token [scan_declaration]"
1223
and scan_dtd_string engine lexbuf =
1224
match engine lex_tables 6 lexbuf with
1226
# 481 "pxp_wlex.mll"
1227
let s = Lexing.lexeme lexbuf in
1228
PERef (String.sub s 1 (String.length s - 2)) )
1230
# 484 "pxp_wlex.mll"
1231
raise(WF_error("The character '%' must be written as '%'")) )
1233
# 486 "pxp_wlex.mll"
1234
let s = Lexing.lexeme lexbuf in
1235
ERef (String.sub s 1 (String.length s - 2)) )
1237
# 489 "pxp_wlex.mll"
1238
let s = Lexing.lexeme lexbuf in
1239
CRef (int_of_string (String.sub s 2 (String.length s - 3))) )
1241
# 492 "pxp_wlex.mll"
1242
let s = Lexing.lexeme lexbuf in
1243
CRef (int_of_string ("0x" ^ String.sub s 3 (String.length s - 4))) )
1245
# 495 "pxp_wlex.mll"
1246
raise(WF_error("The character '&' must be written as '&'")) )
1248
# 497 "pxp_wlex.mll"
1251
# 499 "pxp_wlex.mll"
1254
# 501 "pxp_wlex.mll"
1257
# 503 "pxp_wlex.mll"
1260
# 505 "pxp_wlex.mll"
1261
CharData (Lexing.lexeme lexbuf) )
1263
# 507 "pxp_wlex.mll"
1266
# 509 "pxp_wlex.mll"
1267
raise Netconversion.Malformed_code )
1268
| _ -> failwith "lexing: empty token [scan_dtd_string]"
1270
and scan_characters engine lexbuf =
1271
match engine lex_tables 7 lexbuf with
1273
# 515 "pxp_wlex.mll"
1276
# 517 "pxp_wlex.mll"
1279
# 519 "pxp_wlex.mll"
1280
raise Netconversion.Malformed_code )
1281
| _ -> failwith "lexing: empty token [scan_characters]"
1283
and scan_xml_pi engine lexbuf =
1284
match engine lex_tables 8 lexbuf with
1286
# 524 "pxp_wlex.mll"
1287
let s = Lexing.lexeme lexbuf in
1288
let j = get_name_end s 0 in
1289
Pro_name (String.sub s 0 j)
1292
# 529 "pxp_wlex.mll"
1295
# 531 "pxp_wlex.mll"
1296
let s = Lexing.lexeme lexbuf in
1297
let j = String.index_from s 1 '\'' in
1298
Pro_string (String.sub s 1 (j-1))
1301
# 536 "pxp_wlex.mll"
1302
raise (WF_error ("Cannot find the second quotation mark"))
1305
# 539 "pxp_wlex.mll"
1306
let s = Lexing.lexeme lexbuf in
1307
let j = String.index_from s 1 '"' in
1308
Pro_string (String.sub s 1 (j-1))
1311
# 544 "pxp_wlex.mll"
1312
raise (WF_error ("Cannot find the second quotation mark"))
1315
# 547 "pxp_wlex.mll"
1318
# 549 "pxp_wlex.mll"
1319
(* prerr_endline (Lexing.lexeme lexbuf); *)
1320
raise (WF_error("Illegal token or character"))
1323
# 553 "pxp_wlex.mll"
1324
raise Netconversion.Malformed_code )
1325
| _ -> failwith "lexing: empty token [scan_xml_pi]"
1327
and scan_only_xml_decl engine lexbuf =
1328
match engine lex_tables 9 lexbuf with
1330
# 557 "pxp_wlex.mll"
1331
scan_pi (Lexing.lexeme lexbuf) (scan_xml_pi engine) )
1333
# 559 "pxp_wlex.mll"
1335
| _ -> failwith "lexing: empty token [scan_only_xml_decl]"
1337
and scan_for_crlf engine lexbuf =
1338
match engine lex_tables 10 lexbuf with
1340
# 563 "pxp_wlex.mll"
1343
# 565 "pxp_wlex.mll"
1346
# 567 "pxp_wlex.mll"
1349
# 569 "pxp_wlex.mll"
1350
CharData (Lexing.lexeme lexbuf) )
1352
# 571 "pxp_wlex.mll"
1354
| _ -> failwith "lexing: empty token [scan_for_crlf]"
1356
and scan_content_comment engine lexbuf =
1357
match engine lex_tables 11 lexbuf with
1359
# 575 "pxp_wlex.mll"
1360
Comment_end dummy_entity, Content )
1362
# 577 "pxp_wlex.mll"
1363
raise (WF_error "Double hyphens are illegal inside comments") )
1365
# 579 "pxp_wlex.mll"
1366
Comment_material "-", Content_comment )
1368
# 581 "pxp_wlex.mll"
1369
Comment_material(Lexing.lexeme lexbuf), Content_comment )
1371
# 583 "pxp_wlex.mll"
1372
Eof, Content_comment )
1374
# 585 "pxp_wlex.mll"
1375
raise Netconversion.Malformed_code )
1376
| _ -> failwith "lexing: empty token [scan_content_comment]"
1378
and scan_decl_comment engine lexbuf =
1379
match engine lex_tables 12 lexbuf with
1381
# 592 "pxp_wlex.mll"
1382
Comment_end dummy_entity, Declaration )
1384
# 594 "pxp_wlex.mll"
1385
raise (WF_error "Double hyphens are illegal inside comments") )
1387
# 596 "pxp_wlex.mll"
1388
Comment_material "", Decl_comment )
1390
# 598 "pxp_wlex.mll"
1391
Comment_material "", Decl_comment )
1393
# 600 "pxp_wlex.mll"
1396
# 602 "pxp_wlex.mll"
1397
raise Netconversion.Malformed_code )
1398
| _ -> failwith "lexing: empty token [scan_decl_comment]"
1400
and scan_document_comment engine lexbuf =
1401
match engine lex_tables 13 lexbuf with
1403
# 607 "pxp_wlex.mll"
1404
Comment_end dummy_entity, Document )
1406
# 609 "pxp_wlex.mll"
1407
raise (WF_error "Double hyphens are illegal inside comments") )
1409
# 611 "pxp_wlex.mll"
1410
Comment_material "-", Document_comment )
1412
# 613 "pxp_wlex.mll"
1413
Comment_material(Lexing.lexeme lexbuf), Document_comment )
1415
# 615 "pxp_wlex.mll"
1416
Eof, Document_comment )
1418
# 617 "pxp_wlex.mll"
1419
raise Netconversion.Malformed_code )
1420
| _ -> failwith "lexing: empty token [scan_document_comment]"
1422
and scan_name_string engine lexbuf =
1423
match engine lex_tables 14 lexbuf with
1425
# 622 "pxp_wlex.mll"
1426
Name (Lexing.lexeme lexbuf) )
1428
# 624 "pxp_wlex.mll"
1431
# 626 "pxp_wlex.mll"
1432
Nametoken (Lexing.lexeme lexbuf) )
1434
# 628 "pxp_wlex.mll"
1437
# 630 "pxp_wlex.mll"
1438
CharData (Lexing.lexeme lexbuf) )
1440
# 632 "pxp_wlex.mll"
1441
raise Netconversion.Malformed_code )
1442
| _ -> failwith "lexing: empty token [scan_name_string]"
1444
and scan_ignored_section engine lexbuf =
1445
match engine lex_tables 15 lexbuf with
1447
# 637 "pxp_wlex.mll"
1448
tok_Conditional_begin__Ignored )
1450
# 639 "pxp_wlex.mll"
1451
tok_Conditional_end__Ignored )
1453
# 641 "pxp_wlex.mll"
1454
tok_Ignore__Ignored )
1456
# 643 "pxp_wlex.mll"
1457
tok_Ignore__Ignored )
1459
# 645 "pxp_wlex.mll"
1460
tok_Ignore__Ignored )
1462
# 647 "pxp_wlex.mll"
1465
# 649 "pxp_wlex.mll"
1466
tok_Ignore__Ignored )
1468
# 651 "pxp_wlex.mll"
1469
tok_Ignore__Ignored )
1471
# 653 "pxp_wlex.mll"
1472
tok_Ignore__Ignored )
1474
# 655 "pxp_wlex.mll"
1475
tok_Ignore__Ignored )
1477
# 657 "pxp_wlex.mll"
1478
tok_Ignore__Ignored )
1480
# 659 "pxp_wlex.mll"
1481
raise Netconversion.Malformed_code )
1482
| _ -> failwith "lexing: empty token [scan_ignored_section]"