@retorquere/bibtex-parser 7.0.14 → 7.0.15

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 (2) hide show
  1. package/grammar.js +564 -493
  2. package/package.json +7 -7
package/grammar.js CHANGED
@@ -1,4 +1,4 @@
1
- // @generated by Peggy 4.0.0.
1
+ // @generated by Peggy 4.0.1.
2
2
  //
3
3
  // https://peggyjs.org/
4
4
 
@@ -196,15 +196,17 @@ function peg$parse(input, options) {
196
196
  var peg$c16 = "%";
197
197
  var peg$c17 = "\\\\";
198
198
  var peg$c18 = "newcommand";
199
- var peg$c19 = "url";
200
- var peg$c20 = "href";
201
- var peg$c21 = "\\verb";
202
- var peg$c22 = "begin";
203
- var peg$c23 = "end";
204
- var peg$c24 = "[";
205
- var peg$c25 = "]";
206
- var peg$c26 = "=";
207
- var peg$c27 = "#";
199
+ var peg$c19 = "\\left(";
200
+ var peg$c20 = "\\right)";
201
+ var peg$c21 = "url";
202
+ var peg$c22 = "href";
203
+ var peg$c23 = "\\verb";
204
+ var peg$c24 = "begin";
205
+ var peg$c25 = "end";
206
+ var peg$c26 = "[";
207
+ var peg$c27 = "]";
208
+ var peg$c28 = "=";
209
+ var peg$c29 = "#";
208
210
 
209
211
  var peg$r0 = /^[^\n\r]/;
210
212
  var peg$r1 = /^[\n\r]/;
@@ -272,32 +274,34 @@ function peg$parse(input, options) {
272
274
  var peg$e34 = peg$classExpectation(["_", "^"], false, false);
273
275
  var peg$e35 = peg$classExpectation([["A", "Z"], ["a", "z"], ["0", "9"], "[", "]", "\t", "\r", "\n"], true, false);
274
276
  var peg$e36 = peg$literalExpectation("newcommand", false);
275
- var peg$e37 = peg$literalExpectation("url", false);
276
- var peg$e38 = peg$literalExpectation("href", false);
277
- var peg$e39 = peg$literalExpectation("\\verb", false);
278
- var peg$e40 = peg$anyExpectation();
279
- var peg$e41 = peg$literalExpectation("begin", false);
280
- var peg$e42 = peg$literalExpectation("end", false);
281
- var peg$e43 = peg$classExpectation([["A", "Z"], ["a", "z"]], false, false);
282
- var peg$e44 = peg$literalExpectation("[", false);
283
- var peg$e45 = peg$classExpectation(["]"], true, false);
284
- var peg$e46 = peg$literalExpectation("]", false);
285
- var peg$e47 = peg$classExpectation([" ", "\t", "^", "_", "$", "{", "}", "\\"], true, false);
286
- var peg$e48 = peg$classExpectation([["a", "z"], ["A", "Z"], "-", "_"], false, false);
287
- var peg$e49 = peg$classExpectation([["a", "z"], ["A", "Z"], ["0", "9"], "-", "&", "_", ":"], false, false);
288
- var peg$e50 = peg$classExpectation(["'", "`", "\"", "=", "~", "^", "."], false, false);
289
- var peg$e51 = peg$classExpectation(["'", "`", "\"", "=", "~", "^", ".", "c", "b", "u", "v", "d", "r", "H", "k"], false, false);
290
- var peg$e52 = peg$literalExpectation("=", false);
291
- var peg$e53 = peg$literalExpectation("#", false);
292
- var peg$e54 = peg$classExpectation(["\r", "\n"], false, false);
293
- var peg$e55 = peg$otherExpectation("Mandatory Horizontal Whitespace");
294
- var peg$e56 = peg$classExpectation([" ", "\t"], false, false);
295
- var peg$e57 = peg$otherExpectation("Optional Horizontal Whitespace");
296
- var peg$e58 = peg$otherExpectation("Mandatory Vertical Whitespace");
297
- var peg$e59 = peg$otherExpectation("Optional Vertical Whitespace");
298
- var peg$e60 = peg$otherExpectation("Mandatory Whitespace");
299
- var peg$e61 = peg$classExpectation([" ", "\t", "\n", "\r"], false, false);
300
- var peg$e62 = peg$otherExpectation("Optional Whitespace");
277
+ var peg$e37 = peg$literalExpectation("\\left(", false);
278
+ var peg$e38 = peg$literalExpectation("\\right)", false);
279
+ var peg$e39 = peg$literalExpectation("url", false);
280
+ var peg$e40 = peg$literalExpectation("href", false);
281
+ var peg$e41 = peg$literalExpectation("\\verb", false);
282
+ var peg$e42 = peg$anyExpectation();
283
+ var peg$e43 = peg$literalExpectation("begin", false);
284
+ var peg$e44 = peg$literalExpectation("end", false);
285
+ var peg$e45 = peg$classExpectation([["A", "Z"], ["a", "z"]], false, false);
286
+ var peg$e46 = peg$literalExpectation("[", false);
287
+ var peg$e47 = peg$classExpectation(["]"], true, false);
288
+ var peg$e48 = peg$literalExpectation("]", false);
289
+ var peg$e49 = peg$classExpectation([" ", "\t", "^", "_", "$", "{", "}", "\\"], true, false);
290
+ var peg$e50 = peg$classExpectation([["a", "z"], ["A", "Z"], "-", "_"], false, false);
291
+ var peg$e51 = peg$classExpectation([["a", "z"], ["A", "Z"], ["0", "9"], "-", "&", "_", ":"], false, false);
292
+ var peg$e52 = peg$classExpectation(["'", "`", "\"", "=", "~", "^", "."], false, false);
293
+ var peg$e53 = peg$classExpectation(["'", "`", "\"", "=", "~", "^", ".", "c", "b", "u", "v", "d", "r", "H", "k"], false, false);
294
+ var peg$e54 = peg$literalExpectation("=", false);
295
+ var peg$e55 = peg$literalExpectation("#", false);
296
+ var peg$e56 = peg$classExpectation(["\r", "\n"], false, false);
297
+ var peg$e57 = peg$otherExpectation("Mandatory Horizontal Whitespace");
298
+ var peg$e58 = peg$classExpectation([" ", "\t"], false, false);
299
+ var peg$e59 = peg$otherExpectation("Optional Horizontal Whitespace");
300
+ var peg$e60 = peg$otherExpectation("Mandatory Vertical Whitespace");
301
+ var peg$e61 = peg$otherExpectation("Optional Vertical Whitespace");
302
+ var peg$e62 = peg$otherExpectation("Mandatory Whitespace");
303
+ var peg$e63 = peg$classExpectation([" ", "\t", "\n", "\r"], false, false);
304
+ var peg$e64 = peg$otherExpectation("Optional Whitespace");
301
305
 
302
306
  var peg$f0 = function(r) {
303
307
  return {
@@ -446,7 +450,7 @@ function peg$parse(input, options) {
446
450
  kind: 'Text',
447
451
  loc: location(),
448
452
  source: text(),
449
- value: v,
453
+ value: math.on ? v.replace(/[ \r\n\t]/g, '') : v,
450
454
  mode: math.on ? 'math' : 'text',
451
455
  })
452
456
  };
@@ -637,7 +641,25 @@ function peg$parse(input, options) {
637
641
  },
638
642
  }
639
643
  };
