@dbml/core 2.3.1 → 2.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/lib/export/DbmlExporter.js +9 -1
  2. package/lib/export/MysqlExporter.js +41 -35
  3. package/lib/export/PostgresExporter.js +55 -42
  4. package/lib/export/SqlServerExporter.js +43 -39
  5. package/lib/model_structure/database.js +53 -12
  6. package/lib/model_structure/endpoint.js +2 -2
  7. package/lib/model_structure/field.js +31 -1
  8. package/lib/model_structure/ref.js +1 -2
  9. package/lib/model_structure/schema.js +3 -19
  10. package/lib/model_structure/tableGroup.js +1 -1
  11. package/lib/model_structure/utils.js +5 -0
  12. package/lib/parse/dbml/parser.pegjs +61 -19
  13. package/lib/parse/dbmlParser.js +1219 -883
  14. package/lib/parse/mssql/fk_definition/actions.js +10 -3
  15. package/lib/parse/mssql/statements/actions.js +9 -6
  16. package/lib/parse/mssql/statements/statement_types/alter_table/actions.js +11 -5
  17. package/lib/parse/mssql/statements/statement_types/create_index/actions.js +6 -1
  18. package/lib/parse/mssql/statements/statement_types/create_table/actions.js +11 -9
  19. package/lib/parse/mssql/utils.js +15 -0
  20. package/lib/parse/mysql/parser.pegjs +46 -14
  21. package/lib/parse/mysqlParser.js +215 -167
  22. package/lib/parse/postgresParser.js +11 -10
  23. package/lib/parse/postgresql/Base_rules.pegjs +24 -3
  24. package/lib/parse/postgresql/Commands/Alter_table/Alter_table.pegjs +2 -1
  25. package/lib/parse/postgresql/Commands/Create_table/Create_table_normal.pegjs +5 -3
  26. package/lib/parse/postgresql/Commands/Create_table/Create_table_of.pegjs +1 -1
  27. package/lib/parse/postgresql/Commands/Create_table/Create_table_partition_of.pegjs +1 -1
  28. package/lib/parse/postgresql/Commands/Create_type/Create_type_enum.pegjs +2 -2
  29. package/lib/parse/postgresql/InitializerUtils.pegjs +10 -0
  30. package/lib/parse/postgresql/parser.pegjs +2 -1
  31. package/package.json +2 -2
@@ -259,9 +259,10 @@ function peg$parse(input, options) {
259
259
  value: value.value
260
260
  };
261
261
  },
