@retorquere/bibtex-parser 6.0.0 → 6.1.2

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.
package/grammar.js CHANGED
@@ -186,15 +186,17 @@ function peg$parse(input, options) {
186
186
  var peg$c12 = "\\";
187
187
  var peg$c13 = "$";
188
188
  var peg$c14 = "$$";
189
- var peg$c15 = "%";
190
- var peg$c16 = "newcommand";
191
- var peg$c17 = "href";
192
- var peg$c18 = "begin";
193
- var peg$c19 = "end";
194
- var peg$c20 = "[";
195
- var peg$c21 = "]";
196
- var peg$c22 = "=";
197
- var peg$c23 = "#";
189
+ var peg$c15 = "\\[";
190
+ var peg$c16 = "\\]";
191
+ var peg$c17 = "%";
192
+ var peg$c18 = "newcommand";
193
+ var peg$c19 = "href";
194
+ var peg$c20 = "begin";
195
+ var peg$c21 = "end";
196
+ var peg$c22 = "[";
197
+ var peg$c23 = "]";
198
+ var peg$c24 = "=";
199
+ var peg$c25 = "#";
198
200
 
199
201
  var peg$r0 = /^[^\n\r]/;
200
202
  var peg$r1 = /^[\n\r]/;
@@ -205,25 +207,26 @@ function peg$parse(input, options) {
205
207
  var peg$r6 = /^[})]/;
206
208
  var peg$r7 = /^[^ \t\r\n,]/;
207
209
  var peg$r8 = /^[_:a-zA-Z0-9\-]/;