640
- var peg$f49 = function(cmd, url) {
644
+ var peg$f49 = function() {
645
+ return {
646
+ kind: 'Text',
647
+ loc: location(),
648
+ source: text(),
649
+ value: '(',
650
+ mode: math.on ? 'math' : 'text',
651
+ }
652
+ };
653
+ var peg$f50 = function() {
654
+ return {
655
+ kind: 'Text',
656
+ loc: location(),
657
+ source: text(),
658
+ value: ')',
659
+ mode: math.on ? 'math' : 'text',
660
+ }
661
+ };
662
+ var peg$f51 = function(cmd, url) {
641
663
  // https://github.com/retorquere/zotero-better-bibtex/issues/2617
642
664
  url.value = url.value.replace(/\\([\#%])/g, '$1')
643
665
  return {
@@ -651,7 +673,7 @@ function peg$parse(input, options) {
651
673
  },
652
674
  }
653
675
  };
654
- var peg$f50 = function(cmd, url, label) {
676
+ var peg$f52 = function(cmd, url, label) {
655
677
  // https://github.com/retorquere/zotero-better-bibtex/issues/2617
656
678
  url.value = url.value.replace(/\\([\#%])/g, '$1')
657
679
  return {
@@ -665,9 +687,9 @@ function peg$parse(input, options) {
665
687
  },
666
688
  }
667
689
  };
668
- var peg$f51 = function(delim) { return verbatim.set(delim) };
669
- var peg$f52 = function(delim, v) { return verbatim.set('') };
670
- var peg$f53 = function(delim, v) {
690
+ var peg$f53 = function(delim) { return verbatim.set(delim) };
691
+ var peg$f54 = function(delim, v) { return verbatim.set('') };
692
+ var peg$f55 = function(delim, v) {
671
693
  return basicTextConversions({
672
694
  kind: 'Text',
673
695
  loc: location(),
@@ -676,8 +698,8 @@ function peg$parse(input, options) {
676
698
  mode: 'verbatim',
677
699
  })
678
700
  };
679
- var peg$f54 = function(cmd) { return verbatimCommands.includes(cmd) && (has_arguments[cmd] === 2) };
680
- var peg$f55 = function(cmd, optional, req1, req2) {
701
+ var peg$f56 = function(cmd) { return verbatimCommands.includes(cmd) && (has_arguments[cmd] === 2) };
702
+ var peg$f57 = function(cmd, optional, req1, req2) {
681
703
  return {
682
704
  kind: 'RegularCommand',
683
705
  loc: location(),
@@ -689,8 +711,8 @@ function peg$parse(input, options) {
689
711
  },
690
712
  }
691
713
  };
692
- var peg$f56 = function(cmd) { return verbatimCommands.includes(cmd) && (has_arguments[cmd] === 1) };
693
- var peg$f57 = function(cmd, optional, req) {
714
+ var peg$f58 = function(cmd) { return verbatimCommands.includes(cmd) && (has_arguments[cmd] === 1) };
715
+ var peg$f59 = function(cmd, optional, req) {
694
716
  return {
695
717
  kind: 'RegularCommand',
696
718
  loc: location(),
@@ -702,8 +724,8 @@ function peg$parse(input, options) {
702
724
  },
703
725
  }
704
726
  };
705
- var peg$f58 = function(cmd) { return (has_arguments[cmd] === 2) };
706
- var peg$f59 = function(cmd, optional, req1, req2) {
727
+ var peg$f60 = function(cmd) { return (has_arguments[cmd] === 2) };
728
+ var peg$f61 = function(cmd, optional, req1, req2) {
707
729
  return {
708
730
  kind: 'RegularCommand',
709
731
  loc: location(),
@@ -715,8 +737,8 @@ function peg$parse(input, options) {
715
737
  },
716
738
  }
717
739
  };
718
- var peg$f60 = function(cmd) { return (has_arguments[cmd] === 1) };
719
- var peg$f61 = function(cmd, optional, req) {
740
+ var peg$f62 = function(cmd) { return (has_arguments[cmd] === 1) };
741
+ var peg$f63 = function(cmd, optional, req) {
720
742
  let m
721
743
  if (req.kind === 'Block') {
722
744
  switch (cmd) {
@@ -766,7 +788,7 @@ function peg$parse(input, options) {
766
788
  }
767
789
  }
768
790
  };
769
- var peg$f62 = function(cmd, optional) {
791
+ var peg$f64 = function(cmd, optional) {
770
792
  return {
771
793
  kind: 'RegularCommand',
772
794
  loc: location(),
@@ -778,9 +800,9 @@ function peg$parse(input, options) {
778
800
  }
779
801
  }
780
802
  };
781
- var peg$f63 = function(char) { return char !== verbatim.delim };
782
- var peg$f64 = function(char) { return char };
783
- var peg$f65 = function(char) {
803
+ var peg$f65 = function(char) { return char !== verbatim.delim };
804
+ var peg$f66 = function(char) { return char };
805
+ var peg$f67 = function(char) {
784
806
  return basicTextConversions({
785
807
  kind: 'Text',
786
808
  loc: location(),
@@ -789,7 +811,7 @@ function peg$parse(input, options) {
789
811
  mode: math.on ? 'math' : 'text',
790
812
  })
791
813
  };
792
- var peg$f66 = function(v) {
814
+ var peg$f68 = function(v) {
793
815
  return basicTextConversions({
794
816
  kind: 'Text', // this isn't really correct but I don't need these right now
795
817
  loc: location(),
@@ -798,7 +820,7 @@ function peg$parse(input, options) {
798
820
  mode: math.on ? 'math' : 'text',
799
821
  })
800
822
  };
801
- var peg$f67 = function(v) {
823
+ var peg$f69 = function(v) {
802
824
  return basicTextConversions({
803
825
  kind: 'Text',
804
826
  loc: location(),
@@ -807,7 +829,8 @@ function peg$parse(input, options) {
807
829
  mode: math.on ? 'math' : 'text',
808
830
  })
809
831
  };
810
- var peg$f68 = function(v) { return v };
832
+ var peg$f70 = function(v) { return v };
833
+ var peg$f71 = function(ws) { return ws };
811
834
  var peg$currPos = options.peg$currPos | 0;
812
835
  var peg$savedPos = peg$currPos;
813
836
  var peg$posDetailsCache = [{ line: 1, column: 1 }];
@@ -3225,176 +3248,78 @@ function peg$parse(input, options) {
3225
3248
  }
3226
3249
  if (s0 === peg$FAILED) {
3227
3250
  s0 = peg$currPos;
3228
- if (input.charCodeAt(peg$currPos) === 92) {
3229
- s1 = peg$c11;
3230
- peg$currPos++;
3251
+ if (input.substr(peg$currPos, 6) === peg$c19) {
3252
+ s1 = peg$c19;
3253
+ peg$currPos += 6;
3231
3254
  } else {
3232
3255
  s1 = peg$FAILED;
3233
- if (peg$silentFails === 0) { peg$fail(peg$e25); }
3256
+ if (peg$silentFails === 0) { peg$fail(peg$e37); }
3234
3257
  }
3235
3258
  if (s1 !== peg$FAILED) {
3236
- if (input.substr(peg$currPos, 3) === peg$c19) {
3237
- s2 = peg$c19;
3238
- peg$currPos += 3;
3239
- } else {
3240
- s2 = peg$FAILED;
3241
- if (peg$silentFails === 0) { peg$fail(peg$e37); }
3242
- }
3243
- if (s2 !== peg$FAILED) {
3244
- s3 = peg$parse__h();
3245
- s4 = peg$currPos;
3246
- peg$silentFails++;
3247
- if (input.charCodeAt(peg$currPos) === 123) {
3248
- s5 = peg$c2;
3249
- peg$currPos++;
3250
- } else {
3251
- s5 = peg$FAILED;
3252
- if (peg$silentFails === 0) { peg$fail(peg$e5); }
3253
- }
3254
- peg$silentFails--;
3255
- if (s5 !== peg$FAILED) {
3256
- peg$currPos = s4;
3257
- s4 = undefined;
3258
- } else {
3259
- s4 = peg$FAILED;
3260
- }
3261
- if (s4 !== peg$FAILED) {
3262
- s5 = peg$parseVerbatimFieldValue();
3263
- if (s5 !== peg$FAILED) {
3264
- peg$savedPos = s0;
3265
- s0 = peg$f49(s2, s5);
3266
- } else {
3267
- peg$currPos = s0;
3268
- s0 = peg$FAILED;
3269
- }
3270
- } else {
3271
- peg$currPos = s0;
3272
- s0 = peg$FAILED;
3273
- }
3274
- } else {
3275
- peg$currPos = s0;
3276
- s0 = peg$FAILED;
3277
- }
3259
+ s2 = peg$parse__h();
3260
+ peg$savedPos = s0;
3261
+ s0 = peg$f49();
3278
3262
  } else {
3279
3263
  peg$currPos = s0;
3280
3264
  s0 = peg$FAILED;
3281
3265
  }
3282
3266
  if (s0 === peg$FAILED) {
3283
3267
  s0 = peg$currPos;
3284
- if (input.charCodeAt(peg$currPos) === 92) {
3285
- s1 = peg$c11;
3286
- peg$currPos++;
3268
+ if (input.substr(peg$currPos, 7) === peg$c20) {
3269
+ s1 = peg$c20;
3270
+ peg$currPos += 7;
3287
3271
  } else {
3288
3272
  s1 = peg$FAILED;
3289
- if (peg$silentFails === 0) { peg$fail(peg$e25); }
3273
+ if (peg$silentFails === 0) { peg$fail(peg$e38); }
3290
3274
  }
3291
3275
  if (s1 !== peg$FAILED) {
3292
- if (input.substr(peg$currPos, 4) === peg$c20) {
3293
- s2 = peg$c20;
3294
- peg$currPos += 4;
3295
- } else {
3296
- s2 = peg$FAILED;
3297
- if (peg$silentFails === 0) { peg$fail(peg$e38); }
3298
- }
3299
- if (s2 !== peg$FAILED) {
3300
- s3 = peg$parse__h();
3301
- s4 = peg$currPos;
3302
- peg$silentFails++;
3303
- if (input.charCodeAt(peg$currPos) === 123) {
3304
- s5 = peg$c2;
3305
- peg$currPos++;
3306
- } else {
3307
- s5 = peg$FAILED;
3308
- if (peg$silentFails === 0) { peg$fail(peg$e5); }
3309
- }
3310
- peg$silentFails--;
3311
- if (s5 !== peg$FAILED) {
3312
- peg$currPos = s4;
3313
- s4 = undefined;
3314
- } else {
3315
- s4 = peg$FAILED;
3316
- }
3317
- if (s4 !== peg$FAILED) {
3318
- s5 = peg$parseVerbatimFieldValue();
3319
- if (s5 !== peg$FAILED) {
3320
- s6 = peg$parseArgument();
3321
- if (s6 !== peg$FAILED) {
3322
- peg$savedPos = s0;
3323
- s0 = peg$f50(s2, s5, s6);
3324
- } else {
3325
- peg$currPos = s0;
3326
- s0 = peg$FAILED;
3327
- }
3328
- } else {
3329
- peg$currPos = s0;
3330
- s0 = peg$FAILED;
3331
- }
3332
- } else {
3333
- peg$currPos = s0;
3334
- s0 = peg$FAILED;
3335
- }
3336
- } else {
3337
- peg$currPos = s0;
3338
- s0 = peg$FAILED;
3339
- }
3276
+ s2 = peg$parse__h();
3277
+ peg$savedPos = s0;
3278
+ s0 = peg$f50();
3340
3279
  } else {
3341
3280
  peg$currPos = s0;
3342
3281
  s0 = peg$FAILED;
3343
3282
  }
3344
3283
  if (s0 === peg$FAILED) {
3345
3284
  s0 = peg$currPos;
3346
- if (input.substr(peg$currPos, 5) === peg$c21) {
3347
- s1 = peg$c21;
3348
- peg$currPos += 5;
3285
+ if (input.charCodeAt(peg$currPos) === 92) {
3286
+ s1 = peg$c11;
3287
+ peg$currPos++;
3349
3288
  } else {
3350
3289
  s1 = peg$FAILED;
3351
- if (peg$silentFails === 0) { peg$fail(peg$e39); }
3290
+ if (peg$silentFails === 0) { peg$fail(peg$e25); }
3352
3291
  }
3353
3292
  if (s1 !== peg$FAILED) {
3354
- if (input.length > peg$currPos) {
3355
- s2 = input.charAt(peg$currPos);
3356
- peg$currPos++;
3293
+ if (input.substr(peg$currPos, 3) === peg$c21) {
3294
+ s2 = peg$c21;
3295
+ peg$currPos += 3;
3357
3296
  } else {
3358
3297
  s2 = peg$FAILED;
3359
- if (peg$silentFails === 0) { peg$fail(peg$e40); }
3298
+ if (peg$silentFails === 0) { peg$fail(peg$e39); }
3360
3299
  }
3361
3300
  if (s2 !== peg$FAILED) {
3362
- peg$savedPos = peg$currPos;
3363
- s3 = peg$f51(s2);
3364
- if (s3) {
3365
- s3 = undefined;
3301
+ s3 = peg$parse__h();
3302
+ s4 = peg$currPos;
3303
+ peg$silentFails++;
3304
+ if (input.charCodeAt(peg$currPos) === 123) {
3305
+ s5 = peg$c2;
3306
+ peg$currPos++;
3366
3307
  } else {
3367
- s3 = peg$FAILED;
3308
+ s5 = peg$FAILED;
3309
+ if (peg$silentFails === 0) { peg$fail(peg$e5); }
3368
3310
  }
3369
- if (s3 !== peg$FAILED) {
3370
- s4 = [];
3371
- s5 = peg$parseVerbatimChar();
3372
- while (s5 !== peg$FAILED) {
3373
- s4.push(s5);
3374
- s5 = peg$parseVerbatimChar();
3375
- }
3376
- if (input.length > peg$currPos) {
3377
- s5 = input.charAt(peg$currPos);
3378
- peg$currPos++;
3379
- } else {
3380
- s5 = peg$FAILED;
3381
- if (peg$silentFails === 0) { peg$fail(peg$e40); }
3382
- }
3311
+ peg$silentFails--;
3312
+ if (s5 !== peg$FAILED) {
3313
+ peg$currPos = s4;
3314
+ s4 = undefined;
3315
+ } else {
3316
+ s4 = peg$FAILED;
3317
+ }
3318
+ if (s4 !== peg$FAILED) {
3319
+ s5 = peg$parseVerbatimFieldValue();
3383
3320
  if (s5 !== peg$FAILED) {
3384
- peg$savedPos = peg$currPos;
3385
- s6 = peg$f52(s2, s4);
3386
- if (s6) {
3387
- s6 = undefined;
3388
- } else {
3389
- s6 = peg$FAILED;
3390
- }
3391
- if (s6 !== peg$FAILED) {
3392
- peg$savedPos = s0;
3393
- s0 = peg$f53(s2, s4);
3394
- } else {
3395
- peg$currPos = s0;
3396
- s0 = peg$FAILED;
3397
- }
3321
+ peg$savedPos = s0;
3322
+ s0 = peg$f51(s2, s5);
3398
3323
  } else {
3399
3324
  peg$currPos = s0;
3400
3325
  s0 = peg$FAILED;
@@ -3421,119 +3346,38 @@ function peg$parse(input, options) {
3421
3346
  if (peg$silentFails === 0) { peg$fail(peg$e25); }
3422
3347
  }
3423
3348
  if (s1 !== peg$FAILED) {
3424
- s2 = peg$currPos;
3425
- peg$silentFails++;
3426
- if (input.substr(peg$currPos, 5) === peg$c22) {
3427
- s3 = peg$c22;
3428
- peg$currPos += 5;
3349
+ if (input.substr(peg$currPos, 4) === peg$c22) {
3350
+ s2 = peg$c22;
3351
+ peg$currPos += 4;
3429
3352
  } else {
3430
- s3 = peg$FAILED;
3431
- if (peg$silentFails === 0) { peg$fail(peg$e41); }
3432
- }
3433
- peg$silentFails--;
3434
- if (s3 === peg$FAILED) {
3435
- s2 = undefined;
3436
- } else {
3437
- peg$currPos = s2;
3438
3353
  s2 = peg$FAILED;
3354
+ if (peg$silentFails === 0) { peg$fail(peg$e40); }
3439
3355
  }
3440
3356
  if (s2 !== peg$FAILED) {
3441
- s3 = peg$currPos;
3357
+ s3 = peg$parse__h();
3358
+ s4 = peg$currPos;
3442
3359
  peg$silentFails++;
3443
- if (input.substr(peg$currPos, 3) === peg$c23) {
3444
- s4 = peg$c23;
3445
- peg$currPos += 3;
3360
+ if (input.charCodeAt(peg$currPos) === 123) {
3361
+ s5 = peg$c2;
3362
+ peg$currPos++;
3446
3363
  } else {
3447
- s4 = peg$FAILED;
3448
- if (peg$silentFails === 0) { peg$fail(peg$e42); }
3364
+ s5 = peg$FAILED;
3365
+ if (peg$silentFails === 0) { peg$fail(peg$e5); }
3449
3366
  }
3450
3367
  peg$silentFails--;
3451
- if (s4 === peg$FAILED) {
3452
- s3 = undefined;
3368
+ if (s5 !== peg$FAILED) {
3369
+ peg$currPos = s4;
3370
+ s4 = undefined;
3453
3371
  } else {
3454
- peg$currPos = s3;
3455
- s3 = peg$FAILED;
3372
+ s4 = peg$FAILED;
3456
3373
  }
3457
- if (s3 !== peg$FAILED) {
3458
- s4 = peg$currPos;
3459
- s5 = [];
3460
- s6 = input.charAt(peg$currPos);
3461
- if (peg$r18.test(s6)) {
3462
- peg$currPos++;
3463
- } else {
3464
- s6 = peg$FAILED;
3465
- if (peg$silentFails === 0) { peg$fail(peg$e43); }
3466
- }
3467
- if (s6 !== peg$FAILED) {
3468
- while (s6 !== peg$FAILED) {
3469
- s5.push(s6);
3470
- s6 = input.charAt(peg$currPos);
3471
- if (peg$r18.test(s6)) {
3472
- peg$currPos++;
3473
- } else {
3474
- s6 = peg$FAILED;
3475
- if (peg$silentFails === 0) { peg$fail(peg$e43); }
3476
- }
3477
- }
3478
- } else {
3479
- s5 = peg$FAILED;
3480
- }
3374
+ if (s4 !== peg$FAILED) {
3375
+ s5 = peg$parseVerbatimFieldValue();
3481
3376
  if (s5 !== peg$FAILED) {
3482
- s4 = input.substring(s4, peg$currPos);
3483
- } else {
3484
- s4 = s5;
3485
- }
3486
- if (s4 !== peg$FAILED) {
3487
- peg$savedPos = peg$currPos;
3488
- s5 = peg$f54(s4);
3489
- if (s5) {
3490
- s5 = undefined;
3491
- } else {
3492
- s5 = peg$FAILED;
3493
- }
3494
- if (s5 !== peg$FAILED) {
3495
- s6 = [];
3496
- s7 = peg$parseOptionalArgument();
3497
- while (s7 !== peg$FAILED) {
3498
- s6.push(s7);
3499
- s7 = peg$parseOptionalArgument();
3500
- }
3501
- s7 = peg$parse__h();
3502
- s8 = peg$currPos;
3503
- peg$silentFails++;
3504
- if (input.charCodeAt(peg$currPos) === 123) {
3505
- s9 = peg$c2;
3506
- peg$currPos++;
3507
- } else {
3508
- s9 = peg$FAILED;
3509
- if (peg$silentFails === 0) { peg$fail(peg$e5); }
3510
- }
3511
- peg$silentFails--;
3512
- if (s9 !== peg$FAILED) {
3513
- peg$currPos = s8;
3514
- s8 = undefined;
3515
- } else {
3516
- s8 = peg$FAILED;
3517
- }
3518
- if (s8 !== peg$FAILED) {
3519
- s9 = peg$parseVerbatimFieldValue();
3520
- if (s9 !== peg$FAILED) {
3521
- s10 = peg$parseVerbatimFieldValue();
3522
- if (s10 !== peg$FAILED) {
3523
- peg$savedPos = s0;
3524
- s0 = peg$f55(s4, s6, s9, s10);
3525
- } else {
3526
- peg$currPos = s0;
3527
- s0 = peg$FAILED;
3528
- }
3529
- } else {
3530
- peg$currPos = s0;
3531
- s0 = peg$FAILED;
3532
- }
3533
- } else {
3534
- peg$currPos = s0;
3535
- s0 = peg$FAILED;
3536
- }
3377
+ s6 = peg$parseArgument();
3378
+ if (s6 !== peg$FAILED) {
3379
+ peg$savedPos = s0;
3380
+ s0 = peg$f52(s2, s5, s6);
3537
3381
  } else {
3538
3382
  peg$currPos = s0;
3539
3383
  s0 = peg$FAILED;
@@ -3556,121 +3400,54 @@ function peg$parse(input, options) {
3556
3400
  }
3557
3401
  if (s0 === peg$FAILED) {
3558
3402
  s0 = peg$currPos;
3559
- if (input.charCodeAt(peg$currPos) === 92) {
3560
- s1 = peg$c11;
3561
- peg$currPos++;
3403
+ if (input.substr(peg$currPos, 5) === peg$c23) {
3404
+ s1 = peg$c23;
3405
+ peg$currPos += 5;
3562
3406
  } else {
3563
3407
  s1 = peg$FAILED;
3564
- if (peg$silentFails === 0) { peg$fail(peg$e25); }
3408
+ if (peg$silentFails === 0) { peg$fail(peg$e41); }
3565
3409
  }
3566
3410
  if (s1 !== peg$FAILED) {
3567
- s2 = peg$currPos;
3568
- peg$silentFails++;
3569
- if (input.substr(peg$currPos, 5) === peg$c22) {
3570
- s3 = peg$c22;
3571
- peg$currPos += 5;
3572
- } else {
3573
- s3 = peg$FAILED;
3574
- if (peg$silentFails === 0) { peg$fail(peg$e41); }
3575
- }
3576
- peg$silentFails--;
3577
- if (s3 === peg$FAILED) {
3578
- s2 = undefined;
3411
+ if (input.length > peg$currPos) {
3412
+ s2 = input.charAt(peg$currPos);
3413
+ peg$currPos++;
3579
3414
  } else {
3580
- peg$currPos = s2;
3581
3415
  s2 = peg$FAILED;
3416
+ if (peg$silentFails === 0) { peg$fail(peg$e42); }
3582
3417
  }
3583
3418
  if (s2 !== peg$FAILED) {
3584
- s3 = peg$currPos;
3585
- peg$silentFails++;
3586
- if (input.substr(peg$currPos, 3) === peg$c23) {
3587
- s4 = peg$c23;
3588
- peg$currPos += 3;
3589
- } else {
3590
- s4 = peg$FAILED;
3591
- if (peg$silentFails === 0) { peg$fail(peg$e42); }
3592
- }
3593
- peg$silentFails--;
3594
- if (s4 === peg$FAILED) {
3419
+ peg$savedPos = peg$currPos;
3420
+ s3 = peg$f53(s2);
3421
+ if (s3) {
3595
3422
  s3 = undefined;
3596
3423
  } else {
3597
- peg$currPos = s3;
3598
3424
  s3 = peg$FAILED;
3599
3425
  }
3600
3426
  if (s3 !== peg$FAILED) {
3601
- s4 = peg$currPos;
3602
- s5 = [];
3603
- s6 = input.charAt(peg$currPos);
3604
- if (peg$r18.test(s6)) {
3605
- peg$currPos++;
3606
- } else {
3607
- s6 = peg$FAILED;
3608
- if (peg$silentFails === 0) { peg$fail(peg$e43); }
3427
+ s4 = [];
3428
+ s5 = peg$parseVerbatimChar();
3429
+ while (s5 !== peg$FAILED) {
3430
+ s4.push(s5);
3431
+ s5 = peg$parseVerbatimChar();
3609
3432
  }
3610
- if (s6 !== peg$FAILED) {
3611
- while (s6 !== peg$FAILED) {
3612
- s5.push(s6);
3613
- s6 = input.charAt(peg$currPos);
3614
- if (peg$r18.test(s6)) {
3615
- peg$currPos++;
3616
- } else {
3617
- s6 = peg$FAILED;
3618
- if (peg$silentFails === 0) { peg$fail(peg$e43); }
3619
- }
3620
- }
3433
+ if (input.length > peg$currPos) {
3434
+ s5 = input.charAt(peg$currPos);
3435
+ peg$currPos++;
3621
3436
  } else {
3622
3437
  s5 = peg$FAILED;
3438
+ if (peg$silentFails === 0) { peg$fail(peg$e42); }
3623
3439
  }
3624
3440
  if (s5 !== peg$FAILED) {
3625
- s4 = input.substring(s4, peg$currPos);
3626
- } else {
3627
- s4 = s5;
3628
- }
3629
- if (s4 !== peg$FAILED) {
3630
3441
  peg$savedPos = peg$currPos;
3631
- s5 = peg$f56(s4);
3632
- if (s5) {
3633
- s5 = undefined;
3442
+ s6 = peg$f54(s2, s4);
3443
+ if (s6) {
3444
+ s6 = undefined;
3634
3445
  } else {
3635
- s5 = peg$FAILED;
3446
+ s6 = peg$FAILED;
3636
3447
  }
3637
- if (s5 !== peg$FAILED) {
3638
- s6 = [];
3639
- s7 = peg$parseOptionalArgument();
3640
- while (s7 !== peg$FAILED) {
3641
- s6.push(s7);
3642
- s7 = peg$parseOptionalArgument();
3643
- }
3644
- s7 = peg$parse__h();
3645
- s8 = peg$currPos;
3646
- peg$silentFails++;
3647
- if (input.charCodeAt(peg$currPos) === 123) {
3648
- s9 = peg$c2;
3649
- peg$currPos++;
3650
- } else {
3651
- s9 = peg$FAILED;
3652
- if (peg$silentFails === 0) { peg$fail(peg$e5); }
3653
- }
3654
- peg$silentFails--;
3655
- if (s9 !== peg$FAILED) {
3656
- peg$currPos = s8;
3657
- s8 = undefined;
3658
- } else {
3659
- s8 = peg$FAILED;
3660
- }
3661
- if (s8 !== peg$FAILED) {
3662
- s9 = peg$parseVerbatimFieldValue();
3663
- if (s9 !== peg$FAILED) {
3664
- peg$savedPos = s0;
3665
- s0 = peg$f57(s4, s6, s9);
3666
- } else {
3667
- peg$currPos = s0;
3668
- s0 = peg$FAILED;
3669
- }
3670
- } else {
3671
- peg$currPos = s0;
3672
- s0 = peg$FAILED;
3673
- }
3448
+ if (s6 !== peg$FAILED) {
3449
+ peg$savedPos = s0;
3450
+ s0 = peg$f55(s2, s4);
3674
3451
  } else {
3675
3452
  peg$currPos = s0;
3676
3453
  s0 = peg$FAILED;
@@ -3703,12 +3480,12 @@ function peg$parse(input, options) {
3703
3480
  if (s1 !== peg$FAILED) {
3704
3481
  s2 = peg$currPos;
3705
3482
  peg$silentFails++;
3706
- if (input.substr(peg$currPos, 5) === peg$c22) {
3707
- s3 = peg$c22;
3483
+ if (input.substr(peg$currPos, 5) === peg$c24) {
3484
+ s3 = peg$c24;
3708
3485
  peg$currPos += 5;
3709
3486
  } else {
3710
3487
  s3 = peg$FAILED;
3711
- if (peg$silentFails === 0) { peg$fail(peg$e41); }
3488
+ if (peg$silentFails === 0) { peg$fail(peg$e43); }
3712
3489
  }
3713
3490
  peg$silentFails--;
3714
3491
  if (s3 === peg$FAILED) {
@@ -3720,12 +3497,12 @@ function peg$parse(input, options) {
3720
3497
  if (s2 !== peg$FAILED) {
3721
3498
  s3 = peg$currPos;
3722
3499
  peg$silentFails++;
3723
- if (input.substr(peg$currPos, 3) === peg$c23) {
3724
- s4 = peg$c23;
3500
+ if (input.substr(peg$currPos, 3) === peg$c25) {
3501
+ s4 = peg$c25;
3725
3502
  peg$currPos += 3;
3726
3503
  } else {
3727
3504
  s4 = peg$FAILED;
3728
- if (peg$silentFails === 0) { peg$fail(peg$e42); }
3505
+ if (peg$silentFails === 0) { peg$fail(peg$e44); }
3729
3506
  }
3730
3507
  peg$silentFails--;
3731
3508
  if (s4 === peg$FAILED) {
@@ -3742,7 +3519,7 @@ function peg$parse(input, options) {
3742
3519
  peg$currPos++;
3743
3520
  } else {
3744
3521
  s6 = peg$FAILED;
3745
- if (peg$silentFails === 0) { peg$fail(peg$e43); }
3522
+ if (peg$silentFails === 0) { peg$fail(peg$e45); }
3746
3523
  }
3747
3524
  if (s6 !== peg$FAILED) {
3748
3525
  while (s6 !== peg$FAILED) {
@@ -3752,7 +3529,7 @@ function peg$parse(input, options) {
3752
3529
  peg$currPos++;
3753
3530
  } else {
3754
3531
  s6 = peg$FAILED;
3755
- if (peg$silentFails === 0) { peg$fail(peg$e43); }
3532
+ if (peg$silentFails === 0) { peg$fail(peg$e45); }
3756
3533
  }
3757
3534
  }
3758
3535
  } else {
@@ -3765,7 +3542,7 @@ function peg$parse(input, options) {
3765
3542
  }
3766
3543
  if (s4 !== peg$FAILED) {
3767
3544
  peg$savedPos = peg$currPos;
3768
- s5 = peg$f58(s4);
3545
+ s5 = peg$f56(s4);
3769
3546
  if (s5) {
3770
3547
  s5 = undefined;
3771
3548
  } else {
@@ -3779,12 +3556,33 @@ function peg$parse(input, options) {
3779
3556
  s7 = peg$parseOptionalArgument();
3780
3557
  }
3781
3558
  s7 = peg$parse__h();
3782
- s8 = peg$parseArgument();
3559
+ s8 = peg$currPos;
3560
+ peg$silentFails++;
3561
+ if (input.charCodeAt(peg$currPos) === 123) {
3562
+ s9 = peg$c2;
3563
+ peg$currPos++;
3564
+ } else {
3565
+ s9 = peg$FAILED;
3566
+ if (peg$silentFails === 0) { peg$fail(peg$e5); }
3567
+ }
3568
+ peg$silentFails--;
3569
+ if (s9 !== peg$FAILED) {
3570
+ peg$currPos = s8;
3571
+ s8 = undefined;
3572
+ } else {
3573
+ s8 = peg$FAILED;
3574
+ }
3783
3575
  if (s8 !== peg$FAILED) {
3784
- s9 = peg$parseArgument();
3576
+ s9 = peg$parseVerbatimFieldValue();
3785
3577
  if (s9 !== peg$FAILED) {
3786
- peg$savedPos = s0;
3787
- s0 = peg$f59(s4, s6, s8, s9);
3578
+ s10 = peg$parseVerbatimFieldValue();
3579
+ if (s10 !== peg$FAILED) {
3580
+ peg$savedPos = s0;
3581
+ s0 = peg$f57(s4, s6, s9, s10);
3582
+ } else {
3583
+ peg$currPos = s0;
3584
+ s0 = peg$FAILED;
3585
+ }
3788
3586
  } else {
3789
3587
  peg$currPos = s0;
3790
3588
  s0 = peg$FAILED;
@@ -3825,12 +3623,12 @@ function peg$parse(input, options) {
3825
3623
  if (s1 !== peg$FAILED) {
3826
3624
  s2 = peg$currPos;
3827
3625
  peg$silentFails++;
3828
- if (input.substr(peg$currPos, 5) === peg$c22) {
3829
- s3 = peg$c22;
3626
+ if (input.substr(peg$currPos, 5) === peg$c24) {
3627
+ s3 = peg$c24;
3830
3628
  peg$currPos += 5;
3831
3629
  } else {
3832
3630
  s3 = peg$FAILED;
3833
- if (peg$silentFails === 0) { peg$fail(peg$e41); }
3631
+ if (peg$silentFails === 0) { peg$fail(peg$e43); }
3834
3632
  }
3835
3633
  peg$silentFails--;
3836
3634
  if (s3 === peg$FAILED) {
@@ -3842,12 +3640,12 @@ function peg$parse(input, options) {
3842
3640
  if (s2 !== peg$FAILED) {
3843
3641
  s3 = peg$currPos;
3844
3642
  peg$silentFails++;
3845
- if (input.substr(peg$currPos, 3) === peg$c23) {
3846
- s4 = peg$c23;
3643
+ if (input.substr(peg$currPos, 3) === peg$c25) {
3644
+ s4 = peg$c25;
3847
3645
  peg$currPos += 3;
3848
3646
  } else {
3849
3647
  s4 = peg$FAILED;
3850
- if (peg$silentFails === 0) { peg$fail(peg$e42); }
3648
+ if (peg$silentFails === 0) { peg$fail(peg$e44); }
3851
3649
  }
3852
3650
  peg$silentFails--;
3853
3651
  if (s4 === peg$FAILED) {
@@ -3864,7 +3662,7 @@ function peg$parse(input, options) {
3864
3662
  peg$currPos++;
3865
3663
  } else {
3866
3664
  s6 = peg$FAILED;
3867
- if (peg$silentFails === 0) { peg$fail(peg$e43); }
3665
+ if (peg$silentFails === 0) { peg$fail(peg$e45); }
3868
3666
  }
3869
3667
  if (s6 !== peg$FAILED) {
3870
3668
  while (s6 !== peg$FAILED) {
@@ -3874,7 +3672,7 @@ function peg$parse(input, options) {
3874
3672
  peg$currPos++;
3875
3673
  } else {
3876
3674
  s6 = peg$FAILED;
3877
- if (peg$silentFails === 0) { peg$fail(peg$e43); }
3675
+ if (peg$silentFails === 0) { peg$fail(peg$e45); }
3878
3676
  }
3879
3677
  }
3880
3678
  } else {
@@ -3887,7 +3685,7 @@ function peg$parse(input, options) {
3887
3685
  }
3888
3686
  if (s4 !== peg$FAILED) {
3889
3687
  peg$savedPos = peg$currPos;
3890
- s5 = peg$f60(s4);
3688
+ s5 = peg$f58(s4);
3891
3689
  if (s5) {
3892
3690
  s5 = undefined;
3893
3691
  } else {
@@ -3901,10 +3699,31 @@ function peg$parse(input, options) {
3901
3699
  s7 = peg$parseOptionalArgument();
3902
3700
  }
3903
3701
  s7 = peg$parse__h();
3904
- s8 = peg$parseArgument();
3702
+ s8 = peg$currPos;
3703
+ peg$silentFails++;
3704
+ if (input.charCodeAt(peg$currPos) === 123) {
3705
+ s9 = peg$c2;
3706
+ peg$currPos++;
3707
+ } else {
3708
+ s9 = peg$FAILED;
3709
+ if (peg$silentFails === 0) { peg$fail(peg$e5); }
3710
+ }
3711
+ peg$silentFails--;
3712
+ if (s9 !== peg$FAILED) {
3713
+ peg$currPos = s8;
3714
+ s8 = undefined;
3715
+ } else {
3716
+ s8 = peg$FAILED;
3717
+ }
3905
3718
  if (s8 !== peg$FAILED) {
3906
- peg$savedPos = s0;
3907
- s0 = peg$f61(s4, s6, s8);
3719
+ s9 = peg$parseVerbatimFieldValue();
3720
+ if (s9 !== peg$FAILED) {
3721
+ peg$savedPos = s0;
3722
+ s0 = peg$f59(s4, s6, s9);
3723
+ } else {
3724
+ peg$currPos = s0;
3725
+ s0 = peg$FAILED;
3726
+ }
3908
3727
  } else {
3909
3728
  peg$currPos = s0;
3910
3729
  s0 = peg$FAILED;
@@ -3941,12 +3760,12 @@ function peg$parse(input, options) {
3941
3760
  if (s1 !== peg$FAILED) {
3942
3761
  s2 = peg$currPos;
3943
3762
  peg$silentFails++;
3944
- if (input.substr(peg$currPos, 5) === peg$c22) {
3945
- s3 = peg$c22;
3763
+ if (input.substr(peg$currPos, 5) === peg$c24) {
3764
+ s3 = peg$c24;
3946
3765
  peg$currPos += 5;
3947
3766
  } else {
3948
3767
  s3 = peg$FAILED;
3949
- if (peg$silentFails === 0) { peg$fail(peg$e41); }
3768
+ if (peg$silentFails === 0) { peg$fail(peg$e43); }
3950
3769
  }
3951
3770
  peg$silentFails--;
3952
3771
  if (s3 === peg$FAILED) {
@@ -3958,12 +3777,12 @@ function peg$parse(input, options) {
3958
3777
  if (s2 !== peg$FAILED) {
3959
3778
  s3 = peg$currPos;
3960
3779
  peg$silentFails++;
3961
- if (input.substr(peg$currPos, 3) === peg$c23) {
3962
- s4 = peg$c23;
3780
+ if (input.substr(peg$currPos, 3) === peg$c25) {
3781
+ s4 = peg$c25;
3963
3782
  peg$currPos += 3;
3964
3783
  } else {
3965
3784
  s4 = peg$FAILED;
3966
- if (peg$silentFails === 0) { peg$fail(peg$e42); }
3785
+ if (peg$silentFails === 0) { peg$fail(peg$e44); }
3967
3786
  }
3968
3787
  peg$silentFails--;
3969
3788
  if (s4 === peg$FAILED) {
@@ -3980,7 +3799,7 @@ function peg$parse(input, options) {
3980
3799
  peg$currPos++;
3981
3800
  } else {
3982
3801
  s6 = peg$FAILED;
3983
- if (peg$silentFails === 0) { peg$fail(peg$e43); }
3802
+ if (peg$silentFails === 0) { peg$fail(peg$e45); }
3984
3803
  }
3985
3804
  if (s6 !== peg$FAILED) {
3986
3805
  while (s6 !== peg$FAILED) {
@@ -3990,7 +3809,7 @@ function peg$parse(input, options) {
3990
3809
  peg$currPos++;
3991
3810
  } else {
3992
3811
  s6 = peg$FAILED;
3993
- if (peg$silentFails === 0) { peg$fail(peg$e43); }
3812
+ if (peg$silentFails === 0) { peg$fail(peg$e45); }
3994
3813
  }
3995
3814
  }
3996
3815
  } else {
@@ -4002,15 +3821,39 @@ function peg$parse(input, options) {
4002
3821
  s4 = s5;
4003
3822
  }
4004
3823
  if (s4 !== peg$FAILED) {
4005
- s5 = [];
4006
- s6 = peg$parseOptionalArgument();
4007
- while (s6 !== peg$FAILED) {
4008
- s5.push(s6);
4009
- s6 = peg$parseOptionalArgument();
3824
+ peg$savedPos = peg$currPos;
3825
+ s5 = peg$f60(s4);
3826
+ if (s5) {
3827
+ s5 = undefined;
3828
+ } else {
3829
+ s5 = peg$FAILED;
3830
+ }
3831
+ if (s5 !== peg$FAILED) {
3832
+ s6 = [];
3833
+ s7 = peg$parseOptionalArgument();
3834
+ while (s7 !== peg$FAILED) {
3835
+ s6.push(s7);
3836
+ s7 = peg$parseOptionalArgument();
3837
+ }
3838
+ s7 = peg$parse__h();
3839
+ s8 = peg$parseArgument();
3840
+ if (s8 !== peg$FAILED) {
3841
+ s9 = peg$parseArgument();
3842
+ if (s9 !== peg$FAILED) {
3843
+ peg$savedPos = s0;
3844
+ s0 = peg$f61(s4, s6, s8, s9);
3845
+ } else {
3846
+ peg$currPos = s0;
3847
+ s0 = peg$FAILED;
3848
+ }
3849
+ } else {
3850
+ peg$currPos = s0;
3851
+ s0 = peg$FAILED;
3852
+ }
3853
+ } else {
3854
+ peg$currPos = s0;
3855
+ s0 = peg$FAILED;
4010
3856
  }
4011
- s6 = peg$parse__();
4012
- peg$savedPos = s0;
4013
- s0 = peg$f62(s4, s5);
4014
3857
  } else {
4015
3858
  peg$currPos = s0;
4016
3859
  s0 = peg$FAILED;
@@ -4027,6 +3870,222 @@ function peg$parse(input, options) {
4027
3870
  peg$currPos = s0;
4028
3871
  s0 = peg$FAILED;
4029
3872
  }
3873
+ if (s0 === peg$FAILED) {
3874
+ s0 = peg$currPos;
3875
+ if (input.charCodeAt(peg$currPos) === 92) {
3876
+ s1 = peg$c11;
3877
+ peg$currPos++;
3878
+ } else {
3879
+ s1 = peg$FAILED;
3880
+ if (peg$silentFails === 0) { peg$fail(peg$e25); }
3881
+ }
3882
+ if (s1 !== peg$FAILED) {
3883
+ s2 = peg$currPos;
3884
+ peg$silentFails++;
3885
+ if (input.substr(peg$currPos, 5) === peg$c24) {
3886
+ s3 = peg$c24;
3887
+ peg$currPos += 5;
3888
+ } else {
3889
+ s3 = peg$FAILED;
3890
+ if (peg$silentFails === 0) { peg$fail(peg$e43); }
3891
+ }
3892
+ peg$silentFails--;
3893
+ if (s3 === peg$FAILED) {
3894
+ s2 = undefined;
3895
+ } else {
3896
+ peg$currPos = s2;
3897
+ s2 = peg$FAILED;
3898
+ }
3899
+ if (s2 !== peg$FAILED) {
3900
+ s3 = peg$currPos;
3901
+ peg$silentFails++;
3902
+ if (input.substr(peg$currPos, 3) === peg$c25) {
3903
+ s4 = peg$c25;
3904
+ peg$currPos += 3;
3905
+ } else {
3906
+ s4 = peg$FAILED;
3907
+ if (peg$silentFails === 0) { peg$fail(peg$e44); }
3908
+ }
3909
+ peg$silentFails--;
3910
+ if (s4 === peg$FAILED) {
3911
+ s3 = undefined;
3912
+ } else {
3913
+ peg$currPos = s3;
3914
+ s3 = peg$FAILED;
3915
+ }
3916
+ if (s3 !== peg$FAILED) {
3917
+ s4 = peg$currPos;
3918
+ s5 = [];
3919
+ s6 = input.charAt(peg$currPos);
3920
+ if (peg$r18.test(s6)) {
3921
+ peg$currPos++;
3922
+ } else {
3923
+ s6 = peg$FAILED;
3924
+ if (peg$silentFails === 0) { peg$fail(peg$e45); }
3925
+ }
3926
+ if (s6 !== peg$FAILED) {
3927
+ while (s6 !== peg$FAILED) {
3928
+ s5.push(s6);
3929
+ s6 = input.charAt(peg$currPos);
3930
+ if (peg$r18.test(s6)) {
3931
+ peg$currPos++;
3932
+ } else {
3933
+ s6 = peg$FAILED;
3934
+ if (peg$silentFails === 0) { peg$fail(peg$e45); }
3935
+ }
3936
+ }
3937
+ } else {
3938
+ s5 = peg$FAILED;
3939
+ }
3940
+ if (s5 !== peg$FAILED) {
3941
+ s4 = input.substring(s4, peg$currPos);
3942
+ } else {
3943
+ s4 = s5;
3944
+ }
3945
+ if (s4 !== peg$FAILED) {
3946
+ peg$savedPos = peg$currPos;
3947
+ s5 = peg$f62(s4);
3948
+ if (s5) {
3949
+ s5 = undefined;
3950
+ } else {
3951
+ s5 = peg$FAILED;
3952
+ }
3953
+ if (s5 !== peg$FAILED) {
3954
+ s6 = [];
3955
+ s7 = peg$parseOptionalArgument();
3956
+ while (s7 !== peg$FAILED) {
3957
+ s6.push(s7);
3958
+ s7 = peg$parseOptionalArgument();
3959
+ }
3960
+ s7 = peg$parse__h();
3961
+ s8 = peg$parseArgument();
3962
+ if (s8 !== peg$FAILED) {
3963
+ peg$savedPos = s0;
3964
+ s0 = peg$f63(s4, s6, s8);
3965
+ } else {
3966
+ peg$currPos = s0;
3967
+ s0 = peg$FAILED;
3968
+ }
3969
+ } else {
3970
+ peg$currPos = s0;
3971
+ s0 = peg$FAILED;
3972
+ }
3973
+ } else {
3974
+ peg$currPos = s0;
3975
+ s0 = peg$FAILED;
3976
+ }
3977
+ } else {
3978
+ peg$currPos = s0;
3979
+ s0 = peg$FAILED;
3980
+ }
3981
+ } else {
3982
+ peg$currPos = s0;
3983
+ s0 = peg$FAILED;
3984
+ }
3985
+ } else {
3986
+ peg$currPos = s0;
3987
+ s0 = peg$FAILED;
3988
+ }
3989
+ if (s0 === peg$FAILED) {
3990
+ s0 = peg$currPos;
3991
+ if (input.charCodeAt(peg$currPos) === 92) {
3992
+ s1 = peg$c11;
3993
+ peg$currPos++;
3994
+ } else {
3995
+ s1 = peg$FAILED;
3996
+ if (peg$silentFails === 0) { peg$fail(peg$e25); }
3997
+ }
3998
+ if (s1 !== peg$FAILED) {
3999
+ s2 = peg$currPos;
4000
+ peg$silentFails++;
4001
+ if (input.substr(peg$currPos, 5) === peg$c24) {
4002
+ s3 = peg$c24;
4003
+ peg$currPos += 5;
4004
+ } else {
4005
+ s3 = peg$FAILED;
4006
+ if (peg$silentFails === 0) { peg$fail(peg$e43); }
4007
+ }
4008
+ peg$silentFails--;
4009
+ if (s3 === peg$FAILED) {
4010
+ s2 = undefined;
4011
+ } else {
4012
+ peg$currPos = s2;
4013
+ s2 = peg$FAILED;
4014
+ }
4015
+ if (s2 !== peg$FAILED) {
4016
+ s3 = peg$currPos;
4017
+ peg$silentFails++;
4018
+ if (input.substr(peg$currPos, 3) === peg$c25) {
4019
+ s4 = peg$c25;
4020
+ peg$currPos += 3;
4021
+ } else {
4022
+ s4 = peg$FAILED;
4023
+ if (peg$silentFails === 0) { peg$fail(peg$e44); }
4024
+ }
4025
+ peg$silentFails--;
4026
+ if (s4 === peg$FAILED) {
4027
+ s3 = undefined;
4028
+ } else {
4029
+ peg$currPos = s3;
4030
+ s3 = peg$FAILED;
4031
+ }
4032
+ if (s3 !== peg$FAILED) {
4033
+ s4 = peg$currPos;
4034
+ s5 = [];
4035
+ s6 = input.charAt(peg$currPos);
4036
+ if (peg$r18.test(s6)) {
4037
+ peg$currPos++;
4038
+ } else {
4039
+ s6 = peg$FAILED;
4040
+ if (peg$silentFails === 0) { peg$fail(peg$e45); }
4041
+ }
4042
+ if (s6 !== peg$FAILED) {
4043
+ while (s6 !== peg$FAILED) {
4044
+ s5.push(s6);
4045
+ s6 = input.charAt(peg$currPos);
4046
+ if (peg$r18.test(s6)) {
4047
+ peg$currPos++;
4048
+ } else {
4049
+ s6 = peg$FAILED;
4050
+ if (peg$silentFails === 0) { peg$fail(peg$e45); }
4051
+ }
4052
+ }
4053
+ } else {
4054
+ s5 = peg$FAILED;
4055
+ }
4056
+ if (s5 !== peg$FAILED) {
4057
+ s4 = input.substring(s4, peg$currPos);
4058
+ } else {
4059
+ s4 = s5;
4060
+ }
4061
+ if (s4 !== peg$FAILED) {
4062
+ s5 = [];
4063
+ s6 = peg$parseOptionalArgument();
4064
+ while (s6 !== peg$FAILED) {
4065
+ s5.push(s6);
4066
+ s6 = peg$parseOptionalArgument();
4067
+ }
4068
+ s6 = peg$parse__();
4069
+ peg$savedPos = s0;
4070
+ s0 = peg$f64(s4, s5);
4071
+ } else {
4072
+ peg$currPos = s0;
4073
+ s0 = peg$FAILED;
4074
+ }
4075
+ } else {
4076
+ peg$currPos = s0;
4077
+ s0 = peg$FAILED;
4078
+ }
4079
+ } else {
4080
+ peg$currPos = s0;
4081
+ s0 = peg$FAILED;
4082
+ }
4083
+ } else {
4084
+ peg$currPos = s0;
4085
+ s0 = peg$FAILED;
4086
+ }
4087
+ }
4088
+ }
4030
4089
  }
4031
4090
  }
4032
4091
  }
@@ -4048,11 +4107,11 @@ function peg$parse(input, options) {
4048
4107
  peg$currPos++;
4049
4108
  } else {
4050
4109
  s1 = peg$FAILED;
4051
- if (peg$silentFails === 0) { peg$fail(peg$e40); }
4110
+ if (peg$silentFails === 0) { peg$fail(peg$e42); }
4052
4111
  }
4053
4112
  if (s1 !== peg$FAILED) {
4054
4113
  peg$savedPos = peg$currPos;
4055
- s2 = peg$f63(s1);
4114
+ s2 = peg$f65(s1);
4056
4115
  if (s2) {
4057
4116
  s2 = undefined;
4058
4117
  } else {
@@ -4060,7 +4119,7 @@ function peg$parse(input, options) {
4060
4119
  }
4061
4120
  if (s2 !== peg$FAILED) {
4062
4121
  peg$savedPos = s0;
4063
- s0 = peg$f64(s1);
4122
+ s0 = peg$f66(s1);
4064
4123
  } else {
4065
4124
  peg$currPos = s0;
4066
4125
  s0 = peg$FAILED;
@@ -4087,12 +4146,12 @@ function peg$parse(input, options) {
4087
4146
  if (s1 !== peg$FAILED) {
4088
4147
  s2 = peg$currPos;
4089
4148
  peg$silentFails++;
4090
- if (input.substr(peg$currPos, 5) === peg$c22) {
4091
- s3 = peg$c22;
4149
+ if (input.substr(peg$currPos, 5) === peg$c24) {
4150
+ s3 = peg$c24;
4092
4151
  peg$currPos += 5;
4093
4152
  } else {
4094
4153
  s3 = peg$FAILED;
4095
- if (peg$silentFails === 0) { peg$fail(peg$e41); }
4154
+ if (peg$silentFails === 0) { peg$fail(peg$e43); }
4096
4155
  }
4097
4156
  peg$silentFails--;
4098
4157
  if (s3 === peg$FAILED) {
@@ -4104,12 +4163,12 @@ function peg$parse(input, options) {
4104
4163
  if (s2 !== peg$FAILED) {
4105
4164
  s3 = peg$currPos;
4106
4165
  peg$silentFails++;
4107
- if (input.substr(peg$currPos, 3) === peg$c23) {
4108
- s4 = peg$c23;
4166
+ if (input.substr(peg$currPos, 3) === peg$c25) {
4167
+ s4 = peg$c25;
4109
4168
  peg$currPos += 3;
4110
4169
  } else {
4111
4170
  s4 = peg$FAILED;
4112
- if (peg$silentFails === 0) { peg$fail(peg$e42); }
4171
+ if (peg$silentFails === 0) { peg$fail(peg$e44); }
4113
4172
  }
4114
4173
  peg$silentFails--;
4115
4174
  if (s4 === peg$FAILED) {
@@ -4129,7 +4188,7 @@ function peg$parse(input, options) {
4129
4188
  if (s4 !== peg$FAILED) {
4130
4189
  s5 = peg$parse__();
4131
4190
  peg$savedPos = s0;
4132
- s0 = peg$f65(s4);
4191
+ s0 = peg$f67(s4);
4133
4192
  } else {
4134
4193
  peg$currPos = s0;
4135
4194
  s0 = peg$FAILED;
@@ -4155,11 +4214,11 @@ function peg$parse(input, options) {
4155
4214
 
4156
4215
  s0 = peg$currPos;
4157
4216
  if (input.charCodeAt(peg$currPos) === 91) {
4158
- s1 = peg$c24;
4217
+ s1 = peg$c26;
4159
4218
  peg$currPos++;
4160
4219
  } else {
4161
4220
  s1 = peg$FAILED;
4162
- if (peg$silentFails === 0) { peg$fail(peg$e44); }
4221
+ if (peg$silentFails === 0) { peg$fail(peg$e46); }
4163
4222
  }
4164
4223
  if (s1 !== peg$FAILED) {
4165
4224
  s2 = peg$parse__h();
@@ -4170,7 +4229,7 @@ function peg$parse(input, options) {
4170
4229
  peg$currPos++;
4171
4230
  } else {
4172
4231
  s5 = peg$FAILED;
4173
- if (peg$silentFails === 0) { peg$fail(peg$e45); }
4232
+ if (peg$silentFails === 0) { peg$fail(peg$e47); }
4174
4233
  }
4175
4234
  if (s5 !== peg$FAILED) {
4176
4235
  while (s5 !== peg$FAILED) {
@@ -4180,7 +4239,7 @@ function peg$parse(input, options) {
4180
4239
  peg$currPos++;
4181
4240
  } else {
4182
4241
  s5 = peg$FAILED;
4183
- if (peg$silentFails === 0) { peg$fail(peg$e45); }
4242
+ if (peg$silentFails === 0) { peg$fail(peg$e47); }
4184
4243
  }
4185
4244
  }
4186
4245
  } else {
@@ -4194,15 +4253,15 @@ function peg$parse(input, options) {
4194
4253
  if (s3 !== peg$FAILED) {
4195
4254
  s4 = peg$parse__h();
4196
4255
  if (input.charCodeAt(peg$currPos) === 93) {
4197
- s5 = peg$c25;
4256
+ s5 = peg$c27;
4198
4257
  peg$currPos++;
4199
4258
  } else {
4200
4259
  s5 = peg$FAILED;
4201
- if (peg$silentFails === 0) { peg$fail(peg$e46); }
4260
+ if (peg$silentFails === 0) { peg$fail(peg$e48); }
4202
4261
  }
4203
4262
  if (s5 !== peg$FAILED) {
4204
4263
  peg$savedPos = s0;
4205
- s0 = peg$f66(s3);
4264
+ s0 = peg$f68(s3);
4206
4265
  } else {
4207
4266
  peg$currPos = s0;
4208
4267
  s0 = peg$FAILED;
@@ -4229,11 +4288,11 @@ function peg$parse(input, options) {
4229
4288
  peg$currPos++;
4230
4289
  } else {
4231
4290
  s2 = peg$FAILED;
4232
- if (peg$silentFails === 0) { peg$fail(peg$e47); }
4291
+ if (peg$silentFails === 0) { peg$fail(peg$e49); }
4233
4292
  }
4234
4293
  if (s2 !== peg$FAILED) {
4235
4294
  peg$savedPos = s0;
4236
- s0 = peg$f67(s2);
4295
+ s0 = peg$f69(s2);
4237
4296
  } else {
4238
4297
  peg$currPos = s0;
4239
4298
  s0 = peg$FAILED;
@@ -4247,7 +4306,7 @@ function peg$parse(input, options) {
4247
4306
  }
4248
4307
  if (s2 !== peg$FAILED) {
4249
4308
  peg$savedPos = s0;
4250
- s0 = peg$f68(s2);
4309
+ s0 = peg$f70(s2);
4251
4310
  } else {
4252
4311
  peg$currPos = s0;
4253
4312
  s0 = peg$FAILED;
@@ -4267,7 +4326,7 @@ function peg$parse(input, options) {
4267
4326
  peg$currPos++;
4268
4327
  } else {
4269
4328
  s2 = peg$FAILED;
4270
- if (peg$silentFails === 0) { peg$fail(peg$e48); }
4329
+ if (peg$silentFails === 0) { peg$fail(peg$e50); }
4271
4330
  }
4272
4331
  if (s2 !== peg$FAILED) {
4273
4332
  s3 = [];
@@ -4276,7 +4335,7 @@ function peg$parse(input, options) {
4276
4335
  peg$currPos++;
4277
4336
  } else {
4278
4337
  s4 = peg$FAILED;
4279
- if (peg$silentFails === 0) { peg$fail(peg$e49); }
4338
+ if (peg$silentFails === 0) { peg$fail(peg$e51); }
4280
4339
  }
4281
4340
  while (s4 !== peg$FAILED) {
4282
4341
  s3.push(s4);
@@ -4285,7 +4344,7 @@ function peg$parse(input, options) {
4285
4344
  peg$currPos++;
4286
4345
  } else {
4287
4346
  s4 = peg$FAILED;
4288
- if (peg$silentFails === 0) { peg$fail(peg$e49); }
4347
+ if (peg$silentFails === 0) { peg$fail(peg$e51); }
4289
4348
  }
4290
4349
  }
4291
4350
  s2 = [s2, s3];
@@ -4311,7 +4370,7 @@ function peg$parse(input, options) {
4311
4370
  peg$currPos++;
4312
4371
  } else {
4313
4372
  s0 = peg$FAILED;
4314
- if (peg$silentFails === 0) { peg$fail(peg$e50); }
4373
+ if (peg$silentFails === 0) { peg$fail(peg$e52); }
4315
4374
  }
4316
4375
 
4317
4376
  return s0;
@@ -4325,7 +4384,7 @@ function peg$parse(input, options) {
4325
4384
  peg$currPos++;
4326
4385
  } else {
4327
4386
  s0 = peg$FAILED;
4328
- if (peg$silentFails === 0) { peg$fail(peg$e51); }
4387
+ if (peg$silentFails === 0) { peg$fail(peg$e53); }
4329
4388
  }
4330
4389
 
4331
4390
  return s0;
@@ -4337,11 +4396,11 @@ function peg$parse(input, options) {
4337
4396
  s0 = peg$currPos;
4338
4397
  s1 = peg$parse__();
4339
4398
  if (input.charCodeAt(peg$currPos) === 61) {
4340
- s2 = peg$c26;
4399
+ s2 = peg$c28;
4341
4400
  peg$currPos++;
4342
4401
  } else {
4343
4402
  s2 = peg$FAILED;
4344
- if (peg$silentFails === 0) { peg$fail(peg$e52); }
4403
+ if (peg$silentFails === 0) { peg$fail(peg$e54); }
4345
4404
  }
4346
4405
  if (s2 !== peg$FAILED) {
4347
4406
  s3 = peg$parse__();
@@ -4381,11 +4440,11 @@ function peg$parse(input, options) {
4381
4440
  s0 = peg$currPos;
4382
4441
  s1 = peg$parse__();
4383
4442
  if (input.charCodeAt(peg$currPos) === 35) {
4384
- s2 = peg$c27;
4443
+ s2 = peg$c29;
4385
4444
  peg$currPos++;
4386
4445
  } else {
4387
4446
  s2 = peg$FAILED;
4388
- if (peg$silentFails === 0) { peg$fail(peg$e53); }
4447
+ if (peg$silentFails === 0) { peg$fail(peg$e55); }
4389
4448
  }
4390
4449
  if (s2 !== peg$FAILED) {
4391
4450
  s3 = peg$parse__();
@@ -4407,7 +4466,7 @@ function peg$parse(input, options) {
4407
4466
  peg$currPos++;
4408
4467
  } else {
4409
4468
  s0 = peg$FAILED;
4410
- if (peg$silentFails === 0) { peg$fail(peg$e54); }
4469
+ if (peg$silentFails === 0) { peg$fail(peg$e56); }
4411
4470
  }
4412
4471
 
4413
4472
  return s0;
@@ -4423,7 +4482,7 @@ function peg$parse(input, options) {
4423
4482
  peg$currPos++;
4424
4483
  } else {
4425
4484
  s1 = peg$FAILED;
4426
- if (peg$silentFails === 0) { peg$fail(peg$e56); }
4485
+ if (peg$silentFails === 0) { peg$fail(peg$e58); }
4427
4486
  }
4428
4487
  if (s1 !== peg$FAILED) {
4429
4488
  while (s1 !== peg$FAILED) {
@@ -4433,7 +4492,7 @@ function peg$parse(input, options) {
4433
4492
  peg$currPos++;
4434
4493
  } else {
4435
4494
  s1 = peg$FAILED;
4436
- if (peg$silentFails === 0) { peg$fail(peg$e56); }
4495
+ if (peg$silentFails === 0) { peg$fail(peg$e58); }
4437
4496
  }
4438
4497
  }
4439
4498
  } else {
@@ -4442,7 +4501,7 @@ function peg$parse(input, options) {
4442
4501
  peg$silentFails--;
4443
4502
  if (s0 === peg$FAILED) {
4444
4503
  s1 = peg$FAILED;
4445
- if (peg$silentFails === 0) { peg$fail(peg$e55); }
4504
+ if (peg$silentFails === 0) { peg$fail(peg$e57); }
4446
4505
  }
4447
4506
 
4448
4507
  return s0;
@@ -4458,7 +4517,7 @@ function peg$parse(input, options) {
4458
4517
  peg$currPos++;
4459
4518
  } else {
4460
4519
  s1 = peg$FAILED;
4461
- if (peg$silentFails === 0) { peg$fail(peg$e56); }
4520
+ if (peg$silentFails === 0) { peg$fail(peg$e58); }
4462
4521
  }
4463
4522
  while (s1 !== peg$FAILED) {
4464
4523
  s0.push(s1);
@@ -4467,12 +4526,12 @@ function peg$parse(input, options) {
4467
4526
  peg$currPos++;
4468
4527
  } else {
4469
4528
  s1 = peg$FAILED;
4470
- if (peg$silentFails === 0) { peg$fail(peg$e56); }
4529
+ if (peg$silentFails === 0) { peg$fail(peg$e58); }
4471
4530
  }
4472
4531
  }
4473
4532
  peg$silentFails--;
4474
4533
  s1 = peg$FAILED;
4475
- if (peg$silentFails === 0) { peg$fail(peg$e57); }
4534
+ if (peg$silentFails === 0) { peg$fail(peg$e59); }
4476
4535
 
4477
4536
  return s0;
4478
4537
  }
@@ -4487,7 +4546,7 @@ function peg$parse(input, options) {
4487
4546
  peg$currPos++;
4488
4547
  } else {
4489
4548
  s1 = peg$FAILED;
4490
- if (peg$silentFails === 0) { peg$fail(peg$e54); }
4549
+ if (peg$silentFails === 0) { peg$fail(peg$e56); }
4491
4550
  }
4492
4551
  if (s1 !== peg$FAILED) {
4493
4552
  while (s1 !== peg$FAILED) {
@@ -4497,7 +4556,7 @@ function peg$parse(input, options) {
4497
4556
  peg$currPos++;
4498
4557
  } else {
4499
4558
  s1 = peg$FAILED;
4500
- if (peg$silentFails === 0) { peg$fail(peg$e54); }
4559
+ if (peg$silentFails === 0) { peg$fail(peg$e56); }
4501
4560
  }
4502
4561
  }
4503
4562
  } else {
@@ -4506,7 +4565,7 @@ function peg$parse(input, options) {
4506
4565
  peg$silentFails--;
4507
4566
  if (s0 === peg$FAILED) {
4508
4567
  s1 = peg$FAILED;
4509
- if (peg$silentFails === 0) { peg$fail(peg$e58); }
4568
+ if (peg$silentFails === 0) { peg$fail(peg$e60); }
4510
4569
  }
4511
4570
 
4512
4571
  return s0;
@@ -4522,7 +4581,7 @@ function peg$parse(input, options) {
4522
4581
  peg$currPos++;
4523
4582
  } else {
4524
4583
  s1 = peg$FAILED;
4525
- if (peg$silentFails === 0) { peg$fail(peg$e54); }
4584
+ if (peg$silentFails === 0) { peg$fail(peg$e56); }
4526
4585
  }
4527
4586
  while (s1 !== peg$FAILED) {
4528
4587
  s0.push(s1);
@@ -4531,46 +4590,58 @@ function peg$parse(input, options) {
4531
4590
  peg$currPos++;
4532
4591
  } else {
4533
4592
  s1 = peg$FAILED;
4534
- if (peg$silentFails === 0) { peg$fail(peg$e54); }
4593
+ if (peg$silentFails === 0) { peg$fail(peg$e56); }
4535
4594
  }
4536
4595
  }
4537
4596
  peg$silentFails--;
4538
4597
  s1 = peg$FAILED;
4539
- if (peg$silentFails === 0) { peg$fail(peg$e59); }
4598
+ if (peg$silentFails === 0) { peg$fail(peg$e61); }
4540
4599
 
4541
4600
  return s0;
4542
4601
  }
4543
4602
 
4544
4603
  function peg$parse_() {
4545
- var s0, s1;
4604
+ var s0, s1, s2, s3;
4546
4605
 
4547
4606
  peg$silentFails++;
4548
- s0 = [];
4549
- s1 = input.charAt(peg$currPos);
4550
- if (peg$r27.test(s1)) {
4607
+ s0 = peg$currPos;
4608
+ s1 = peg$currPos;
4609
+ s2 = [];
4610
+ s3 = input.charAt(peg$currPos);
4611
+ if (peg$r27.test(s3)) {
4551
4612
  peg$currPos++;
4552
4613
  } else {
4553
- s1 = peg$FAILED;
4554
- if (peg$silentFails === 0) { peg$fail(peg$e61); }
4614
+ s3 = peg$FAILED;
4615
+ if (peg$silentFails === 0) { peg$fail(peg$e63); }
4555
4616
  }
4556
- if (s1 !== peg$FAILED) {
4557
- while (s1 !== peg$FAILED) {
4558
- s0.push(s1);
4559
- s1 = input.charAt(peg$currPos);
4560
- if (peg$r27.test(s1)) {
4617
+ if (s3 !== peg$FAILED) {
4618
+ while (s3 !== peg$FAILED) {
4619
+ s2.push(s3);
4620
+ s3 = input.charAt(peg$currPos);
4621
+ if (peg$r27.test(s3)) {
4561
4622
  peg$currPos++;
4562
4623
  } else {
4563
- s1 = peg$FAILED;
4564
- if (peg$silentFails === 0) { peg$fail(peg$e61); }
4624
+ s3 = peg$FAILED;
4625
+ if (peg$silentFails === 0) { peg$fail(peg$e63); }
4565
4626
  }
4566
4627
  }
4567
4628
  } else {
4568
- s0 = peg$FAILED;
4629
+ s2 = peg$FAILED;
4569
4630
  }
4631
+ if (s2 !== peg$FAILED) {
4632
+ s1 = input.substring(s1, peg$currPos);
4633
+ } else {
4634
+ s1 = s2;
4635
+ }
4636
+ if (s1 !== peg$FAILED) {
4637
+ peg$savedPos = s0;
4638
+ s1 = peg$f71(s1);
4639
+ }
4640
+ s0 = s1;
4570
4641
  peg$silentFails--;
4571
4642
  if (s0 === peg$FAILED) {
4572
4643
  s1 = peg$FAILED;
4573
- if (peg$silentFails === 0) { peg$fail(peg$e60); }
4644
+ if (peg$silentFails === 0) { peg$fail(peg$e62); }
4574
4645
  }
4575
4646
 
4576
4647
  return s0;
@@ -4586,7 +4657,7 @@ function peg$parse(input, options) {
4586
4657
  peg$currPos++;
4587
4658
  } else {
4588
4659
  s1 = peg$FAILED;
4589
- if (peg$silentFails === 0) { peg$fail(peg$e61); }
4660
+ if (peg$silentFails === 0) { peg$fail(peg$e63); }
4590
4661
  }
4591
4662
  while (s1 !== peg$FAILED) {
4592
4663
  s0.push(s1);
@@ -4595,12 +4666,12 @@ function peg$parse(input, options) {
4595
4666
  peg$currPos++;
4596
4667
  } else {
4597
4668
  s1 = peg$FAILED;
4598
- if (peg$silentFails === 0) { peg$fail(peg$e61); }
4669
+ if (peg$silentFails === 0) { peg$fail(peg$e63); }
4599
4670
  }
4600
4671
  }
4601
4672
  peg$silentFails--;
4602
4673
  s1 = peg$FAILED;
4603
- if (peg$silentFails === 0) { peg$fail(peg$e62); }
4674
+ if (peg$silentFails === 0) { peg$fail(peg$e64); }
4604
4675
 
4605
4676
  return s0;
4606
4677
  }