262
- peg$c21 = function peg$c21(name, body) {
262
+ peg$c21 = function peg$c21(schemaName, name, body) {
263
263
  return {
264
264
  name: name,
265
+ schemaName: schemaName,
265
266
  tables: body,
266
267
  token: location()
267
268
  };
@@ -269,12 +270,16 @@ function peg$parse(input, options) {
269
270
  peg$c22 = function peg$c22(tables) {
270
271
  return tables.map(function (t) {
271
272
  return {
272
- name: t[0]
273
+ name: t[1],
274
+ schemaName: t[0]
273
275
  };
274
276
  });
275
277
  },
276
278
  peg$c23 = function peg$c23(r) {
277
- return r;
279
+ var schemaName = r.endpoints[0].schemaName;
280
+ return _objectSpread(_objectSpread({}, r), {}, {
281
+ schemaName: schemaName
282
+ });
278
283
  },
279
284
  peg$c24 = function peg$c24(name, body) {
280
285
  var ref = {
@@ -285,17 +290,17 @@ function peg$parse(input, options) {
285
290
  Object.assign(ref, body.settings);
286
291
  return ref;
287
292
  },
288
- peg$c25 = ".",
289
- peg$c26 = peg$literalExpectation(".", false),
290
- peg$c27 = function peg$c27(table1, field1, relation, table2, field2, ref_settings) {
293
+ peg$c25 = function peg$c25(field1, relation, field2, ref_settings) {
291
294
  var endpoints = [{
292
- tableName: table1,
293
- fieldNames: field1,
295
+ schemaName: field1.schemaName,
296
+ tableName: field1.tableName,
297
+ fieldNames: field1.fieldNames,
294
298
  relation: relation === ">" ? "*" : "1",
295
299
  token: location()
296
300
  }, {
297
- tableName: table2,
298
- fieldNames: field2,
301
+ schemaName: field2.schemaName,
302
+ tableName: field2.tableName,
303
+ fieldNames: field2.fieldNames,
299
304
  relation: relation === "<" ? "*" : "1",
300
305
  token: location()
301
306
  }];
@@ -304,28 +309,28 @@ function peg$parse(input, options) {
304
309
  settings: ref_settings
305
310
  };
306
311
  },
307
- peg$c28 = function peg$c28(field) {
312
+ peg$c26 = function peg$c26(field) {
308
313
  if (typeof field === "string") field = [field];
309
314
  return field;
310
315
  },
311
- peg$c29 = function peg$c29(field) {
316
+ peg$c27 = function peg$c27(field) {
312
317
  return field;
313
318
  },
314
- peg$c30 = "(",
315
- peg$c31 = peg$literalExpectation("(", false),
316
- peg$c32 = ")",
317
- peg$c33 = peg$literalExpectation(")", false),
318
- peg$c34 = function peg$c34(first, rest) {
319
+ peg$c28 = "(",
320
+ peg$c29 = peg$literalExpectation("(", false),
321
+ peg$c30 = ")",
322
+ peg$c31 = peg$literalExpectation(")", false),
323
+ peg$c32 = function peg$c32(first, rest) {
319
324
  var arrField = [first].concat(rest.map(function (el) {
320
325
  return el[3];
321
326
  }));
322
327
  return arrField;
323
328
  },
324
- peg$c35 = "[",
325
- peg$c36 = peg$literalExpectation("[", false),
326
- peg$c37 = "]",
327
- peg$c38 = peg$literalExpectation("]", false),
328
- peg$c39 = function peg$c39(first, rest) {
329
+ peg$c33 = "[",
330
+ peg$c34 = peg$literalExpectation("[", false),
331
+ peg$c35 = "]",
332
+ peg$c36 = peg$literalExpectation("]", false),
333
+ peg$c37 = function peg$c37(first, rest) {
329
334
  var arrSettings = [first].concat(rest.map(function (el) {
330
335
  return el[1];
331
336
  }));
@@ -341,26 +346,26 @@ function peg$parse(input, options) {
341
346
  });
342
347
  return res;
343
348
  },
344
- peg$c40 = function peg$c40(v) {
349
+ peg$c38 = function peg$c38(v) {
345
350
  return {
346
351
  type: 'update',
347
352
  value: v
348
353
  };
349
354
  },
350
- peg$c41 = function peg$c41(v) {
355
+ peg$c39 = function peg$c39(v) {
351
356
  return {
352
357
  type: 'delete',
353
358
  value: v
354
359
  };
355
360
  },
356
- peg$c42 = "update:",
357
- peg$c43 = peg$literalExpectation("update:", true),
358
- peg$c44 = function peg$c44(val) {
361
+ peg$c40 = "update:",
362
+ peg$c41 = peg$literalExpectation("update:", true),
363
+ peg$c42 = function peg$c42(val) {
359
364
  return val;
360
365
  },
361
- peg$c45 = "delete:",
362
- peg$c46 = peg$literalExpectation("delete:", true),
363
- peg$c47 = function peg$c47(name, alias, table_settings, body) {
366
+ peg$c43 = "delete:",
367
+ peg$c44 = peg$literalExpectation("delete:", true),
368
+ peg$c45 = function peg$c45(schemaName, name, alias, table_settings, body) {
364
369
  var fields = body.fields || [];
365
370
  var indexes = body.indexes || []; // Handle list of partial inline_refs
366
371
 
@@ -368,17 +373,20 @@ function peg$parse(input, options) {
368
373
  fields.forEach(function (field) {
369
374
  (field.inline_refs || []).forEach(function (iref) {
370
375
  var endpoints = [{
376
+ schemaName: iref.schemaName,
371
377
  tableName: iref.tableName,
372
378
  fieldNames: iref.fieldNames,
373
379
  relation: iref.relation === "<" ? "*" : "1",
374
380
  token: iref.token
375
381
  }, {
382
+ schemaName: schemaName,
376
383
  tableName: name,
377
384
  fieldNames: [field.name],
378
385
  relation: iref.relation === ">" ? "*" : "1",
379
386
  token: iref.token
380
387
  }];
381
388
  var ref = {
389
+ schemaName: schemaName,
382
390
  name: null,
383
391
  // no name
384
392
  endpoints: endpoints,
@@ -388,8 +396,23 @@ function peg$parse(input, options) {
388
396
  });
389
397
  });
390
398
 
399
+ if (alias) {
400
+ if (data.aliases.find(function (a) {
401
+ return a.name === alias;
402
+ })) error("Alias \"".concat(alias, "\" is already defined"));
403
+ data.aliases.push({
404
+ name: alias,
405
+ kind: 'table',
406
+ value: {
407
+ tableName: name,
408
+ schemaName: schemaName
409
+ }
410
+ });
411
+ }
412
+
391
413
  var res = _objectSpread({
392
414
  name: name,
415
+ schemaName: schemaName,
393
416
  alias: alias,
394
417
  fields: fields,
395
418
  token: location(),
@@ -404,7 +427,7 @@ function peg$parse(input, options) {
404
427
 
405
428
  return res;
406
429
  },
407
- peg$c48 = function peg$c48(fields, elements) {
430
+ peg$c46 = function peg$c46(fields, elements) {
408
431
  // concat all indexes
409
432
  var indexes = _.flatMap(elements.filter(function (ele) {
410
433
  return ele.type === 'indexes';
@@ -448,16 +471,18 @@ function peg$parse(input, options) {
448
471
  note: note ? note.value : null
449
472
  };
450
473
  },
451
- peg$c49 = function peg$c49(indexes) {
474
+ peg$c47 = function peg$c47(indexes) {
452
475
  return {
453
476
  type: 'indexes',
454
477
  value: indexes
455
478
  };
456
479
  },
457
- peg$c50 = function peg$c50(name, type, constrains, field_settings) {
480
+ peg$c48 = function peg$c48(name, typeSchemaName, type, constrains, field_settings) {
458
481
  var field = {
459
482
  name: name,
460
- type: type,
483
+ type: _objectSpread({
484
+ schemaName: typeSchemaName
485
+ }, type),
461
486
  token: location(),
462
487
  inline_refs: []
463
488
  };
@@ -471,19 +496,20 @@ function peg$parse(input, options) {
471
496
 
472
497
  return field;
473
498
  },
474
- peg$c51 = function peg$c51(name, body) {
499
+ peg$c49 = function peg$c49(schemaName, name, body) {
475
500
  return {
476
501
  name: name,
502
+ schemaName: schemaName,
477
503
  token: location(),
478
504
  values: body.enum_values
479
505
  };
480
506
  },
481
- peg$c52 = function peg$c52(enum_values) {
507
+ peg$c50 = function peg$c50(enum_values) {
482
508
  return {
483
509
  enum_values: enum_values
484
510
  };
485
511
  },
486
- peg$c53 = function peg$c53(name, enum_setting) {
512
+ peg$c51 = function peg$c51(name, enum_setting) {
487
513
  var enum_value = {
488
514
  name: name,
489
515
  token: location()
@@ -491,12 +517,12 @@ function peg$parse(input, options) {
491
517
  Object.assign(enum_value, enum_setting);
492
518
  return enum_value;
493
519
  },
494
- peg$c54 = function peg$c54(v) {
520
+ peg$c52 = function peg$c52(v) {
495
521
  return {
496
522
  note: v
497
523
  };
498
524
  },
499
- peg$c55 = function peg$c55(first, rest) {
525
+ peg$c53 = function peg$c53(first, rest) {
500
526
  var arrSettings = [first].concat(rest.map(function (el) {
501
527
  return el[1];
502
528
  }));
@@ -540,7 +566,7 @@ function peg$parse(input, options) {
540
566
  });
541
567
  return res;
542
568
  },
543
- peg$c56 = function peg$c56(first, rest) {
569
+ peg$c54 = function peg$c54(first, rest) {
544
570
  var settings = [first].concat(_toConsumableArray(rest.map(function (el) {
545
571
  return el[1];
546
572
  })));
@@ -558,52 +584,52 @@ function peg$parse(input, options) {
558
584
  });
559
585
  return result;
560
586
  },
561
- peg$c57 = function peg$c57(v) {
587
+ peg$c55 = function peg$c55(v) {
562
588
  return {
563
589
  type: 'note',
564
590
  value: v
565
591
  };
566
592
  },
567
- peg$c58 = function peg$c58(c) {
593
+ peg$c56 = function peg$c56(c) {
568
594
  return c;
569
595
  },
570
- peg$c59 = "not null",
571
- peg$c60 = peg$literalExpectation("not null", true),
572
- peg$c61 = function peg$c61(a) {
596
+ peg$c57 = "not null",
597
+ peg$c58 = peg$literalExpectation("not null", true),
598
+ peg$c59 = function peg$c59(a) {
573
599
  return a;
574
600
  },
575
- peg$c62 = "null",
576
- peg$c63 = peg$literalExpectation("null", true),
577
- peg$c64 = "primary key",
578
- peg$c65 = peg$literalExpectation("primary key", true),
579
- peg$c66 = "pk",
580
- peg$c67 = peg$literalExpectation("pk", true),
581
- peg$c68 = "unique",
582
- peg$c69 = peg$literalExpectation("unique", true),
583
- peg$c70 = "increment",
584
- peg$c71 = peg$literalExpectation("increment", false),
585
- peg$c72 = function peg$c72(v) {
601
+ peg$c60 = "null",
602
+ peg$c61 = peg$literalExpectation("null", true),
603
+ peg$c62 = "primary key",
604
+ peg$c63 = peg$literalExpectation("primary key", true),
605
+ peg$c64 = "pk",
606
+ peg$c65 = peg$literalExpectation("pk", true),
607
+ peg$c66 = "unique",
608
+ peg$c67 = peg$literalExpectation("unique", true),
609
+ peg$c68 = "increment",
610
+ peg$c69 = peg$literalExpectation("increment", false),
611
+ peg$c70 = function peg$c70(v) {
586
612
  return {
587
613
  type: 'ref_inline',
588
614
  value: v
589
615
  };
590
616
  },
591
- peg$c73 = function peg$c73(v) {
617
+ peg$c71 = function peg$c71(v) {
592
618
  return {
593
619
  type: 'default',
594
620
  value: v
595
621
  };
596
622
  },
597
- peg$c74 = function peg$c74(body) {
623
+ peg$c72 = function peg$c72(body) {
598
624
  return body;
599
625
  },
600
- peg$c75 = function peg$c75(index) {
626
+ peg$c73 = function peg$c73(index) {
601
627
  return index;
602
628
  },
603
- peg$c76 = function peg$c76(index) {
629
+ peg$c74 = function peg$c74(index) {
604
630
  return index;
605
631
  },
606
- peg$c77 = function peg$c77(syntax, index_settings) {
632
+ peg$c75 = function peg$c75(syntax, index_settings) {
607
633
  var index = {
608
634
  columns: [syntax],
609
635
  token: location()
@@ -611,7 +637,7 @@ function peg$parse(input, options) {
611
637
  Object.assign(index, index_settings);
612
638
  return index;
613
639
  },
614
- peg$c78 = function peg$c78(syntax, index_settings) {
640
+ peg$c76 = function peg$c76(syntax, index_settings) {
615
641
  var index = {
616
642
  columns: syntax,
617
643
  token: location()
@@ -619,35 +645,35 @@ function peg$parse(input, options) {
619
645
  Object.assign(index, index_settings);
620
646
  return index;
621
647
  },
622
- peg$c79 = function peg$c79(column) {
648
+ peg$c77 = function peg$c77(column) {
623
649
  var singleIndex = {
624
650
  value: column,
625
651
  type: 'column'
626
652
  };
627
653
  return singleIndex;
628
654
  },
629
- peg$c80 = "`",
630
- peg$c81 = peg$literalExpectation("`", false),
631
- peg$c82 = /^[^`]/,
632
- peg$c83 = peg$classExpectation(["`"], true, false),
633
- peg$c84 = function peg$c84(text) {
655
+ peg$c78 = "`",
656
+ peg$c79 = peg$literalExpectation("`", false),
657
+ peg$c80 = /^[^`]/,
658
+ peg$c81 = peg$classExpectation(["`"], true, false),
659
+ peg$c82 = function peg$c82(text) {
634
660
  return {
635
661
  value: text.join(""),
636
662
  type: 'expression'
637
663
  };
638
664
  },
639
- peg$c85 = function peg$c85(first, rest) {
665
+ peg$c83 = function peg$c83(first, rest) {
640
666
  var arrIndex = [first].concat(rest.map(function (el) {
641
667
  return el[2];
642
668
  }));
643
669
  return arrIndex;
644
670
  },
645
- peg$c86 = function peg$c86() {
671
+ peg$c84 = function peg$c84() {
646
672
  return {
647
673
  pk: true
648
674
  };
649
675
  },
650
- peg$c87 = function peg$c87(first, rest) {
676
+ peg$c85 = function peg$c85(first, rest) {
651
677
  var arrSettings = [first].concat(rest.map(function (el) {
652
678
  return el[1];
653
679
  }));
@@ -661,120 +687,155 @@ function peg$parse(input, options) {
661
687
  });
662
688
  return res;
663
689
  },
664
- peg$c88 = function peg$c88(v) {
690
+ peg$c86 = function peg$c86(v) {
665
691
  return {
666
692
  type: 'name',
667
693
  value: v
668
694
  };
669
695
  },
670
- peg$c89 = function peg$c89(v) {
696
+ peg$c87 = function peg$c87(v) {
671
697
  return {
672
698
  type: 'type',
673
699
  value: v
674
700
  };
675
701
  },
676
- peg$c90 = "name:",
677
- peg$c91 = peg$literalExpectation("name:", true),
678
- peg$c92 = function peg$c92(val) {
702
+ peg$c88 = "name:",
703
+ peg$c89 = peg$literalExpectation("name:", true),
704
+ peg$c90 = function peg$c90(val) {
679
705
  return val.value;
680
706
  },
681
- peg$c93 = function peg$c93(note) {
707
+ peg$c91 = function peg$c91(note) {
682
708
  return note;
683
709
  },
684
- peg$c94 = "note",
685
- peg$c95 = peg$literalExpectation("note", true),
686
- peg$c96 = "note:",
687
- peg$c97 = peg$literalExpectation("note:", true),
688
- peg$c98 = "type:",
689
- peg$c99 = peg$literalExpectation("type:", true),
690
- peg$c100 = "ref:",
691
- peg$c101 = peg$literalExpectation("ref:", false),
692
- peg$c102 = function peg$c102(relation, table2, field2) {
710
+ peg$c92 = "note",
711
+ peg$c93 = peg$literalExpectation("note", true),
712
+ peg$c94 = "note:",
713
+ peg$c95 = peg$literalExpectation("note:", true),
714
+ peg$c96 = "type:",
715
+ peg$c97 = peg$literalExpectation("type:", true),
716
+ peg$c98 = "ref:",
717
+ peg$c99 = peg$literalExpectation("ref:", false),
718
+ peg$c100 = function peg$c100(relation, field) {
693
719
  return {
694
- tableName: table2,
695
- fieldNames: [field2],
720
+ schemaName: field.schemaName,
721
+ tableName: field.tableName,
722
+ fieldNames: [field.fieldName],
696
723
  relation: relation,
697
724
  token: location()
698
725
  };
699
726
  },
700
- peg$c103 = "default:",
701
- peg$c104 = peg$literalExpectation("default:", true),
702
- peg$c105 = function peg$c105(val) {
727
+ peg$c101 = "default:",
728
+ peg$c102 = peg$literalExpectation("default:", true),
729
+ peg$c103 = function peg$c103(val) {
703
730
  return val;
704
731
  },
705
- peg$c106 = "as",
706
- peg$c107 = peg$literalExpectation("as", false),
707
- peg$c108 = function peg$c108(alias) {
732
+ peg$c104 = "as",
733
+ peg$c105 = peg$literalExpectation("as", false),
734
+ peg$c106 = function peg$c106(alias) {
708
735
  return alias;
709
736
  },
710
- peg$c109 = function peg$c109(s, color) {
737
+ peg$c107 = function peg$c107(s, color) {
711
738
  return s + color.join('');
712
739
  },
713
- peg$c110 = peg$otherExpectation("project"),
714
- peg$c111 = "project",
715
- peg$c112 = peg$literalExpectation("project", true),
716
- peg$c113 = peg$otherExpectation("table"),
717
- peg$c114 = "table",
718
- peg$c115 = peg$literalExpectation("table", true),
719
- peg$c116 = peg$literalExpectation("as", true),
720
- peg$c117 = peg$otherExpectation("references"),
721
- peg$c118 = "ref",
722
- peg$c119 = peg$literalExpectation("ref", true),
723
- peg$c120 = peg$otherExpectation("unique"),
724
- peg$c121 = function peg$c121() {
740
+ peg$c108 = peg$otherExpectation("project"),
741
+ peg$c109 = "project",
742
+ peg$c110 = peg$literalExpectation("project", true),
743
+ peg$c111 = peg$otherExpectation("table"),
744
+ peg$c112 = "table",
745
+ peg$c113 = peg$literalExpectation("table", true),
746
+ peg$c114 = peg$literalExpectation("as", true),
747
+ peg$c115 = peg$otherExpectation("references"),
748
+ peg$c116 = "ref",
749
+ peg$c117 = peg$literalExpectation("ref", true),
750
+ peg$c118 = peg$otherExpectation("unique"),
751
+ peg$c119 = function peg$c119() {
725
752
  return {
726
753
  unique: true
727
754
  };
728
755
  },
729
- peg$c122 = peg$otherExpectation("PK"),
730
- peg$c123 = function peg$c123() {
756
+ peg$c120 = peg$otherExpectation("PK"),
757
+ peg$c121 = function peg$c121() {
731
758
  return {
732
759
  pk: true
733
760
  };
734
761
  },
735
- peg$c124 = peg$otherExpectation("indexes"),
736
- peg$c125 = "indexes",
737
- peg$c126 = peg$literalExpectation("indexes", true),
738
- peg$c127 = peg$otherExpectation("btree"),
739
- peg$c128 = "btree",
740
- peg$c129 = peg$literalExpectation("btree", true),
741
- peg$c130 = peg$otherExpectation("hash"),
742
- peg$c131 = "hash",
743
- peg$c132 = peg$literalExpectation("hash", true),
744
- peg$c133 = peg$otherExpectation("enum"),
745
- peg$c134 = "enum",
746
- peg$c135 = peg$literalExpectation("enum", true),
747
- peg$c136 = "headercolor",
748
- peg$c137 = peg$literalExpectation("headercolor", true),
749
- peg$c138 = peg$otherExpectation("Table Group"),
750
- peg$c139 = "tablegroup",
751
- peg$c140 = peg$literalExpectation("TableGroup", true),
752
- peg$c141 = peg$otherExpectation("no action"),
753
- peg$c142 = "no action",
754
- peg$c143 = peg$literalExpectation("no action", true),
755
- peg$c144 = peg$otherExpectation("restrict"),
756
- peg$c145 = "restrict",
757
- peg$c146 = peg$literalExpectation("restrict", true),
758
- peg$c147 = peg$otherExpectation("cascade"),
759
- peg$c148 = "cascade",
760
- peg$c149 = peg$literalExpectation("cascade", true),
761
- peg$c150 = peg$otherExpectation("set null"),
762
- peg$c151 = "set null",
763
- peg$c152 = peg$literalExpectation("set null", true),
764
- peg$c153 = peg$otherExpectation("set default"),
765
- peg$c154 = "set default",
766
- peg$c155 = peg$literalExpectation("set default", true),
767
- peg$c156 = peg$otherExpectation(">, - or <"),
768
- peg$c157 = /^[>\-<]/,
769
- peg$c158 = peg$classExpectation([">", "-", "<"], false, false),
770
- peg$c159 = peg$otherExpectation("valid name"),
771
- peg$c160 = function peg$c160(c) {
762
+ peg$c122 = peg$otherExpectation("indexes"),
763
+ peg$c123 = "indexes",
764
+ peg$c124 = peg$literalExpectation("indexes", true),
765
+ peg$c125 = peg$otherExpectation("btree"),
766
+ peg$c126 = "btree",
767
+ peg$c127 = peg$literalExpectation("btree", true),
768
+ peg$c128 = peg$otherExpectation("hash"),
769
+ peg$c129 = "hash",
770
+ peg$c130 = peg$literalExpectation("hash", true),
771
+ peg$c131 = peg$otherExpectation("enum"),
772
+ peg$c132 = "enum",
773
+ peg$c133 = peg$literalExpectation("enum", true),
774
+ peg$c134 = "headercolor",
775
+ peg$c135 = peg$literalExpectation("headercolor", true),
776
+ peg$c136 = peg$otherExpectation("Table Group"),
777
+ peg$c137 = "tablegroup",
778
+ peg$c138 = peg$literalExpectation("TableGroup", true),
779
+ peg$c139 = peg$otherExpectation("no action"),
780
+ peg$c140 = "no action",
781
+ peg$c141 = peg$literalExpectation("no action", true),
782
+ peg$c142 = peg$otherExpectation("restrict"),
783
+ peg$c143 = "restrict",
784
+ peg$c144 = peg$literalExpectation("restrict", true),
785
+ peg$c145 = peg$otherExpectation("cascade"),
786
+ peg$c146 = "cascade",
787
+ peg$c147 = peg$literalExpectation("cascade", true),
788
+ peg$c148 = peg$otherExpectation("set null"),
789
+ peg$c149 = "set null",
790
+ peg$c150 = peg$literalExpectation("set null", true),
791
+ peg$c151 = peg$otherExpectation("set default"),
792
+ peg$c152 = "set default",
793
+ peg$c153 = peg$literalExpectation("set default", true),
794
+ peg$c154 = peg$otherExpectation(">, - or <"),
795
+ peg$c155 = /^[>\-<]/,
796
+ peg$c156 = peg$classExpectation([">", "-", "<"], false, false),
797
+ peg$c157 = peg$otherExpectation("valid name"),
798
+ peg$c158 = function peg$c158(c) {
772
799
  return c.join("");
773
800
  },
774
- peg$c161 = /^[^"\n]/,
775
- peg$c162 = peg$classExpectation(["\"", "\n"], true, false),
776
- peg$c163 = peg$otherExpectation("type"),
777
- peg$c164 = function peg$c164(type_name, args) {
801
+ peg$c159 = /^[^"\n]/,
802
+ peg$c160 = peg$classExpectation(["\"", "\n"], true, false),
803
+ peg$c161 = peg$otherExpectation("schema name"),
804
+ peg$c162 = ".",
805
+ peg$c163 = peg$literalExpectation(".", false),
806
+ peg$c164 = function peg$c164(name) {
807
+ return name;
808
+ },
809
+ peg$c165 = function peg$c165(schemaName, tableName, fieldNames) {
810
+ return {
811
+ schemaName: schemaName,
812
+ tableName: tableName,
813
+ fieldNames: fieldNames
814
+ };
815
+ },
816
+ peg$c166 = function peg$c166(tableName, fieldNames) {
817
+ return {
818
+ schemaName: null,
819
+ tableName: tableName,
820
+ fieldNames: fieldNames
821
+ };
822
+ },
823
+ peg$c167 = function peg$c167(schemaName, tableName, fieldName) {
824
+ return {
825
+ schemaName: schemaName,
826
+ tableName: tableName,
827
+ fieldName: fieldName
828
+ };
829
+ },
830
+ peg$c168 = function peg$c168(tableName, fieldName) {
831
+ return {
832
+ schemaName: null,
833
+ tableName: tableName,
834
+ fieldName: fieldName
835
+ };
836
+ },
837
+ peg$c169 = peg$otherExpectation("type"),
838
+ peg$c170 = function peg$c170(type_name, args) {
778
839
  args = args ? args[3] : null;
779
840
 
780
841
  if (type_name.toLowerCase() !== 'enum') {
@@ -786,76 +847,76 @@ function peg$parse(input, options) {
786
847
  args: args
787
848
  };
788
849
  },
789
- peg$c165 = peg$otherExpectation("expression"),
790
- peg$c166 = function peg$c166(factors) {
850
+ peg$c171 = peg$otherExpectation("expression"),
851
+ peg$c172 = function peg$c172(factors) {
791
852
  return _.flattenDeep(factors).join("");
792
853
  },
793
- peg$c167 = ",",
794
- peg$c168 = peg$literalExpectation(",", false),
795
- peg$c169 = ");",
796
- peg$c170 = peg$literalExpectation(");", false),
797
- peg$c171 = peg$anyExpectation(),
798
- peg$c172 = function peg$c172(factors) {
854
+ peg$c173 = ",",
855
+ peg$c174 = peg$literalExpectation(",", false),
856
+ peg$c175 = ");",
857
+ peg$c176 = peg$literalExpectation(");", false),
858
+ peg$c177 = peg$anyExpectation(),
859
+ peg$c178 = function peg$c178(factors) {
799
860
  return _.flattenDeep(factors).join("");
800
861
  },
801
- peg$c173 = /^[',.a-z0-9_+-`]/i,
802
- peg$c174 = peg$classExpectation(["'", ",", ".", ["a", "z"], ["0", "9"], "_", ["+", "`"]], false, true),
803
- peg$c175 = /^['.a-z0-9_+\-]/i,
804
- peg$c176 = peg$classExpectation(["'", ".", ["a", "z"], ["0", "9"], "_", "+", "-"], false, true),
805
- peg$c177 = function peg$c177() {
862
+ peg$c179 = /^[',.a-z0-9_+-`]/i,
863
+ peg$c180 = peg$classExpectation(["'", ",", ".", ["a", "z"], ["0", "9"], "_", ["+", "`"]], false, true),
864
+ peg$c181 = /^['.a-z0-9_+\-]/i,
865
+ peg$c182 = peg$classExpectation(["'", ".", ["a", "z"], ["0", "9"], "_", "+", "-"], false, true),
866
+ peg$c183 = function peg$c183() {
806
867
  return text();
807
868
  },
808
- peg$c178 = /^[[\]]/,
809
- peg$c179 = peg$classExpectation(["[", "]"], false, false),
810
- peg$c180 = peg$otherExpectation("letter, number or underscore"),
811
- peg$c181 = /^[a-z0-9_]/i,
812
- peg$c182 = peg$classExpectation([["a", "z"], ["0", "9"], "_"], false, true),
813
- peg$c183 = /^[0-9a-fA-F]/,
814
- peg$c184 = peg$classExpectation([["0", "9"], ["a", "f"], ["A", "F"]], false, false),
815
- peg$c185 = function peg$c185(c) {
869
+ peg$c184 = /^[[\]]/,
870
+ peg$c185 = peg$classExpectation(["[", "]"], false, false),
871
+ peg$c186 = peg$otherExpectation("letter, number or underscore"),
872
+ peg$c187 = /^[a-z0-9_]/i,
873
+ peg$c188 = peg$classExpectation([["a", "z"], ["0", "9"], "_"], false, true),
874
+ peg$c189 = /^[0-9a-fA-F]/,
875
+ peg$c190 = peg$classExpectation([["0", "9"], ["a", "f"], ["A", "F"]], false, false),
876
+ peg$c191 = function peg$c191(c) {
816
877
  return c.toLowerCase();
817
878
  },
818
- peg$c186 = "\"",
819
- peg$c187 = peg$literalExpectation("\"", false),
820
- peg$c188 = peg$otherExpectation("endline"),
821
- peg$c189 = "\t",
822
- peg$c190 = peg$literalExpectation("\t", false),
823
- peg$c191 = "//",
824
- peg$c192 = peg$literalExpectation("//", false),
825
- peg$c193 = /^[^\n]/,
826
- peg$c194 = peg$classExpectation(["\n"], true, false),
827
- peg$c195 = "/*",
828
- peg$c196 = peg$literalExpectation("/*", false),
829
- peg$c197 = "*/",
830
- peg$c198 = peg$literalExpectation("*/", false),
831
- peg$c199 = peg$otherExpectation("comment"),
832
- peg$c200 = peg$otherExpectation("newline"),
833
- peg$c201 = "\r\n",
834
- peg$c202 = peg$literalExpectation("\r\n", false),
835
- peg$c203 = "\n",
836
- peg$c204 = peg$literalExpectation("\n", false),
837
- peg$c205 = peg$otherExpectation("whitespace"),
838
- peg$c206 = /^[ \t\r\n\r]/,
839
- peg$c207 = peg$classExpectation([" ", "\t", "\r", "\n", "\r"], false, false),
840
- peg$c208 = /^[ \t\r\n\r"]/,
841
- peg$c209 = peg$classExpectation([" ", "\t", "\r", "\n", "\r", "\""], false, false),
842
- peg$c210 = " ",
843
- peg$c211 = peg$literalExpectation(" ", false),
844
- peg$c212 = "#",
845
- peg$c213 = peg$literalExpectation("#", false),
846
- peg$c214 = function peg$c214() {
879
+ peg$c192 = "\"",
880
+ peg$c193 = peg$literalExpectation("\"", false),
881
+ peg$c194 = peg$otherExpectation("endline"),
882
+ peg$c195 = "\t",
883
+ peg$c196 = peg$literalExpectation("\t", false),
884
+ peg$c197 = "//",
885
+ peg$c198 = peg$literalExpectation("//", false),
886
+ peg$c199 = /^[^\n]/,
887
+ peg$c200 = peg$classExpectation(["\n"], true, false),
888
+ peg$c201 = "/*",
889
+ peg$c202 = peg$literalExpectation("/*", false),
890
+ peg$c203 = "*/",
891
+ peg$c204 = peg$literalExpectation("*/", false),
892
+ peg$c205 = peg$otherExpectation("comment"),
893
+ peg$c206 = peg$otherExpectation("newline"),
894
+ peg$c207 = "\r\n",
895
+ peg$c208 = peg$literalExpectation("\r\n", false),
896
+ peg$c209 = "\n",
897
+ peg$c210 = peg$literalExpectation("\n", false),
898
+ peg$c211 = peg$otherExpectation("whitespace"),
899
+ peg$c212 = /^[ \t\r\n\r]/,
900
+ peg$c213 = peg$classExpectation([" ", "\t", "\r", "\n", "\r"], false, false),
901
+ peg$c214 = /^[ \t\r\n\r"]/,
902
+ peg$c215 = peg$classExpectation([" ", "\t", "\r", "\n", "\r", "\""], false, false),
903
+ peg$c216 = " ",
904
+ peg$c217 = peg$literalExpectation(" ", false),
905
+ peg$c218 = "#",
906
+ peg$c219 = peg$literalExpectation("#", false),
907
+ peg$c220 = function peg$c220() {
847
908
  return "#";
848
909
  },
849
- peg$c215 = peg$otherExpectation("string"),
850
- peg$c216 = function peg$c216(chars) {
910
+ peg$c221 = peg$otherExpectation("string"),
911
+ peg$c222 = function peg$c222(chars) {
851
912
  return {
852
913
  value: chars.join(''),
853
914
  type: 'string'
854
915
  };
855
916
  },
856
- peg$c217 = "'''",
857
- peg$c218 = peg$literalExpectation("'''", false),
858
- peg$c219 = function peg$c219(chars) {
917
+ peg$c223 = "'''",
918
+ peg$c224 = peg$literalExpectation("'''", false),
919
+ peg$c225 = function peg$c225(chars) {
859
920
  var str = chars.join(''); // // replace line continuation using look around, but this is not compatible with firefox, safari.
860
921
  // str = str.replace(/(?<!\\)\\(?!\\)(?:\n|\r\n)?/g, '');
861
922
  // str = str.replace(/\\\\/, '\\');
@@ -899,53 +960,55 @@ function peg$parse(input, options) {
899
960
  type: 'string'
900
961
  };
901
962
  },
902
- peg$c220 = "'",
903
- peg$c221 = peg$literalExpectation("'", false),
904
- peg$c222 = "\\",
905
- peg$c223 = peg$literalExpectation("\\", false),
906
- peg$c224 = function peg$c224() {
963
+ peg$c226 = "'",
964
+ peg$c227 = peg$literalExpectation("'", false),
965
+ peg$c228 = "\\",
966
+ peg$c229 = peg$literalExpectation("\\", false),
967
+ peg$c230 = function peg$c230() {
907
968
  return '"';
908
969
  },
909
- peg$c225 = function peg$c225() {
970
+ peg$c231 = function peg$c231() {
910
971
  return text();
911
972
  },
912
- peg$c226 = "\\'",
913
- peg$c227 = peg$literalExpectation("\\'", false),
914
- peg$c228 = function peg$c228() {
973
+ peg$c232 = "\\'",
974
+ peg$c233 = peg$literalExpectation("\\'", false),
975
+ peg$c234 = function peg$c234() {
915
976
  return "'";
916
977
  },
917
- peg$c229 = function peg$c229(bl) {
978
+ peg$c235 = function peg$c235(bl) {
918
979
  // escape character \. \\n => \n. Remove one backslash in the result string.
919
980
  return bl.join('');
920
981
  },
921
- peg$c230 = function peg$c230() {
982
+ peg$c236 = function peg$c236() {
922
983
  // replace line continuation
923
984
  return '';
924
985
  },
925
- peg$c231 = /^[0-9]/,
926
- peg$c232 = peg$classExpectation([["0", "9"]], false, false),
927
- peg$c233 = "=",
928
- peg$c234 = peg$literalExpectation("=", false),
929
- peg$c235 = "true",
930
- peg$c236 = peg$literalExpectation("true", true),
931
- peg$c237 = "false",
932
- peg$c238 = peg$literalExpectation("false", true),
933
- peg$c239 = function peg$c239(_boolean) {
986
+ peg$c237 = /^[0-9]/,
987
+ peg$c238 = peg$classExpectation([["0", "9"]], false, false),
988
+ peg$c239 = "=",
989
+ peg$c240 = peg$literalExpectation("=", false),
990
+ peg$c241 = "true",
991
+ peg$c242 = peg$literalExpectation("true", true),
992
+ peg$c243 = "false",
993
+ peg$c244 = peg$literalExpectation("false", true),
994
+ peg$c245 = function peg$c245(_boolean) {
934
995
  return {
935
996
  type: 'boolean',
936
997
  value: _boolean
937
998
  };
938
999
  },
939
- peg$c240 = function peg$c240(number) {
1000
+ peg$c246 = "-",
1001
+ peg$c247 = peg$literalExpectation("-", false),
1002
+ peg$c248 = function peg$c248(minus, number) {
940
1003
  return {
941
1004
  type: 'number',
942
- value: number
1005
+ value: minus ? -number : number
943
1006
  };
944
1007
  },
945
- peg$c241 = function peg$c241(left, right) {
1008
+ peg$c249 = function peg$c249(left, right) {
946
1009
  return parseFloat(left.join("") + "." + right.join(""));
947
1010
  },
948
- peg$c242 = function peg$c242(digits) {
1011
+ peg$c250 = function peg$c250(digits) {
949
1012
  return parseInt(digits.join(""), 10);
950
1013
  },
951
1014
  peg$currPos = 0,
@@ -1541,7 +1604,7 @@ function peg$parse(input, options) {
1541
1604
  }
1542
1605
 
1543
1606
  function peg$parseTableGroupSyntax() {
1544
- var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
1607
+ var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10;
1545
1608
  s0 = peg$currPos;
1546
1609
  s1 = peg$parsetable_group();
1547
1610
 
@@ -1559,48 +1622,59 @@ function peg$parse(input, options) {
1559
1622
  }
1560
1623
 
1561
1624
  if (s2 !== peg$FAILED) {
1562
- s3 = peg$parsename();
1625
+ s3 = peg$parseschema_name();
1626
+
1627
+ if (s3 === peg$FAILED) {
1628
+ s3 = null;
1629
+ }
1563
1630
 
1564
1631
  if (s3 !== peg$FAILED) {
1565
- s4 = peg$parse_();
1632
+ s4 = peg$parsename();
1566
1633
 
1567
1634
  if (s4 !== peg$FAILED) {
1568
- if (input.charCodeAt(peg$currPos) === 123) {
1569
- s5 = peg$c6;
1570
- peg$currPos++;
1571
- } else {
1572
- s5 = peg$FAILED;
1573
-
1574
- if (peg$silentFails === 0) {
1575
- peg$fail(peg$c7);
1576
- }
1577
- }
1635
+ s5 = peg$parse_();
1578
1636
 
1579
1637
  if (s5 !== peg$FAILED) {
1580
- s6 = peg$parse_();
1638
+ if (input.charCodeAt(peg$currPos) === 123) {
1639
+ s6 = peg$c6;
1640
+ peg$currPos++;
1641
+ } else {
1642
+ s6 = peg$FAILED;
1643
+
1644
+ if (peg$silentFails === 0) {
1645
+ peg$fail(peg$c7);
1646
+ }
1647
+ }
1581
1648
 
1582
1649
  if (s6 !== peg$FAILED) {
1583
- s7 = peg$parsetable_group_body();
1650
+ s7 = peg$parse_();
1584
1651
 
1585
1652
  if (s7 !== peg$FAILED) {
1586
- s8 = peg$parse_();
1653
+ s8 = peg$parsetable_group_body();
1587
1654
 
1588
1655
  if (s8 !== peg$FAILED) {
1589
- if (input.charCodeAt(peg$currPos) === 125) {
1590
- s9 = peg$c8;
1591
- peg$currPos++;
1592
- } else {
1593
- s9 = peg$FAILED;
1656
+ s9 = peg$parse_();
1594
1657
 
1595
- if (peg$silentFails === 0) {
1596
- peg$fail(peg$c9);
1658
+ if (s9 !== peg$FAILED) {
1659
+ if (input.charCodeAt(peg$currPos) === 125) {
1660
+ s10 = peg$c8;
1661
+ peg$currPos++;
1662
+ } else {
1663
+ s10 = peg$FAILED;
1664
+
1665
+ if (peg$silentFails === 0) {
1666
+ peg$fail(peg$c9);
1667
+ }
1597
1668
  }
1598
- }
1599
1669
 
1600
- if (s9 !== peg$FAILED) {
1601
- peg$savedPos = s0;
1602
- s1 = peg$c21(s3, s7);
1603
- s0 = s1;
1670
+ if (s10 !== peg$FAILED) {
1671
+ peg$savedPos = s0;
1672
+ s1 = peg$c21(s3, s4, s8);
1673
+ s0 = s1;
1674
+ } else {
1675
+ peg$currPos = s0;
1676
+ s0 = peg$FAILED;
1677
+ }
1604
1678
  } else {
1605
1679
  peg$currPos = s0;
1606
1680
  s0 = peg$FAILED;
@@ -1642,18 +1716,29 @@ function peg$parse(input, options) {
1642
1716
  }
1643
1717
 
1644
1718
  function peg$parsetable_group_body() {
1645
- var s0, s1, s2, s3, s4;
1719
+ var s0, s1, s2, s3, s4, s5;
1646
1720
  s0 = peg$currPos;
1647
1721
  s1 = [];
1648
1722
  s2 = peg$currPos;
1649
- s3 = peg$parsename();
1723
+ s3 = peg$parseschema_name();
1724
+
1725
+ if (s3 === peg$FAILED) {
1726
+ s3 = null;
1727
+ }
1650
1728
 
1651
1729
  if (s3 !== peg$FAILED) {
1652
- s4 = peg$parse__();
1730
+ s4 = peg$parsename();
1653
1731
 
1654
1732
  if (s4 !== peg$FAILED) {
1655
- s3 = [s3, s4];
1656
- s2 = s3;
1733
+ s5 = peg$parse__();
1734
+
1735
+ if (s5 !== peg$FAILED) {
1736
+ s3 = [s3, s4, s5];
1737
+ s2 = s3;
1738
+ } else {
1739
+ peg$currPos = s2;
1740
+ s2 = peg$FAILED;
1741
+ }
1657
1742
  } else {
1658
1743
  peg$currPos = s2;
1659
1744
  s2 = peg$FAILED;
@@ -1666,14 +1751,25 @@ function peg$parse(input, options) {
1666
1751
  while (s2 !== peg$FAILED) {
1667
1752
  s1.push(s2);
1668
1753
  s2 = peg$currPos;
1669
- s3 = peg$parsename();
1754
+ s3 = peg$parseschema_name();
1755
+
1756
+ if (s3 === peg$FAILED) {
1757
+ s3 = null;
1758
+ }
1670
1759
 
1671
1760
  if (s3 !== peg$FAILED) {
1672
- s4 = peg$parse__();
1761
+ s4 = peg$parsename();
1673
1762
 
1674
1763
  if (s4 !== peg$FAILED) {
1675
- s3 = [s3, s4];
1676
- s2 = s3;
1764
+ s5 = peg$parse__();
1765
+
1766
+ if (s5 !== peg$FAILED) {
1767
+ s3 = [s3, s4, s5];
1768
+ s2 = s3;
1769
+ } else {
1770
+ peg$currPos = s2;
1771
+ s2 = peg$FAILED;
1772
+ }
1677
1773
  } else {
1678
1774
  peg$currPos = s2;
1679
1775
  s2 = peg$FAILED;
@@ -1919,24 +2015,25 @@ function peg$parse(input, options) {
1919
2015
  }
1920
2016
 
1921
2017
  function peg$parseref_body() {
1922
- var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11;
2018
+ var s0, s1, s2, s3, s4, s5, s6, s7;
1923
2019
  s0 = peg$currPos;
1924
- s1 = peg$parsename();
2020
+ s1 = peg$parsefield_identifier();
1925
2021
 
1926
2022
  if (s1 !== peg$FAILED) {
1927
- if (input.charCodeAt(peg$currPos) === 46) {
1928
- s2 = peg$c25;
1929
- peg$currPos++;
1930
- } else {
1931
- s2 = peg$FAILED;
2023
+ s2 = [];
2024
+ s3 = peg$parsesp();
1932
2025
 
1933
- if (peg$silentFails === 0) {
1934
- peg$fail(peg$c26);
2026
+ if (s3 !== peg$FAILED) {
2027
+ while (s3 !== peg$FAILED) {
2028
+ s2.push(s3);
2029
+ s3 = peg$parsesp();
1935
2030
  }
2031
+ } else {
2032
+ s2 = peg$FAILED;
1936
2033
  }
1937
2034
 
1938
2035
  if (s2 !== peg$FAILED) {
1939
- s3 = peg$parseRefField();
2036
+ s3 = peg$parserelation();
1940
2037
 
1941
2038
  if (s3 !== peg$FAILED) {
1942
2039
  s4 = [];
@@ -1952,75 +2049,28 @@ function peg$parse(input, options) {
1952
2049
  }
1953
2050
 
1954
2051
  if (s4 !== peg$FAILED) {
1955
- s5 = peg$parserelation();
2052
+ s5 = peg$parsefield_identifier();
1956
2053
 
1957
2054
  if (s5 !== peg$FAILED) {
1958
2055
  s6 = [];
1959
2056
  s7 = peg$parsesp();
1960
2057
 
1961
- if (s7 !== peg$FAILED) {
1962
- while (s7 !== peg$FAILED) {
1963
- s6.push(s7);
1964
- s7 = peg$parsesp();
1965
- }
1966
- } else {
1967
- s6 = peg$FAILED;
2058
+ while (s7 !== peg$FAILED) {
2059
+ s6.push(s7);
2060
+ s7 = peg$parsesp();
1968
2061
  }
1969
2062
 
1970
2063
  if (s6 !== peg$FAILED) {
1971
- s7 = peg$parsename();
1972
-
1973
- if (s7 !== peg$FAILED) {
1974
- if (input.charCodeAt(peg$currPos) === 46) {
1975
- s8 = peg$c25;
1976
- peg$currPos++;
1977
- } else {
1978
- s8 = peg$FAILED;
1979
-
1980
- if (peg$silentFails === 0) {
1981
- peg$fail(peg$c26);
1982
- }
1983
- }
1984
-
1985
- if (s8 !== peg$FAILED) {
1986
- s9 = peg$parseRefField();
1987
-
1988
- if (s9 !== peg$FAILED) {
1989
- s10 = [];
1990
- s11 = peg$parsesp();
1991
-
1992
- while (s11 !== peg$FAILED) {
1993
- s10.push(s11);
1994
- s11 = peg$parsesp();
1995
- }
1996
-
1997
- if (s10 !== peg$FAILED) {
1998
- s11 = peg$parseRefSettings();
2064
+ s7 = peg$parseRefSettings();
1999
2065
 
2000
- if (s11 === peg$FAILED) {
2001
- s11 = null;
2002
- }
2066
+ if (s7 === peg$FAILED) {
2067
+ s7 = null;
2068
+ }
2003
2069
 
2004
- if (s11 !== peg$FAILED) {
2005
- peg$savedPos = s0;
2006
- s1 = peg$c27(s1, s3, s5, s7, s9, s11);
2007
- s0 = s1;
2008
- } else {
2009
- peg$currPos = s0;
2010
- s0 = peg$FAILED;
2011
- }
2012
- } else {
2013
- peg$currPos = s0;
2014
- s0 = peg$FAILED;
2015
- }
2016
- } else {
2017
- peg$currPos = s0;
2018
- s0 = peg$FAILED;
2019
- }
2020
- } else {
2021
- peg$currPos = s0;
2022
- s0 = peg$FAILED;
2023
- }
2070
+ if (s7 !== peg$FAILED) {
2071
+ peg$savedPos = s0;
2072
+ s1 = peg$c25(s1, s3, s5, s7);
2073
+ s0 = s1;
2024
2074
  } else {
2025
2075
  peg$currPos = s0;
2026
2076
  s0 = peg$FAILED;
@@ -2064,7 +2114,7 @@ function peg$parse(input, options) {
2064
2114
 
2065
2115
  if (s1 !== peg$FAILED) {
2066
2116
  peg$savedPos = s0;
2067
- s1 = peg$c28(s1);
2117
+ s1 = peg$c26(s1);
2068
2118
  }
2069
2119
 
2070
2120
  s0 = s1;
@@ -2078,7 +2128,7 @@ function peg$parse(input, options) {
2078
2128
 
2079
2129
  if (s1 !== peg$FAILED) {
2080
2130
  peg$savedPos = s0;
2081
- s1 = peg$c29(s1);
2131
+ s1 = peg$c27(s1);
2082
2132
  }
2083
2133
 
2084
2134
  s0 = s1;
@@ -2090,13 +2140,13 @@ function peg$parse(input, options) {
2090
2140
  s0 = peg$currPos;
2091
2141
 
2092
2142
  if (input.charCodeAt(peg$currPos) === 40) {
2093
- s1 = peg$c30;
2143
+ s1 = peg$c28;
2094
2144
  peg$currPos++;
2095
2145
  } else {
2096
2146
  s1 = peg$FAILED;
2097
2147
 
2098
2148
  if (peg$silentFails === 0) {
2099
- peg$fail(peg$c31);
2149
+ peg$fail(peg$c29);
2100
2150
  }
2101
2151
  }
2102
2152
 
@@ -2216,19 +2266,19 @@ function peg$parse(input, options) {
2216
2266
 
2217
2267
  if (s5 !== peg$FAILED) {
2218
2268
  if (input.charCodeAt(peg$currPos) === 41) {
2219
- s6 = peg$c32;
2269
+ s6 = peg$c30;
2220
2270
  peg$currPos++;
2221
2271
  } else {
2222
2272
  s6 = peg$FAILED;
2223
2273
 
2224
2274
  if (peg$silentFails === 0) {
2225
- peg$fail(peg$c33);
2275
+ peg$fail(peg$c31);
2226
2276
  }
2227
2277
  }
2228
2278
 
2229
2279
  if (s6 !== peg$FAILED) {
2230
2280
  peg$savedPos = s0;
2231
- s1 = peg$c34(s3, s4);
2281
+ s1 = peg$c32(s3, s4);
2232
2282
  s0 = s1;
2233
2283
  } else {
2234
2284
  peg$currPos = s0;
@@ -2263,13 +2313,13 @@ function peg$parse(input, options) {
2263
2313
  s0 = peg$currPos;
2264
2314
 
2265
2315
  if (input.charCodeAt(peg$currPos) === 91) {
2266
- s1 = peg$c35;
2316
+ s1 = peg$c33;
2267
2317
  peg$currPos++;
2268
2318
  } else {
2269
2319
  s1 = peg$FAILED;
2270
2320
 
2271
2321
  if (peg$silentFails === 0) {
2272
- peg$fail(peg$c36);
2322
+ peg$fail(peg$c34);
2273
2323
  }
2274
2324
  }
2275
2325
 
@@ -2319,19 +2369,19 @@ function peg$parse(input, options) {
2319
2369
 
2320
2370
  if (s3 !== peg$FAILED) {
2321
2371
  if (input.charCodeAt(peg$currPos) === 93) {
2322
- s4 = peg$c37;
2372
+ s4 = peg$c35;
2323
2373
  peg$currPos++;
2324
2374
  } else {
2325
2375
  s4 = peg$FAILED;
2326
2376
 
2327
2377
  if (peg$silentFails === 0) {
2328
- peg$fail(peg$c38);
2378
+ peg$fail(peg$c36);
2329
2379
  }
2330
2380
  }
2331
2381
 
2332
2382
  if (s4 !== peg$FAILED) {
2333
2383
  peg$savedPos = s0;
2334
- s1 = peg$c39(s2, s3);
2384
+ s1 = peg$c37(s2, s3);
2335
2385
  s0 = s1;
2336
2386
  } else {
2337
2387
  peg$currPos = s0;
@@ -2366,7 +2416,7 @@ function peg$parse(input, options) {
2366
2416
 
2367
2417
  if (s3 !== peg$FAILED) {
2368
2418
  peg$savedPos = s0;
2369
- s1 = peg$c40(s2);
2419
+ s1 = peg$c38(s2);
2370
2420
  s0 = s1;
2371
2421
  } else {
2372
2422
  peg$currPos = s0;
@@ -2393,7 +2443,7 @@ function peg$parse(input, options) {
2393
2443
 
2394
2444
  if (s3 !== peg$FAILED) {
2395
2445
  peg$savedPos = s0;
2396
- s1 = peg$c41(s2);
2446
+ s1 = peg$c39(s2);
2397
2447
  s0 = s1;
2398
2448
  } else {
2399
2449
  peg$currPos = s0;
@@ -2416,14 +2466,14 @@ function peg$parse(input, options) {
2416
2466
  var s0, s1, s2, s3;
2417
2467
  s0 = peg$currPos;
2418
2468
 
2419
- if (input.substr(peg$currPos, 7).toLowerCase() === peg$c42) {
2469
+ if (input.substr(peg$currPos, 7).toLowerCase() === peg$c40) {
2420
2470
  s1 = input.substr(peg$currPos, 7);
2421
2471
  peg$currPos += 7;
2422
2472
  } else {
2423
2473
  s1 = peg$FAILED;
2424
2474
 
2425
2475
  if (peg$silentFails === 0) {
2426
- peg$fail(peg$c43);
2476
+ peg$fail(peg$c41);
2427
2477
  }
2428
2478
  }
2429
2479
 
@@ -2451,7 +2501,7 @@ function peg$parse(input, options) {
2451
2501
 
2452
2502
  if (s3 !== peg$FAILED) {
2453
2503
  peg$savedPos = s0;
2454
- s1 = peg$c44(s3);
2504
+ s1 = peg$c42(s3);
2455
2505
  s0 = s1;
2456
2506
  } else {
2457
2507
  peg$currPos = s0;
@@ -2473,14 +2523,14 @@ function peg$parse(input, options) {
2473
2523
  var s0, s1, s2, s3;
2474
2524
  s0 = peg$currPos;
2475
2525
 
2476
- if (input.substr(peg$currPos, 7).toLowerCase() === peg$c45) {
2526
+ if (input.substr(peg$currPos, 7).toLowerCase() === peg$c43) {
2477
2527
  s1 = input.substr(peg$currPos, 7);
2478
2528
  peg$currPos += 7;
2479
2529
  } else {
2480
2530
  s1 = peg$FAILED;
2481
2531
 
2482
2532
  if (peg$silentFails === 0) {
2483
- peg$fail(peg$c46);
2533
+ peg$fail(peg$c44);
2484
2534
  }
2485
2535
  }
2486
2536
 
@@ -2508,7 +2558,7 @@ function peg$parse(input, options) {
2508
2558
 
2509
2559
  if (s3 !== peg$FAILED) {
2510
2560
  peg$savedPos = s0;
2511
- s1 = peg$c44(s3);
2561
+ s1 = peg$c42(s3);
2512
2562
  s0 = s1;
2513
2563
  } else {
2514
2564
  peg$currPos = s0;
@@ -2527,7 +2577,7 @@ function peg$parse(input, options) {
2527
2577
  }
2528
2578
 
2529
2579
  function peg$parseTableSyntax() {
2530
- var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10;
2580
+ var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11;
2531
2581
  s0 = peg$currPos;
2532
2582
  s1 = peg$parsetable();
2533
2583
 
@@ -2545,65 +2595,76 @@ function peg$parse(input, options) {
2545
2595
  }
2546
2596
 
2547
2597
  if (s2 !== peg$FAILED) {
2548
- s3 = peg$parsename();
2598
+ s3 = peg$parseschema_name();
2549
2599
 
2550
- if (s3 !== peg$FAILED) {
2551
- s4 = peg$parsealias_def();
2600
+ if (s3 === peg$FAILED) {
2601
+ s3 = null;
2602
+ }
2552
2603
 
2553
- if (s4 === peg$FAILED) {
2554
- s4 = null;
2555
- }
2604
+ if (s3 !== peg$FAILED) {
2605
+ s4 = peg$parsename();
2556
2606
 
2557
2607
  if (s4 !== peg$FAILED) {
2558
- s5 = [];
2559
- s6 = peg$parsesp();
2608
+ s5 = peg$parsealias_def();
2560
2609
 
2561
- while (s6 !== peg$FAILED) {
2562
- s5.push(s6);
2563
- s6 = peg$parsesp();
2610
+ if (s5 === peg$FAILED) {
2611
+ s5 = null;
2564
2612
  }
2565
2613
 
2566
2614
  if (s5 !== peg$FAILED) {
2567
- s6 = peg$parseTableSettings();
2615
+ s6 = [];
2616
+ s7 = peg$parsesp();
2568
2617
 
2569
- if (s6 === peg$FAILED) {
2570
- s6 = null;
2618
+ while (s7 !== peg$FAILED) {
2619
+ s6.push(s7);
2620
+ s7 = peg$parsesp();
2571
2621
  }
2572
2622
 
2573
2623
  if (s6 !== peg$FAILED) {
2574
- s7 = peg$parse_();
2624
+ s7 = peg$parseTableSettings();
2575
2625
 
2576
- if (s7 !== peg$FAILED) {
2577
- if (input.charCodeAt(peg$currPos) === 123) {
2578
- s8 = peg$c6;
2579
- peg$currPos++;
2580
- } else {
2581
- s8 = peg$FAILED;
2626
+ if (s7 === peg$FAILED) {
2627
+ s7 = null;
2628
+ }
2582
2629
 
2583
- if (peg$silentFails === 0) {
2584
- peg$fail(peg$c7);
2585
- }
2586
- }
2630
+ if (s7 !== peg$FAILED) {
2631
+ s8 = peg$parse_();
2587
2632
 
2588
2633
  if (s8 !== peg$FAILED) {
2589
- s9 = peg$parseTableBody();
2634
+ if (input.charCodeAt(peg$currPos) === 123) {
2635
+ s9 = peg$c6;
2636
+ peg$currPos++;
2637
+ } else {
2638
+ s9 = peg$FAILED;
2639
+
2640
+ if (peg$silentFails === 0) {
2641
+ peg$fail(peg$c7);
2642
+ }
2643
+ }
2590
2644
 
2591
2645
  if (s9 !== peg$FAILED) {
2592
- if (input.charCodeAt(peg$currPos) === 125) {
2593
- s10 = peg$c8;
2594
- peg$currPos++;
2595
- } else {
2596
- s10 = peg$FAILED;
2646
+ s10 = peg$parseTableBody();
2597
2647
 
2598
- if (peg$silentFails === 0) {
2599
- peg$fail(peg$c9);
2648
+ if (s10 !== peg$FAILED) {
2649
+ if (input.charCodeAt(peg$currPos) === 125) {
2650
+ s11 = peg$c8;
2651
+ peg$currPos++;
2652
+ } else {
2653
+ s11 = peg$FAILED;
2654
+
2655
+ if (peg$silentFails === 0) {
2656
+ peg$fail(peg$c9);
2657
+ }
2600
2658
  }
2601
- }
2602
2659
 
2603
- if (s10 !== peg$FAILED) {
2604
- peg$savedPos = s0;
2605
- s1 = peg$c47(s3, s4, s6, s9);
2606
- s0 = s1;
2660
+ if (s11 !== peg$FAILED) {
2661
+ peg$savedPos = s0;
2662
+ s1 = peg$c45(s3, s4, s5, s7, s10);
2663
+ s0 = s1;
2664
+ } else {
2665
+ peg$currPos = s0;
2666
+ s0 = peg$FAILED;
2667
+ }
2607
2668
  } else {
2608
2669
  peg$currPos = s0;
2609
2670
  s0 = peg$FAILED;
@@ -2683,7 +2744,7 @@ function peg$parse(input, options) {
2683
2744
 
2684
2745
  if (s5 !== peg$FAILED) {
2685
2746
  peg$savedPos = s0;
2686
- s1 = peg$c48(s2, s4);
2747
+ s1 = peg$c46(s2, s4);
2687
2748
  s0 = s1;
2688
2749
  } else {
2689
2750
  peg$currPos = s0;
@@ -2722,7 +2783,7 @@ function peg$parse(input, options) {
2722
2783
 
2723
2784
  if (s3 !== peg$FAILED) {
2724
2785
  peg$savedPos = s0;
2725
- s1 = peg$c49(s2);
2786
+ s1 = peg$c47(s2);
2726
2787
  s0 = s1;
2727
2788
  } else {
2728
2789
  peg$currPos = s0;
@@ -2769,7 +2830,7 @@ function peg$parse(input, options) {
2769
2830
  }
2770
2831
 
2771
2832
  function peg$parseField() {
2772
- var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
2833
+ var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10;
2773
2834
  s0 = peg$currPos;
2774
2835
  s1 = peg$parse_();
2775
2836
 
@@ -2790,125 +2851,136 @@ function peg$parse(input, options) {
2790
2851
  }
2791
2852
 
2792
2853
  if (s3 !== peg$FAILED) {
2793
- s4 = peg$parsetype();
2854
+ s4 = peg$parseschema_name();
2855
+
2856
+ if (s4 === peg$FAILED) {
2857
+ s4 = null;
2858
+ }
2794
2859
 
2795
2860
  if (s4 !== peg$FAILED) {
2796
- s5 = [];
2797
- s6 = peg$currPos;
2798
- s7 = [];
2799
- s8 = peg$parsesp();
2861
+ s5 = peg$parsetype();
2800
2862
 
2801
- if (s8 !== peg$FAILED) {
2802
- while (s8 !== peg$FAILED) {
2803
- s7.push(s8);
2804
- s8 = peg$parsesp();
2805
- }
2806
- } else {
2807
- s7 = peg$FAILED;
2808
- }
2863
+ if (s5 !== peg$FAILED) {
2864
+ s6 = [];
2865
+ s7 = peg$currPos;
2866
+ s8 = [];
2867
+ s9 = peg$parsesp();
2809
2868
 
2810
- if (s7 !== peg$FAILED) {
2811
- s8 = peg$parseconstrain();
2869
+ if (s9 !== peg$FAILED) {
2870
+ while (s9 !== peg$FAILED) {
2871
+ s8.push(s9);
2872
+ s9 = peg$parsesp();
2873
+ }
2874
+ } else {
2875
+ s8 = peg$FAILED;
2876
+ }
2812
2877
 
2813
2878
  if (s8 !== peg$FAILED) {
2814
- s7 = [s7, s8];
2815
- s6 = s7;
2879
+ s9 = peg$parseconstrain();
2880
+
2881
+ if (s9 !== peg$FAILED) {
2882
+ s8 = [s8, s9];
2883
+ s7 = s8;
2884
+ } else {
2885
+ peg$currPos = s7;
2886
+ s7 = peg$FAILED;
2887
+ }
2816
2888
  } else {
2817
- peg$currPos = s6;
2818
- s6 = peg$FAILED;
2889
+ peg$currPos = s7;
2890
+ s7 = peg$FAILED;
2819
2891
  }
2820
- } else {
2821
- peg$currPos = s6;
2822
- s6 = peg$FAILED;
2823
- }
2824
2892
 
2825
- while (s6 !== peg$FAILED) {
2826
- s5.push(s6);
2827
- s6 = peg$currPos;
2828
- s7 = [];
2829
- s8 = peg$parsesp();
2893
+ while (s7 !== peg$FAILED) {
2894
+ s6.push(s7);
2895
+ s7 = peg$currPos;
2896
+ s8 = [];
2897
+ s9 = peg$parsesp();
2830
2898
 
2831
- if (s8 !== peg$FAILED) {
2832
- while (s8 !== peg$FAILED) {
2833
- s7.push(s8);
2834
- s8 = peg$parsesp();
2899
+ if (s9 !== peg$FAILED) {
2900
+ while (s9 !== peg$FAILED) {
2901
+ s8.push(s9);
2902
+ s9 = peg$parsesp();
2903
+ }
2904
+ } else {
2905
+ s8 = peg$FAILED;
2835
2906
  }
2836
- } else {
2837
- s7 = peg$FAILED;
2838
- }
2839
-
2840
- if (s7 !== peg$FAILED) {
2841
- s8 = peg$parseconstrain();
2842
2907
 
2843
2908
  if (s8 !== peg$FAILED) {
2844
- s7 = [s7, s8];
2845
- s6 = s7;
2909
+ s9 = peg$parseconstrain();
2910
+
2911
+ if (s9 !== peg$FAILED) {
2912
+ s8 = [s8, s9];
2913
+ s7 = s8;
2914
+ } else {
2915
+ peg$currPos = s7;
2916
+ s7 = peg$FAILED;
2917
+ }
2846
2918
  } else {
2847
- peg$currPos = s6;
2848
- s6 = peg$FAILED;
2919
+ peg$currPos = s7;
2920
+ s7 = peg$FAILED;
2849
2921
  }
2850
- } else {
2851
- peg$currPos = s6;
2852
- s6 = peg$FAILED;
2853
2922
  }
2854
- }
2855
2923
 
2856
- if (s5 !== peg$FAILED) {
2857
- s6 = peg$currPos;
2858
- s7 = [];
2859
- s8 = peg$parsesp();
2924
+ if (s6 !== peg$FAILED) {
2925
+ s7 = peg$currPos;
2926
+ s8 = [];
2927
+ s9 = peg$parsesp();
2860
2928
 
2861
- if (s8 !== peg$FAILED) {
2862
- while (s8 !== peg$FAILED) {
2863
- s7.push(s8);
2864
- s8 = peg$parsesp();
2929
+ if (s9 !== peg$FAILED) {
2930
+ while (s9 !== peg$FAILED) {
2931
+ s8.push(s9);
2932
+ s9 = peg$parsesp();
2933
+ }
2934
+ } else {
2935
+ s8 = peg$FAILED;
2865
2936
  }
2866
- } else {
2867
- s7 = peg$FAILED;
2868
- }
2869
-
2870
- if (s7 !== peg$FAILED) {
2871
- s8 = peg$parseFieldSettings();
2872
2937
 
2873
2938
  if (s8 !== peg$FAILED) {
2874
- s7 = [s7, s8];
2875
- s6 = s7;
2939
+ s9 = peg$parseFieldSettings();
2940
+
2941
+ if (s9 !== peg$FAILED) {
2942
+ s8 = [s8, s9];
2943
+ s7 = s8;
2944
+ } else {
2945
+ peg$currPos = s7;
2946
+ s7 = peg$FAILED;
2947
+ }
2876
2948
  } else {
2877
- peg$currPos = s6;
2878
- s6 = peg$FAILED;
2949
+ peg$currPos = s7;
2950
+ s7 = peg$FAILED;
2879
2951
  }
2880
- } else {
2881
- peg$currPos = s6;
2882
- s6 = peg$FAILED;
2883
- }
2884
2952
 
2885
- if (s6 === peg$FAILED) {
2886
- s6 = null;
2887
- }
2888
-
2889
- if (s6 !== peg$FAILED) {
2890
- s7 = [];
2891
- s8 = peg$parsesp();
2892
-
2893
- while (s8 !== peg$FAILED) {
2894
- s7.push(s8);
2895
- s8 = peg$parsesp();
2953
+ if (s7 === peg$FAILED) {
2954
+ s7 = null;
2896
2955
  }
2897
2956
 
2898
2957
  if (s7 !== peg$FAILED) {
2899
- s8 = peg$parsecomment();
2958
+ s8 = [];
2959
+ s9 = peg$parsesp();
2900
2960
 
2901
- if (s8 === peg$FAILED) {
2902
- s8 = null;
2961
+ while (s9 !== peg$FAILED) {
2962
+ s8.push(s9);
2963
+ s9 = peg$parsesp();
2903
2964
  }
2904
2965
 
2905
2966
  if (s8 !== peg$FAILED) {
2906
- s9 = peg$parsenewline();
2967
+ s9 = peg$parsecomment();
2968
+
2969
+ if (s9 === peg$FAILED) {
2970
+ s9 = null;
2971
+ }
2907
2972
 
2908
2973
  if (s9 !== peg$FAILED) {
2909
- peg$savedPos = s0;
2910
- s1 = peg$c50(s2, s4, s5, s6);
2911
- s0 = s1;
2974
+ s10 = peg$parsenewline();
2975
+
2976
+ if (s10 !== peg$FAILED) {
2977
+ peg$savedPos = s0;
2978
+ s1 = peg$c48(s2, s4, s5, s6, s7);
2979
+ s0 = s1;
2980
+ } else {
2981
+ peg$currPos = s0;
2982
+ s0 = peg$FAILED;
2983
+ }
2912
2984
  } else {
2913
2985
  peg$currPos = s0;
2914
2986
  s0 = peg$FAILED;
@@ -2950,7 +3022,7 @@ function peg$parse(input, options) {
2950
3022
  }
2951
3023
 
2952
3024
  function peg$parseEnumSyntax() {
2953
- var s0, s1, s2, s3, s4, s5, s6, s7;
3025
+ var s0, s1, s2, s3, s4, s5, s6, s7, s8;
2954
3026
  s0 = peg$currPos;
2955
3027
  s1 = peg$parseenum();
2956
3028
 
@@ -2968,42 +3040,53 @@ function peg$parse(input, options) {
2968
3040
  }
2969
3041
 
2970
3042
  if (s2 !== peg$FAILED) {
2971
- s3 = peg$parsename();
3043
+ s3 = peg$parseschema_name();
3044
+
3045
+ if (s3 === peg$FAILED) {
3046
+ s3 = null;
3047
+ }
2972
3048
 
2973
3049
  if (s3 !== peg$FAILED) {
2974
- s4 = peg$parse_();
3050
+ s4 = peg$parsename();
2975
3051
 
2976
3052
  if (s4 !== peg$FAILED) {
2977
- if (input.charCodeAt(peg$currPos) === 123) {
2978
- s5 = peg$c6;
2979
- peg$currPos++;
2980
- } else {
2981
- s5 = peg$FAILED;
2982
-
2983
- if (peg$silentFails === 0) {
2984
- peg$fail(peg$c7);
2985
- }
2986
- }
3053
+ s5 = peg$parse_();
2987
3054
 
2988
3055
  if (s5 !== peg$FAILED) {
2989
- s6 = peg$parseEnumBody();
3056
+ if (input.charCodeAt(peg$currPos) === 123) {
3057
+ s6 = peg$c6;
3058
+ peg$currPos++;
3059
+ } else {
3060
+ s6 = peg$FAILED;
3061
+
3062
+ if (peg$silentFails === 0) {
3063
+ peg$fail(peg$c7);
3064
+ }
3065
+ }
2990
3066
 
2991
3067
  if (s6 !== peg$FAILED) {
2992
- if (input.charCodeAt(peg$currPos) === 125) {
2993
- s7 = peg$c8;
2994
- peg$currPos++;
2995
- } else {
2996
- s7 = peg$FAILED;
3068
+ s7 = peg$parseEnumBody();
2997
3069
 
2998
- if (peg$silentFails === 0) {
2999
- peg$fail(peg$c9);
3070
+ if (s7 !== peg$FAILED) {
3071
+ if (input.charCodeAt(peg$currPos) === 125) {
3072
+ s8 = peg$c8;
3073
+ peg$currPos++;
3074
+ } else {
3075
+ s8 = peg$FAILED;
3076
+
3077
+ if (peg$silentFails === 0) {
3078
+ peg$fail(peg$c9);
3079
+ }
3000
3080
  }
3001
- }
3002
3081
 
3003
- if (s7 !== peg$FAILED) {
3004
- peg$savedPos = s0;
3005
- s1 = peg$c51(s3, s6);
3006
- s0 = s1;
3082
+ if (s8 !== peg$FAILED) {
3083
+ peg$savedPos = s0;
3084
+ s1 = peg$c49(s3, s4, s7);
3085
+ s0 = s1;
3086
+ } else {
3087
+ peg$currPos = s0;
3088
+ s0 = peg$FAILED;
3089
+ }
3007
3090
  } else {
3008
3091
  peg$currPos = s0;
3009
3092
  s0 = peg$FAILED;
@@ -3059,7 +3142,7 @@ function peg$parse(input, options) {
3059
3142
 
3060
3143
  if (s3 !== peg$FAILED) {
3061
3144
  peg$savedPos = s0;
3062
- s1 = peg$c52(s2);
3145
+ s1 = peg$c50(s2);
3063
3146
  s0 = s1;
3064
3147
  } else {
3065
3148
  peg$currPos = s0;
@@ -3122,7 +3205,7 @@ function peg$parse(input, options) {
3122
3205
 
3123
3206
  if (s7 !== peg$FAILED) {
3124
3207
  peg$savedPos = s0;
3125
- s1 = peg$c53(s2, s4);
3208
+ s1 = peg$c51(s2, s4);
3126
3209
  s0 = s1;
3127
3210
  } else {
3128
3211
  peg$currPos = s0;
@@ -3161,13 +3244,13 @@ function peg$parse(input, options) {
3161
3244
  s0 = peg$currPos;
3162
3245
 
3163
3246
  if (input.charCodeAt(peg$currPos) === 91) {
3164
- s1 = peg$c35;
3247
+ s1 = peg$c33;
3165
3248
  peg$currPos++;
3166
3249
  } else {
3167
3250
  s1 = peg$FAILED;
3168
3251
 
3169
3252
  if (peg$silentFails === 0) {
3170
- peg$fail(peg$c36);
3253
+ peg$fail(peg$c34);
3171
3254
  }
3172
3255
  }
3173
3256
 
@@ -3182,19 +3265,19 @@ function peg$parse(input, options) {
3182
3265
 
3183
3266
  if (s4 !== peg$FAILED) {
3184
3267
  if (input.charCodeAt(peg$currPos) === 93) {
3185
- s5 = peg$c37;
3268
+ s5 = peg$c35;
3186
3269
  peg$currPos++;
3187
3270
  } else {
3188
3271
  s5 = peg$FAILED;
3189
3272
 
3190
3273
  if (peg$silentFails === 0) {
3191
- peg$fail(peg$c38);
3274
+ peg$fail(peg$c36);
3192
3275
  }
3193
3276
  }
3194
3277
 
3195
3278
  if (s5 !== peg$FAILED) {
3196
3279
  peg$savedPos = s0;
3197
- s1 = peg$c54(s3);
3280
+ s1 = peg$c52(s3);
3198
3281
  s0 = s1;
3199
3282
  } else {
3200
3283
  peg$currPos = s0;
@@ -3225,13 +3308,13 @@ function peg$parse(input, options) {
3225
3308
  s0 = peg$currPos;
3226
3309
 
3227
3310
  if (input.charCodeAt(peg$currPos) === 91) {
3228
- s1 = peg$c35;
3311
+ s1 = peg$c33;
3229
3312
  peg$currPos++;
3230
3313
  } else {
3231
3314
  s1 = peg$FAILED;
3232
3315
 
3233
3316
  if (peg$silentFails === 0) {
3234
- peg$fail(peg$c36);
3317
+ peg$fail(peg$c34);
3235
3318
  }
3236
3319
  }
3237
3320
 
@@ -3281,19 +3364,19 @@ function peg$parse(input, options) {
3281
3364
 
3282
3365
  if (s3 !== peg$FAILED) {
3283
3366
  if (input.charCodeAt(peg$currPos) === 93) {
3284
- s4 = peg$c37;
3367
+ s4 = peg$c35;
3285
3368
  peg$currPos++;
3286
3369
  } else {
3287
3370
  s4 = peg$FAILED;
3288
3371
 
3289
3372
  if (peg$silentFails === 0) {
3290
- peg$fail(peg$c38);
3373
+ peg$fail(peg$c36);
3291
3374
  }
3292
3375
  }
3293
3376
 
3294
3377
  if (s4 !== peg$FAILED) {
3295
3378
  peg$savedPos = s0;
3296
- s1 = peg$c55(s2, s3);
3379
+ s1 = peg$c53(s2, s3);
3297
3380
  s0 = s1;
3298
3381
  } else {
3299
3382
  peg$currPos = s0;
@@ -3320,13 +3403,13 @@ function peg$parse(input, options) {
3320
3403
  s0 = peg$currPos;
3321
3404
 
3322
3405
  if (input.charCodeAt(peg$currPos) === 91) {
3323
- s1 = peg$c35;
3406
+ s1 = peg$c33;
3324
3407
  peg$currPos++;
3325
3408
  } else {
3326
3409
  s1 = peg$FAILED;
3327
3410
 
3328
3411
  if (peg$silentFails === 0) {
3329
- peg$fail(peg$c36);
3412
+ peg$fail(peg$c34);
3330
3413
  }
3331
3414
  }
3332
3415
 
@@ -3376,19 +3459,19 @@ function peg$parse(input, options) {
3376
3459
 
3377
3460
  if (s3 !== peg$FAILED) {
3378
3461
  if (input.charCodeAt(peg$currPos) === 93) {
3379
- s4 = peg$c37;
3462
+ s4 = peg$c35;
3380
3463
  peg$currPos++;
3381
3464
  } else {
3382
3465
  s4 = peg$FAILED;
3383
3466
 
3384
3467
  if (peg$silentFails === 0) {
3385
- peg$fail(peg$c38);
3468
+ peg$fail(peg$c36);
3386
3469
  }
3387
3470
  }
3388
3471
 
3389
3472
  if (s4 !== peg$FAILED) {
3390
3473
  peg$savedPos = s0;
3391
- s1 = peg$c56(s2, s3);
3474
+ s1 = peg$c54(s2, s3);
3392
3475
  s0 = s1;
3393
3476
  } else {
3394
3477
  peg$currPos = s0;
@@ -3423,7 +3506,7 @@ function peg$parse(input, options) {
3423
3506
 
3424
3507
  if (s3 !== peg$FAILED) {
3425
3508
  peg$savedPos = s0;
3426
- s1 = peg$c57(s2);
3509
+ s1 = peg$c55(s2);
3427
3510
  s0 = s1;
3428
3511
  } else {
3429
3512
  peg$currPos = s0;
@@ -3450,7 +3533,7 @@ function peg$parse(input, options) {
3450
3533
 
3451
3534
  if (s3 !== peg$FAILED) {
3452
3535
  peg$savedPos = s0;
3453
- s1 = peg$c58(s2);
3536
+ s1 = peg$c56(s2);
3454
3537
  s0 = s1;
3455
3538
  } else {
3456
3539
  peg$currPos = s0;
@@ -3475,14 +3558,14 @@ function peg$parse(input, options) {
3475
3558
  s1 = peg$parse_();
3476
3559
 
3477
3560
  if (s1 !== peg$FAILED) {
3478
- if (input.substr(peg$currPos, 8).toLowerCase() === peg$c59) {
3561
+ if (input.substr(peg$currPos, 8).toLowerCase() === peg$c57) {
3479
3562
  s2 = input.substr(peg$currPos, 8);
3480
3563
  peg$currPos += 8;
3481
3564
  } else {
3482
3565
  s2 = peg$FAILED;
3483
3566
 
3484
3567
  if (peg$silentFails === 0) {
3485
- peg$fail(peg$c60);
3568
+ peg$fail(peg$c58);
3486
3569
  }
3487
3570
  }
3488
3571
 
@@ -3491,7 +3574,7 @@ function peg$parse(input, options) {
3491
3574
 
3492
3575
  if (s3 !== peg$FAILED) {
3493
3576
  peg$savedPos = s0;
3494
- s1 = peg$c61(s2);
3577
+ s1 = peg$c59(s2);
3495
3578
  s0 = s1;
3496
3579
  } else {
3497
3580
  peg$currPos = s0;
@@ -3511,14 +3594,14 @@ function peg$parse(input, options) {
3511
3594
  s1 = peg$parse_();
3512
3595
 
3513
3596
  if (s1 !== peg$FAILED) {
3514
- if (input.substr(peg$currPos, 4).toLowerCase() === peg$c62) {
3597
+ if (input.substr(peg$currPos, 4).toLowerCase() === peg$c60) {
3515
3598
  s2 = input.substr(peg$currPos, 4);
3516
3599
  peg$currPos += 4;
3517
3600
  } else {
3518
3601
  s2 = peg$FAILED;
3519
3602
 
3520
3603
  if (peg$silentFails === 0) {
3521
- peg$fail(peg$c63);
3604
+ peg$fail(peg$c61);
3522
3605
  }
3523
3606
  }
3524
3607
 
@@ -3527,7 +3610,7 @@ function peg$parse(input, options) {
3527
3610
 
3528
3611
  if (s3 !== peg$FAILED) {
3529
3612
  peg$savedPos = s0;
3530
- s1 = peg$c61(s2);
3613
+ s1 = peg$c59(s2);
3531
3614
  s0 = s1;
3532
3615
  } else {
3533
3616
  peg$currPos = s0;
@@ -3547,14 +3630,14 @@ function peg$parse(input, options) {
3547
3630
  s1 = peg$parse_();
3548
3631
 
3549
3632
  if (s1 !== peg$FAILED) {
3550
- if (input.substr(peg$currPos, 11).toLowerCase() === peg$c64) {
3633
+ if (input.substr(peg$currPos, 11).toLowerCase() === peg$c62) {
3551
3634
  s2 = input.substr(peg$currPos, 11);
3552
3635
  peg$currPos += 11;
3553
3636
  } else {
3554
3637
  s2 = peg$FAILED;
3555
3638
 
3556
3639
  if (peg$silentFails === 0) {
3557
- peg$fail(peg$c65);
3640
+ peg$fail(peg$c63);
3558
3641
  }
3559
3642
  }
3560
3643
 
@@ -3563,7 +3646,7 @@ function peg$parse(input, options) {
3563
3646
 
3564
3647
  if (s3 !== peg$FAILED) {
3565
3648
  peg$savedPos = s0;
3566
- s1 = peg$c61(s2);
3649
+ s1 = peg$c59(s2);
3567
3650
  s0 = s1;
3568
3651
  } else {
3569
3652
  peg$currPos = s0;
@@ -3583,14 +3666,14 @@ function peg$parse(input, options) {
3583
3666
  s1 = peg$parse_();
3584
3667
 
3585
3668
  if (s1 !== peg$FAILED) {
3586
- if (input.substr(peg$currPos, 2).toLowerCase() === peg$c66) {
3669
+ if (input.substr(peg$currPos, 2).toLowerCase() === peg$c64) {
3587
3670
  s2 = input.substr(peg$currPos, 2);
3588
3671
  peg$currPos += 2;
3589
3672
  } else {
3590
3673
  s2 = peg$FAILED;
3591
3674
 
3592
3675
  if (peg$silentFails === 0) {
3593
- peg$fail(peg$c67);
3676
+ peg$fail(peg$c65);
3594
3677
  }
3595
3678
  }
3596
3679
 
@@ -3599,7 +3682,7 @@ function peg$parse(input, options) {
3599
3682
 
3600
3683
  if (s3 !== peg$FAILED) {
3601
3684
  peg$savedPos = s0;
3602
- s1 = peg$c61(s2);
3685
+ s1 = peg$c59(s2);
3603
3686
  s0 = s1;
3604
3687
  } else {
3605
3688
  peg$currPos = s0;
@@ -3619,14 +3702,14 @@ function peg$parse(input, options) {
3619
3702
  s1 = peg$parse_();
3620
3703
 
3621
3704
  if (s1 !== peg$FAILED) {
3622
- if (input.substr(peg$currPos, 6).toLowerCase() === peg$c68) {
3705
+ if (input.substr(peg$currPos, 6).toLowerCase() === peg$c66) {
3623
3706
  s2 = input.substr(peg$currPos, 6);
3624
3707
  peg$currPos += 6;
3625
3708
  } else {
3626
3709
  s2 = peg$FAILED;
3627
3710
 
3628
3711
  if (peg$silentFails === 0) {
3629
- peg$fail(peg$c69);
3712
+ peg$fail(peg$c67);
3630
3713
  }
3631
3714
  }
3632
3715
 
@@ -3635,7 +3718,7 @@ function peg$parse(input, options) {
3635
3718
 
3636
3719
  if (s3 !== peg$FAILED) {
3637
3720
  peg$savedPos = s0;
3638
- s1 = peg$c61(s2);
3721
+ s1 = peg$c59(s2);
3639
3722
  s0 = s1;
3640
3723
  } else {
3641
3724
  peg$currPos = s0;
@@ -3655,14 +3738,14 @@ function peg$parse(input, options) {
3655
3738
  s1 = peg$parse_();
3656
3739
 
3657
3740
  if (s1 !== peg$FAILED) {
3658
- if (input.substr(peg$currPos, 9) === peg$c70) {
3659
- s2 = peg$c70;
3741
+ if (input.substr(peg$currPos, 9) === peg$c68) {
3742
+ s2 = peg$c68;
3660
3743
  peg$currPos += 9;
3661
3744
  } else {
3662
3745
  s2 = peg$FAILED;
3663
3746
 
3664
3747
  if (peg$silentFails === 0) {
3665
- peg$fail(peg$c71);
3748
+ peg$fail(peg$c69);
3666
3749
  }
3667
3750
  }
3668
3751
 
@@ -3671,7 +3754,7 @@ function peg$parse(input, options) {
3671
3754
 
3672
3755
  if (s3 !== peg$FAILED) {
3673
3756
  peg$savedPos = s0;
3674
- s1 = peg$c61(s2);
3757
+ s1 = peg$c59(s2);
3675
3758
  s0 = s1;
3676
3759
  } else {
3677
3760
  peg$currPos = s0;
@@ -3698,7 +3781,7 @@ function peg$parse(input, options) {
3698
3781
 
3699
3782
  if (s3 !== peg$FAILED) {
3700
3783
  peg$savedPos = s0;
3701
- s1 = peg$c57(s2);
3784
+ s1 = peg$c55(s2);
3702
3785
  s0 = s1;
3703
3786
  } else {
3704
3787
  peg$currPos = s0;
@@ -3721,9 +3804,16 @@ function peg$parse(input, options) {
3721
3804
  s2 = peg$parseRefInline();
3722
3805
 
3723
3806
  if (s2 !== peg$FAILED) {
3724
- peg$savedPos = s0;
3725
- s1 = peg$c72(s2);
3726
- s0 = s1;
3807
+ s3 = peg$parse_();
3808
+
3809
+ if (s3 !== peg$FAILED) {
3810
+ peg$savedPos = s0;
3811
+ s1 = peg$c70(s2);
3812
+ s0 = s1;
3813
+ } else {
3814
+ peg$currPos = s0;
3815
+ s0 = peg$FAILED;
3816
+ }
3727
3817
  } else {
3728
3818
  peg$currPos = s0;
3729
3819
  s0 = peg$FAILED;
@@ -3745,7 +3835,7 @@ function peg$parse(input, options) {
3745
3835
 
3746
3836
  if (s3 !== peg$FAILED) {
3747
3837
  peg$savedPos = s0;
3748
- s1 = peg$c73(s2);
3838
+ s1 = peg$c71(s2);
3749
3839
  s0 = s1;
3750
3840
  } else {
3751
3841
  peg$currPos = s0;
@@ -3811,7 +3901,7 @@ function peg$parse(input, options) {
3811
3901
 
3812
3902
  if (s6 !== peg$FAILED) {
3813
3903
  peg$savedPos = s0;
3814
- s1 = peg$c74(s5);
3904
+ s1 = peg$c72(s5);
3815
3905
  s0 = s1;
3816
3906
  } else {
3817
3907
  peg$currPos = s0;
@@ -3864,7 +3954,7 @@ function peg$parse(input, options) {
3864
3954
 
3865
3955
  if (s3 !== peg$FAILED) {
3866
3956
  peg$savedPos = s0;
3867
- s1 = peg$c75(s2);
3957
+ s1 = peg$c73(s2);
3868
3958
  s0 = s1;
3869
3959
  } else {
3870
3960
  peg$currPos = s0;
@@ -3899,7 +3989,7 @@ function peg$parse(input, options) {
3899
3989
 
3900
3990
  if (s3 !== peg$FAILED) {
3901
3991
  peg$savedPos = s0;
3902
- s1 = peg$c76(s2);
3992
+ s1 = peg$c74(s2);
3903
3993
  s0 = s1;
3904
3994
  } else {
3905
3995
  peg$currPos = s0;
@@ -3943,7 +4033,7 @@ function peg$parse(input, options) {
3943
4033
 
3944
4034
  if (s4 !== peg$FAILED) {
3945
4035
  peg$savedPos = s0;
3946
- s1 = peg$c77(s2, s4);
4036
+ s1 = peg$c75(s2, s4);
3947
4037
  s0 = s1;
3948
4038
  } else {
3949
4039
  peg$currPos = s0;
@@ -3991,7 +4081,7 @@ function peg$parse(input, options) {
3991
4081
 
3992
4082
  if (s4 !== peg$FAILED) {
3993
4083
  peg$savedPos = s0;
3994
- s1 = peg$c78(s2, s4);
4084
+ s1 = peg$c76(s2, s4);
3995
4085
  s0 = s1;
3996
4086
  } else {
3997
4087
  peg$currPos = s0;
@@ -4029,7 +4119,7 @@ function peg$parse(input, options) {
4029
4119
 
4030
4120
  if (s2 !== peg$FAILED) {
4031
4121
  peg$savedPos = s0;
4032
- s1 = peg$c79(s1);
4122
+ s1 = peg$c77(s1);
4033
4123
  s0 = s1;
4034
4124
  } else {
4035
4125
  peg$currPos = s0;
@@ -4052,60 +4142,60 @@ function peg$parse(input, options) {
4052
4142
  s0 = peg$currPos;
4053
4143
 
4054
4144
  if (input.charCodeAt(peg$currPos) === 96) {
4055
- s1 = peg$c80;
4145
+ s1 = peg$c78;
4056
4146
  peg$currPos++;
4057
4147
  } else {
4058
4148
  s1 = peg$FAILED;
4059
4149
 
4060
4150
  if (peg$silentFails === 0) {
4061
- peg$fail(peg$c81);
4151
+ peg$fail(peg$c79);
4062
4152
  }
4063
4153
  }
4064
4154
 
4065
4155
  if (s1 !== peg$FAILED) {
4066
4156
  s2 = [];
4067
4157
 
4068
- if (peg$c82.test(input.charAt(peg$currPos))) {
4158
+ if (peg$c80.test(input.charAt(peg$currPos))) {
4069
4159
  s3 = input.charAt(peg$currPos);
4070
4160
  peg$currPos++;
4071
4161
  } else {
4072
4162
  s3 = peg$FAILED;
4073
4163
 
4074
4164
  if (peg$silentFails === 0) {
4075
- peg$fail(peg$c83);
4165
+ peg$fail(peg$c81);
4076
4166
  }
4077
4167
  }
4078
4168
 
4079
4169
  while (s3 !== peg$FAILED) {
4080
4170
  s2.push(s3);
4081
4171
 
4082
- if (peg$c82.test(input.charAt(peg$currPos))) {
4172
+ if (peg$c80.test(input.charAt(peg$currPos))) {
4083
4173
  s3 = input.charAt(peg$currPos);
4084
4174
  peg$currPos++;
4085
4175
  } else {
4086
4176
  s3 = peg$FAILED;
4087
4177
 
4088
4178
  if (peg$silentFails === 0) {
4089
- peg$fail(peg$c83);
4179
+ peg$fail(peg$c81);
4090
4180
  }
4091
4181
  }
4092
4182
  }
4093
4183
 
4094
4184
  if (s2 !== peg$FAILED) {
4095
4185
  if (input.charCodeAt(peg$currPos) === 96) {
4096
- s3 = peg$c80;
4186
+ s3 = peg$c78;
4097
4187
  peg$currPos++;
4098
4188
  } else {
4099
4189
  s3 = peg$FAILED;
4100
4190
 
4101
4191
  if (peg$silentFails === 0) {
4102
- peg$fail(peg$c81);
4192
+ peg$fail(peg$c79);
4103
4193
  }
4104
4194
  }
4105
4195
 
4106
4196
  if (s3 !== peg$FAILED) {
4107
4197
  peg$savedPos = s0;
4108
- s1 = peg$c84(s2);
4198
+ s1 = peg$c82(s2);
4109
4199
  s0 = s1;
4110
4200
  } else {
4111
4201
  peg$currPos = s0;
@@ -4128,13 +4218,13 @@ function peg$parse(input, options) {
4128
4218
  s0 = peg$currPos;
4129
4219
 
4130
4220
  if (input.charCodeAt(peg$currPos) === 40) {
4131
- s1 = peg$c30;
4221
+ s1 = peg$c28;
4132
4222
  peg$currPos++;
4133
4223
  } else {
4134
4224
  s1 = peg$FAILED;
4135
4225
 
4136
4226
  if (peg$silentFails === 0) {
4137
- peg$fail(peg$c31);
4227
+ peg$fail(peg$c29);
4138
4228
  }
4139
4229
  }
4140
4230
 
@@ -4219,19 +4309,19 @@ function peg$parse(input, options) {
4219
4309
 
4220
4310
  if (s4 !== peg$FAILED) {
4221
4311
  if (input.charCodeAt(peg$currPos) === 41) {
4222
- s5 = peg$c32;
4312
+ s5 = peg$c30;
4223
4313
  peg$currPos++;
4224
4314
  } else {
4225
4315
  s5 = peg$FAILED;
4226
4316
 
4227
4317
  if (peg$silentFails === 0) {
4228
- peg$fail(peg$c33);
4318
+ peg$fail(peg$c31);
4229
4319
  }
4230
4320
  }
4231
4321
 
4232
4322
  if (s5 !== peg$FAILED) {
4233
4323
  peg$savedPos = s0;
4234
- s1 = peg$c85(s3, s4);
4324
+ s1 = peg$c83(s3, s4);
4235
4325
  s0 = s1;
4236
4326
  } else {
4237
4327
  peg$currPos = s0;
@@ -4262,13 +4352,13 @@ function peg$parse(input, options) {
4262
4352
  s0 = peg$currPos;
4263
4353
 
4264
4354
  if (input.charCodeAt(peg$currPos) === 91) {
4265
- s1 = peg$c35;
4355
+ s1 = peg$c33;
4266
4356
  peg$currPos++;
4267
4357
  } else {
4268
4358
  s1 = peg$FAILED;
4269
4359
 
4270
4360
  if (peg$silentFails === 0) {
4271
- peg$fail(peg$c36);
4361
+ peg$fail(peg$c34);
4272
4362
  }
4273
4363
  }
4274
4364
 
@@ -4295,19 +4385,19 @@ function peg$parse(input, options) {
4295
4385
 
4296
4386
  if (s4 !== peg$FAILED) {
4297
4387
  if (input.charCodeAt(peg$currPos) === 93) {
4298
- s5 = peg$c37;
4388
+ s5 = peg$c35;
4299
4389
  peg$currPos++;
4300
4390
  } else {
4301
4391
  s5 = peg$FAILED;
4302
4392
 
4303
4393
  if (peg$silentFails === 0) {
4304
- peg$fail(peg$c38);
4394
+ peg$fail(peg$c36);
4305
4395
  }
4306
4396
  }
4307
4397
 
4308
4398
  if (s5 !== peg$FAILED) {
4309
4399
  peg$savedPos = s0;
4310
- s1 = peg$c86();
4400
+ s1 = peg$c84();
4311
4401
  s0 = s1;
4312
4402
  } else {
4313
4403
  peg$currPos = s0;
@@ -4334,13 +4424,13 @@ function peg$parse(input, options) {
4334
4424
  s0 = peg$currPos;
4335
4425
 
4336
4426
  if (input.charCodeAt(peg$currPos) === 91) {
4337
- s1 = peg$c35;
4427
+ s1 = peg$c33;
4338
4428
  peg$currPos++;
4339
4429
  } else {
4340
4430
  s1 = peg$FAILED;
4341
4431
 
4342
4432
  if (peg$silentFails === 0) {
4343
- peg$fail(peg$c36);
4433
+ peg$fail(peg$c34);
4344
4434
  }
4345
4435
  }
4346
4436
 
@@ -4390,19 +4480,19 @@ function peg$parse(input, options) {
4390
4480
 
4391
4481
  if (s3 !== peg$FAILED) {
4392
4482
  if (input.charCodeAt(peg$currPos) === 93) {
4393
- s4 = peg$c37;
4483
+ s4 = peg$c35;
4394
4484
  peg$currPos++;
4395
4485
  } else {
4396
4486
  s4 = peg$FAILED;
4397
4487
 
4398
4488
  if (peg$silentFails === 0) {
4399
- peg$fail(peg$c38);
4489
+ peg$fail(peg$c36);
4400
4490
  }
4401
4491
  }
4402
4492
 
4403
4493
  if (s4 !== peg$FAILED) {
4404
4494
  peg$savedPos = s0;
4405
- s1 = peg$c87(s2, s3);
4495
+ s1 = peg$c85(s2, s3);
4406
4496
  s0 = s1;
4407
4497
  } else {
4408
4498
  peg$currPos = s0;
@@ -4431,14 +4521,14 @@ function peg$parse(input, options) {
4431
4521
  s1 = peg$parse_();
4432
4522
 
4433
4523
  if (s1 !== peg$FAILED) {
4434
- if (input.substr(peg$currPos, 6).toLowerCase() === peg$c68) {
4524
+ if (input.substr(peg$currPos, 6).toLowerCase() === peg$c66) {
4435
4525
  s2 = input.substr(peg$currPos, 6);
4436
4526
  peg$currPos += 6;
4437
4527
  } else {
4438
4528
  s2 = peg$FAILED;
4439
4529
 
4440
4530
  if (peg$silentFails === 0) {
4441
- peg$fail(peg$c69);
4531
+ peg$fail(peg$c67);
4442
4532
  }
4443
4533
  }
4444
4534
 
@@ -4447,7 +4537,7 @@ function peg$parse(input, options) {
4447
4537
 
4448
4538
  if (s3 !== peg$FAILED) {
4449
4539
  peg$savedPos = s0;
4450
- s1 = peg$c61(s2);
4540
+ s1 = peg$c59(s2);
4451
4541
  s0 = s1;
4452
4542
  } else {
4453
4543
  peg$currPos = s0;
@@ -4474,7 +4564,7 @@ function peg$parse(input, options) {
4474
4564
 
4475
4565
  if (s3 !== peg$FAILED) {
4476
4566
  peg$savedPos = s0;
4477
- s1 = peg$c88(s2);
4567
+ s1 = peg$c86(s2);
4478
4568
  s0 = s1;
4479
4569
  } else {
4480
4570
  peg$currPos = s0;
@@ -4501,7 +4591,7 @@ function peg$parse(input, options) {
4501
4591
 
4502
4592
  if (s3 !== peg$FAILED) {
4503
4593
  peg$savedPos = s0;
4504
- s1 = peg$c89(s2);
4594
+ s1 = peg$c87(s2);
4505
4595
  s0 = s1;
4506
4596
  } else {
4507
4597
  peg$currPos = s0;
@@ -4528,7 +4618,7 @@ function peg$parse(input, options) {
4528
4618
 
4529
4619
  if (s3 !== peg$FAILED) {
4530
4620
  peg$savedPos = s0;
4531
- s1 = peg$c57(s2);
4621
+ s1 = peg$c55(s2);
4532
4622
  s0 = s1;
4533
4623
  } else {
4534
4624
  peg$currPos = s0;
@@ -4553,14 +4643,14 @@ function peg$parse(input, options) {
4553
4643
  var s0, s1, s2, s3;
4554
4644
  s0 = peg$currPos;
4555
4645
 
4556
- if (input.substr(peg$currPos, 5).toLowerCase() === peg$c90) {
4646
+ if (input.substr(peg$currPos, 5).toLowerCase() === peg$c88) {
4557
4647
  s1 = input.substr(peg$currPos, 5);
4558
4648
  peg$currPos += 5;
4559
4649
  } else {
4560
4650
  s1 = peg$FAILED;
4561
4651
 
4562
4652
  if (peg$silentFails === 0) {
4563
- peg$fail(peg$c91);
4653
+ peg$fail(peg$c89);
4564
4654
  }
4565
4655
  }
4566
4656
 
@@ -4572,7 +4662,7 @@ function peg$parse(input, options) {
4572
4662
 
4573
4663
  if (s3 !== peg$FAILED) {
4574
4664
  peg$savedPos = s0;
4575
- s1 = peg$c92(s3);
4665
+ s1 = peg$c90(s3);
4576
4666
  s0 = s1;
4577
4667
  } else {
4578
4668
  peg$currPos = s0;
@@ -4597,7 +4687,7 @@ function peg$parse(input, options) {
4597
4687
 
4598
4688
  if (s1 !== peg$FAILED) {
4599
4689
  peg$savedPos = s0;
4600
- s1 = peg$c93(s1);
4690
+ s1 = peg$c91(s1);
4601
4691
  }
4602
4692
 
4603
4693
  s0 = s1;
@@ -4605,14 +4695,14 @@ function peg$parse(input, options) {
4605
4695
  if (s0 === peg$FAILED) {
4606
4696
  s0 = peg$currPos;
4607
4697
 
4608
- if (input.substr(peg$currPos, 4).toLowerCase() === peg$c94) {
4698
+ if (input.substr(peg$currPos, 4).toLowerCase() === peg$c92) {
4609
4699
  s1 = input.substr(peg$currPos, 4);
4610
4700
  peg$currPos += 4;
4611
4701
  } else {
4612
4702
  s1 = peg$FAILED;
4613
4703
 
4614
4704
  if (peg$silentFails === 0) {
4615
- peg$fail(peg$c95);
4705
+ peg$fail(peg$c93);
4616
4706
  }
4617
4707
  }
4618
4708
 
@@ -4654,7 +4744,7 @@ function peg$parse(input, options) {
4654
4744
 
4655
4745
  if (s7 !== peg$FAILED) {
4656
4746
  peg$savedPos = s0;
4657
- s1 = peg$c92(s5);
4747
+ s1 = peg$c90(s5);
4658
4748
  s0 = s1;
4659
4749
  } else {
4660
4750
  peg$currPos = s0;
@@ -4693,14 +4783,14 @@ function peg$parse(input, options) {
4693
4783
  var s0, s1, s2, s3;
4694
4784
  s0 = peg$currPos;
4695
4785
 
4696
- if (input.substr(peg$currPos, 5).toLowerCase() === peg$c96) {
4786
+ if (input.substr(peg$currPos, 5).toLowerCase() === peg$c94) {
4697
4787
  s1 = input.substr(peg$currPos, 5);
4698
4788
  peg$currPos += 5;
4699
4789
  } else {
4700
4790
  s1 = peg$FAILED;
4701
4791
 
4702
4792
  if (peg$silentFails === 0) {
4703
- peg$fail(peg$c97);
4793
+ peg$fail(peg$c95);
4704
4794
  }
4705
4795
  }
4706
4796
 
@@ -4712,7 +4802,7 @@ function peg$parse(input, options) {
4712
4802
 
4713
4803
  if (s3 !== peg$FAILED) {
4714
4804
  peg$savedPos = s0;
4715
- s1 = peg$c92(s3);
4805
+ s1 = peg$c90(s3);
4716
4806
  s0 = s1;
4717
4807
  } else {
4718
4808
  peg$currPos = s0;
@@ -4734,14 +4824,14 @@ function peg$parse(input, options) {
4734
4824
  var s0, s1, s2, s3;
4735
4825
  s0 = peg$currPos;
4736
4826
 
4737
- if (input.substr(peg$currPos, 5).toLowerCase() === peg$c98) {
4827
+ if (input.substr(peg$currPos, 5).toLowerCase() === peg$c96) {
4738
4828
  s1 = input.substr(peg$currPos, 5);
4739
4829
  peg$currPos += 5;
4740
4830
  } else {
4741
4831
  s1 = peg$FAILED;
4742
4832
 
4743
4833
  if (peg$silentFails === 0) {
4744
- peg$fail(peg$c99);
4834
+ peg$fail(peg$c97);
4745
4835
  }
4746
4836
  }
4747
4837
 
@@ -4757,7 +4847,7 @@ function peg$parse(input, options) {
4757
4847
 
4758
4848
  if (s3 !== peg$FAILED) {
4759
4849
  peg$savedPos = s0;
4760
- s1 = peg$c44(s3);
4850
+ s1 = peg$c42(s3);
4761
4851
  s0 = s1;
4762
4852
  } else {
4763
4853
  peg$currPos = s0;
@@ -4776,17 +4866,17 @@ function peg$parse(input, options) {
4776
4866
  }
4777
4867
 
4778
4868
  function peg$parseRefInline() {
4779
- var s0, s1, s2, s3, s4, s5, s6, s7;
4869
+ var s0, s1, s2, s3, s4, s5;
4780
4870
  s0 = peg$currPos;
4781
4871
 
4782
- if (input.substr(peg$currPos, 4) === peg$c100) {
4783
- s1 = peg$c100;
4872
+ if (input.substr(peg$currPos, 4) === peg$c98) {
4873
+ s1 = peg$c98;
4784
4874
  peg$currPos += 4;
4785
4875
  } else {
4786
4876
  s1 = peg$FAILED;
4787
4877
 
4788
4878
  if (peg$silentFails === 0) {
4789
- peg$fail(peg$c101);
4879
+ peg$fail(peg$c99);
4790
4880
  }
4791
4881
  }
4792
4882
 
@@ -4816,35 +4906,12 @@ function peg$parse(input, options) {
4816
4906
  }
4817
4907
 
4818
4908
  if (s4 !== peg$FAILED) {
4819
- s5 = peg$parsename();
4909
+ s5 = peg$parseinline_field_identifier();
4820
4910
 
4821
4911
  if (s5 !== peg$FAILED) {
4822
- if (input.charCodeAt(peg$currPos) === 46) {
4823
- s6 = peg$c25;
4824
- peg$currPos++;
4825
- } else {
4826
- s6 = peg$FAILED;
4827
-
4828
- if (peg$silentFails === 0) {
4829
- peg$fail(peg$c26);
4830
- }
4831
- }
4832
-
4833
- if (s6 !== peg$FAILED) {
4834
- s7 = peg$parsename();
4835
-
4836
- if (s7 !== peg$FAILED) {
4837
- peg$savedPos = s0;
4838
- s1 = peg$c102(s3, s5, s7);
4839
- s0 = s1;
4840
- } else {
4841
- peg$currPos = s0;
4842
- s0 = peg$FAILED;
4843
- }
4844
- } else {
4845
- peg$currPos = s0;
4846
- s0 = peg$FAILED;
4847
- }
4912
+ peg$savedPos = s0;
4913
+ s1 = peg$c100(s3, s5);
4914
+ s0 = s1;
4848
4915
  } else {
4849
4916
  peg$currPos = s0;
4850
4917
  s0 = peg$FAILED;
@@ -4873,14 +4940,14 @@ function peg$parse(input, options) {
4873
4940
  var s0, s1, s2, s3;
4874
4941
  s0 = peg$currPos;
4875
4942
 
4876
- if (input.substr(peg$currPos, 8).toLowerCase() === peg$c103) {
4943
+ if (input.substr(peg$currPos, 8).toLowerCase() === peg$c101) {
4877
4944
  s1 = input.substr(peg$currPos, 8);
4878
4945
  peg$currPos += 8;
4879
4946
  } else {
4880
4947
  s1 = peg$FAILED;
4881
4948
 
4882
4949
  if (peg$silentFails === 0) {
4883
- peg$fail(peg$c104);
4950
+ peg$fail(peg$c102);
4884
4951
  }
4885
4952
  }
4886
4953
 
@@ -4892,7 +4959,7 @@ function peg$parse(input, options) {
4892
4959
 
4893
4960
  if (s3 !== peg$FAILED) {
4894
4961
  peg$savedPos = s0;
4895
- s1 = peg$c105(s3);
4962
+ s1 = peg$c103(s3);
4896
4963
  s0 = s1;
4897
4964
  } else {
4898
4965
  peg$currPos = s0;
@@ -4945,14 +5012,14 @@ function peg$parse(input, options) {
4945
5012
  }
4946
5013
 
4947
5014
  if (s1 !== peg$FAILED) {
4948
- if (input.substr(peg$currPos, 2) === peg$c106) {
4949
- s2 = peg$c106;
5015
+ if (input.substr(peg$currPos, 2) === peg$c104) {
5016
+ s2 = peg$c104;
4950
5017
  peg$currPos += 2;
4951
5018
  } else {
4952
5019
  s2 = peg$FAILED;
4953
5020
 
4954
5021
  if (peg$silentFails === 0) {
4955
- peg$fail(peg$c107);
5022
+ peg$fail(peg$c105);
4956
5023
  }
4957
5024
  }
4958
5025
 
@@ -4974,7 +5041,7 @@ function peg$parse(input, options) {
4974
5041
 
4975
5042
  if (s4 !== peg$FAILED) {
4976
5043
  peg$savedPos = s0;
4977
- s1 = peg$c108(s4);
5044
+ s1 = peg$c106(s4);
4978
5045
  s0 = s1;
4979
5046
  } else {
4980
5047
  peg$currPos = s0;
@@ -5030,7 +5097,7 @@ function peg$parse(input, options) {
5030
5097
 
5031
5098
  if (s7 !== peg$FAILED) {
5032
5099
  peg$savedPos = s0;
5033
- s1 = peg$c109(s5, s6);
5100
+ s1 = peg$c107(s5, s6);
5034
5101
  s0 = s1;
5035
5102
  } else {
5036
5103
  peg$currPos = s0;
@@ -5171,14 +5238,14 @@ function peg$parse(input, options) {
5171
5238
  var s0, s1;
5172
5239
  peg$silentFails++;
5173
5240
 
5174
- if (input.substr(peg$currPos, 7).toLowerCase() === peg$c111) {
5241
+ if (input.substr(peg$currPos, 7).toLowerCase() === peg$c109) {
5175
5242
  s0 = input.substr(peg$currPos, 7);
5176
5243
  peg$currPos += 7;
5177
5244
  } else {
5178
5245
  s0 = peg$FAILED;
5179
5246
 
5180
5247
  if (peg$silentFails === 0) {
5181
- peg$fail(peg$c112);
5248
+ peg$fail(peg$c110);
5182
5249
  }
5183
5250
  }
5184
5251
 
@@ -5188,7 +5255,7 @@ function peg$parse(input, options) {
5188
5255
  s1 = peg$FAILED;
5189
5256
 
5190
5257
  if (peg$silentFails === 0) {
5191
- peg$fail(peg$c110);
5258
+ peg$fail(peg$c108);
5192
5259
  }
5193
5260
  }
5194
5261
 
@@ -5199,14 +5266,14 @@ function peg$parse(input, options) {
5199
5266
  var s0, s1;
5200
5267
  peg$silentFails++;
5201
5268
 
5202
- if (input.substr(peg$currPos, 5).toLowerCase() === peg$c114) {
5269
+ if (input.substr(peg$currPos, 5).toLowerCase() === peg$c112) {
5203
5270
  s0 = input.substr(peg$currPos, 5);
5204
5271
  peg$currPos += 5;
5205
5272
  } else {
5206
5273
  s0 = peg$FAILED;
5207
5274
 
5208
5275
  if (peg$silentFails === 0) {
5209
- peg$fail(peg$c115);
5276
+ peg$fail(peg$c113);
5210
5277
  }
5211
5278
  }
5212
5279
 
@@ -5216,7 +5283,7 @@ function peg$parse(input, options) {
5216
5283
  s1 = peg$FAILED;
5217
5284
 
5218
5285
  if (peg$silentFails === 0) {
5219
- peg$fail(peg$c113);
5286
+ peg$fail(peg$c111);
5220
5287
  }
5221
5288
  }
5222
5289
 
@@ -5226,14 +5293,14 @@ function peg$parse(input, options) {
5226
5293
  function peg$parseas() {
5227
5294
  var s0;
5228
5295
 
5229
- if (input.substr(peg$currPos, 2).toLowerCase() === peg$c106) {
5296
+ if (input.substr(peg$currPos, 2).toLowerCase() === peg$c104) {
5230
5297
  s0 = input.substr(peg$currPos, 2);
5231
5298
  peg$currPos += 2;
5232
5299
  } else {
5233
5300
  s0 = peg$FAILED;
5234
5301
 
5235
5302
  if (peg$silentFails === 0) {
5236
- peg$fail(peg$c116);
5303
+ peg$fail(peg$c114);
5237
5304
  }
5238
5305
  }
5239
5306
 
@@ -5244,14 +5311,14 @@ function peg$parse(input, options) {
5244
5311
  var s0, s1;
5245
5312
  peg$silentFails++;
5246
5313
 
5247
- if (input.substr(peg$currPos, 3).toLowerCase() === peg$c118) {
5314
+ if (input.substr(peg$currPos, 3).toLowerCase() === peg$c116) {
5248
5315
  s0 = input.substr(peg$currPos, 3);
5249
5316
  peg$currPos += 3;
5250
5317
  } else {
5251
5318
  s0 = peg$FAILED;
5252
5319
 
5253
5320
  if (peg$silentFails === 0) {
5254
- peg$fail(peg$c119);
5321
+ peg$fail(peg$c117);
5255
5322
  }
5256
5323
  }
5257
5324
 
@@ -5261,7 +5328,7 @@ function peg$parse(input, options) {
5261
5328
  s1 = peg$FAILED;
5262
5329
 
5263
5330
  if (peg$silentFails === 0) {
5264
- peg$fail(peg$c117);
5331
+ peg$fail(peg$c115);
5265
5332
  }
5266
5333
  }
5267
5334
 
@@ -5273,20 +5340,20 @@ function peg$parse(input, options) {
5273
5340
  peg$silentFails++;
5274
5341
  s0 = peg$currPos;
5275
5342
 
5276
- if (input.substr(peg$currPos, 6).toLowerCase() === peg$c68) {
5343
+ if (input.substr(peg$currPos, 6).toLowerCase() === peg$c66) {
5277
5344
  s1 = input.substr(peg$currPos, 6);
5278
5345
  peg$currPos += 6;
5279
5346
  } else {
5280
5347
  s1 = peg$FAILED;
5281
5348
 
5282
5349
  if (peg$silentFails === 0) {
5283
- peg$fail(peg$c69);
5350
+ peg$fail(peg$c67);
5284
5351
  }
5285
5352
  }
5286
5353
 
5287
5354
  if (s1 !== peg$FAILED) {
5288
5355
  peg$savedPos = s0;
5289
- s1 = peg$c121();
5356
+ s1 = peg$c119();
5290
5357
  }
5291
5358
 
5292
5359
  s0 = s1;
@@ -5296,7 +5363,7 @@ function peg$parse(input, options) {
5296
5363
  s1 = peg$FAILED;
5297
5364
 
5298
5365
  if (peg$silentFails === 0) {
5299
- peg$fail(peg$c120);
5366
+ peg$fail(peg$c118);
5300
5367
  }
5301
5368
  }
5302
5369
 
@@ -5308,20 +5375,20 @@ function peg$parse(input, options) {
5308
5375
  peg$silentFails++;
5309
5376
  s0 = peg$currPos;
5310
5377
 
5311
- if (input.substr(peg$currPos, 2).toLowerCase() === peg$c66) {
5378
+ if (input.substr(peg$currPos, 2).toLowerCase() === peg$c64) {
5312
5379
  s1 = input.substr(peg$currPos, 2);
5313
5380
  peg$currPos += 2;
5314
5381
  } else {
5315
5382
  s1 = peg$FAILED;
5316
5383
 
5317
5384
  if (peg$silentFails === 0) {
5318
- peg$fail(peg$c67);
5385
+ peg$fail(peg$c65);
5319
5386
  }
5320
5387
  }
5321
5388
 
5322
5389
  if (s1 !== peg$FAILED) {
5323
5390
  peg$savedPos = s0;
5324
- s1 = peg$c123();
5391
+ s1 = peg$c121();
5325
5392
  }
5326
5393
 
5327
5394
  s0 = s1;
@@ -5331,7 +5398,7 @@ function peg$parse(input, options) {
5331
5398
  s1 = peg$FAILED;
5332
5399
 
5333
5400
  if (peg$silentFails === 0) {
5334
- peg$fail(peg$c122);
5401
+ peg$fail(peg$c120);
5335
5402
  }
5336
5403
  }
5337
5404
 
@@ -5342,14 +5409,14 @@ function peg$parse(input, options) {
5342
5409
  var s0, s1;
5343
5410
  peg$silentFails++;
5344
5411
 
5345
- if (input.substr(peg$currPos, 7).toLowerCase() === peg$c125) {
5412
+ if (input.substr(peg$currPos, 7).toLowerCase() === peg$c123) {
5346
5413
  s0 = input.substr(peg$currPos, 7);
5347
5414
  peg$currPos += 7;
5348
5415
  } else {
5349
5416
  s0 = peg$FAILED;
5350
5417
 
5351
5418
  if (peg$silentFails === 0) {
5352
- peg$fail(peg$c126);
5419
+ peg$fail(peg$c124);
5353
5420
  }
5354
5421
  }
5355
5422
 
@@ -5359,7 +5426,7 @@ function peg$parse(input, options) {
5359
5426
  s1 = peg$FAILED;
5360
5427
 
5361
5428
  if (peg$silentFails === 0) {
5362
- peg$fail(peg$c124);
5429
+ peg$fail(peg$c122);
5363
5430
  }
5364
5431
  }
5365
5432
 
@@ -5370,14 +5437,14 @@ function peg$parse(input, options) {
5370
5437
  var s0, s1;
5371
5438
  peg$silentFails++;
5372
5439
 
5373
- if (input.substr(peg$currPos, 5).toLowerCase() === peg$c128) {
5440
+ if (input.substr(peg$currPos, 5).toLowerCase() === peg$c126) {
5374
5441
  s0 = input.substr(peg$currPos, 5);
5375
5442
  peg$currPos += 5;
5376
5443
  } else {
5377
5444
  s0 = peg$FAILED;
5378
5445
 
5379
5446
  if (peg$silentFails === 0) {
5380
- peg$fail(peg$c129);
5447
+ peg$fail(peg$c127);
5381
5448
  }
5382
5449
  }
5383
5450
 
@@ -5387,7 +5454,7 @@ function peg$parse(input, options) {
5387
5454
  s1 = peg$FAILED;
5388
5455
 
5389
5456
  if (peg$silentFails === 0) {
5390
- peg$fail(peg$c127);
5457
+ peg$fail(peg$c125);
5391
5458
  }
5392
5459
  }
5393
5460
 
@@ -5398,14 +5465,14 @@ function peg$parse(input, options) {
5398
5465
  var s0, s1;
5399
5466
  peg$silentFails++;
5400
5467
 
5401
- if (input.substr(peg$currPos, 4).toLowerCase() === peg$c131) {
5468
+ if (input.substr(peg$currPos, 4).toLowerCase() === peg$c129) {
5402
5469
  s0 = input.substr(peg$currPos, 4);
5403
5470
  peg$currPos += 4;
5404
5471
  } else {
5405
5472
  s0 = peg$FAILED;
5406
5473
 
5407
5474
  if (peg$silentFails === 0) {
5408
- peg$fail(peg$c132);
5475
+ peg$fail(peg$c130);
5409
5476
  }
5410
5477
  }
5411
5478
 
@@ -5415,7 +5482,7 @@ function peg$parse(input, options) {
5415
5482
  s1 = peg$FAILED;
5416
5483
 
5417
5484
  if (peg$silentFails === 0) {
5418
- peg$fail(peg$c130);
5485
+ peg$fail(peg$c128);
5419
5486
  }
5420
5487
  }
5421
5488
 
@@ -5426,14 +5493,14 @@ function peg$parse(input, options) {
5426
5493
  var s0, s1;
5427
5494
  peg$silentFails++;
5428
5495
 
5429
- if (input.substr(peg$currPos, 4).toLowerCase() === peg$c134) {
5496
+ if (input.substr(peg$currPos, 4).toLowerCase() === peg$c132) {
5430
5497
  s0 = input.substr(peg$currPos, 4);
5431
5498
  peg$currPos += 4;
5432
5499
  } else {
5433
5500
  s0 = peg$FAILED;
5434
5501
 
5435
5502
  if (peg$silentFails === 0) {
5436
- peg$fail(peg$c135);
5503
+ peg$fail(peg$c133);
5437
5504
  }
5438
5505
  }
5439
5506
 
@@ -5443,7 +5510,7 @@ function peg$parse(input, options) {
5443
5510
  s1 = peg$FAILED;
5444
5511
 
5445
5512
  if (peg$silentFails === 0) {
5446
- peg$fail(peg$c133);
5513
+ peg$fail(peg$c131);
5447
5514
  }
5448
5515
  }
5449
5516
 
@@ -5453,14 +5520,14 @@ function peg$parse(input, options) {
5453
5520
  function peg$parseheader_color() {
5454
5521
  var s0;
5455
5522
 
5456
- if (input.substr(peg$currPos, 11).toLowerCase() === peg$c136) {
5523
+ if (input.substr(peg$currPos, 11).toLowerCase() === peg$c134) {
5457
5524
  s0 = input.substr(peg$currPos, 11);
5458
5525
  peg$currPos += 11;
5459
5526
  } else {
5460
5527
  s0 = peg$FAILED;
5461
5528
 
5462
5529
  if (peg$silentFails === 0) {
5463
- peg$fail(peg$c137);
5530
+ peg$fail(peg$c135);
5464
5531
  }
5465
5532
  }
5466
5533
 
@@ -5471,14 +5538,14 @@ function peg$parse(input, options) {
5471
5538
  var s0, s1;
5472
5539
  peg$silentFails++;
5473
5540
 
5474
- if (input.substr(peg$currPos, 10).toLowerCase() === peg$c139) {
5541
+ if (input.substr(peg$currPos, 10).toLowerCase() === peg$c137) {
5475
5542
  s0 = input.substr(peg$currPos, 10);
5476
5543
  peg$currPos += 10;
5477
5544
  } else {
5478
5545
  s0 = peg$FAILED;
5479
5546
 
5480
5547
  if (peg$silentFails === 0) {
5481
- peg$fail(peg$c140);
5548
+ peg$fail(peg$c138);
5482
5549
  }
5483
5550
  }
5484
5551
 
@@ -5488,7 +5555,7 @@ function peg$parse(input, options) {
5488
5555
  s1 = peg$FAILED;
5489
5556
 
5490
5557
  if (peg$silentFails === 0) {
5491
- peg$fail(peg$c138);
5558
+ peg$fail(peg$c136);
5492
5559
  }
5493
5560
  }
5494
5561
 
@@ -5499,14 +5566,14 @@ function peg$parse(input, options) {
5499
5566
  var s0, s1;
5500
5567
  peg$silentFails++;
5501
5568
 
5502
- if (input.substr(peg$currPos, 9).toLowerCase() === peg$c142) {
5569
+ if (input.substr(peg$currPos, 9).toLowerCase() === peg$c140) {
5503
5570
  s0 = input.substr(peg$currPos, 9);
5504
5571
  peg$currPos += 9;
5505
5572
  } else {
5506
5573
  s0 = peg$FAILED;
5507
5574
 
5508
5575
  if (peg$silentFails === 0) {
5509
- peg$fail(peg$c143);
5576
+ peg$fail(peg$c141);
5510
5577
  }
5511
5578
  }
5512
5579
 
@@ -5516,7 +5583,7 @@ function peg$parse(input, options) {
5516
5583
  s1 = peg$FAILED;
5517
5584
 
5518
5585
  if (peg$silentFails === 0) {
5519
- peg$fail(peg$c141);
5586
+ peg$fail(peg$c139);
5520
5587
  }
5521
5588
  }
5522
5589
 
@@ -5527,14 +5594,14 @@ function peg$parse(input, options) {
5527
5594
  var s0, s1;
5528
5595
  peg$silentFails++;
5529
5596
 
5530
- if (input.substr(peg$currPos, 8).toLowerCase() === peg$c145) {
5597
+ if (input.substr(peg$currPos, 8).toLowerCase() === peg$c143) {
5531
5598
  s0 = input.substr(peg$currPos, 8);
5532
5599
  peg$currPos += 8;
5533
5600
  } else {
5534
5601
  s0 = peg$FAILED;
5535
5602
 
5536
5603
  if (peg$silentFails === 0) {
5537
- peg$fail(peg$c146);
5604
+ peg$fail(peg$c144);
5538
5605
  }
5539
5606
  }
5540
5607
 
@@ -5544,7 +5611,7 @@ function peg$parse(input, options) {
5544
5611
  s1 = peg$FAILED;
5545
5612
 
5546
5613
  if (peg$silentFails === 0) {
5547
- peg$fail(peg$c144);
5614
+ peg$fail(peg$c142);
5548
5615
  }
5549
5616
  }
5550
5617
 
@@ -5555,14 +5622,14 @@ function peg$parse(input, options) {
5555
5622
  var s0, s1;
5556
5623
  peg$silentFails++;
5557
5624
 
5558
- if (input.substr(peg$currPos, 7).toLowerCase() === peg$c148) {
5625
+ if (input.substr(peg$currPos, 7).toLowerCase() === peg$c146) {
5559
5626
  s0 = input.substr(peg$currPos, 7);
5560
5627
  peg$currPos += 7;
5561
5628
  } else {
5562
5629
  s0 = peg$FAILED;
5563
5630
 
5564
5631
  if (peg$silentFails === 0) {
5565
- peg$fail(peg$c149);
5632
+ peg$fail(peg$c147);
5566
5633
  }
5567
5634
  }
5568
5635
 
@@ -5572,7 +5639,7 @@ function peg$parse(input, options) {
5572
5639
  s1 = peg$FAILED;
5573
5640
 
5574
5641
  if (peg$silentFails === 0) {
5575
- peg$fail(peg$c147);
5642
+ peg$fail(peg$c145);
5576
5643
  }
5577
5644
  }
5578
5645
 
@@ -5583,14 +5650,14 @@ function peg$parse(input, options) {
5583
5650
  var s0, s1;
5584
5651
  peg$silentFails++;
5585
5652
 
5586
- if (input.substr(peg$currPos, 8).toLowerCase() === peg$c151) {
5653
+ if (input.substr(peg$currPos, 8).toLowerCase() === peg$c149) {
5587
5654
  s0 = input.substr(peg$currPos, 8);
5588
5655
  peg$currPos += 8;
5589
5656
  } else {
5590
5657
  s0 = peg$FAILED;
5591
5658
 
5592
5659
  if (peg$silentFails === 0) {
5593
- peg$fail(peg$c152);
5660
+ peg$fail(peg$c150);
5594
5661
  }
5595
5662
  }
5596
5663
 
@@ -5600,7 +5667,7 @@ function peg$parse(input, options) {
5600
5667
  s1 = peg$FAILED;
5601
5668
 
5602
5669
  if (peg$silentFails === 0) {
5603
- peg$fail(peg$c150);
5670
+ peg$fail(peg$c148);
5604
5671
  }
5605
5672
  }
5606
5673
 
@@ -5611,14 +5678,14 @@ function peg$parse(input, options) {
5611
5678
  var s0, s1;
5612
5679
  peg$silentFails++;
5613
5680
 
5614
- if (input.substr(peg$currPos, 11).toLowerCase() === peg$c154) {
5681
+ if (input.substr(peg$currPos, 11).toLowerCase() === peg$c152) {
5615
5682
  s0 = input.substr(peg$currPos, 11);
5616
5683
  peg$currPos += 11;
5617
5684
  } else {
5618
5685
  s0 = peg$FAILED;
5619
5686
 
5620
5687
  if (peg$silentFails === 0) {
5621
- peg$fail(peg$c155);
5688
+ peg$fail(peg$c153);
5622
5689
  }
5623
5690
  }
5624
5691
 
@@ -5628,7 +5695,7 @@ function peg$parse(input, options) {
5628
5695
  s1 = peg$FAILED;
5629
5696
 
5630
5697
  if (peg$silentFails === 0) {
5631
- peg$fail(peg$c153);
5698
+ peg$fail(peg$c151);
5632
5699
  }
5633
5700
  }
5634
5701
 
@@ -5639,14 +5706,14 @@ function peg$parse(input, options) {
5639
5706
  var s0, s1;
5640
5707
  peg$silentFails++;
5641
5708
 
5642
- if (peg$c157.test(input.charAt(peg$currPos))) {
5709
+ if (peg$c155.test(input.charAt(peg$currPos))) {
5643
5710
  s0 = input.charAt(peg$currPos);
5644
5711
  peg$currPos++;
5645
5712
  } else {
5646
5713
  s0 = peg$FAILED;
5647
5714
 
5648
5715
  if (peg$silentFails === 0) {
5649
- peg$fail(peg$c158);
5716
+ peg$fail(peg$c156);
5650
5717
  }
5651
5718
  }
5652
5719
 
@@ -5656,7 +5723,7 @@ function peg$parse(input, options) {
5656
5723
  s1 = peg$FAILED;
5657
5724
 
5658
5725
  if (peg$silentFails === 0) {
5659
- peg$fail(peg$c156);
5726
+ peg$fail(peg$c154);
5660
5727
  }
5661
5728
  }
5662
5729
 
@@ -5681,7 +5748,7 @@ function peg$parse(input, options) {
5681
5748
 
5682
5749
  if (s1 !== peg$FAILED) {
5683
5750
  peg$savedPos = s0;
5684
- s1 = peg$c160(s1);
5751
+ s1 = peg$c158(s1);
5685
5752
  }
5686
5753
 
5687
5754
  s0 = s1;
@@ -5693,14 +5760,14 @@ function peg$parse(input, options) {
5693
5760
  if (s1 !== peg$FAILED) {
5694
5761
  s2 = [];
5695
5762
 
5696
- if (peg$c161.test(input.charAt(peg$currPos))) {
5763
+ if (peg$c159.test(input.charAt(peg$currPos))) {
5697
5764
  s3 = input.charAt(peg$currPos);
5698
5765
  peg$currPos++;
5699
5766
  } else {
5700
5767
  s3 = peg$FAILED;
5701
5768
 
5702
5769
  if (peg$silentFails === 0) {
5703
- peg$fail(peg$c162);
5770
+ peg$fail(peg$c160);
5704
5771
  }
5705
5772
  }
5706
5773
 
@@ -5708,14 +5775,14 @@ function peg$parse(input, options) {
5708
5775
  while (s3 !== peg$FAILED) {
5709
5776
  s2.push(s3);
5710
5777
 
5711
- if (peg$c161.test(input.charAt(peg$currPos))) {
5778
+ if (peg$c159.test(input.charAt(peg$currPos))) {
5712
5779
  s3 = input.charAt(peg$currPos);
5713
5780
  peg$currPos++;
5714
5781
  } else {
5715
5782
  s3 = peg$FAILED;
5716
5783
 
5717
5784
  if (peg$silentFails === 0) {
5718
- peg$fail(peg$c162);
5785
+ peg$fail(peg$c160);
5719
5786
  }
5720
5787
  }
5721
5788
  }
@@ -5728,7 +5795,7 @@ function peg$parse(input, options) {
5728
5795
 
5729
5796
  if (s3 !== peg$FAILED) {
5730
5797
  peg$savedPos = s0;
5731
- s1 = peg$c160(s2);
5798
+ s1 = peg$c158(s2);
5732
5799
  s0 = s1;
5733
5800
  } else {
5734
5801
  peg$currPos = s0;
@@ -5750,7 +5817,251 @@ function peg$parse(input, options) {
5750
5817
  s1 = peg$FAILED;
5751
5818
 
5752
5819
  if (peg$silentFails === 0) {
5753
- peg$fail(peg$c159);
5820
+ peg$fail(peg$c157);
5821
+ }
5822
+ }
5823
+
5824
+ return s0;
5825
+ }
5826
+
5827
+ function peg$parseschema_name() {
5828
+ var s0, s1, s2;
5829
+ peg$silentFails++;
5830
+ s0 = peg$currPos;
5831
+ s1 = peg$parsename();
5832
+
5833
+ if (s1 !== peg$FAILED) {
5834
+ if (input.charCodeAt(peg$currPos) === 46) {
5835
+ s2 = peg$c162;
5836
+ peg$currPos++;
5837
+ } else {
5838
+ s2 = peg$FAILED;
5839
+
5840
+ if (peg$silentFails === 0) {
5841
+ peg$fail(peg$c163);
5842
+ }
5843
+ }
5844
+
5845
+ if (s2 !== peg$FAILED) {
5846
+ peg$savedPos = s0;
5847
+ s1 = peg$c164(s1);
5848
+ s0 = s1;
5849
+ } else {
5850
+ peg$currPos = s0;
5851
+ s0 = peg$FAILED;
5852
+ }
5853
+ } else {
5854
+ peg$currPos = s0;
5855
+ s0 = peg$FAILED;
5856
+ }
5857
+
5858
+ peg$silentFails--;
5859
+
5860
+ if (s0 === peg$FAILED) {
5861
+ s1 = peg$FAILED;
5862
+
5863
+ if (peg$silentFails === 0) {
5864
+ peg$fail(peg$c161);
5865
+ }
5866
+ }
5867
+
5868
+ return s0;
5869
+ }
5870
+
5871
+ function peg$parsefield_identifier() {
5872
+ var s0, s1, s2, s3, s4, s5;
5873
+ s0 = peg$currPos;
5874
+ s1 = peg$parsename();
5875
+
5876
+ if (s1 !== peg$FAILED) {
5877
+ if (input.charCodeAt(peg$currPos) === 46) {
5878
+ s2 = peg$c162;
5879
+ peg$currPos++;
5880
+ } else {
5881
+ s2 = peg$FAILED;
5882
+
5883
+ if (peg$silentFails === 0) {
5884
+ peg$fail(peg$c163);
5885
+ }
5886
+ }
5887
+
5888
+ if (s2 !== peg$FAILED) {
5889
+ s3 = peg$parsename();
5890
+
5891
+ if (s3 !== peg$FAILED) {
5892
+ if (input.charCodeAt(peg$currPos) === 46) {
5893
+ s4 = peg$c162;
5894
+ peg$currPos++;
5895
+ } else {
5896
+ s4 = peg$FAILED;
5897
+
5898
+ if (peg$silentFails === 0) {
5899
+ peg$fail(peg$c163);
5900
+ }
5901
+ }
5902
+
5903
+ if (s4 !== peg$FAILED) {
5904
+ s5 = peg$parseRefField();
5905
+
5906
+ if (s5 !== peg$FAILED) {
5907
+ peg$savedPos = s0;
5908
+ s1 = peg$c165(s1, s3, s5);
5909
+ s0 = s1;
5910
+ } else {
5911
+ peg$currPos = s0;
5912
+ s0 = peg$FAILED;
5913
+ }
5914
+ } else {
5915
+ peg$currPos = s0;
5916
+ s0 = peg$FAILED;
5917
+ }
5918
+ } else {
5919
+ peg$currPos = s0;
5920
+ s0 = peg$FAILED;
5921
+ }
5922
+ } else {
5923
+ peg$currPos = s0;
5924
+ s0 = peg$FAILED;
5925
+ }
5926
+ } else {
5927
+ peg$currPos = s0;
5928
+ s0 = peg$FAILED;
5929
+ }
5930
+
5931
+ if (s0 === peg$FAILED) {
5932
+ s0 = peg$currPos;
5933
+ s1 = peg$parsename();
5934
+
5935
+ if (s1 !== peg$FAILED) {
5936
+ if (input.charCodeAt(peg$currPos) === 46) {
5937
+ s2 = peg$c162;
5938
+ peg$currPos++;
5939
+ } else {
5940
+ s2 = peg$FAILED;
5941
+
5942
+ if (peg$silentFails === 0) {
5943
+ peg$fail(peg$c163);
5944
+ }
5945
+ }
5946
+
5947
+ if (s2 !== peg$FAILED) {
5948
+ s3 = peg$parseRefField();
5949
+
5950
+ if (s3 !== peg$FAILED) {
5951
+ peg$savedPos = s0;
5952
+ s1 = peg$c166(s1, s3);
5953
+ s0 = s1;
5954
+ } else {
5955
+ peg$currPos = s0;
5956
+ s0 = peg$FAILED;
5957
+ }
5958
+ } else {
5959
+ peg$currPos = s0;
5960
+ s0 = peg$FAILED;
5961
+ }
5962
+ } else {
5963
+ peg$currPos = s0;
5964
+ s0 = peg$FAILED;
5965
+ }
5966
+ }
5967
+
5968
+ return s0;
5969
+ }
5970
+
5971
+ function peg$parseinline_field_identifier() {
5972
+ var s0, s1, s2, s3, s4, s5;
5973
+ s0 = peg$currPos;
5974
+ s1 = peg$parsename();
5975
+
5976
+ if (s1 !== peg$FAILED) {
5977
+ if (input.charCodeAt(peg$currPos) === 46) {
5978
+ s2 = peg$c162;
5979
+ peg$currPos++;
5980
+ } else {
5981
+ s2 = peg$FAILED;
5982
+
5983
+ if (peg$silentFails === 0) {
5984
+ peg$fail(peg$c163);
5985
+ }
5986
+ }
5987
+
5988
+ if (s2 !== peg$FAILED) {
5989
+ s3 = peg$parsename();
5990
+
5991
+ if (s3 !== peg$FAILED) {
5992
+ if (input.charCodeAt(peg$currPos) === 46) {
5993
+ s4 = peg$c162;
5994
+ peg$currPos++;
5995
+ } else {
5996
+ s4 = peg$FAILED;
5997
+
5998
+ if (peg$silentFails === 0) {
5999
+ peg$fail(peg$c163);
6000
+ }
6001
+ }
6002
+
6003
+ if (s4 !== peg$FAILED) {
6004
+ s5 = peg$parsename();
6005
+
6006
+ if (s5 !== peg$FAILED) {
6007
+ peg$savedPos = s0;
6008
+ s1 = peg$c167(s1, s3, s5);
6009
+ s0 = s1;
6010
+ } else {
6011
+ peg$currPos = s0;
6012
+ s0 = peg$FAILED;
6013
+ }
6014
+ } else {
6015
+ peg$currPos = s0;
6016
+ s0 = peg$FAILED;
6017
+ }
6018
+ } else {
6019
+ peg$currPos = s0;
6020
+ s0 = peg$FAILED;
6021
+ }
6022
+ } else {
6023
+ peg$currPos = s0;
6024
+ s0 = peg$FAILED;
6025
+ }
6026
+ } else {
6027
+ peg$currPos = s0;
6028
+ s0 = peg$FAILED;
6029
+ }
6030
+
6031
+ if (s0 === peg$FAILED) {
6032
+ s0 = peg$currPos;
6033
+ s1 = peg$parsename();
6034
+
6035
+ if (s1 !== peg$FAILED) {
6036
+ if (input.charCodeAt(peg$currPos) === 46) {
6037
+ s2 = peg$c162;
6038
+ peg$currPos++;
6039
+ } else {
6040
+ s2 = peg$FAILED;
6041
+
6042
+ if (peg$silentFails === 0) {
6043
+ peg$fail(peg$c163);
6044
+ }
6045
+ }
6046
+
6047
+ if (s2 !== peg$FAILED) {
6048
+ s3 = peg$parsename();
6049
+
6050
+ if (s3 !== peg$FAILED) {
6051
+ peg$savedPos = s0;
6052
+ s1 = peg$c168(s1, s3);
6053
+ s0 = s1;
6054
+ } else {
6055
+ peg$currPos = s0;
6056
+ s0 = peg$FAILED;
6057
+ }
6058
+ } else {
6059
+ peg$currPos = s0;
6060
+ s0 = peg$FAILED;
6061
+ }
6062
+ } else {
6063
+ peg$currPos = s0;
6064
+ s0 = peg$FAILED;
5754
6065
  }
5755
6066
  }
5756
6067
 
@@ -5775,7 +6086,7 @@ function peg$parse(input, options) {
5775
6086
 
5776
6087
  if (s1 !== peg$FAILED) {
5777
6088
  peg$savedPos = s0;
5778
- s1 = peg$c160(s1);
6089
+ s1 = peg$c158(s1);
5779
6090
  }
5780
6091
 
5781
6092
  s0 = s1;
@@ -5787,14 +6098,14 @@ function peg$parse(input, options) {
5787
6098
  if (s1 !== peg$FAILED) {
5788
6099
  s2 = [];
5789
6100
 
5790
- if (peg$c161.test(input.charAt(peg$currPos))) {
6101
+ if (peg$c159.test(input.charAt(peg$currPos))) {
5791
6102
  s3 = input.charAt(peg$currPos);
5792
6103
  peg$currPos++;
5793
6104
  } else {
5794
6105
  s3 = peg$FAILED;
5795
6106
 
5796
6107
  if (peg$silentFails === 0) {
5797
- peg$fail(peg$c162);
6108
+ peg$fail(peg$c160);
5798
6109
  }
5799
6110
  }
5800
6111
 
@@ -5802,14 +6113,14 @@ function peg$parse(input, options) {
5802
6113
  while (s3 !== peg$FAILED) {
5803
6114
  s2.push(s3);
5804
6115
 
5805
- if (peg$c161.test(input.charAt(peg$currPos))) {
6116
+ if (peg$c159.test(input.charAt(peg$currPos))) {
5806
6117
  s3 = input.charAt(peg$currPos);
5807
6118
  peg$currPos++;
5808
6119
  } else {
5809
6120
  s3 = peg$FAILED;
5810
6121
 
5811
6122
  if (peg$silentFails === 0) {
5812
- peg$fail(peg$c162);
6123
+ peg$fail(peg$c160);
5813
6124
  }
5814
6125
  }
5815
6126
  }
@@ -5822,7 +6133,7 @@ function peg$parse(input, options) {
5822
6133
 
5823
6134
  if (s3 !== peg$FAILED) {
5824
6135
  peg$savedPos = s0;
5825
- s1 = peg$c160(s2);
6136
+ s1 = peg$c158(s2);
5826
6137
  s0 = s1;
5827
6138
  } else {
5828
6139
  peg$currPos = s0;
@@ -5844,7 +6155,7 @@ function peg$parse(input, options) {
5844
6155
  s1 = peg$FAILED;
5845
6156
 
5846
6157
  if (peg$silentFails === 0) {
5847
- peg$fail(peg$c159);
6158
+ peg$fail(peg$c157);
5848
6159
  }
5849
6160
  }
5850
6161
 
@@ -5869,13 +6180,13 @@ function peg$parse(input, options) {
5869
6180
 
5870
6181
  if (s3 !== peg$FAILED) {
5871
6182
  if (input.charCodeAt(peg$currPos) === 40) {
5872
- s4 = peg$c30;
6183
+ s4 = peg$c28;
5873
6184
  peg$currPos++;
5874
6185
  } else {
5875
6186
  s4 = peg$FAILED;
5876
6187
 
5877
6188
  if (peg$silentFails === 0) {
5878
- peg$fail(peg$c31);
6189
+ peg$fail(peg$c29);
5879
6190
  }
5880
6191
  }
5881
6192
 
@@ -5902,13 +6213,13 @@ function peg$parse(input, options) {
5902
6213
 
5903
6214
  if (s7 !== peg$FAILED) {
5904
6215
  if (input.charCodeAt(peg$currPos) === 41) {
5905
- s8 = peg$c32;
6216
+ s8 = peg$c30;
5906
6217
  peg$currPos++;
5907
6218
  } else {
5908
6219
  s8 = peg$FAILED;
5909
6220
 
5910
6221
  if (peg$silentFails === 0) {
5911
- peg$fail(peg$c33);
6222
+ peg$fail(peg$c31);
5912
6223
  }
5913
6224
  }
5914
6225
 
@@ -5946,7 +6257,7 @@ function peg$parse(input, options) {
5946
6257
 
5947
6258
  if (s2 !== peg$FAILED) {
5948
6259
  peg$savedPos = s0;
5949
- s1 = peg$c164(s1, s2);
6260
+ s1 = peg$c170(s1, s2);
5950
6261
  s0 = s1;
5951
6262
  } else {
5952
6263
  peg$currPos = s0;
@@ -5963,7 +6274,7 @@ function peg$parse(input, options) {
5963
6274
  s1 = peg$FAILED;
5964
6275
 
5965
6276
  if (peg$silentFails === 0) {
5966
- peg$fail(peg$c163);
6277
+ peg$fail(peg$c169);
5967
6278
  }
5968
6279
  }
5969
6280
 
@@ -5984,7 +6295,7 @@ function peg$parse(input, options) {
5984
6295
 
5985
6296
  if (s1 !== peg$FAILED) {
5986
6297
  peg$savedPos = s0;
5987
- s1 = peg$c166(s1);
6298
+ s1 = peg$c172(s1);
5988
6299
  }
5989
6300
 
5990
6301
  s0 = s1;
@@ -5994,7 +6305,7 @@ function peg$parse(input, options) {
5994
6305
  s1 = peg$FAILED;
5995
6306
 
5996
6307
  if (peg$silentFails === 0) {
5997
- peg$fail(peg$c165);
6308
+ peg$fail(peg$c171);
5998
6309
  }
5999
6310
  }
6000
6311
 
@@ -6028,13 +6339,13 @@ function peg$parse(input, options) {
6028
6339
 
6029
6340
  if (s3 !== peg$FAILED) {
6030
6341
  if (input.charCodeAt(peg$currPos) === 40) {
6031
- s4 = peg$c30;
6342
+ s4 = peg$c28;
6032
6343
  peg$currPos++;
6033
6344
  } else {
6034
6345
  s4 = peg$FAILED;
6035
6346
 
6036
6347
  if (peg$silentFails === 0) {
6037
- peg$fail(peg$c31);
6348
+ peg$fail(peg$c29);
6038
6349
  }
6039
6350
  }
6040
6351
 
@@ -6043,13 +6354,13 @@ function peg$parse(input, options) {
6043
6354
 
6044
6355
  if (s5 !== peg$FAILED) {
6045
6356
  if (input.charCodeAt(peg$currPos) === 41) {
6046
- s6 = peg$c32;
6357
+ s6 = peg$c30;
6047
6358
  peg$currPos++;
6048
6359
  } else {
6049
6360
  s6 = peg$FAILED;
6050
6361
 
6051
6362
  if (peg$silentFails === 0) {
6052
- peg$fail(peg$c33);
6363
+ peg$fail(peg$c31);
6053
6364
  }
6054
6365
  }
6055
6366
 
@@ -6081,13 +6392,13 @@ function peg$parse(input, options) {
6081
6392
  s1 = peg$currPos;
6082
6393
 
6083
6394
  if (input.charCodeAt(peg$currPos) === 40) {
6084
- s2 = peg$c30;
6395
+ s2 = peg$c28;
6085
6396
  peg$currPos++;
6086
6397
  } else {
6087
6398
  s2 = peg$FAILED;
6088
6399
 
6089
6400
  if (peg$silentFails === 0) {
6090
- peg$fail(peg$c31);
6401
+ peg$fail(peg$c29);
6091
6402
  }
6092
6403
  }
6093
6404
 
@@ -6096,13 +6407,13 @@ function peg$parse(input, options) {
6096
6407
 
6097
6408
  if (s3 !== peg$FAILED) {
6098
6409
  if (input.charCodeAt(peg$currPos) === 41) {
6099
- s4 = peg$c32;
6410
+ s4 = peg$c30;
6100
6411
  peg$currPos++;
6101
6412
  } else {
6102
6413
  s4 = peg$FAILED;
6103
6414
 
6104
6415
  if (peg$silentFails === 0) {
6105
- peg$fail(peg$c33);
6416
+ peg$fail(peg$c31);
6106
6417
  }
6107
6418
  }
6108
6419
 
@@ -6149,25 +6460,25 @@ function peg$parse(input, options) {
6149
6460
 
6150
6461
  if (s4 === peg$FAILED) {
6151
6462
  if (input.charCodeAt(peg$currPos) === 44) {
6152
- s4 = peg$c167;
6463
+ s4 = peg$c173;
6153
6464
  peg$currPos++;
6154
6465
  } else {
6155
6466
  s4 = peg$FAILED;
6156
6467
 
6157
6468
  if (peg$silentFails === 0) {
6158
- peg$fail(peg$c168);
6469
+ peg$fail(peg$c174);
6159
6470
  }
6160
6471
  }
6161
6472
 
6162
6473
  if (s4 === peg$FAILED) {
6163
- if (input.substr(peg$currPos, 2) === peg$c169) {
6164
- s4 = peg$c169;
6474
+ if (input.substr(peg$currPos, 2) === peg$c175) {
6475
+ s4 = peg$c175;
6165
6476
  peg$currPos += 2;
6166
6477
  } else {
6167
6478
  s4 = peg$FAILED;
6168
6479
 
6169
6480
  if (peg$silentFails === 0) {
6170
- peg$fail(peg$c170);
6481
+ peg$fail(peg$c176);
6171
6482
  }
6172
6483
  }
6173
6484
 
@@ -6176,14 +6487,14 @@ function peg$parse(input, options) {
6176
6487
  s5 = peg$parseendline();
6177
6488
 
6178
6489
  if (s5 !== peg$FAILED) {
6179
- if (input.substr(peg$currPos, 2) === peg$c169) {
6180
- s6 = peg$c169;
6490
+ if (input.substr(peg$currPos, 2) === peg$c175) {
6491
+ s6 = peg$c175;
6181
6492
  peg$currPos += 2;
6182
6493
  } else {
6183
6494
  s6 = peg$FAILED;
6184
6495
 
6185
6496
  if (peg$silentFails === 0) {
6186
- peg$fail(peg$c170);
6497
+ peg$fail(peg$c176);
6187
6498
  }
6188
6499
  }
6189
6500
 
@@ -6248,7 +6559,7 @@ function peg$parse(input, options) {
6248
6559
  s4 = peg$FAILED;
6249
6560
 
6250
6561
  if (peg$silentFails === 0) {
6251
- peg$fail(peg$c171);
6562
+ peg$fail(peg$c177);
6252
6563
  }
6253
6564
  }
6254
6565
 
@@ -6278,7 +6589,7 @@ function peg$parse(input, options) {
6278
6589
 
6279
6590
  if (s1 !== peg$FAILED) {
6280
6591
  peg$savedPos = s0;
6281
- s1 = peg$c172(s1);
6592
+ s1 = peg$c178(s1);
6282
6593
  }
6283
6594
 
6284
6595
  s0 = s1;
@@ -6288,14 +6599,14 @@ function peg$parse(input, options) {
6288
6599
  function peg$parseexprChar() {
6289
6600
  var s0;
6290
6601
 
6291
- if (peg$c173.test(input.charAt(peg$currPos))) {
6602
+ if (peg$c179.test(input.charAt(peg$currPos))) {
6292
6603
  s0 = input.charAt(peg$currPos);
6293
6604
  peg$currPos++;
6294
6605
  } else {
6295
6606
  s0 = peg$FAILED;
6296
6607
 
6297
6608
  if (peg$silentFails === 0) {
6298
- peg$fail(peg$c174);
6609
+ peg$fail(peg$c180);
6299
6610
  }
6300
6611
  }
6301
6612
 
@@ -6317,14 +6628,14 @@ function peg$parse(input, options) {
6317
6628
  function peg$parseexprCharNoCommaSpace() {
6318
6629
  var s0;
6319
6630
 
6320
- if (peg$c175.test(input.charAt(peg$currPos))) {
6631
+ if (peg$c181.test(input.charAt(peg$currPos))) {
6321
6632
  s0 = input.charAt(peg$currPos);
6322
6633
  peg$currPos++;
6323
6634
  } else {
6324
6635
  s0 = peg$FAILED;
6325
6636
 
6326
6637
  if (peg$silentFails === 0) {
6327
- peg$fail(peg$c176);
6638
+ peg$fail(peg$c182);
6328
6639
  }
6329
6640
  }
6330
6641
 
@@ -6382,13 +6693,13 @@ function peg$parse(input, options) {
6382
6693
  s2 = peg$FAILED;
6383
6694
 
6384
6695
  if (peg$silentFails === 0) {
6385
- peg$fail(peg$c171);
6696
+ peg$fail(peg$c177);
6386
6697
  }
6387
6698
  }
6388
6699
 
6389
6700
  if (s2 !== peg$FAILED) {
6390
6701
  peg$savedPos = s0;
6391
- s1 = peg$c177();
6702
+ s1 = peg$c183();
6392
6703
  s0 = s1;
6393
6704
  } else {
6394
6705
  peg$currPos = s0;
@@ -6407,14 +6718,14 @@ function peg$parse(input, options) {
6407
6718
  s0 = peg$parsecharacter();
6408
6719
 
6409
6720
  if (s0 === peg$FAILED) {
6410
- if (peg$c178.test(input.charAt(peg$currPos))) {
6721
+ if (peg$c184.test(input.charAt(peg$currPos))) {
6411
6722
  s0 = input.charAt(peg$currPos);
6412
6723
  peg$currPos++;
6413
6724
  } else {
6414
6725
  s0 = peg$FAILED;
6415
6726
 
6416
6727
  if (peg$silentFails === 0) {
6417
- peg$fail(peg$c179);
6728
+ peg$fail(peg$c185);
6418
6729
  }
6419
6730
  }
6420
6731
  }
@@ -6426,14 +6737,14 @@ function peg$parse(input, options) {
6426
6737
  var s0, s1;
6427
6738
  peg$silentFails++;
6428
6739
 
6429
- if (peg$c181.test(input.charAt(peg$currPos))) {
6740
+ if (peg$c187.test(input.charAt(peg$currPos))) {
6430
6741
  s0 = input.charAt(peg$currPos);
6431
6742
  peg$currPos++;
6432
6743
  } else {
6433
6744
  s0 = peg$FAILED;
6434
6745
 
6435
6746
  if (peg$silentFails === 0) {
6436
- peg$fail(peg$c182);
6747
+ peg$fail(peg$c188);
6437
6748
  }
6438
6749
  }
6439
6750
 
@@ -6443,7 +6754,7 @@ function peg$parse(input, options) {
6443
6754
  s1 = peg$FAILED;
6444
6755
 
6445
6756
  if (peg$silentFails === 0) {
6446
- peg$fail(peg$c180);
6757
+ peg$fail(peg$c186);
6447
6758
  }
6448
6759
  }
6449
6760
 
@@ -6454,20 +6765,20 @@ function peg$parse(input, options) {
6454
6765
  var s0, s1;
6455
6766
  s0 = peg$currPos;
6456
6767
 
6457
- if (peg$c183.test(input.charAt(peg$currPos))) {
6768
+ if (peg$c189.test(input.charAt(peg$currPos))) {
6458
6769
  s1 = input.charAt(peg$currPos);
6459
6770
  peg$currPos++;
6460
6771
  } else {
6461
6772
  s1 = peg$FAILED;
6462
6773
 
6463
6774
  if (peg$silentFails === 0) {
6464
- peg$fail(peg$c184);
6775
+ peg$fail(peg$c190);
6465
6776
  }
6466
6777
  }
6467
6778
 
6468
6779
  if (s1 !== peg$FAILED) {
6469
6780
  peg$savedPos = s0;
6470
- s1 = peg$c185(s1);
6781
+ s1 = peg$c191(s1);
6471
6782
  }
6472
6783
 
6473
6784
  s0 = s1;
@@ -6478,13 +6789,13 @@ function peg$parse(input, options) {
6478
6789
  var s0;
6479
6790
 
6480
6791
  if (input.charCodeAt(peg$currPos) === 34) {
6481
- s0 = peg$c186;
6792
+ s0 = peg$c192;
6482
6793
  peg$currPos++;
6483
6794
  } else {
6484
6795
  s0 = peg$FAILED;
6485
6796
 
6486
6797
  if (peg$silentFails === 0) {
6487
- peg$fail(peg$c187);
6798
+ peg$fail(peg$c193);
6488
6799
  }
6489
6800
  }
6490
6801
 
@@ -6570,7 +6881,7 @@ function peg$parse(input, options) {
6570
6881
  s1 = peg$FAILED;
6571
6882
 
6572
6883
  if (peg$silentFails === 0) {
6573
- peg$fail(peg$c188);
6884
+ peg$fail(peg$c194);
6574
6885
  }
6575
6886
  }
6576
6887
 
@@ -6581,13 +6892,13 @@ function peg$parse(input, options) {
6581
6892
  var s0;
6582
6893
 
6583
6894
  if (input.charCodeAt(peg$currPos) === 9) {
6584
- s0 = peg$c189;
6895
+ s0 = peg$c195;
6585
6896
  peg$currPos++;
6586
6897
  } else {
6587
6898
  s0 = peg$FAILED;
6588
6899
 
6589
6900
  if (peg$silentFails === 0) {
6590
- peg$fail(peg$c190);
6901
+ peg$fail(peg$c196);
6591
6902
  }
6592
6903
  }
6593
6904
 
@@ -6598,42 +6909,42 @@ function peg$parse(input, options) {
6598
6909
  var s0, s1, s2, s3;
6599
6910
  s0 = peg$currPos;
6600
6911
 
6601
- if (input.substr(peg$currPos, 2) === peg$c191) {
6602
- s1 = peg$c191;
6912
+ if (input.substr(peg$currPos, 2) === peg$c197) {
6913
+ s1 = peg$c197;
6603
6914
  peg$currPos += 2;
6604
6915
  } else {
6605
6916
  s1 = peg$FAILED;
6606
6917
 
6607
6918
  if (peg$silentFails === 0) {
6608
- peg$fail(peg$c192);
6919
+ peg$fail(peg$c198);
6609
6920
  }
6610
6921
  }
6611
6922
 
6612
6923
  if (s1 !== peg$FAILED) {
6613
6924
  s2 = [];
6614
6925
 
6615
- if (peg$c193.test(input.charAt(peg$currPos))) {
6926
+ if (peg$c199.test(input.charAt(peg$currPos))) {
6616
6927
  s3 = input.charAt(peg$currPos);
6617
6928
  peg$currPos++;
6618
6929
  } else {
6619
6930
  s3 = peg$FAILED;
6620
6931
 
6621
6932
  if (peg$silentFails === 0) {
6622
- peg$fail(peg$c194);
6933
+ peg$fail(peg$c200);
6623
6934
  }
6624
6935
  }
6625
6936
 
6626
6937
  while (s3 !== peg$FAILED) {
6627
6938
  s2.push(s3);
6628
6939
 
6629
- if (peg$c193.test(input.charAt(peg$currPos))) {
6940
+ if (peg$c199.test(input.charAt(peg$currPos))) {
6630
6941
  s3 = input.charAt(peg$currPos);
6631
6942
  peg$currPos++;
6632
6943
  } else {
6633
6944
  s3 = peg$FAILED;
6634
6945
 
6635
6946
  if (peg$silentFails === 0) {
6636
- peg$fail(peg$c194);
6947
+ peg$fail(peg$c200);
6637
6948
  }
6638
6949
  }
6639
6950
  }
@@ -6657,14 +6968,14 @@ function peg$parse(input, options) {
6657
6968
  var s0, s1, s2, s3, s4, s5;
6658
6969
  s0 = peg$currPos;
6659
6970
 
6660
- if (input.substr(peg$currPos, 2) === peg$c195) {
6661
- s1 = peg$c195;
6971
+ if (input.substr(peg$currPos, 2) === peg$c201) {
6972
+ s1 = peg$c201;
6662
6973
  peg$currPos += 2;
6663
6974
  } else {
6664
6975
  s1 = peg$FAILED;
6665
6976
 
6666
6977
  if (peg$silentFails === 0) {
6667
- peg$fail(peg$c196);
6978
+ peg$fail(peg$c202);
6668
6979
  }
6669
6980
  }
6670
6981
 
@@ -6674,14 +6985,14 @@ function peg$parse(input, options) {
6674
6985
  s4 = peg$currPos;
6675
6986
  peg$silentFails++;
6676
6987
 
6677
- if (input.substr(peg$currPos, 2) === peg$c197) {
6678
- s5 = peg$c197;
6988
+ if (input.substr(peg$currPos, 2) === peg$c203) {
6989
+ s5 = peg$c203;
6679
6990
  peg$currPos += 2;
6680
6991
  } else {
6681
6992
  s5 = peg$FAILED;
6682
6993
 
6683
6994
  if (peg$silentFails === 0) {
6684
- peg$fail(peg$c198);
6995
+ peg$fail(peg$c204);
6685
6996
  }
6686
6997
  }
6687
6998
 
@@ -6702,7 +7013,7 @@ function peg$parse(input, options) {
6702
7013
  s5 = peg$FAILED;
6703
7014
 
6704
7015
  if (peg$silentFails === 0) {
6705
- peg$fail(peg$c171);
7016
+ peg$fail(peg$c177);
6706
7017
  }
6707
7018
  }
6708
7019
 
@@ -6724,14 +7035,14 @@ function peg$parse(input, options) {
6724
7035
  s4 = peg$currPos;
6725
7036
  peg$silentFails++;
6726
7037
 
6727
- if (input.substr(peg$currPos, 2) === peg$c197) {
6728
- s5 = peg$c197;
7038
+ if (input.substr(peg$currPos, 2) === peg$c203) {
7039
+ s5 = peg$c203;
6729
7040
  peg$currPos += 2;
6730
7041
  } else {
6731
7042
  s5 = peg$FAILED;
6732
7043
 
6733
7044
  if (peg$silentFails === 0) {
6734
- peg$fail(peg$c198);
7045
+ peg$fail(peg$c204);
6735
7046
  }
6736
7047
  }
6737
7048
 
@@ -6752,7 +7063,7 @@ function peg$parse(input, options) {
6752
7063
  s5 = peg$FAILED;
6753
7064
 
6754
7065
  if (peg$silentFails === 0) {
6755
- peg$fail(peg$c171);
7066
+ peg$fail(peg$c177);
6756
7067
  }
6757
7068
  }
6758
7069
 
@@ -6770,14 +7081,14 @@ function peg$parse(input, options) {
6770
7081
  }
6771
7082
 
6772
7083
  if (s2 !== peg$FAILED) {
6773
- if (input.substr(peg$currPos, 2) === peg$c197) {
6774
- s3 = peg$c197;
7084
+ if (input.substr(peg$currPos, 2) === peg$c203) {
7085
+ s3 = peg$c203;
6775
7086
  peg$currPos += 2;
6776
7087
  } else {
6777
7088
  s3 = peg$FAILED;
6778
7089
 
6779
7090
  if (peg$silentFails === 0) {
6780
- peg$fail(peg$c198);
7091
+ peg$fail(peg$c204);
6781
7092
  }
6782
7093
  }
6783
7094
 
@@ -6815,7 +7126,7 @@ function peg$parse(input, options) {
6815
7126
  s1 = peg$FAILED;
6816
7127
 
6817
7128
  if (peg$silentFails === 0) {
6818
- peg$fail(peg$c199);
7129
+ peg$fail(peg$c205);
6819
7130
  }
6820
7131
  }
6821
7132
 
@@ -6826,26 +7137,26 @@ function peg$parse(input, options) {
6826
7137
  var s0, s1;
6827
7138
  peg$silentFails++;
6828
7139
 
6829
- if (input.substr(peg$currPos, 2) === peg$c201) {
6830
- s0 = peg$c201;
7140
+ if (input.substr(peg$currPos, 2) === peg$c207) {
7141
+ s0 = peg$c207;
6831
7142
  peg$currPos += 2;
6832
7143
  } else {
6833
7144
  s0 = peg$FAILED;
6834
7145
 
6835
7146
  if (peg$silentFails === 0) {
6836
- peg$fail(peg$c202);
7147
+ peg$fail(peg$c208);
6837
7148
  }
6838
7149
  }
6839
7150
 
6840
7151
  if (s0 === peg$FAILED) {
6841
7152
  if (input.charCodeAt(peg$currPos) === 10) {
6842
- s0 = peg$c203;
7153
+ s0 = peg$c209;
6843
7154
  peg$currPos++;
6844
7155
  } else {
6845
7156
  s0 = peg$FAILED;
6846
7157
 
6847
7158
  if (peg$silentFails === 0) {
6848
- peg$fail(peg$c204);
7159
+ peg$fail(peg$c210);
6849
7160
  }
6850
7161
  }
6851
7162
  }
@@ -6856,7 +7167,7 @@ function peg$parse(input, options) {
6856
7167
  s1 = peg$FAILED;
6857
7168
 
6858
7169
  if (peg$silentFails === 0) {
6859
- peg$fail(peg$c200);
7170
+ peg$fail(peg$c206);
6860
7171
  }
6861
7172
  }
6862
7173
 
@@ -6867,14 +7178,14 @@ function peg$parse(input, options) {
6867
7178
  var s0, s1;
6868
7179
  peg$silentFails++;
6869
7180
 
6870
- if (peg$c206.test(input.charAt(peg$currPos))) {
7181
+ if (peg$c212.test(input.charAt(peg$currPos))) {
6871
7182
  s0 = input.charAt(peg$currPos);
6872
7183
  peg$currPos++;
6873
7184
  } else {
6874
7185
  s0 = peg$FAILED;
6875
7186
 
6876
7187
  if (peg$silentFails === 0) {
6877
- peg$fail(peg$c207);
7188
+ peg$fail(peg$c213);
6878
7189
  }
6879
7190
  }
6880
7191
 
@@ -6884,7 +7195,7 @@ function peg$parse(input, options) {
6884
7195
  s1 = peg$FAILED;
6885
7196
 
6886
7197
  if (peg$silentFails === 0) {
6887
- peg$fail(peg$c205);
7198
+ peg$fail(peg$c211);
6888
7199
  }
6889
7200
  }
6890
7201
 
@@ -6895,14 +7206,14 @@ function peg$parse(input, options) {
6895
7206
  var s0, s1;
6896
7207
  peg$silentFails++;
6897
7208
 
6898
- if (peg$c208.test(input.charAt(peg$currPos))) {
7209
+ if (peg$c214.test(input.charAt(peg$currPos))) {
6899
7210
  s0 = input.charAt(peg$currPos);
6900
7211
  peg$currPos++;
6901
7212
  } else {
6902
7213
  s0 = peg$FAILED;
6903
7214
 
6904
7215
  if (peg$silentFails === 0) {
6905
- peg$fail(peg$c209);
7216
+ peg$fail(peg$c215);
6906
7217
  }
6907
7218
  }
6908
7219
 
@@ -6912,7 +7223,7 @@ function peg$parse(input, options) {
6912
7223
  s1 = peg$FAILED;
6913
7224
 
6914
7225
  if (peg$silentFails === 0) {
6915
- peg$fail(peg$c205);
7226
+ peg$fail(peg$c211);
6916
7227
  }
6917
7228
  }
6918
7229
 
@@ -6923,13 +7234,13 @@ function peg$parse(input, options) {
6923
7234
  var s0;
6924
7235
 
6925
7236
  if (input.charCodeAt(peg$currPos) === 32) {
6926
- s0 = peg$c210;
7237
+ s0 = peg$c216;
6927
7238
  peg$currPos++;
6928
7239
  } else {
6929
7240
  s0 = peg$FAILED;
6930
7241
 
6931
7242
  if (peg$silentFails === 0) {
6932
- peg$fail(peg$c211);
7243
+ peg$fail(peg$c217);
6933
7244
  }
6934
7245
  }
6935
7246
 
@@ -6940,13 +7251,13 @@ function peg$parse(input, options) {
6940
7251
  var s0;
6941
7252
 
6942
7253
  if (input.charCodeAt(peg$currPos) === 44) {
6943
- s0 = peg$c167;
7254
+ s0 = peg$c173;
6944
7255
  peg$currPos++;
6945
7256
  } else {
6946
7257
  s0 = peg$FAILED;
6947
7258
 
6948
7259
  if (peg$silentFails === 0) {
6949
- peg$fail(peg$c168);
7260
+ peg$fail(peg$c174);
6950
7261
  }
6951
7262
  }
6952
7263
 
@@ -6958,19 +7269,19 @@ function peg$parse(input, options) {
6958
7269
  s0 = peg$currPos;
6959
7270
 
6960
7271
  if (input.charCodeAt(peg$currPos) === 35) {
6961
- s1 = peg$c212;
7272
+ s1 = peg$c218;
6962
7273
  peg$currPos++;
6963
7274
  } else {
6964
7275
  s1 = peg$FAILED;
6965
7276
 
6966
7277
  if (peg$silentFails === 0) {
6967
- peg$fail(peg$c213);
7278
+ peg$fail(peg$c219);
6968
7279
  }
6969
7280
  }
6970
7281
 
6971
7282
  if (s1 !== peg$FAILED) {
6972
7283
  peg$savedPos = s0;
6973
- s1 = peg$c214();
7284
+ s1 = peg$c220();
6974
7285
  }
6975
7286
 
6976
7287
  s0 = s1;
@@ -6983,13 +7294,13 @@ function peg$parse(input, options) {
6983
7294
  s0 = peg$currPos;
6984
7295
 
6985
7296
  if (input.charCodeAt(peg$currPos) === 34) {
6986
- s1 = peg$c186;
7297
+ s1 = peg$c192;
6987
7298
  peg$currPos++;
6988
7299
  } else {
6989
7300
  s1 = peg$FAILED;
6990
7301
 
6991
7302
  if (peg$silentFails === 0) {
6992
- peg$fail(peg$c187);
7303
+ peg$fail(peg$c193);
6993
7304
  }
6994
7305
  }
6995
7306
 
@@ -7004,19 +7315,19 @@ function peg$parse(input, options) {
7004
7315
 
7005
7316
  if (s2 !== peg$FAILED) {
7006
7317
  if (input.charCodeAt(peg$currPos) === 34) {
7007
- s3 = peg$c186;
7318
+ s3 = peg$c192;
7008
7319
  peg$currPos++;
7009
7320
  } else {
7010
7321
  s3 = peg$FAILED;
7011
7322
 
7012
7323
  if (peg$silentFails === 0) {
7013
- peg$fail(peg$c187);
7324
+ peg$fail(peg$c193);
7014
7325
  }
7015
7326
  }
7016
7327
 
7017
7328
  if (s3 !== peg$FAILED) {
7018
7329
  peg$savedPos = s0;
7019
- s1 = peg$c216(s2);
7330
+ s1 = peg$c222(s2);
7020
7331
  s0 = s1;
7021
7332
  } else {
7022
7333
  peg$currPos = s0;
@@ -7034,14 +7345,14 @@ function peg$parse(input, options) {
7034
7345
  if (s0 === peg$FAILED) {
7035
7346
  s0 = peg$currPos;
7036
7347
 
7037
- if (input.substr(peg$currPos, 3) === peg$c217) {
7038
- s1 = peg$c217;
7348
+ if (input.substr(peg$currPos, 3) === peg$c223) {
7349
+ s1 = peg$c223;
7039
7350
  peg$currPos += 3;
7040
7351
  } else {
7041
7352
  s1 = peg$FAILED;
7042
7353
 
7043
7354
  if (peg$silentFails === 0) {
7044
- peg$fail(peg$c218);
7355
+ peg$fail(peg$c224);
7045
7356
  }
7046
7357
  }
7047
7358
 
@@ -7055,20 +7366,20 @@ function peg$parse(input, options) {
7055
7366
  }
7056
7367
 
7057
7368
  if (s2 !== peg$FAILED) {
7058
- if (input.substr(peg$currPos, 3) === peg$c217) {
7059
- s3 = peg$c217;
7369
+ if (input.substr(peg$currPos, 3) === peg$c223) {
7370
+ s3 = peg$c223;
7060
7371
  peg$currPos += 3;
7061
7372
  } else {
7062
7373
  s3 = peg$FAILED;
7063
7374
 
7064
7375
  if (peg$silentFails === 0) {
7065
- peg$fail(peg$c218);
7376
+ peg$fail(peg$c224);
7066
7377
  }
7067
7378
  }
7068
7379
 
7069
7380
  if (s3 !== peg$FAILED) {
7070
7381
  peg$savedPos = s0;
7071
- s1 = peg$c219(s2);
7382
+ s1 = peg$c225(s2);
7072
7383
  s0 = s1;
7073
7384
  } else {
7074
7385
  peg$currPos = s0;
@@ -7087,13 +7398,13 @@ function peg$parse(input, options) {
7087
7398
  s0 = peg$currPos;
7088
7399
 
7089
7400
  if (input.charCodeAt(peg$currPos) === 39) {
7090
- s1 = peg$c220;
7401
+ s1 = peg$c226;
7091
7402
  peg$currPos++;
7092
7403
  } else {
7093
7404
  s1 = peg$FAILED;
7094
7405
 
7095
7406
  if (peg$silentFails === 0) {
7096
- peg$fail(peg$c221);
7407
+ peg$fail(peg$c227);
7097
7408
  }
7098
7409
  }
7099
7410
 
@@ -7108,19 +7419,19 @@ function peg$parse(input, options) {
7108
7419
 
7109
7420
  if (s2 !== peg$FAILED) {
7110
7421
  if (input.charCodeAt(peg$currPos) === 39) {
7111
- s3 = peg$c220;
7422
+ s3 = peg$c226;
7112
7423
  peg$currPos++;
7113
7424
  } else {
7114
7425
  s3 = peg$FAILED;
7115
7426
 
7116
7427
  if (peg$silentFails === 0) {
7117
- peg$fail(peg$c221);
7428
+ peg$fail(peg$c227);
7118
7429
  }
7119
7430
  }
7120
7431
 
7121
7432
  if (s3 !== peg$FAILED) {
7122
7433
  peg$savedPos = s0;
7123
- s1 = peg$c216(s2);
7434
+ s1 = peg$c222(s2);
7124
7435
  s0 = s1;
7125
7436
  } else {
7126
7437
  peg$currPos = s0;
@@ -7143,7 +7454,7 @@ function peg$parse(input, options) {
7143
7454
  s1 = peg$FAILED;
7144
7455
 
7145
7456
  if (peg$silentFails === 0) {
7146
- peg$fail(peg$c215);
7457
+ peg$fail(peg$c221);
7147
7458
  }
7148
7459
  }
7149
7460
 
@@ -7155,31 +7466,31 @@ function peg$parse(input, options) {
7155
7466
  s0 = peg$currPos;
7156
7467
 
7157
7468
  if (input.charCodeAt(peg$currPos) === 92) {
7158
- s1 = peg$c222;
7469
+ s1 = peg$c228;
7159
7470
  peg$currPos++;
7160
7471
  } else {
7161
7472
  s1 = peg$FAILED;
7162
7473
 
7163
7474
  if (peg$silentFails === 0) {
7164
- peg$fail(peg$c223);
7475
+ peg$fail(peg$c229);
7165
7476
  }
7166
7477
  }
7167
7478
 
7168
7479
  if (s1 !== peg$FAILED) {
7169
7480
  if (input.charCodeAt(peg$currPos) === 34) {
7170
- s2 = peg$c186;
7481
+ s2 = peg$c192;
7171
7482
  peg$currPos++;
7172
7483
  } else {
7173
7484
  s2 = peg$FAILED;
7174
7485
 
7175
7486
  if (peg$silentFails === 0) {
7176
- peg$fail(peg$c187);
7487
+ peg$fail(peg$c193);
7177
7488
  }
7178
7489
  }
7179
7490
 
7180
7491
  if (s2 !== peg$FAILED) {
7181
7492
  peg$savedPos = s0;
7182
- s1 = peg$c224();
7493
+ s1 = peg$c230();
7183
7494
  s0 = s1;
7184
7495
  } else {
7185
7496
  peg$currPos = s0;
@@ -7196,13 +7507,13 @@ function peg$parse(input, options) {
7196
7507
  peg$silentFails++;
7197
7508
 
7198
7509
  if (input.charCodeAt(peg$currPos) === 34) {
7199
- s2 = peg$c186;
7510
+ s2 = peg$c192;
7200
7511
  peg$currPos++;
7201
7512
  } else {
7202
7513
  s2 = peg$FAILED;
7203
7514
 
7204
7515
  if (peg$silentFails === 0) {
7205
- peg$fail(peg$c187);
7516
+ peg$fail(peg$c193);
7206
7517
  }
7207
7518
  }
7208
7519
 
@@ -7220,7 +7531,7 @@ function peg$parse(input, options) {
7220
7531
 
7221
7532
  if (s2 !== peg$FAILED) {
7222
7533
  peg$savedPos = s0;
7223
- s1 = peg$c225();
7534
+ s1 = peg$c231();
7224
7535
  s0 = s1;
7225
7536
  } else {
7226
7537
  peg$currPos = s0;
@@ -7239,20 +7550,20 @@ function peg$parse(input, options) {
7239
7550
  var s0, s1, s2;
7240
7551
  s0 = peg$currPos;
7241
7552
 
7242
- if (input.substr(peg$currPos, 2) === peg$c226) {
7243
- s1 = peg$c226;
7553
+ if (input.substr(peg$currPos, 2) === peg$c232) {
7554
+ s1 = peg$c232;
7244
7555
  peg$currPos += 2;
7245
7556
  } else {
7246
7557
  s1 = peg$FAILED;
7247
7558
 
7248
7559
  if (peg$silentFails === 0) {
7249
- peg$fail(peg$c227);
7560
+ peg$fail(peg$c233);
7250
7561
  }
7251
7562
  }
7252
7563
 
7253
7564
  if (s1 !== peg$FAILED) {
7254
7565
  peg$savedPos = s0;
7255
- s1 = peg$c228();
7566
+ s1 = peg$c234();
7256
7567
  }
7257
7568
 
7258
7569
  s0 = s1;
@@ -7263,13 +7574,13 @@ function peg$parse(input, options) {
7263
7574
  peg$silentFails++;
7264
7575
 
7265
7576
  if (input.charCodeAt(peg$currPos) === 39) {
7266
- s2 = peg$c220;
7577
+ s2 = peg$c226;
7267
7578
  peg$currPos++;
7268
7579
  } else {
7269
7580
  s2 = peg$FAILED;
7270
7581
 
7271
7582
  if (peg$silentFails === 0) {
7272
- peg$fail(peg$c221);
7583
+ peg$fail(peg$c227);
7273
7584
  }
7274
7585
  }
7275
7586
 
@@ -7287,7 +7598,7 @@ function peg$parse(input, options) {
7287
7598
 
7288
7599
  if (s2 !== peg$FAILED) {
7289
7600
  peg$savedPos = s0;
7290
- s1 = peg$c225();
7601
+ s1 = peg$c231();
7291
7602
  s0 = s1;
7292
7603
  } else {
7293
7604
  peg$currPos = s0;
@@ -7306,20 +7617,20 @@ function peg$parse(input, options) {
7306
7617
  var s0, s1, s2, s3;
7307
7618
  s0 = peg$currPos;
7308
7619
 
7309
- if (input.substr(peg$currPos, 2) === peg$c226) {
7310
- s1 = peg$c226;
7620
+ if (input.substr(peg$currPos, 2) === peg$c232) {
7621
+ s1 = peg$c232;
7311
7622
  peg$currPos += 2;
7312
7623
  } else {
7313
7624
  s1 = peg$FAILED;
7314
7625
 
7315
7626
  if (peg$silentFails === 0) {
7316
- peg$fail(peg$c227);
7627
+ peg$fail(peg$c233);
7317
7628
  }
7318
7629
  }
7319
7630
 
7320
7631
  if (s1 !== peg$FAILED) {
7321
7632
  peg$savedPos = s0;
7322
- s1 = peg$c228();
7633
+ s1 = peg$c234();
7323
7634
  }
7324
7635
 
7325
7636
  s0 = s1;
@@ -7328,13 +7639,13 @@ function peg$parse(input, options) {
7328
7639
  s0 = peg$currPos;
7329
7640
 
7330
7641
  if (input.charCodeAt(peg$currPos) === 92) {
7331
- s1 = peg$c222;
7642
+ s1 = peg$c228;
7332
7643
  peg$currPos++;
7333
7644
  } else {
7334
7645
  s1 = peg$FAILED;
7335
7646
 
7336
7647
  if (peg$silentFails === 0) {
7337
- peg$fail(peg$c223);
7648
+ peg$fail(peg$c229);
7338
7649
  }
7339
7650
  }
7340
7651
 
@@ -7342,13 +7653,13 @@ function peg$parse(input, options) {
7342
7653
  s2 = [];
7343
7654
 
7344
7655
  if (input.charCodeAt(peg$currPos) === 92) {
7345
- s3 = peg$c222;
7656
+ s3 = peg$c228;
7346
7657
  peg$currPos++;
7347
7658
  } else {
7348
7659
  s3 = peg$FAILED;
7349
7660
 
7350
7661
  if (peg$silentFails === 0) {
7351
- peg$fail(peg$c223);
7662
+ peg$fail(peg$c229);
7352
7663
  }
7353
7664
  }
7354
7665
 
@@ -7357,13 +7668,13 @@ function peg$parse(input, options) {
7357
7668
  s2.push(s3);
7358
7669
 
7359
7670
  if (input.charCodeAt(peg$currPos) === 92) {
7360
- s3 = peg$c222;
7671
+ s3 = peg$c228;
7361
7672
  peg$currPos++;
7362
7673
  } else {
7363
7674
  s3 = peg$FAILED;
7364
7675
 
7365
7676
  if (peg$silentFails === 0) {
7366
- peg$fail(peg$c223);
7677
+ peg$fail(peg$c229);
7367
7678
  }
7368
7679
  }
7369
7680
  }
@@ -7373,7 +7684,7 @@ function peg$parse(input, options) {
7373
7684
 
7374
7685
  if (s2 !== peg$FAILED) {
7375
7686
  peg$savedPos = s0;
7376
- s1 = peg$c229(s2);
7687
+ s1 = peg$c235(s2);
7377
7688
  s0 = s1;
7378
7689
  } else {
7379
7690
  peg$currPos = s0;
@@ -7388,25 +7699,25 @@ function peg$parse(input, options) {
7388
7699
  s0 = peg$currPos;
7389
7700
 
7390
7701
  if (input.charCodeAt(peg$currPos) === 92) {
7391
- s1 = peg$c222;
7702
+ s1 = peg$c228;
7392
7703
  peg$currPos++;
7393
7704
  } else {
7394
7705
  s1 = peg$FAILED;
7395
7706
 
7396
7707
  if (peg$silentFails === 0) {
7397
- peg$fail(peg$c223);
7708
+ peg$fail(peg$c229);
7398
7709
  }
7399
7710
  }
7400
7711
 
7401
7712
  if (s1 !== peg$FAILED) {
7402
7713
  if (input.charCodeAt(peg$currPos) === 10) {
7403
- s2 = peg$c203;
7714
+ s2 = peg$c209;
7404
7715
  peg$currPos++;
7405
7716
  } else {
7406
7717
  s2 = peg$FAILED;
7407
7718
 
7408
7719
  if (peg$silentFails === 0) {
7409
- peg$fail(peg$c204);
7720
+ peg$fail(peg$c210);
7410
7721
  }
7411
7722
  }
7412
7723
 
@@ -7416,7 +7727,7 @@ function peg$parse(input, options) {
7416
7727
 
7417
7728
  if (s2 !== peg$FAILED) {
7418
7729
  peg$savedPos = s0;
7419
- s1 = peg$c230();
7730
+ s1 = peg$c236();
7420
7731
  s0 = s1;
7421
7732
  } else {
7422
7733
  peg$currPos = s0;
@@ -7432,14 +7743,14 @@ function peg$parse(input, options) {
7432
7743
  s1 = peg$currPos;
7433
7744
  peg$silentFails++;
7434
7745
 
7435
- if (input.substr(peg$currPos, 3) === peg$c217) {
7436
- s2 = peg$c217;
7746
+ if (input.substr(peg$currPos, 3) === peg$c223) {
7747
+ s2 = peg$c223;
7437
7748
  peg$currPos += 3;
7438
7749
  } else {
7439
7750
  s2 = peg$FAILED;
7440
7751
 
7441
7752
  if (peg$silentFails === 0) {
7442
- peg$fail(peg$c218);
7753
+ peg$fail(peg$c224);
7443
7754
  }
7444
7755
  }
7445
7756
 
@@ -7457,7 +7768,7 @@ function peg$parse(input, options) {
7457
7768
 
7458
7769
  if (s2 !== peg$FAILED) {
7459
7770
  peg$savedPos = s0;
7460
- s1 = peg$c225();
7771
+ s1 = peg$c231();
7461
7772
  s0 = s1;
7462
7773
  } else {
7463
7774
  peg$currPos = s0;
@@ -7484,7 +7795,7 @@ function peg$parse(input, options) {
7484
7795
  s0 = peg$FAILED;
7485
7796
 
7486
7797
  if (peg$silentFails === 0) {
7487
- peg$fail(peg$c171);
7798
+ peg$fail(peg$c177);
7488
7799
  }
7489
7800
  }
7490
7801
 
@@ -7494,14 +7805,14 @@ function peg$parse(input, options) {
7494
7805
  function peg$parsedigit() {
7495
7806
  var s0;
7496
7807
 
7497
- if (peg$c231.test(input.charAt(peg$currPos))) {
7808
+ if (peg$c237.test(input.charAt(peg$currPos))) {
7498
7809
  s0 = input.charAt(peg$currPos);
7499
7810
  peg$currPos++;
7500
7811
  } else {
7501
7812
  s0 = peg$FAILED;
7502
7813
 
7503
7814
  if (peg$silentFails === 0) {
7504
- peg$fail(peg$c232);
7815
+ peg$fail(peg$c238);
7505
7816
  }
7506
7817
  }
7507
7818
 
@@ -7512,13 +7823,13 @@ function peg$parse(input, options) {
7512
7823
  var s0;
7513
7824
 
7514
7825
  if (input.charCodeAt(peg$currPos) === 61) {
7515
- s0 = peg$c233;
7826
+ s0 = peg$c239;
7516
7827
  peg$currPos++;
7517
7828
  } else {
7518
7829
  s0 = peg$FAILED;
7519
7830
 
7520
7831
  if (peg$silentFails === 0) {
7521
- peg$fail(peg$c234);
7832
+ peg$fail(peg$c240);
7522
7833
  }
7523
7834
  }
7524
7835
 
@@ -7529,13 +7840,13 @@ function peg$parse(input, options) {
7529
7840
  var s0;
7530
7841
 
7531
7842
  if (input.charCodeAt(peg$currPos) === 46) {
7532
- s0 = peg$c25;
7843
+ s0 = peg$c162;
7533
7844
  peg$currPos++;
7534
7845
  } else {
7535
7846
  s0 = peg$FAILED;
7536
7847
 
7537
7848
  if (peg$silentFails === 0) {
7538
- peg$fail(peg$c26);
7849
+ peg$fail(peg$c163);
7539
7850
  }
7540
7851
  }
7541
7852
 
@@ -7546,38 +7857,38 @@ function peg$parse(input, options) {
7546
7857
  var s0, s1;
7547
7858
  s0 = peg$currPos;
7548
7859
 
7549
- if (input.substr(peg$currPos, 4).toLowerCase() === peg$c235) {
7860
+ if (input.substr(peg$currPos, 4).toLowerCase() === peg$c241) {
7550
7861
  s1 = input.substr(peg$currPos, 4);
7551
7862
  peg$currPos += 4;
7552
7863
  } else {
7553
7864
  s1 = peg$FAILED;
7554
7865
 
7555
7866
  if (peg$silentFails === 0) {
7556
- peg$fail(peg$c236);
7867
+ peg$fail(peg$c242);
7557
7868
  }
7558
7869
  }
7559
7870
 
7560
7871
  if (s1 === peg$FAILED) {
7561
- if (input.substr(peg$currPos, 5).toLowerCase() === peg$c237) {
7872
+ if (input.substr(peg$currPos, 5).toLowerCase() === peg$c243) {
7562
7873
  s1 = input.substr(peg$currPos, 5);
7563
7874
  peg$currPos += 5;
7564
7875
  } else {
7565
7876
  s1 = peg$FAILED;
7566
7877
 
7567
7878
  if (peg$silentFails === 0) {
7568
- peg$fail(peg$c238);
7879
+ peg$fail(peg$c244);
7569
7880
  }
7570
7881
  }
7571
7882
 
7572
7883
  if (s1 === peg$FAILED) {
7573
- if (input.substr(peg$currPos, 4).toLowerCase() === peg$c62) {
7884
+ if (input.substr(peg$currPos, 4).toLowerCase() === peg$c60) {
7574
7885
  s1 = input.substr(peg$currPos, 4);
7575
7886
  peg$currPos += 4;
7576
7887
  } else {
7577
7888
  s1 = peg$FAILED;
7578
7889
 
7579
7890
  if (peg$silentFails === 0) {
7580
- peg$fail(peg$c63);
7891
+ peg$fail(peg$c61);
7581
7892
  }
7582
7893
  }
7583
7894
  }
@@ -7585,7 +7896,7 @@ function peg$parse(input, options) {
7585
7896
 
7586
7897
  if (s1 !== peg$FAILED) {
7587
7898
  peg$savedPos = s0;
7588
- s1 = peg$c239(s1);
7899
+ s1 = peg$c245(s1);
7589
7900
  }
7590
7901
 
7591
7902
  s0 = s1;
@@ -7593,20 +7904,44 @@ function peg$parse(input, options) {
7593
7904
  }
7594
7905
 
7595
7906
  function peg$parseNumberLiteral() {
7596
- var s0, s1;
7907
+ var s0, s1, s2;
7597
7908
  s0 = peg$currPos;
7598
- s1 = peg$parsefloat();
7909
+
7910
+ if (input.charCodeAt(peg$currPos) === 45) {
7911
+ s1 = peg$c246;
7912
+ peg$currPos++;
7913
+ } else {
7914
+ s1 = peg$FAILED;
7915
+
7916
+ if (peg$silentFails === 0) {
7917
+ peg$fail(peg$c247);
7918
+ }
7919
+ }
7599
7920
 
7600
7921
  if (s1 === peg$FAILED) {
7601
- s1 = peg$parseinteger();
7922
+ s1 = null;
7602
7923
  }
7603
7924
 
7604
7925
  if (s1 !== peg$FAILED) {
7605
- peg$savedPos = s0;
7606
- s1 = peg$c240(s1);
7926
+ s2 = peg$parsefloat();
7927
+
7928
+ if (s2 === peg$FAILED) {
7929
+ s2 = peg$parseinteger();
7930
+ }
7931
+
7932
+ if (s2 !== peg$FAILED) {
7933
+ peg$savedPos = s0;
7934
+ s1 = peg$c248(s1, s2);
7935
+ s0 = s1;
7936
+ } else {
7937
+ peg$currPos = s0;
7938
+ s0 = peg$FAILED;
7939
+ }
7940
+ } else {
7941
+ peg$currPos = s0;
7942
+ s0 = peg$FAILED;
7607
7943
  }
7608
7944
 
7609
- s0 = s1;
7610
7945
  return s0;
7611
7946
  }
7612
7947
 
@@ -7615,14 +7950,14 @@ function peg$parse(input, options) {
7615
7950
  s0 = peg$currPos;
7616
7951
  s1 = [];
7617
7952
 
7618
- if (peg$c231.test(input.charAt(peg$currPos))) {
7953
+ if (peg$c237.test(input.charAt(peg$currPos))) {
7619
7954
  s2 = input.charAt(peg$currPos);
7620
7955
  peg$currPos++;
7621
7956
  } else {
7622
7957
  s2 = peg$FAILED;
7623
7958
 
7624
7959
  if (peg$silentFails === 0) {
7625
- peg$fail(peg$c232);
7960
+ peg$fail(peg$c238);
7626
7961
  }
7627
7962
  }
7628
7963
 
@@ -7630,14 +7965,14 @@ function peg$parse(input, options) {
7630
7965
  while (s2 !== peg$FAILED) {
7631
7966
  s1.push(s2);
7632
7967
 
7633
- if (peg$c231.test(input.charAt(peg$currPos))) {
7968
+ if (peg$c237.test(input.charAt(peg$currPos))) {
7634
7969
  s2 = input.charAt(peg$currPos);
7635
7970
  peg$currPos++;
7636
7971
  } else {
7637
7972
  s2 = peg$FAILED;
7638
7973
 
7639
7974
  if (peg$silentFails === 0) {
7640
- peg$fail(peg$c232);
7975
+ peg$fail(peg$c238);
7641
7976
  }
7642
7977
  }
7643
7978
  }
@@ -7647,27 +7982,27 @@ function peg$parse(input, options) {
7647
7982
 
7648
7983
  if (s1 !== peg$FAILED) {
7649
7984
  if (input.charCodeAt(peg$currPos) === 46) {
7650
- s2 = peg$c25;
7985
+ s2 = peg$c162;
7651
7986
  peg$currPos++;
7652
7987
  } else {
7653
7988
  s2 = peg$FAILED;
7654
7989
 
7655
7990
  if (peg$silentFails === 0) {
7656
- peg$fail(peg$c26);
7991
+ peg$fail(peg$c163);
7657
7992
  }
7658
7993
  }
7659
7994
 
7660
7995
  if (s2 !== peg$FAILED) {
7661
7996
  s3 = [];
7662
7997
 
7663
- if (peg$c231.test(input.charAt(peg$currPos))) {
7998
+ if (peg$c237.test(input.charAt(peg$currPos))) {
7664
7999
  s4 = input.charAt(peg$currPos);
7665
8000
  peg$currPos++;
7666
8001
  } else {
7667
8002
  s4 = peg$FAILED;
7668
8003
 
7669
8004
  if (peg$silentFails === 0) {
7670
- peg$fail(peg$c232);
8005
+ peg$fail(peg$c238);
7671
8006
  }
7672
8007
  }
7673
8008
 
@@ -7675,14 +8010,14 @@ function peg$parse(input, options) {
7675
8010
  while (s4 !== peg$FAILED) {
7676
8011
  s3.push(s4);
7677
8012
 
7678
- if (peg$c231.test(input.charAt(peg$currPos))) {
8013
+ if (peg$c237.test(input.charAt(peg$currPos))) {
7679
8014
  s4 = input.charAt(peg$currPos);
7680
8015
  peg$currPos++;
7681
8016
  } else {
7682
8017
  s4 = peg$FAILED;
7683
8018
 
7684
8019
  if (peg$silentFails === 0) {
7685
- peg$fail(peg$c232);
8020
+ peg$fail(peg$c238);
7686
8021
  }
7687
8022
  }
7688
8023
  }
@@ -7692,7 +8027,7 @@ function peg$parse(input, options) {
7692
8027
 
7693
8028
  if (s3 !== peg$FAILED) {
7694
8029
  peg$savedPos = s0;
7695
- s1 = peg$c241(s1, s3);
8030
+ s1 = peg$c249(s1, s3);
7696
8031
  s0 = s1;
7697
8032
  } else {
7698
8033
  peg$currPos = s0;
@@ -7715,14 +8050,14 @@ function peg$parse(input, options) {
7715
8050
  s0 = peg$currPos;
7716
8051
  s1 = [];
7717
8052
 
7718
- if (peg$c231.test(input.charAt(peg$currPos))) {
8053
+ if (peg$c237.test(input.charAt(peg$currPos))) {
7719
8054
  s2 = input.charAt(peg$currPos);
7720
8055
  peg$currPos++;
7721
8056
  } else {
7722
8057
  s2 = peg$FAILED;
7723
8058
 
7724
8059
  if (peg$silentFails === 0) {
7725
- peg$fail(peg$c232);
8060
+ peg$fail(peg$c238);
7726
8061
  }
7727
8062
  }
7728
8063
 
@@ -7730,14 +8065,14 @@ function peg$parse(input, options) {
7730
8065
  while (s2 !== peg$FAILED) {
7731
8066
  s1.push(s2);
7732
8067
 
7733
- if (peg$c231.test(input.charAt(peg$currPos))) {
8068
+ if (peg$c237.test(input.charAt(peg$currPos))) {
7734
8069
  s2 = input.charAt(peg$currPos);
7735
8070
  peg$currPos++;
7736
8071
  } else {
7737
8072
  s2 = peg$FAILED;
7738
8073
 
7739
8074
  if (peg$silentFails === 0) {
7740
- peg$fail(peg$c232);
8075
+ peg$fail(peg$c238);
7741
8076
  }
7742
8077
  }
7743
8078
  }
@@ -7747,7 +8082,7 @@ function peg$parse(input, options) {
7747
8082
 
7748
8083
  if (s1 !== peg$FAILED) {
7749
8084
  peg$savedPos = s0;
7750
- s1 = peg$c242(s1);
8085
+ s1 = peg$c250(s1);
7751
8086
  }
7752
8087
 
7753
8088
  s0 = s1;
@@ -7760,6 +8095,7 @@ function peg$parse(input, options) {
7760
8095
  refs: [],
7761
8096
  enums: [],
7762
8097
  tableGroups: [],
8098
+ aliases: [],
7763
8099
  project: {}
7764
8100
  };
7765
8101
  var projectCnt = 0;