208
- var peg$r9 = /^[a-zA-Z]/;
209
- var peg$r10 = /^[^\^_${}\\]/;
210
- var peg$r11 = /^[^\^_${}"\\]/;
211
- var peg$r12 = /^[0-9]/;
212
- var peg$r13 = /^[a-zA-Z0-9]/;
213
- var peg$r14 = /^[ij]/;
214
- var peg$r15 = /^[^\r\n]/;
215
- var peg$r16 = /^[_\^]/;
216
- var peg$r17 = /^[^A-Za-z0-9\t\r\n]/;
217
- var peg$r18 = /^[A-Za-z]/;
218
- var peg$r19 = /^[^\]]/;
219
- var peg$r20 = /^[^ \t\^_${}\\]/;
220
- var peg$r21 = /^[a-zA-Z\-_]/;
221
- var peg$r22 = /^[a-zA-Z0-9\-&_:]/;
222
- var peg$r23 = /^['`"=~\^.]/;
223
- var peg$r24 = /^['`"=~\^.cbuvdrHk]/;
224
- var peg$r25 = /^[\r\n]/;
225
- var peg$r26 = /^[ \t]/;
226
- var peg$r27 = /^[ \t\n\r]/;
210
+ var peg$r9 = /^[^{}"]/;
211
+ var peg$r10 = /^[a-zA-Z]/;
212
+ var peg$r11 = /^[^\^_${}\\]/;
213
+ var peg$r12 = /^[^\^_${}"\\]/;
214
+ var peg$r13 = /^[0-9]/;
215
+ var peg$r14 = /^[a-zA-Z0-9]/;
216
+ var peg$r15 = /^[ij]/;
217
+ var peg$r16 = /^[^\r\n]/;
218
+ var peg$r17 = /^[_\^]/;
219
+ var peg$r18 = /^[^A-Za-z0-9\t\r\n]/;
220
+ var peg$r19 = /^[A-Za-z]/;
221
+ var peg$r20 = /^[^\]]/;
222
+ var peg$r21 = /^[^ \t\^_${}\\]/;
223
+ var peg$r22 = /^[a-zA-Z\-_]/;
224
+ var peg$r23 = /^[a-zA-Z0-9\-&_:]/;
225
+ var peg$r24 = /^['`"=~\^.]/;
226
+ var peg$r25 = /^['`"=~\^.cbuvdrHk]/;
227
+ var peg$r26 = /^[\r\n]/;
228
+ var peg$r27 = /^[ \t]/;
229
+ var peg$r28 = /^[ \t\n\r]/;
227
230
 
228
231
  var peg$e0 = peg$literalExpectation("@", false);
229
232
  var peg$e1 = peg$literalExpectation("comment", true);
@@ -242,47 +245,50 @@ function peg$parse(input, options) {
242
245
  var peg$e14 = peg$literalExpectation(",", false);
243
246
  var peg$e15 = peg$classExpectation(["_", ":", ["a", "z"], ["A", "Z"], ["0", "9"], "-"], false, false);
244
247
  var peg$e16 = peg$literalExpectation("\"", false);
245
- var peg$e17 = peg$literalExpectation("{\\verb", false);
246
- var peg$e18 = peg$classExpectation([["a", "z"], ["A", "Z"]], false, false);
247
- var peg$e19 = peg$classExpectation(["^", "_", "$", "{", "}", "\\"], true, false);
248
- var peg$e20 = peg$classExpectation(["^", "_", "$", "{", "}", "\"", "\\"], true, false);
249
- var peg$e21 = peg$classExpectation([["0", "9"]], false, false);
250
- var peg$e22 = peg$literalExpectation("\\begin{", false);
251
- var peg$e23 = peg$classExpectation([["a", "z"], ["A", "Z"], ["0", "9"]], false, false);
252
- var peg$e24 = peg$literalExpectation("\\end{", false);
253
- var peg$e25 = peg$literalExpectation("{\\", false);
254
- var peg$e26 = peg$literalExpectation("\\", false);
255
- var peg$e27 = peg$classExpectation(["i", "j"], false, false);
256
- var peg$e28 = peg$literalExpectation("$", false);
257
- var peg$e29 = peg$literalExpectation("$$", false);
258
- var peg$e30 = peg$literalExpectation("%", false);
259
- var peg$e31 = peg$classExpectation(["\r", "\n"], true, false);
260
- var peg$e32 = peg$classExpectation(["_", "^"], false, false);
261
- var peg$e33 = peg$classExpectation([["A", "Z"], ["a", "z"], ["0", "9"], "\t", "\r", "\n"], true, false);
262
- var peg$e34 = peg$literalExpectation("newcommand", false);
263
- var peg$e35 = peg$literalExpectation("href", false);
264
- var peg$e36 = peg$literalExpectation("begin", false);
265
- var peg$e37 = peg$literalExpectation("end", false);
266
- var peg$e38 = peg$classExpectation([["A", "Z"], ["a", "z"]], false, false);
267
- var peg$e39 = peg$literalExpectation("[", false);
268
- var peg$e40 = peg$classExpectation(["]"], true, false);
269
- var peg$e41 = peg$literalExpectation("]", false);
270
- var peg$e42 = peg$classExpectation([" ", "\t", "^", "_", "$", "{", "}", "\\"], true, false);
271
- var peg$e43 = peg$classExpectation([["a", "z"], ["A", "Z"], "-", "_"], false, false);
272
- var peg$e44 = peg$classExpectation([["a", "z"], ["A", "Z"], ["0", "9"], "-", "&", "_", ":"], false, false);
273
- var peg$e45 = peg$classExpectation(["'", "`", "\"", "=", "~", "^", "."], false, false);
274
- var peg$e46 = peg$classExpectation(["'", "`", "\"", "=", "~", "^", ".", "c", "b", "u", "v", "d", "r", "H", "k"], false, false);
275
- var peg$e47 = peg$literalExpectation("=", false);
276
- var peg$e48 = peg$literalExpectation("#", false);
277
- var peg$e49 = peg$classExpectation(["\r", "\n"], false, false);
278
- var peg$e50 = peg$otherExpectation("Mandatory Horizontal Whitespace");
279
- var peg$e51 = peg$classExpectation([" ", "\t"], false, false);
280
- var peg$e52 = peg$otherExpectation("Optional Horizontal Whitespace");
281
- var peg$e53 = peg$otherExpectation("Mandatory Vertical Whitespace");
282
- var peg$e54 = peg$otherExpectation("Optional Vertical Whitespace");
283
- var peg$e55 = peg$otherExpectation("Mandatory Whitespace");
284
- var peg$e56 = peg$classExpectation([" ", "\t", "\n", "\r"], false, false);
285
- var peg$e57 = peg$otherExpectation("Optional Whitespace");
248
+ var peg$e17 = peg$classExpectation(["{", "}", "\""], true, false);
249
+ var peg$e18 = peg$literalExpectation("{\\verb", false);
250
+ var peg$e19 = peg$classExpectation([["a", "z"], ["A", "Z"]], false, false);
251
+ var peg$e20 = peg$classExpectation(["^", "_", "$", "{", "}", "\\"], true, false);
252
+ var peg$e21 = peg$classExpectation(["^", "_", "$", "{", "}", "\"", "\\"], true, false);
253
+ var peg$e22 = peg$classExpectation([["0", "9"]], false, false);
254
+ var peg$e23 = peg$literalExpectation("\\begin{", false);
255
+ var peg$e24 = peg$classExpectation([["a", "z"], ["A", "Z"], ["0", "9"]], false, false);
256
+ var peg$e25 = peg$literalExpectation("\\end{", false);
257
+ var peg$e26 = peg$literalExpectation("{\\", false);
258
+ var peg$e27 = peg$literalExpectation("\\", false);
259
+ var peg$e28 = peg$classExpectation(["i", "j"], false, false);
260
+ var peg$e29 = peg$literalExpectation("$", false);
261
+ var peg$e30 = peg$literalExpectation("$$", false);
262
+ var peg$e31 = peg$literalExpectation("\\[", false);
263
+ var peg$e32 = peg$literalExpectation("\\]", false);
264
+ var peg$e33 = peg$literalExpectation("%", false);
265
+ var peg$e34 = peg$classExpectation(["\r", "\n"], true, false);
266
+ var peg$e35 = peg$classExpectation(["_", "^"], false, false);
267
+ var peg$e36 = peg$classExpectation([["A", "Z"], ["a", "z"], ["0", "9"], "\t", "\r", "\n"], true, false);
268
+ var peg$e37 = peg$literalExpectation("newcommand", false);
269
+ var peg$e38 = peg$literalExpectation("href", false);
270
+ var peg$e39 = peg$literalExpectation("begin", false);
271
+ var peg$e40 = peg$literalExpectation("end", false);
272
+ var peg$e41 = peg$classExpectation([["A", "Z"], ["a", "z"]], false, false);
273
+ var peg$e42 = peg$literalExpectation("[", false);
274
+ var peg$e43 = peg$classExpectation(["]"], true, false);
275
+ var peg$e44 = peg$literalExpectation("]", false);
276
+ var peg$e45 = peg$classExpectation([" ", "\t", "^", "_", "$", "{", "}", "\\"], true, false);
277
+ var peg$e46 = peg$classExpectation([["a", "z"], ["A", "Z"], "-", "_"], false, false);
278
+ var peg$e47 = peg$classExpectation([["a", "z"], ["A", "Z"], ["0", "9"], "-", "&", "_", ":"], false, false);
279
+ var peg$e48 = peg$classExpectation(["'", "`", "\"", "=", "~", "^", "."], false, false);
280
+ var peg$e49 = peg$classExpectation(["'", "`", "\"", "=", "~", "^", ".", "c", "b", "u", "v", "d", "r", "H", "k"], false, false);
281
+ var peg$e50 = peg$literalExpectation("=", false);
282
+ var peg$e51 = peg$literalExpectation("#", false);
283
+ var peg$e52 = peg$classExpectation(["\r", "\n"], false, false);
284
+ var peg$e53 = peg$otherExpectation("Mandatory Horizontal Whitespace");
285
+ var peg$e54 = peg$classExpectation([" ", "\t"], false, false);
286
+ var peg$e55 = peg$otherExpectation("Optional Horizontal Whitespace");
287
+ var peg$e56 = peg$otherExpectation("Mandatory Vertical Whitespace");
288
+ var peg$e57 = peg$otherExpectation("Optional Vertical Whitespace");
289
+ var peg$e58 = peg$otherExpectation("Mandatory Whitespace");
290
+ var peg$e59 = peg$classExpectation([" ", "\t", "\n", "\r"], false, false);
291
+ var peg$e60 = peg$otherExpectation("Optional Whitespace");
286
292
 
287
293
  var peg$f0 = function(r) {
288
294
  return {
@@ -397,14 +403,13 @@ function peg$parse(input, options) {
397
403
  };
398
404
  var peg$f15 = function(name) { return name.toLowerCase() };
399
405
  var peg$f16 = function(v) {
400
- v = v || {
406
+ return basicTextConversions({
401
407
  kind: 'Text',
402
408
  loc: location(),
403
409
  source: text(),
404
- value: '',
405
- }
406
- v.mode = 'verbatim'
407
- return basicTextConversions(v)
410
+ value: (v || '').trim(),
411
+ mode: 'verbatim',
412
+ })
408
413
  };
409
414
  var peg$f17 = function(v) {
410
415
  return basicTextConversions({
@@ -416,7 +421,7 @@ function peg$parse(input, options) {
416
421
  })
417
422
  };
418
423
  var peg$f18 = function(v) { return v };
419
- var peg$f19 = function(v) { return '{' + v.join('') + '}' };
424
+ var peg$f19 = function(v) { return '{' + v + '}' };
420
425
  var peg$f20 = function() { return math.set(false) };
421
426
  var peg$f21 = function(v) {
422
427
  return v.reduce((a, b) => a.concat(b), []);
@@ -1665,7 +1670,7 @@ function peg$parse(input, options) {
1665
1670
  if (peg$silentFails === 0) { peg$fail(peg$e16); }
1666
1671
  }
1667
1672
  if (s1 !== peg$FAILED) {
1668
- s2 = peg$parseTextNoQuotes();
1673
+ s2 = peg$parseVerbatimString();
1669
1674
  if (s2 === peg$FAILED) {
1670
1675
  s2 = null;
1671
1676
  }
@@ -1727,7 +1732,7 @@ function peg$parse(input, options) {
1727
1732
  }
1728
1733
 
1729
1734
  function peg$parseVerbatimText() {
1730
- var s0, s1, s2, s3;
1735
+ var s0, s1, s2, s3, s4;
1731
1736
 
1732
1737
  s0 = peg$currPos;
1733
1738
  s1 = peg$currPos;
@@ -1773,12 +1778,92 @@ function peg$parse(input, options) {
1773
1778
  if (peg$silentFails === 0) { peg$fail(peg$e5); }
1774
1779
  }
1775
1780
  if (s1 !== peg$FAILED) {
1776
- s2 = [];
1777
- s3 = peg$parseVerbatimText();
1778
- while (s3 !== peg$FAILED) {
1779
- s2.push(s3);
1780
- s3 = peg$parseVerbatimText();
1781
+ s2 = peg$currPos;
1782
+ s3 = [];
1783
+ s4 = peg$parseVerbatimText();
1784
+ while (s4 !== peg$FAILED) {
1785
+ s3.push(s4);
1786
+ s4 = peg$parseVerbatimText();
1781
1787
  }
1788
+ s2 = input.substring(s2, peg$currPos);
1789
+ if (input.charCodeAt(peg$currPos) === 125) {
1790
+ s3 = peg$c3;
1791
+ peg$currPos++;
1792
+ } else {
1793
+ s3 = peg$FAILED;
1794
+ if (peg$silentFails === 0) { peg$fail(peg$e7); }
1795
+ }
1796
+ if (s3 !== peg$FAILED) {
1797
+ peg$savedPos = s0;
1798
+ s0 = peg$f19(s2);
1799
+ } else {
1800
+ peg$currPos = s0;
1801
+ s0 = peg$FAILED;
1802
+ }
1803
+ } else {
1804
+ peg$currPos = s0;
1805
+ s0 = peg$FAILED;
1806
+ }
1807
+ }
1808
+
1809
+ return s0;
1810
+ }
1811
+
1812
+ function peg$parseVerbatimString() {
1813
+ var s0, s1, s2, s3, s4;
1814
+
1815
+ s0 = peg$currPos;
1816
+ s1 = peg$currPos;
1817
+ s2 = [];
1818
+ if (peg$r9.test(input.charAt(peg$currPos))) {
1819
+ s3 = input.charAt(peg$currPos);
1820
+ peg$currPos++;
1821
+ } else {
1822
+ s3 = peg$FAILED;
1823
+ if (peg$silentFails === 0) { peg$fail(peg$e17); }
1824
+ }
1825
+ if (s3 !== peg$FAILED) {
1826
+ while (s3 !== peg$FAILED) {
1827
+ s2.push(s3);
1828
+ if (peg$r9.test(input.charAt(peg$currPos))) {
1829
+ s3 = input.charAt(peg$currPos);
1830
+ peg$currPos++;
1831
+ } else {
1832
+ s3 = peg$FAILED;
1833
+ if (peg$silentFails === 0) { peg$fail(peg$e17); }
1834
+ }
1835
+ }
1836
+ } else {
1837
+ s2 = peg$FAILED;
1838
+ }
1839
+ if (s2 !== peg$FAILED) {
1840
+ s1 = input.substring(s1, peg$currPos);
1841
+ } else {
1842
+ s1 = s2;
1843
+ }
1844
+ if (s1 !== peg$FAILED) {
1845
+ peg$savedPos = s0;
1846
+ s1 = peg$f18(s1);
1847
+ }
1848
+ s0 = s1;
1849
+ if (s0 === peg$FAILED) {
1850
+ s0 = peg$currPos;
1851
+ if (input.charCodeAt(peg$currPos) === 123) {
1852
+ s1 = peg$c2;
1853
+ peg$currPos++;
1854
+ } else {
1855
+ s1 = peg$FAILED;
1856
+ if (peg$silentFails === 0) { peg$fail(peg$e5); }
1857
+ }
1858
+ if (s1 !== peg$FAILED) {
1859
+ s2 = peg$currPos;
1860
+ s3 = [];
1861
+ s4 = peg$parseVerbatimString();
1862
+ while (s4 !== peg$FAILED) {
1863
+ s3.push(s4);
1864
+ s4 = peg$parseVerbatimString();
1865
+ }
1866
+ s2 = input.substring(s2, peg$currPos);
1782
1867
  if (input.charCodeAt(peg$currPos) === 125) {
1783
1868
  s3 = peg$c3;
1784
1869
  peg$currPos++;
@@ -1910,17 +1995,17 @@ function peg$parse(input, options) {
1910
1995
  peg$currPos += 6;
1911
1996
  } else {
1912
1997
  s1 = peg$FAILED;
1913
- if (peg$silentFails === 0) { peg$fail(peg$e17); }
1998
+ if (peg$silentFails === 0) { peg$fail(peg$e18); }
1914
1999
  }
1915
2000
  if (s1 !== peg$FAILED) {
1916
2001
  s2 = peg$currPos;
1917
2002
  peg$silentFails++;
1918
- if (peg$r9.test(input.charAt(peg$currPos))) {
2003
+ if (peg$r10.test(input.charAt(peg$currPos))) {
1919
2004
  s3 = input.charAt(peg$currPos);
1920
2005
  peg$currPos++;
1921
2006
  } else {
1922
2007
  s3 = peg$FAILED;
1923
- if (peg$silentFails === 0) { peg$fail(peg$e18); }
2008
+ if (peg$silentFails === 0) { peg$fail(peg$e19); }
1924
2009
  }
1925
2010
  peg$silentFails--;
1926
2011
  if (s3 === peg$FAILED) {
@@ -2070,22 +2155,22 @@ function peg$parse(input, options) {
2070
2155
 
2071
2156
  s0 = peg$currPos;
2072
2157
  s1 = [];
2073
- if (peg$r10.test(input.charAt(peg$currPos))) {
2158
+ if (peg$r11.test(input.charAt(peg$currPos))) {
2074
2159
  s2 = input.charAt(peg$currPos);
2075
2160
  peg$currPos++;
2076
2161
  } else {
2077
2162
  s2 = peg$FAILED;
2078
- if (peg$silentFails === 0) { peg$fail(peg$e19); }
2163
+ if (peg$silentFails === 0) { peg$fail(peg$e20); }
2079
2164
  }
2080
2165
  if (s2 !== peg$FAILED) {
2081
2166
  while (s2 !== peg$FAILED) {
2082
2167
  s1.push(s2);
2083
- if (peg$r10.test(input.charAt(peg$currPos))) {
2168
+ if (peg$r11.test(input.charAt(peg$currPos))) {
2084
2169
  s2 = input.charAt(peg$currPos);
2085
2170
  peg$currPos++;
2086
2171
  } else {
2087
2172
  s2 = peg$FAILED;
2088
- if (peg$silentFails === 0) { peg$fail(peg$e19); }
2173
+ if (peg$silentFails === 0) { peg$fail(peg$e20); }
2089
2174
  }
2090
2175
  }
2091
2176
  } else {
@@ -2105,22 +2190,22 @@ function peg$parse(input, options) {
2105
2190
 
2106
2191
  s0 = peg$currPos;
2107
2192
  s1 = [];
2108
- if (peg$r11.test(input.charAt(peg$currPos))) {
2193
+ if (peg$r12.test(input.charAt(peg$currPos))) {
2109
2194
  s2 = input.charAt(peg$currPos);
2110
2195
  peg$currPos++;
2111
2196
  } else {
2112
2197
  s2 = peg$FAILED;
2113
- if (peg$silentFails === 0) { peg$fail(peg$e20); }
2198
+ if (peg$silentFails === 0) { peg$fail(peg$e21); }
2114
2199
  }
2115
2200
  if (s2 !== peg$FAILED) {
2116
2201
  while (s2 !== peg$FAILED) {
2117
2202
  s1.push(s2);
2118
- if (peg$r11.test(input.charAt(peg$currPos))) {
2203
+ if (peg$r12.test(input.charAt(peg$currPos))) {
2119
2204
  s2 = input.charAt(peg$currPos);
2120
2205
  peg$currPos++;
2121
2206
  } else {
2122
2207
  s2 = peg$FAILED;
2123
- if (peg$silentFails === 0) { peg$fail(peg$e20); }
2208
+ if (peg$silentFails === 0) { peg$fail(peg$e21); }
2124
2209
  }
2125
2210
  }
2126
2211
  } else {
@@ -2141,22 +2226,22 @@ function peg$parse(input, options) {
2141
2226
  s0 = peg$currPos;
2142
2227
  s1 = peg$currPos;
2143
2228
  s2 = [];
2144
- if (peg$r12.test(input.charAt(peg$currPos))) {
2229
+ if (peg$r13.test(input.charAt(peg$currPos))) {
2145
2230
  s3 = input.charAt(peg$currPos);
2146
2231
  peg$currPos++;
2147
2232
  } else {
2148
2233
  s3 = peg$FAILED;
2149
- if (peg$silentFails === 0) { peg$fail(peg$e21); }
2234
+ if (peg$silentFails === 0) { peg$fail(peg$e22); }
2150
2235
  }
2151
2236
  if (s3 !== peg$FAILED) {
2152
2237
  while (s3 !== peg$FAILED) {
2153
2238
  s2.push(s3);
2154
- if (peg$r12.test(input.charAt(peg$currPos))) {
2239
+ if (peg$r13.test(input.charAt(peg$currPos))) {
2155
2240
  s3 = input.charAt(peg$currPos);
2156
2241
  peg$currPos++;
2157
2242
  } else {
2158
2243
  s3 = peg$FAILED;
2159
- if (peg$silentFails === 0) { peg$fail(peg$e21); }
2244
+ if (peg$silentFails === 0) { peg$fail(peg$e22); }
2160
2245
  }
2161
2246
  }
2162
2247
  } else {
@@ -2199,27 +2284,27 @@ function peg$parse(input, options) {
2199
2284
  peg$currPos += 7;
2200
2285
  } else {
2201
2286
  s1 = peg$FAILED;
2202
- if (peg$silentFails === 0) { peg$fail(peg$e22); }
2287
+ if (peg$silentFails === 0) { peg$fail(peg$e23); }
2203
2288
  }
2204
2289
  if (s1 !== peg$FAILED) {
2205
2290
  s2 = peg$currPos;
2206
2291
  s3 = [];
2207
- if (peg$r13.test(input.charAt(peg$currPos))) {
2292
+ if (peg$r14.test(input.charAt(peg$currPos))) {
2208
2293
  s4 = input.charAt(peg$currPos);
2209
2294
  peg$currPos++;
2210
2295
  } else {
2211
2296
  s4 = peg$FAILED;
2212
- if (peg$silentFails === 0) { peg$fail(peg$e23); }
2297
+ if (peg$silentFails === 0) { peg$fail(peg$e24); }
2213
2298
  }
2214
2299
  if (s4 !== peg$FAILED) {
2215
2300
  while (s4 !== peg$FAILED) {
2216
2301
  s3.push(s4);
2217
- if (peg$r13.test(input.charAt(peg$currPos))) {
2302
+ if (peg$r14.test(input.charAt(peg$currPos))) {
2218
2303
  s4 = input.charAt(peg$currPos);
2219
2304
  peg$currPos++;
2220
2305
  } else {
2221
2306
  s4 = peg$FAILED;
2222
- if (peg$silentFails === 0) { peg$fail(peg$e23); }
2307
+ if (peg$silentFails === 0) { peg$fail(peg$e24); }
2223
2308
  }
2224
2309
  }
2225
2310
  } else {
@@ -2274,27 +2359,27 @@ function peg$parse(input, options) {
2274
2359
  peg$currPos += 5;
2275
2360
  } else {
2276
2361
  s5 = peg$FAILED;
2277
- if (peg$silentFails === 0) { peg$fail(peg$e24); }
2362
+ if (peg$silentFails === 0) { peg$fail(peg$e25); }
2278
2363
  }
2279
2364
  if (s5 !== peg$FAILED) {
2280
2365
  s6 = peg$currPos;
2281
2366
  s7 = [];
2282
- if (peg$r13.test(input.charAt(peg$currPos))) {
2367
+ if (peg$r14.test(input.charAt(peg$currPos))) {
2283
2368
  s8 = input.charAt(peg$currPos);
2284
2369
  peg$currPos++;
2285
2370
  } else {
2286
2371
  s8 = peg$FAILED;
2287
- if (peg$silentFails === 0) { peg$fail(peg$e23); }
2372
+ if (peg$silentFails === 0) { peg$fail(peg$e24); }
2288
2373
  }
2289
2374
  if (s8 !== peg$FAILED) {
2290
2375
  while (s8 !== peg$FAILED) {
2291
2376
  s7.push(s8);
2292
- if (peg$r13.test(input.charAt(peg$currPos))) {
2377
+ if (peg$r14.test(input.charAt(peg$currPos))) {
2293
2378
  s8 = input.charAt(peg$currPos);
2294
2379
  peg$currPos++;
2295
2380
  } else {
2296
2381
  s8 = peg$FAILED;
2297
- if (peg$silentFails === 0) { peg$fail(peg$e23); }
2382
+ if (peg$silentFails === 0) { peg$fail(peg$e24); }
2298
2383
  }
2299
2384
  }
2300
2385
  } else {
@@ -2365,18 +2450,18 @@ function peg$parse(input, options) {
2365
2450
  peg$currPos += 2;
2366
2451
  } else {
2367
2452
  s1 = peg$FAILED;
2368
- if (peg$silentFails === 0) { peg$fail(peg$e25); }
2453
+ if (peg$silentFails === 0) { peg$fail(peg$e26); }
2369
2454
  }
2370
2455
  if (s1 !== peg$FAILED) {
2371
2456
  s2 = peg$parseExtendedDiacritic();
2372
2457
  if (s2 !== peg$FAILED) {
2373
2458
  s3 = peg$parse__();
2374
- if (peg$r13.test(input.charAt(peg$currPos))) {
2459
+ if (peg$r14.test(input.charAt(peg$currPos))) {
2375
2460
  s4 = input.charAt(peg$currPos);
2376
2461
  peg$currPos++;
2377
2462
  } else {
2378
2463
  s4 = peg$FAILED;
2379
- if (peg$silentFails === 0) { peg$fail(peg$e23); }
2464
+ if (peg$silentFails === 0) { peg$fail(peg$e24); }
2380
2465
  }
2381
2466
  if (s4 === peg$FAILED) {
2382
2467
  s4 = peg$currPos;
@@ -2385,15 +2470,15 @@ function peg$parse(input, options) {
2385
2470
  peg$currPos++;
2386
2471
  } else {
2387
2472
  s5 = peg$FAILED;
2388
- if (peg$silentFails === 0) { peg$fail(peg$e26); }
2473
+ if (peg$silentFails === 0) { peg$fail(peg$e27); }
2389
2474
  }
2390
2475
  if (s5 !== peg$FAILED) {
2391
- if (peg$r14.test(input.charAt(peg$currPos))) {
2476
+ if (peg$r15.test(input.charAt(peg$currPos))) {
2392
2477
  s6 = input.charAt(peg$currPos);
2393
2478
  peg$currPos++;
2394
2479
  } else {
2395
2480
  s6 = peg$FAILED;
2396
- if (peg$silentFails === 0) { peg$fail(peg$e27); }
2481
+ if (peg$silentFails === 0) { peg$fail(peg$e28); }
2397
2482
  }
2398
2483
  if (s6 !== peg$FAILED) {
2399
2484
  s5 = [s5, s6];
@@ -2441,17 +2526,17 @@ function peg$parse(input, options) {
2441
2526
  peg$currPos += 6;
2442
2527
  } else {
2443
2528
  s1 = peg$FAILED;
2444
- if (peg$silentFails === 0) { peg$fail(peg$e17); }
2529
+ if (peg$silentFails === 0) { peg$fail(peg$e18); }
2445
2530
  }
2446
2531
  if (s1 !== peg$FAILED) {
2447
2532
  s2 = peg$currPos;
2448
2533
  peg$silentFails++;
2449
- if (peg$r9.test(input.charAt(peg$currPos))) {
2534
+ if (peg$r10.test(input.charAt(peg$currPos))) {
2450
2535
  s3 = input.charAt(peg$currPos);
2451
2536
  peg$currPos++;
2452
2537
  } else {
2453
2538
  s3 = peg$FAILED;
2454
- if (peg$silentFails === 0) { peg$fail(peg$e18); }
2539
+ if (peg$silentFails === 0) { peg$fail(peg$e19); }
2455
2540
  }
2456
2541
  peg$silentFails--;
2457
2542
  if (s3 === peg$FAILED) {
@@ -2570,7 +2655,7 @@ function peg$parse(input, options) {
2570
2655
  peg$currPos++;
2571
2656
  } else {
2572
2657
  s2 = peg$FAILED;
2573
- if (peg$silentFails === 0) { peg$fail(peg$e28); }
2658
+ if (peg$silentFails === 0) { peg$fail(peg$e29); }
2574
2659
  }
2575
2660
  if (s2 === peg$FAILED) {
2576
2661
  if (input.substr(peg$currPos, 2) === peg$c14) {
@@ -2578,7 +2663,16 @@ function peg$parse(input, options) {
2578
2663
  peg$currPos += 2;
2579
2664
  } else {
2580
2665
  s2 = peg$FAILED;
2581
- if (peg$silentFails === 0) { peg$fail(peg$e29); }
2666
+ if (peg$silentFails === 0) { peg$fail(peg$e30); }
2667
+ }
2668
+ if (s2 === peg$FAILED) {
2669
+ if (input.substr(peg$currPos, 2) === peg$c15) {
2670
+ s2 = peg$c15;
2671
+ peg$currPos += 2;
2672
+ } else {
2673
+ s2 = peg$FAILED;
2674
+ if (peg$silentFails === 0) { peg$fail(peg$e31); }
2675
+ }
2582
2676
  }
2583
2677
  }
2584
2678
  if (s2 !== peg$FAILED) {
@@ -2613,7 +2707,7 @@ function peg$parse(input, options) {
2613
2707
  peg$currPos++;
2614
2708
  } else {
2615
2709
  s5 = peg$FAILED;
2616
- if (peg$silentFails === 0) { peg$fail(peg$e28); }
2710
+ if (peg$silentFails === 0) { peg$fail(peg$e29); }
2617
2711
  }
2618
2712
  if (s5 === peg$FAILED) {
2619
2713
  if (input.substr(peg$currPos, 2) === peg$c14) {
@@ -2621,7 +2715,16 @@ function peg$parse(input, options) {
2621
2715
  peg$currPos += 2;
2622
2716
  } else {
2623
2717
  s5 = peg$FAILED;
2624
- if (peg$silentFails === 0) { peg$fail(peg$e29); }
2718
+ if (peg$silentFails === 0) { peg$fail(peg$e30); }
2719
+ }
2720
+ if (s5 === peg$FAILED) {
2721
+ if (input.substr(peg$currPos, 2) === peg$c16) {
2722
+ s5 = peg$c16;
2723
+ peg$currPos += 2;
2724
+ } else {
2725
+ s5 = peg$FAILED;
2726
+ if (peg$silentFails === 0) { peg$fail(peg$e32); }
2727
+ }
2625
2728
  }
2626
2729
  }
2627
2730
  if (s5 !== peg$FAILED) {
@@ -2664,32 +2767,32 @@ function peg$parse(input, options) {
2664
2767
 
2665
2768
  s0 = peg$currPos;
2666
2769
  if (input.charCodeAt(peg$currPos) === 37) {
2667
- s1 = peg$c15;
2770
+ s1 = peg$c17;
2668
2771
  peg$currPos++;
2669
2772
  } else {
2670
2773
  s1 = peg$FAILED;
2671
- if (peg$silentFails === 0) { peg$fail(peg$e30); }
2774
+ if (peg$silentFails === 0) { peg$fail(peg$e33); }
2672
2775
  }
2673
2776
  if (s1 !== peg$FAILED) {
2674
2777
  s2 = peg$parse__h();
2675
2778
  s3 = peg$currPos;
2676
2779
  s4 = [];
2677
- if (peg$r15.test(input.charAt(peg$currPos))) {
2780
+ if (peg$r16.test(input.charAt(peg$currPos))) {
2678
2781
  s5 = input.charAt(peg$currPos);
2679
2782
  peg$currPos++;
2680
2783
  } else {
2681
2784
  s5 = peg$FAILED;
2682
- if (peg$silentFails === 0) { peg$fail(peg$e31); }
2785
+ if (peg$silentFails === 0) { peg$fail(peg$e34); }
2683
2786
  }
2684
2787
  if (s5 !== peg$FAILED) {
2685
2788
  while (s5 !== peg$FAILED) {
2686
2789
  s4.push(s5);
2687
- if (peg$r15.test(input.charAt(peg$currPos))) {
2790
+ if (peg$r16.test(input.charAt(peg$currPos))) {
2688
2791
  s5 = input.charAt(peg$currPos);
2689
2792
  peg$currPos++;
2690
2793
  } else {
2691
2794
  s5 = peg$FAILED;
2692
- if (peg$silentFails === 0) { peg$fail(peg$e31); }
2795
+ if (peg$silentFails === 0) { peg$fail(peg$e34); }
2693
2796
  }
2694
2797
  }
2695
2798
  } else {
@@ -2751,12 +2854,12 @@ function peg$parse(input, options) {
2751
2854
  var s0, s1, s2, s3;
2752
2855
 
2753
2856
  s0 = peg$currPos;
2754
- if (peg$r16.test(input.charAt(peg$currPos))) {
2857
+ if (peg$r17.test(input.charAt(peg$currPos))) {
2755
2858
  s1 = input.charAt(peg$currPos);
2756
2859
  peg$currPos++;
2757
2860
  } else {
2758
2861
  s1 = peg$FAILED;
2759
- if (peg$silentFails === 0) { peg$fail(peg$e32); }
2862
+ if (peg$silentFails === 0) { peg$fail(peg$e35); }
2760
2863
  }
2761
2864
  if (s1 !== peg$FAILED) {
2762
2865
  s2 = peg$parse__h();
@@ -2785,18 +2888,18 @@ function peg$parse(input, options) {
2785
2888
  peg$currPos++;
2786
2889
  } else {
2787
2890
  s1 = peg$FAILED;
2788
- if (peg$silentFails === 0) { peg$fail(peg$e26); }
2891
+ if (peg$silentFails === 0) { peg$fail(peg$e27); }
2789
2892
  }
2790
2893
  if (s1 !== peg$FAILED) {
2791
2894
  s2 = peg$parseSimpleDiacritic();
2792
2895
  if (s2 !== peg$FAILED) {
2793
2896
  s3 = peg$parse__();
2794
- if (peg$r13.test(input.charAt(peg$currPos))) {
2897
+ if (peg$r14.test(input.charAt(peg$currPos))) {
2795
2898
  s4 = input.charAt(peg$currPos);
2796
2899
  peg$currPos++;
2797
2900
  } else {
2798
2901
  s4 = peg$FAILED;
2799
- if (peg$silentFails === 0) { peg$fail(peg$e23); }
2902
+ if (peg$silentFails === 0) { peg$fail(peg$e24); }
2800
2903
  }
2801
2904
  if (s4 === peg$FAILED) {
2802
2905
  s4 = peg$currPos;
@@ -2805,15 +2908,15 @@ function peg$parse(input, options) {
2805
2908
  peg$currPos++;
2806
2909
  } else {
2807
2910
  s5 = peg$FAILED;
2808
- if (peg$silentFails === 0) { peg$fail(peg$e26); }
2911
+ if (peg$silentFails === 0) { peg$fail(peg$e27); }
2809
2912
  }
2810
2913
  if (s5 !== peg$FAILED) {
2811
- if (peg$r14.test(input.charAt(peg$currPos))) {
2914
+ if (peg$r15.test(input.charAt(peg$currPos))) {
2812
2915
  s6 = input.charAt(peg$currPos);
2813
2916
  peg$currPos++;
2814
2917
  } else {
2815
2918
  s6 = peg$FAILED;
2816
- if (peg$silentFails === 0) { peg$fail(peg$e27); }
2919
+ if (peg$silentFails === 0) { peg$fail(peg$e28); }
2817
2920
  }
2818
2921
  if (s6 !== peg$FAILED) {
2819
2922
  s5 = [s5, s6];
@@ -2849,7 +2952,7 @@ function peg$parse(input, options) {
2849
2952
  peg$currPos++;
2850
2953
  } else {
2851
2954
  s1 = peg$FAILED;
2852
- if (peg$silentFails === 0) { peg$fail(peg$e26); }
2955
+ if (peg$silentFails === 0) { peg$fail(peg$e27); }
2853
2956
  }
2854
2957
  if (s1 !== peg$FAILED) {
2855
2958
  s2 = peg$parseExtendedDiacritic();
@@ -2862,12 +2965,12 @@ function peg$parse(input, options) {
2862
2965
  if (peg$silentFails === 0) { peg$fail(peg$e5); }
2863
2966
  }
2864
2967
  if (s3 !== peg$FAILED) {
2865
- if (peg$r13.test(input.charAt(peg$currPos))) {
2968
+ if (peg$r14.test(input.charAt(peg$currPos))) {
2866
2969
  s4 = input.charAt(peg$currPos);
2867
2970
  peg$currPos++;
2868
2971
  } else {
2869
2972
  s4 = peg$FAILED;
2870
- if (peg$silentFails === 0) { peg$fail(peg$e23); }
2973
+ if (peg$silentFails === 0) { peg$fail(peg$e24); }
2871
2974
  }
2872
2975
  if (s4 === peg$FAILED) {
2873
2976
  s4 = peg$currPos;
@@ -2876,15 +2979,15 @@ function peg$parse(input, options) {
2876
2979
  peg$currPos++;
2877
2980
  } else {
2878
2981
  s5 = peg$FAILED;
2879
- if (peg$silentFails === 0) { peg$fail(peg$e26); }
2982
+ if (peg$silentFails === 0) { peg$fail(peg$e27); }
2880
2983
  }
2881
2984
  if (s5 !== peg$FAILED) {
2882
- if (peg$r14.test(input.charAt(peg$currPos))) {
2985
+ if (peg$r15.test(input.charAt(peg$currPos))) {
2883
2986
  s6 = input.charAt(peg$currPos);
2884
2987
  peg$currPos++;
2885
2988
  } else {
2886
2989
  s6 = peg$FAILED;
2887
- if (peg$silentFails === 0) { peg$fail(peg$e27); }
2990
+ if (peg$silentFails === 0) { peg$fail(peg$e28); }
2888
2991
  }
2889
2992
  if (s6 !== peg$FAILED) {
2890
2993
  s5 = [s5, s6];
@@ -2936,7 +3039,7 @@ function peg$parse(input, options) {
2936
3039
  peg$currPos++;
2937
3040
  } else {
2938
3041
  s1 = peg$FAILED;
2939
- if (peg$silentFails === 0) { peg$fail(peg$e26); }
3042
+ if (peg$silentFails === 0) { peg$fail(peg$e27); }
2940
3043
  }
2941
3044
  if (s1 !== peg$FAILED) {
2942
3045
  s2 = peg$parseExtendedDiacritic();
@@ -2993,16 +3096,16 @@ function peg$parse(input, options) {
2993
3096
  peg$currPos++;
2994
3097
  } else {
2995
3098
  s1 = peg$FAILED;
2996
- if (peg$silentFails === 0) { peg$fail(peg$e26); }
3099
+ if (peg$silentFails === 0) { peg$fail(peg$e27); }
2997
3100
  }
2998
3101
  if (s1 !== peg$FAILED) {
2999
3102
  s2 = peg$currPos;
3000
- if (peg$r17.test(input.charAt(peg$currPos))) {
3103
+ if (peg$r18.test(input.charAt(peg$currPos))) {
3001
3104
  s3 = input.charAt(peg$currPos);
3002
3105
  peg$currPos++;
3003
3106
  } else {
3004
3107
  s3 = peg$FAILED;
3005
- if (peg$silentFails === 0) { peg$fail(peg$e33); }
3108
+ if (peg$silentFails === 0) { peg$fail(peg$e36); }
3006
3109
  }
3007
3110
  if (s3 !== peg$FAILED) {
3008
3111
  s2 = input.substring(s2, peg$currPos);
@@ -3033,15 +3136,15 @@ function peg$parse(input, options) {
3033
3136
  peg$currPos++;
3034
3137
  } else {
3035
3138
  s1 = peg$FAILED;
3036
- if (peg$silentFails === 0) { peg$fail(peg$e26); }
3139
+ if (peg$silentFails === 0) { peg$fail(peg$e27); }
3037
3140
  }
3038
3141
  if (s1 !== peg$FAILED) {
3039
- if (input.substr(peg$currPos, 10) === peg$c16) {
3040
- s2 = peg$c16;
3142
+ if (input.substr(peg$currPos, 10) === peg$c18) {
3143
+ s2 = peg$c18;
3041
3144
  peg$currPos += 10;
3042
3145
  } else {
3043
3146
  s2 = peg$FAILED;
3044
- if (peg$silentFails === 0) { peg$fail(peg$e34); }
3147
+ if (peg$silentFails === 0) { peg$fail(peg$e37); }
3045
3148
  }
3046
3149
  if (s2 !== peg$FAILED) {
3047
3150
  s3 = peg$parseBlock();
@@ -3091,15 +3194,15 @@ function peg$parse(input, options) {
3091
3194
  peg$currPos++;
3092
3195
  } else {
3093
3196
  s1 = peg$FAILED;
3094
- if (peg$silentFails === 0) { peg$fail(peg$e26); }
3197
+ if (peg$silentFails === 0) { peg$fail(peg$e27); }
3095
3198
  }
3096
3199
  if (s1 !== peg$FAILED) {
3097
- if (input.substr(peg$currPos, 4) === peg$c17) {
3098
- s2 = peg$c17;
3200
+ if (input.substr(peg$currPos, 4) === peg$c19) {
3201
+ s2 = peg$c19;
3099
3202
  peg$currPos += 4;
3100
3203
  } else {
3101
3204
  s2 = peg$FAILED;
3102
- if (peg$silentFails === 0) { peg$fail(peg$e35); }
3205
+ if (peg$silentFails === 0) { peg$fail(peg$e38); }
3103
3206
  }
3104
3207
  if (s2 !== peg$FAILED) {
3105
3208
  s3 = peg$parse__h();
@@ -3153,17 +3256,17 @@ function peg$parse(input, options) {
3153
3256
  peg$currPos++;
3154
3257
  } else {
3155
3258
  s1 = peg$FAILED;
3156
- if (peg$silentFails === 0) { peg$fail(peg$e26); }
3259
+ if (peg$silentFails === 0) { peg$fail(peg$e27); }
3157
3260
  }
3158
3261
  if (s1 !== peg$FAILED) {
3159
3262
  s2 = peg$currPos;
3160
3263
  peg$silentFails++;
3161
- if (input.substr(peg$currPos, 5) === peg$c18) {
3162
- s3 = peg$c18;
3264
+ if (input.substr(peg$currPos, 5) === peg$c20) {
3265
+ s3 = peg$c20;
3163
3266
  peg$currPos += 5;
3164
3267
  } else {
3165
3268
  s3 = peg$FAILED;
3166
- if (peg$silentFails === 0) { peg$fail(peg$e36); }
3269
+ if (peg$silentFails === 0) { peg$fail(peg$e39); }
3167
3270
  }
3168
3271
  peg$silentFails--;
3169
3272
  if (s3 === peg$FAILED) {
@@ -3175,12 +3278,12 @@ function peg$parse(input, options) {
3175
3278
  if (s2 !== peg$FAILED) {
3176
3279
  s3 = peg$currPos;
3177
3280
  peg$silentFails++;
3178
- if (input.substr(peg$currPos, 3) === peg$c19) {
3179
- s4 = peg$c19;
3281
+ if (input.substr(peg$currPos, 3) === peg$c21) {
3282
+ s4 = peg$c21;
3180
3283
  peg$currPos += 3;
3181
3284
  } else {
3182
3285
  s4 = peg$FAILED;
3183
- if (peg$silentFails === 0) { peg$fail(peg$e37); }
3286
+ if (peg$silentFails === 0) { peg$fail(peg$e40); }
3184
3287
  }
3185
3288
  peg$silentFails--;
3186
3289
  if (s4 === peg$FAILED) {
@@ -3192,22 +3295,22 @@ function peg$parse(input, options) {
3192
3295
  if (s3 !== peg$FAILED) {
3193
3296
  s4 = peg$currPos;
3194
3297
  s5 = [];
3195
- if (peg$r18.test(input.charAt(peg$currPos))) {
3298
+ if (peg$r19.test(input.charAt(peg$currPos))) {
3196
3299
  s6 = input.charAt(peg$currPos);
3197
3300
  peg$currPos++;
3198
3301
  } else {
3199
3302
  s6 = peg$FAILED;
3200
- if (peg$silentFails === 0) { peg$fail(peg$e38); }
3303
+ if (peg$silentFails === 0) { peg$fail(peg$e41); }
3201
3304
  }
3202
3305
  if (s6 !== peg$FAILED) {
3203
3306
  while (s6 !== peg$FAILED) {
3204
3307
  s5.push(s6);
3205
- if (peg$r18.test(input.charAt(peg$currPos))) {
3308
+ if (peg$r19.test(input.charAt(peg$currPos))) {
3206
3309
  s6 = input.charAt(peg$currPos);
3207
3310
  peg$currPos++;
3208
3311
  } else {
3209
3312
  s6 = peg$FAILED;
3210
- if (peg$silentFails === 0) { peg$fail(peg$e38); }
3313
+ if (peg$silentFails === 0) { peg$fail(peg$e41); }
3211
3314
  }
3212
3315
  }
3213
3316
  } else {
@@ -3296,17 +3399,17 @@ function peg$parse(input, options) {
3296
3399
  peg$currPos++;
3297
3400
  } else {
3298
3401
  s1 = peg$FAILED;
3299
- if (peg$silentFails === 0) { peg$fail(peg$e26); }
3402
+ if (peg$silentFails === 0) { peg$fail(peg$e27); }
3300
3403
  }
3301
3404
  if (s1 !== peg$FAILED) {
3302
3405
  s2 = peg$currPos;
3303
3406
  peg$silentFails++;
3304
- if (input.substr(peg$currPos, 5) === peg$c18) {
3305
- s3 = peg$c18;
3407
+ if (input.substr(peg$currPos, 5) === peg$c20) {
3408
+ s3 = peg$c20;
3306
3409
  peg$currPos += 5;
3307
3410
  } else {
3308
3411
  s3 = peg$FAILED;
3309
- if (peg$silentFails === 0) { peg$fail(peg$e36); }
3412
+ if (peg$silentFails === 0) { peg$fail(peg$e39); }
3310
3413
  }
3311
3414
  peg$silentFails--;
3312
3415
  if (s3 === peg$FAILED) {
@@ -3318,12 +3421,12 @@ function peg$parse(input, options) {
3318
3421
  if (s2 !== peg$FAILED) {
3319
3422
  s3 = peg$currPos;
3320
3423
  peg$silentFails++;
3321
- if (input.substr(peg$currPos, 3) === peg$c19) {
3322
- s4 = peg$c19;
3424
+ if (input.substr(peg$currPos, 3) === peg$c21) {
3425
+ s4 = peg$c21;
3323
3426
  peg$currPos += 3;
3324
3427
  } else {
3325
3428
  s4 = peg$FAILED;
3326
- if (peg$silentFails === 0) { peg$fail(peg$e37); }
3429
+ if (peg$silentFails === 0) { peg$fail(peg$e40); }
3327
3430
  }
3328
3431
  peg$silentFails--;
3329
3432
  if (s4 === peg$FAILED) {
@@ -3335,22 +3438,22 @@ function peg$parse(input, options) {
3335
3438
  if (s3 !== peg$FAILED) {
3336
3439
  s4 = peg$currPos;
3337
3440
  s5 = [];
3338
- if (peg$r18.test(input.charAt(peg$currPos))) {
3441
+ if (peg$r19.test(input.charAt(peg$currPos))) {
3339
3442
  s6 = input.charAt(peg$currPos);
3340
3443
  peg$currPos++;
3341
3444
  } else {
3342
3445
  s6 = peg$FAILED;
3343
- if (peg$silentFails === 0) { peg$fail(peg$e38); }
3446
+ if (peg$silentFails === 0) { peg$fail(peg$e41); }
3344
3447
  }
3345
3448
  if (s6 !== peg$FAILED) {
3346
3449
  while (s6 !== peg$FAILED) {
3347
3450
  s5.push(s6);
3348
- if (peg$r18.test(input.charAt(peg$currPos))) {
3451
+ if (peg$r19.test(input.charAt(peg$currPos))) {
3349
3452
  s6 = input.charAt(peg$currPos);
3350
3453
  peg$currPos++;
3351
3454
  } else {
3352
3455
  s6 = peg$FAILED;
3353
- if (peg$silentFails === 0) { peg$fail(peg$e38); }
3456
+ if (peg$silentFails === 0) { peg$fail(peg$e41); }
3354
3457
  }
3355
3458
  }
3356
3459
  } else {
@@ -3433,17 +3536,17 @@ function peg$parse(input, options) {
3433
3536
  peg$currPos++;
3434
3537
  } else {
3435
3538
  s1 = peg$FAILED;
3436
- if (peg$silentFails === 0) { peg$fail(peg$e26); }
3539
+ if (peg$silentFails === 0) { peg$fail(peg$e27); }
3437
3540
  }
3438
3541
  if (s1 !== peg$FAILED) {
3439
3542
  s2 = peg$currPos;
3440
3543
  peg$silentFails++;
3441
- if (input.substr(peg$currPos, 5) === peg$c18) {
3442
- s3 = peg$c18;
3544
+ if (input.substr(peg$currPos, 5) === peg$c20) {
3545
+ s3 = peg$c20;
3443
3546
  peg$currPos += 5;
3444
3547
  } else {
3445
3548
  s3 = peg$FAILED;
3446
- if (peg$silentFails === 0) { peg$fail(peg$e36); }
3549
+ if (peg$silentFails === 0) { peg$fail(peg$e39); }
3447
3550
  }
3448
3551
  peg$silentFails--;
3449
3552
  if (s3 === peg$FAILED) {
@@ -3455,12 +3558,12 @@ function peg$parse(input, options) {
3455
3558
  if (s2 !== peg$FAILED) {
3456
3559
  s3 = peg$currPos;
3457
3560
  peg$silentFails++;
3458
- if (input.substr(peg$currPos, 3) === peg$c19) {
3459
- s4 = peg$c19;
3561
+ if (input.substr(peg$currPos, 3) === peg$c21) {
3562
+ s4 = peg$c21;
3460
3563
  peg$currPos += 3;
3461
3564
  } else {
3462
3565
  s4 = peg$FAILED;
3463
- if (peg$silentFails === 0) { peg$fail(peg$e37); }
3566
+ if (peg$silentFails === 0) { peg$fail(peg$e40); }
3464
3567
  }
3465
3568
  peg$silentFails--;
3466
3569
  if (s4 === peg$FAILED) {
@@ -3472,22 +3575,22 @@ function peg$parse(input, options) {
3472
3575
  if (s3 !== peg$FAILED) {
3473
3576
  s4 = peg$currPos;
3474
3577
  s5 = [];
3475
- if (peg$r18.test(input.charAt(peg$currPos))) {
3578
+ if (peg$r19.test(input.charAt(peg$currPos))) {
3476
3579
  s6 = input.charAt(peg$currPos);
3477
3580
  peg$currPos++;
3478
3581
  } else {
3479
3582
  s6 = peg$FAILED;
3480
- if (peg$silentFails === 0) { peg$fail(peg$e38); }
3583
+ if (peg$silentFails === 0) { peg$fail(peg$e41); }
3481
3584
  }
3482
3585
  if (s6 !== peg$FAILED) {
3483
3586
  while (s6 !== peg$FAILED) {
3484
3587
  s5.push(s6);
3485
- if (peg$r18.test(input.charAt(peg$currPos))) {
3588
+ if (peg$r19.test(input.charAt(peg$currPos))) {
3486
3589
  s6 = input.charAt(peg$currPos);
3487
3590
  peg$currPos++;
3488
3591
  } else {
3489
3592
  s6 = peg$FAILED;
3490
- if (peg$silentFails === 0) { peg$fail(peg$e38); }
3593
+ if (peg$silentFails === 0) { peg$fail(peg$e41); }
3491
3594
  }
3492
3595
  }
3493
3596
  } else {
@@ -3555,17 +3658,17 @@ function peg$parse(input, options) {
3555
3658
  peg$currPos++;
3556
3659
  } else {
3557
3660
  s1 = peg$FAILED;
3558
- if (peg$silentFails === 0) { peg$fail(peg$e26); }
3661
+ if (peg$silentFails === 0) { peg$fail(peg$e27); }
3559
3662
  }
3560
3663
  if (s1 !== peg$FAILED) {
3561
3664
  s2 = peg$currPos;
3562
3665
  peg$silentFails++;
3563
- if (input.substr(peg$currPos, 5) === peg$c18) {
3564
- s3 = peg$c18;
3666
+ if (input.substr(peg$currPos, 5) === peg$c20) {
3667
+ s3 = peg$c20;
3565
3668
  peg$currPos += 5;
3566
3669
  } else {
3567
3670
  s3 = peg$FAILED;
3568
- if (peg$silentFails === 0) { peg$fail(peg$e36); }
3671
+ if (peg$silentFails === 0) { peg$fail(peg$e39); }
3569
3672
  }
3570
3673
  peg$silentFails--;
3571
3674
  if (s3 === peg$FAILED) {
@@ -3577,12 +3680,12 @@ function peg$parse(input, options) {
3577
3680
  if (s2 !== peg$FAILED) {
3578
3681
  s3 = peg$currPos;
3579
3682
  peg$silentFails++;
3580
- if (input.substr(peg$currPos, 3) === peg$c19) {
3581
- s4 = peg$c19;
3683
+ if (input.substr(peg$currPos, 3) === peg$c21) {
3684
+ s4 = peg$c21;
3582
3685
  peg$currPos += 3;
3583
3686
  } else {
3584
3687
  s4 = peg$FAILED;
3585
- if (peg$silentFails === 0) { peg$fail(peg$e37); }
3688
+ if (peg$silentFails === 0) { peg$fail(peg$e40); }
3586
3689
  }
3587
3690
  peg$silentFails--;
3588
3691
  if (s4 === peg$FAILED) {
@@ -3594,22 +3697,22 @@ function peg$parse(input, options) {
3594
3697
  if (s3 !== peg$FAILED) {
3595
3698
  s4 = peg$currPos;
3596
3699
  s5 = [];
3597
- if (peg$r18.test(input.charAt(peg$currPos))) {
3700
+ if (peg$r19.test(input.charAt(peg$currPos))) {
3598
3701
  s6 = input.charAt(peg$currPos);
3599
3702
  peg$currPos++;
3600
3703
  } else {
3601
3704
  s6 = peg$FAILED;
3602
- if (peg$silentFails === 0) { peg$fail(peg$e38); }
3705
+ if (peg$silentFails === 0) { peg$fail(peg$e41); }
3603
3706
  }
3604
3707
  if (s6 !== peg$FAILED) {
3605
3708
  while (s6 !== peg$FAILED) {
3606
3709
  s5.push(s6);
3607
- if (peg$r18.test(input.charAt(peg$currPos))) {
3710
+ if (peg$r19.test(input.charAt(peg$currPos))) {
3608
3711
  s6 = input.charAt(peg$currPos);
3609
3712
  peg$currPos++;
3610
3713
  } else {
3611
3714
  s6 = peg$FAILED;
3612
- if (peg$silentFails === 0) { peg$fail(peg$e38); }
3715
+ if (peg$silentFails === 0) { peg$fail(peg$e41); }
3613
3716
  }
3614
3717
  }
3615
3718
  } else {
@@ -3671,17 +3774,17 @@ function peg$parse(input, options) {
3671
3774
  peg$currPos++;
3672
3775
  } else {
3673
3776
  s1 = peg$FAILED;
3674
- if (peg$silentFails === 0) { peg$fail(peg$e26); }
3777
+ if (peg$silentFails === 0) { peg$fail(peg$e27); }
3675
3778
  }
3676
3779
  if (s1 !== peg$FAILED) {
3677
3780
  s2 = peg$currPos;
3678
3781
  peg$silentFails++;
3679
- if (input.substr(peg$currPos, 5) === peg$c18) {
3680
- s3 = peg$c18;
3782
+ if (input.substr(peg$currPos, 5) === peg$c20) {
3783
+ s3 = peg$c20;
3681
3784
  peg$currPos += 5;
3682
3785
  } else {
3683
3786
  s3 = peg$FAILED;
3684
- if (peg$silentFails === 0) { peg$fail(peg$e36); }
3787
+ if (peg$silentFails === 0) { peg$fail(peg$e39); }
3685
3788
  }
3686
3789
  peg$silentFails--;
3687
3790
  if (s3 === peg$FAILED) {
@@ -3693,12 +3796,12 @@ function peg$parse(input, options) {
3693
3796
  if (s2 !== peg$FAILED) {
3694
3797
  s3 = peg$currPos;
3695
3798
  peg$silentFails++;
3696
- if (input.substr(peg$currPos, 3) === peg$c19) {
3697
- s4 = peg$c19;
3799
+ if (input.substr(peg$currPos, 3) === peg$c21) {
3800
+ s4 = peg$c21;
3698
3801
  peg$currPos += 3;
3699
3802
  } else {
3700
3803
  s4 = peg$FAILED;
3701
- if (peg$silentFails === 0) { peg$fail(peg$e37); }
3804
+ if (peg$silentFails === 0) { peg$fail(peg$e40); }
3702
3805
  }
3703
3806
  peg$silentFails--;
3704
3807
  if (s4 === peg$FAILED) {
@@ -3710,22 +3813,22 @@ function peg$parse(input, options) {
3710
3813
  if (s3 !== peg$FAILED) {
3711
3814
  s4 = peg$currPos;
3712
3815
  s5 = [];
3713
- if (peg$r18.test(input.charAt(peg$currPos))) {
3816
+ if (peg$r19.test(input.charAt(peg$currPos))) {
3714
3817
  s6 = input.charAt(peg$currPos);
3715
3818
  peg$currPos++;
3716
3819
  } else {
3717
3820
  s6 = peg$FAILED;
3718
- if (peg$silentFails === 0) { peg$fail(peg$e38); }
3821
+ if (peg$silentFails === 0) { peg$fail(peg$e41); }
3719
3822
  }
3720
3823
  if (s6 !== peg$FAILED) {
3721
3824
  while (s6 !== peg$FAILED) {
3722
3825
  s5.push(s6);
3723
- if (peg$r18.test(input.charAt(peg$currPos))) {
3826
+ if (peg$r19.test(input.charAt(peg$currPos))) {
3724
3827
  s6 = input.charAt(peg$currPos);
3725
3828
  peg$currPos++;
3726
3829
  } else {
3727
3830
  s6 = peg$FAILED;
3728
- if (peg$silentFails === 0) { peg$fail(peg$e38); }
3831
+ if (peg$silentFails === 0) { peg$fail(peg$e41); }
3729
3832
  }
3730
3833
  }
3731
3834
  } else {
@@ -3777,32 +3880,32 @@ function peg$parse(input, options) {
3777
3880
 
3778
3881
  s0 = peg$currPos;
3779
3882
  if (input.charCodeAt(peg$currPos) === 91) {
3780
- s1 = peg$c20;
3883
+ s1 = peg$c22;
3781
3884
  peg$currPos++;
3782
3885
  } else {
3783
3886
  s1 = peg$FAILED;
3784
- if (peg$silentFails === 0) { peg$fail(peg$e39); }
3887
+ if (peg$silentFails === 0) { peg$fail(peg$e42); }
3785
3888
  }
3786
3889
  if (s1 !== peg$FAILED) {
3787
3890
  s2 = peg$parse__h();
3788
3891
  s3 = peg$currPos;
3789
3892
  s4 = [];
3790
- if (peg$r19.test(input.charAt(peg$currPos))) {
3893
+ if (peg$r20.test(input.charAt(peg$currPos))) {
3791
3894
  s5 = input.charAt(peg$currPos);
3792
3895
  peg$currPos++;
3793
3896
  } else {
3794
3897
  s5 = peg$FAILED;
3795
- if (peg$silentFails === 0) { peg$fail(peg$e40); }
3898
+ if (peg$silentFails === 0) { peg$fail(peg$e43); }
3796
3899
  }
3797
3900
  if (s5 !== peg$FAILED) {
3798
3901
  while (s5 !== peg$FAILED) {
3799
3902
  s4.push(s5);
3800
- if (peg$r19.test(input.charAt(peg$currPos))) {
3903
+ if (peg$r20.test(input.charAt(peg$currPos))) {
3801
3904
  s5 = input.charAt(peg$currPos);
3802
3905
  peg$currPos++;
3803
3906
  } else {
3804
3907
  s5 = peg$FAILED;
3805
- if (peg$silentFails === 0) { peg$fail(peg$e40); }
3908
+ if (peg$silentFails === 0) { peg$fail(peg$e43); }
3806
3909
  }
3807
3910
  }
3808
3911
  } else {
@@ -3816,11 +3919,11 @@ function peg$parse(input, options) {
3816
3919
  if (s3 !== peg$FAILED) {
3817
3920
  s4 = peg$parse__h();
3818
3921
  if (input.charCodeAt(peg$currPos) === 93) {
3819
- s5 = peg$c21;
3922
+ s5 = peg$c23;
3820
3923
  peg$currPos++;
3821
3924
  } else {
3822
3925
  s5 = peg$FAILED;
3823
- if (peg$silentFails === 0) { peg$fail(peg$e41); }
3926
+ if (peg$silentFails === 0) { peg$fail(peg$e44); }
3824
3927
  }
3825
3928
  if (s5 !== peg$FAILED) {
3826
3929
  peg$savedPos = s0;
@@ -3846,12 +3949,12 @@ function peg$parse(input, options) {
3846
3949
 
3847
3950
  s0 = peg$currPos;
3848
3951
  s1 = peg$parse__h();
3849
- if (peg$r20.test(input.charAt(peg$currPos))) {
3952
+ if (peg$r21.test(input.charAt(peg$currPos))) {
3850
3953
  s2 = input.charAt(peg$currPos);
3851
3954
  peg$currPos++;
3852
3955
  } else {
3853
3956
  s2 = peg$FAILED;
3854
- if (peg$silentFails === 0) { peg$fail(peg$e42); }
3957
+ if (peg$silentFails === 0) { peg$fail(peg$e45); }
3855
3958
  }
3856
3959
  if (s2 !== peg$FAILED) {
3857
3960
  peg$savedPos = s0;
@@ -3881,30 +3984,30 @@ function peg$parse(input, options) {
3881
3984
 
3882
3985
  s0 = peg$currPos;
3883
3986
  s1 = peg$currPos;
3884
- if (peg$r21.test(input.charAt(peg$currPos))) {
3987
+ if (peg$r22.test(input.charAt(peg$currPos))) {
3885
3988
  s2 = input.charAt(peg$currPos);
3886
3989
  peg$currPos++;
3887
3990
  } else {
3888
3991
  s2 = peg$FAILED;
3889
- if (peg$silentFails === 0) { peg$fail(peg$e43); }
3992
+ if (peg$silentFails === 0) { peg$fail(peg$e46); }
3890
3993
  }
3891
3994
  if (s2 !== peg$FAILED) {
3892
3995
  s3 = [];
3893
- if (peg$r22.test(input.charAt(peg$currPos))) {
3996
+ if (peg$r23.test(input.charAt(peg$currPos))) {
3894
3997
  s4 = input.charAt(peg$currPos);
3895
3998
  peg$currPos++;
3896
3999
  } else {
3897
4000
  s4 = peg$FAILED;
3898
- if (peg$silentFails === 0) { peg$fail(peg$e44); }
4001
+ if (peg$silentFails === 0) { peg$fail(peg$e47); }
3899
4002
  }
3900
4003
  while (s4 !== peg$FAILED) {
3901
4004
  s3.push(s4);
3902
- if (peg$r22.test(input.charAt(peg$currPos))) {
4005
+ if (peg$r23.test(input.charAt(peg$currPos))) {
3903
4006
  s4 = input.charAt(peg$currPos);
3904
4007
  peg$currPos++;
3905
4008
  } else {
3906
4009
  s4 = peg$FAILED;
3907
- if (peg$silentFails === 0) { peg$fail(peg$e44); }
4010
+ if (peg$silentFails === 0) { peg$fail(peg$e47); }
3908
4011
  }
3909
4012
  }
3910
4013
  s2 = [s2, s3];
@@ -3925,12 +4028,12 @@ function peg$parse(input, options) {
3925
4028
  function peg$parseSimpleDiacritic() {
3926
4029
  var s0;
3927
4030
 
3928
- if (peg$r23.test(input.charAt(peg$currPos))) {
4031
+ if (peg$r24.test(input.charAt(peg$currPos))) {
3929
4032
  s0 = input.charAt(peg$currPos);
3930
4033
  peg$currPos++;
3931
4034
  } else {
3932
4035
  s0 = peg$FAILED;
3933
- if (peg$silentFails === 0) { peg$fail(peg$e45); }
4036
+ if (peg$silentFails === 0) { peg$fail(peg$e48); }
3934
4037
  }
3935
4038
 
3936
4039
  return s0;
@@ -3939,12 +4042,12 @@ function peg$parse(input, options) {
3939
4042
  function peg$parseExtendedDiacritic() {
3940
4043
  var s0;
3941
4044
 
3942
- if (peg$r24.test(input.charAt(peg$currPos))) {
4045
+ if (peg$r25.test(input.charAt(peg$currPos))) {
3943
4046
  s0 = input.charAt(peg$currPos);
3944
4047
  peg$currPos++;
3945
4048
  } else {
3946
4049
  s0 = peg$FAILED;
3947
- if (peg$silentFails === 0) { peg$fail(peg$e46); }
4050
+ if (peg$silentFails === 0) { peg$fail(peg$e49); }
3948
4051
  }
3949
4052
 
3950
4053
  return s0;
@@ -3956,11 +4059,11 @@ function peg$parse(input, options) {
3956
4059
  s0 = peg$currPos;
3957
4060
  s1 = peg$parse__();
3958
4061
  if (input.charCodeAt(peg$currPos) === 61) {
3959
- s2 = peg$c22;
4062
+ s2 = peg$c24;
3960
4063
  peg$currPos++;
3961
4064
  } else {
3962
4065
  s2 = peg$FAILED;
3963
- if (peg$silentFails === 0) { peg$fail(peg$e47); }
4066
+ if (peg$silentFails === 0) { peg$fail(peg$e50); }
3964
4067
  }
3965
4068
  if (s2 !== peg$FAILED) {
3966
4069
  s3 = peg$parse__();
@@ -4014,11 +4117,11 @@ function peg$parse(input, options) {
4014
4117
  s0 = peg$currPos;
4015
4118
  s1 = peg$parse__();
4016
4119
  if (input.charCodeAt(peg$currPos) === 35) {
4017
- s2 = peg$c23;
4120
+ s2 = peg$c25;
4018
4121
  peg$currPos++;
4019
4122
  } else {
4020
4123
  s2 = peg$FAILED;
4021
- if (peg$silentFails === 0) { peg$fail(peg$e48); }
4124
+ if (peg$silentFails === 0) { peg$fail(peg$e51); }
4022
4125
  }
4023
4126
  if (s2 !== peg$FAILED) {
4024
4127
  s3 = peg$parse__();
@@ -4035,12 +4138,12 @@ function peg$parse(input, options) {
4035
4138
  function peg$parseEOL() {
4036
4139
  var s0;
4037
4140
 
4038
- if (peg$r25.test(input.charAt(peg$currPos))) {
4141
+ if (peg$r26.test(input.charAt(peg$currPos))) {
4039
4142
  s0 = input.charAt(peg$currPos);
4040
4143
  peg$currPos++;
4041
4144
  } else {
4042
4145
  s0 = peg$FAILED;
4043
- if (peg$silentFails === 0) { peg$fail(peg$e49); }
4146
+ if (peg$silentFails === 0) { peg$fail(peg$e52); }
4044
4147
  }
4045
4148
 
4046
4149
  return s0;
@@ -4051,22 +4154,22 @@ function peg$parse(input, options) {
4051
4154
 
4052
4155
  peg$silentFails++;
4053
4156
  s0 = [];
4054
- if (peg$r26.test(input.charAt(peg$currPos))) {
4157
+ if (peg$r27.test(input.charAt(peg$currPos))) {
4055
4158
  s1 = input.charAt(peg$currPos);
4056
4159
  peg$currPos++;
4057
4160
  } else {
4058
4161
  s1 = peg$FAILED;
4059
- if (peg$silentFails === 0) { peg$fail(peg$e51); }
4162
+ if (peg$silentFails === 0) { peg$fail(peg$e54); }
4060
4163
  }
4061
4164
  if (s1 !== peg$FAILED) {
4062
4165
  while (s1 !== peg$FAILED) {
4063
4166
  s0.push(s1);
4064
- if (peg$r26.test(input.charAt(peg$currPos))) {
4167
+ if (peg$r27.test(input.charAt(peg$currPos))) {
4065
4168
  s1 = input.charAt(peg$currPos);
4066
4169
  peg$currPos++;
4067
4170
  } else {
4068
4171
  s1 = peg$FAILED;
4069
- if (peg$silentFails === 0) { peg$fail(peg$e51); }
4172
+ if (peg$silentFails === 0) { peg$fail(peg$e54); }
4070
4173
  }
4071
4174
  }
4072
4175
  } else {
@@ -4075,7 +4178,7 @@ function peg$parse(input, options) {
4075
4178
  peg$silentFails--;
4076
4179
  if (s0 === peg$FAILED) {
4077
4180
  s1 = peg$FAILED;
4078
- if (peg$silentFails === 0) { peg$fail(peg$e50); }
4181
+ if (peg$silentFails === 0) { peg$fail(peg$e53); }
4079
4182
  }
4080
4183
 
4081
4184
  return s0;
@@ -4086,26 +4189,26 @@ function peg$parse(input, options) {
4086
4189
 
4087
4190
  peg$silentFails++;
4088
4191
  s0 = [];
4089
- if (peg$r26.test(input.charAt(peg$currPos))) {
4192
+ if (peg$r27.test(input.charAt(peg$currPos))) {
4090
4193
  s1 = input.charAt(peg$currPos);
4091
4194
  peg$currPos++;
4092
4195
  } else {
4093
4196
  s1 = peg$FAILED;
4094
- if (peg$silentFails === 0) { peg$fail(peg$e51); }
4197
+ if (peg$silentFails === 0) { peg$fail(peg$e54); }
4095
4198
  }
4096
4199
  while (s1 !== peg$FAILED) {
4097
4200
  s0.push(s1);
4098
- if (peg$r26.test(input.charAt(peg$currPos))) {
4201
+ if (peg$r27.test(input.charAt(peg$currPos))) {
4099
4202
  s1 = input.charAt(peg$currPos);
4100
4203
  peg$currPos++;
4101
4204
  } else {
4102
4205
  s1 = peg$FAILED;
4103
- if (peg$silentFails === 0) { peg$fail(peg$e51); }
4206
+ if (peg$silentFails === 0) { peg$fail(peg$e54); }
4104
4207
  }
4105
4208
  }
4106
4209
  peg$silentFails--;
4107
4210
  s1 = peg$FAILED;
4108
- if (peg$silentFails === 0) { peg$fail(peg$e52); }
4211
+ if (peg$silentFails === 0) { peg$fail(peg$e55); }
4109
4212
 
4110
4213
  return s0;
4111
4214
  }
@@ -4115,22 +4218,22 @@ function peg$parse(input, options) {
4115
4218
 
4116
4219
  peg$silentFails++;
4117
4220
  s0 = [];
4118
- if (peg$r25.test(input.charAt(peg$currPos))) {
4221
+ if (peg$r26.test(input.charAt(peg$currPos))) {
4119
4222
  s1 = input.charAt(peg$currPos);
4120
4223
  peg$currPos++;
4121
4224
  } else {
4122
4225
  s1 = peg$FAILED;
4123
- if (peg$silentFails === 0) { peg$fail(peg$e49); }
4226
+ if (peg$silentFails === 0) { peg$fail(peg$e52); }
4124
4227
  }
4125
4228
  if (s1 !== peg$FAILED) {
4126
4229
  while (s1 !== peg$FAILED) {
4127
4230
  s0.push(s1);
4128
- if (peg$r25.test(input.charAt(peg$currPos))) {
4231
+ if (peg$r26.test(input.charAt(peg$currPos))) {
4129
4232
  s1 = input.charAt(peg$currPos);
4130
4233
  peg$currPos++;
4131
4234
  } else {
4132
4235
  s1 = peg$FAILED;
4133
- if (peg$silentFails === 0) { peg$fail(peg$e49); }
4236
+ if (peg$silentFails === 0) { peg$fail(peg$e52); }
4134
4237
  }
4135
4238
  }
4136
4239
  } else {
@@ -4139,7 +4242,7 @@ function peg$parse(input, options) {
4139
4242
  peg$silentFails--;
4140
4243
  if (s0 === peg$FAILED) {
4141
4244
  s1 = peg$FAILED;
4142
- if (peg$silentFails === 0) { peg$fail(peg$e53); }
4245
+ if (peg$silentFails === 0) { peg$fail(peg$e56); }
4143
4246
  }
4144
4247
 
4145
4248
  return s0;
@@ -4150,26 +4253,26 @@ function peg$parse(input, options) {
4150
4253
 
4151
4254
  peg$silentFails++;
4152
4255
  s0 = [];
4153
- if (peg$r25.test(input.charAt(peg$currPos))) {
4256
+ if (peg$r26.test(input.charAt(peg$currPos))) {
4154
4257
  s1 = input.charAt(peg$currPos);
4155
4258
  peg$currPos++;
4156
4259
  } else {
4157
4260
  s1 = peg$FAILED;
4158
- if (peg$silentFails === 0) { peg$fail(peg$e49); }
4261
+ if (peg$silentFails === 0) { peg$fail(peg$e52); }
4159
4262
  }
4160
4263
  while (s1 !== peg$FAILED) {
4161
4264
  s0.push(s1);
4162
- if (peg$r25.test(input.charAt(peg$currPos))) {
4265
+ if (peg$r26.test(input.charAt(peg$currPos))) {
4163
4266
  s1 = input.charAt(peg$currPos);
4164
4267
  peg$currPos++;
4165
4268
  } else {
4166
4269
  s1 = peg$FAILED;
4167
- if (peg$silentFails === 0) { peg$fail(peg$e49); }
4270
+ if (peg$silentFails === 0) { peg$fail(peg$e52); }
4168
4271
  }
4169
4272
  }
4170
4273
  peg$silentFails--;
4171
4274
  s1 = peg$FAILED;
4172
- if (peg$silentFails === 0) { peg$fail(peg$e54); }
4275
+ if (peg$silentFails === 0) { peg$fail(peg$e57); }
4173
4276
 
4174
4277
  return s0;
4175
4278
  }
@@ -4179,22 +4282,22 @@ function peg$parse(input, options) {
4179
4282
 
4180
4283
  peg$silentFails++;
4181
4284
  s0 = [];
4182
- if (peg$r27.test(input.charAt(peg$currPos))) {
4285
+ if (peg$r28.test(input.charAt(peg$currPos))) {
4183
4286
  s1 = input.charAt(peg$currPos);
4184
4287
  peg$currPos++;
4185
4288
  } else {
4186
4289
  s1 = peg$FAILED;
4187
- if (peg$silentFails === 0) { peg$fail(peg$e56); }
4290
+ if (peg$silentFails === 0) { peg$fail(peg$e59); }
4188
4291
  }
4189
4292
  if (s1 !== peg$FAILED) {
4190
4293
  while (s1 !== peg$FAILED) {
4191
4294
  s0.push(s1);
4192
- if (peg$r27.test(input.charAt(peg$currPos))) {
4295
+ if (peg$r28.test(input.charAt(peg$currPos))) {
4193
4296
  s1 = input.charAt(peg$currPos);
4194
4297
  peg$currPos++;
4195
4298
  } else {
4196
4299
  s1 = peg$FAILED;
4197
- if (peg$silentFails === 0) { peg$fail(peg$e56); }
4300
+ if (peg$silentFails === 0) { peg$fail(peg$e59); }
4198
4301
  }
4199
4302
  }
4200
4303
  } else {
@@ -4203,7 +4306,7 @@ function peg$parse(input, options) {
4203
4306
  peg$silentFails--;
4204
4307
  if (s0 === peg$FAILED) {
4205
4308
  s1 = peg$FAILED;
4206
- if (peg$silentFails === 0) { peg$fail(peg$e55); }
4309
+ if (peg$silentFails === 0) { peg$fail(peg$e58); }
4207
4310
  }
4208
4311
 
4209
4312
  return s0;
@@ -4214,26 +4317,26 @@ function peg$parse(input, options) {
4214
4317
 
4215
4318
  peg$silentFails++;
4216
4319
  s0 = [];
4217
- if (peg$r27.test(input.charAt(peg$currPos))) {
4320
+ if (peg$r28.test(input.charAt(peg$currPos))) {
4218
4321
  s1 = input.charAt(peg$currPos);
4219
4322
  peg$currPos++;
4220
4323
  } else {
4221
4324
  s1 = peg$FAILED;
4222
- if (peg$silentFails === 0) { peg$fail(peg$e56); }
4325
+ if (peg$silentFails === 0) { peg$fail(peg$e59); }
4223
4326
  }
4224
4327
  while (s1 !== peg$FAILED) {
4225
4328
  s0.push(s1);
4226
- if (peg$r27.test(input.charAt(peg$currPos))) {
4329
+ if (peg$r28.test(input.charAt(peg$currPos))) {
4227
4330
  s1 = input.charAt(peg$currPos);
4228
4331
  peg$currPos++;
4229
4332
  } else {
4230
4333
  s1 = peg$FAILED;
4231
- if (peg$silentFails === 0) { peg$fail(peg$e56); }
4334
+ if (peg$silentFails === 0) { peg$fail(peg$e59); }
4232
4335
  }
4233
4336
  }
4234
4337
  peg$silentFails--;
4235
4338
  s1 = peg$FAILED;
4236
- if (peg$silentFails === 0) { peg$fail(peg$e57); }
4339
+ if (peg$silentFails === 0) { peg$fail(peg$e60); }
4237
4340
 
4238
4341
  return s0;
4239
4342
  }
@@ -4276,6 +4379,7 @@ function peg$parse(input, options) {
4276
4379
  scshape: 'smallCaps',
4277
4380
 
4278
4381
  tt: 'fixedWidth',
4382
+ texttt: 'fixedWidth',
4279
4383
  rm: 'roman',
4280
4384
  sf: 'sansSerif',
4281
4385
  verb: 'verbatim',