@danielx/civet 0.6.61 → 0.6.63

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/dist/main.mjs CHANGED
@@ -485,6 +485,7 @@ ${input.slice(result.pos)}
485
485
  var require_lib = __commonJS({
486
486
  "source/lib.civet"(exports, module) {
487
487
  "use strict";
488
+ var xor = (a, b) => a ? !b && a : b;
488
489
  function addParentPointers(node, parent) {
489
490
  if (node == null)
490
491
  return;
@@ -892,6 +893,31 @@ var require_lib = __commonJS({
892
893
  children
893
894
  };
894
895
  }
896
+ function expressionizeTypeIf([ws, ifOp, condition, t, e]) {
897
+ const children = [
898
+ ws,
899
+ "(",
900
+ insertTrimmingSpace(condition, ""),
901
+ "?"
902
+ ];
903
+ if (!xor(ifOp.negated, condition.negated)) {
904
+ children.push(t);
905
+ if (e) {
906
+ children.push(e[0], ":", ...e.slice(2));
907
+ } else {
908
+ children.push(":never");
909
+ }
910
+ } else {
911
+ if (e) {
912
+ children.push(...e.slice(2), e[0], ":");
913
+ } else {
914
+ children.push("never:");
915
+ }
916
+ children.push(t);
917
+ }
918
+ children.push(")");
919
+ return children;
920
+ }
895
921
  function expressionizeIteration(exp) {
896
922
  const { async, subtype, block, children, statement } = exp;
897
923
  const i = children.indexOf(statement);
@@ -964,10 +990,13 @@ var require_lib = __commonJS({
964
990
  if (op.reversed) {
965
991
  if (end !== i + 2)
966
992
  b = makeLeftHandSideExpression(b);
993
+ b = dotNumericLiteral(b);
967
994
  children = [wsB, b, wsOp, ".", op.method, "(", a, ")"];
968
995
  } else {
969
- if (start !== i - 2)
996
+ if (start !== i - 2 || a.type === "NumericLiteral") {
970
997
  a = makeLeftHandSideExpression(a);
998
+ }
999
+ a = dotNumericLiteral(a);
971
1000
  children = [a, wsOp, ".", op.method, "(", wsB, b, ")"];
972
1001
  }
973
1002
  } else if (op.token) {
@@ -1406,18 +1435,18 @@ var require_lib = __commonJS({
1406
1435
  }
1407
1436
  function findChildIndex(parent, child) {
1408
1437
  const children = Array.isArray(parent) ? parent : parent.children;
1409
- const len = children.length;
1410
- for (let i = 0; i < len; i++) {
1411
- const c = children[i];
1438
+ for (let i4 = 0, len4 = children.length; i4 < len4; i4++) {
1439
+ const i = i4;
1440
+ const c = children[i4];
1412
1441
  if (c === child || Array.isArray(c) && arrayRecurse(c)) {
1413
1442
  return i;
1414
1443
  }
1415
1444
  }
1416
1445
  function arrayRecurse(array) {
1417
- const len2 = array.length;
1418
1446
  const results2 = [];
1419
- for (let i = 0; i < len2; i++) {
1420
- const c = array[i];
1447
+ for (let i5 = 0, len5 = array.length; i5 < len5; i5++) {
1448
+ const i = i5;
1449
+ const c = array[i5];
1421
1450
  if (c === child || Array.isArray(c) && arrayRecurse(c)) {
1422
1451
  return true;
1423
1452
  } else {
@@ -1429,6 +1458,32 @@ var require_lib = __commonJS({
1429
1458
  }
1430
1459
  return -1;
1431
1460
  }
1461
+ function replaceNode(node, newNode) {
1462
+ if (!(node.parent != null)) {
1463
+ throw new Error("replaceNode failed: node has no parent");
1464
+ }
1465
+ function recurse(children) {
1466
+ for (let i6 = 0, len6 = children.length; i6 < len6; i6++) {
1467
+ const i = i6;
1468
+ const child = children[i6];
1469
+ if (child === node) {
1470
+ children[i] = newNode;
1471
+ return true;
1472
+ } else if (Array.isArray(child)) {
1473
+ if (recurse(child)) {
1474
+ return true;
1475
+ }
1476
+ }
1477
+ }
1478
+ return false;
1479
+ }
1480
+ if (!recurse(node.parent.children)) {
1481
+ throw new Error("replaceNode failed: didn't find child node in parent");
1482
+ }
1483
+ if (typeof newNode === "object" && !Array.isArray(newNode)) {
1484
+ newNode.parent = node.parent;
1485
+ }
1486
+ }
1432
1487
  function findAncestor(node, predicate, stopPredicate) {
1433
1488
  let { parent } = node;
1434
1489
  while (parent && !stopPredicate?.(parent, node)) {
@@ -2007,6 +2062,13 @@ var require_lib = __commonJS({
2007
2062
  insertRestSplices(statements, splices, thisAssignments);
2008
2063
  return [splices, thisAssignments];
2009
2064
  }
2065
+ function dotNumericLiteral(literal) {
2066
+ if (literal?.type === "Literal" && /^[+-]?(?:0|[1-9](?:_[0-9]|[0-9])*)$/.test(literal.raw)) {
2067
+ literal.children.push(".");
2068
+ literal.raw += ".";
2069
+ }
2070
+ return literal;
2071
+ }
2010
2072
  function literalValue(literal) {
2011
2073
  let { raw } = literal;
2012
2074
  switch (raw) {
@@ -2115,6 +2177,20 @@ var require_lib = __commonJS({
2115
2177
  return expression;
2116
2178
  }
2117
2179
  }
2180
+ var typeNeedsNoParens = /* @__PURE__ */ new Set([
2181
+ "IdentifierType",
2182
+ "ImportType",
2183
+ "LiteralType",
2184
+ "TupleType",
2185
+ "ParenthesizedType",
2186
+ "UnaryType"
2187
+ ]);
2188
+ function parenthesizeType(type) {
2189
+ if (typeNeedsNoParens.has(type.type)) {
2190
+ return type;
2191
+ }
2192
+ return ["(", type, ")"];
2193
+ }
2118
2194
  function modifyString(str) {
2119
2195
  return str.replace(/(^.?|[^\\]{2})(\\\\)*\n/g, "$1$2\\n");
2120
2196
  }
@@ -2166,6 +2242,25 @@ var require_lib = __commonJS({
2166
2242
  block
2167
2243
  };
2168
2244
  }
2245
+ function convertOptionalType(suffix) {
2246
+ if (suffix.t.type === "AssertsType") {
2247
+ spliceChild(suffix, suffix.optional, 1, suffix.optional = {
2248
+ type: "Error",
2249
+ message: "Can't use optional ?: syntax with asserts type"
2250
+ });
2251
+ return;
2252
+ }
2253
+ spliceChild(suffix, suffix.optional, 1, suffix.optional = void 0);
2254
+ const wrap = suffix.type === "ReturnTypeAnnotation";
2255
+ spliceChild(suffix, suffix.t, 1, suffix.t = [
2256
+ getTrimmingSpace(suffix.t),
2257
+ wrap && "(",
2258
+ // TODO: avoid parens if unnecessary
2259
+ "undefined | ",
2260
+ parenthesizeType(insertTrimmingSpace(suffix.t, "")),
2261
+ wrap && ")"
2262
+ ]);
2263
+ }
2169
2264
  function convertObjectToJSXAttributes(obj) {
2170
2265
  const { properties } = obj;
2171
2266
  const parts = [];
@@ -2451,21 +2546,14 @@ var require_lib = __commonJS({
2451
2546
  return n.type === "Declaration";
2452
2547
  }).forEach(({ bindings }) => {
2453
2548
  return bindings?.forEach((binding) => {
2454
- const { initializer } = binding;
2455
- if (!initializer) {
2456
- return;
2549
+ const suffix = binding.suffix;
2550
+ if (suffix && suffix.optional && suffix.t) {
2551
+ convertOptionalType(suffix);
2457
2552
  }
2458
- const exp = initializer[2];
2459
- if (exp?.type === "PipelineExpression") {
2460
- if (exp.children.at(-2) === ",") {
2461
- const { parent } = exp;
2462
- const parenthesizedExpression = makeLeftHandSideExpression(exp);
2463
- parenthesizedExpression.parent = parent;
2464
- exp.parent = parenthesizedExpression;
2465
- return initializer[2] = parenthesizedExpression;
2466
- }
2467
- ;
2468
- return;
2553
+ const { initializer } = binding;
2554
+ if (initializer) {
2555
+ const exp = initializer[2];
2556
+ return exp;
2469
2557
  }
2470
2558
  ;
2471
2559
  return;
@@ -2492,13 +2580,17 @@ var require_lib = __commonJS({
2492
2580
  }
2493
2581
  }
2494
2582
  function processReturn(f, implicitReturns) {
2583
+ let { returnType } = f.signature;
2584
+ if (returnType && returnType.optional) {
2585
+ convertOptionalType(returnType);
2586
+ }
2495
2587
  if (!processReturnValue(f) && implicitReturns) {
2496
2588
  const { signature, block } = f;
2497
- const { modifier, name, returnType } = signature;
2589
+ const { modifier, name, returnType: returnType2 } = signature;
2498
2590
  const { async, generator, set } = modifier;
2499
2591
  const isMethod = f.type === "MethodDefinition";
2500
2592
  const isConstructor = isMethod && name === "constructor";
2501
- const isVoid = isVoidType(returnType?.t) || async && isPromiseVoidType(returnType?.t) || !async && generator && isGeneratorVoidType(returnType?.t);
2593
+ const isVoid = isVoidType(returnType2?.t) || async && isPromiseVoidType(returnType2?.t) || !async && generator && isGeneratorVoidType(returnType2?.t);
2502
2594
  const isBlock = block?.type === "BlockStatement";
2503
2595
  if (!isVoid && !set && !isConstructor && isBlock) {
2504
2596
  insertReturn(block);
@@ -2574,12 +2666,10 @@ var require_lib = __commonJS({
2574
2666
  gatherRecursiveAll(statements, (n) => n.type === "AssignmentExpression" && n.names === null).forEach((exp) => {
2575
2667
  let { lhs: $1, exp: $2 } = exp, tail = [], i = 0, len = $1.length;
2576
2668
  if ($1.some((left) => left[left.length - 1].special)) {
2577
- if ($1.length !== 1) {
2669
+ if ($1.length !== 1)
2578
2670
  throw new Error("Only one assignment with id= is allowed");
2579
- }
2580
2671
  const [, lhs, , op] = $1[0];
2581
- const { call } = op;
2582
- op[op.length - 1] = "=";
2672
+ const { call, omitLhs } = op;
2583
2673
  const index2 = exp.children.indexOf($2);
2584
2674
  if (index2 < 0)
2585
2675
  throw new Error("Assertion error: exp not in AssignmentExpression");
@@ -2588,6 +2678,9 @@ var require_lib = __commonJS({
2588
2678
  1,
2589
2679
  exp.exp = $2 = [call, "(", lhs, ", ", $2, ")"]
2590
2680
  );
2681
+ if (omitLhs) {
2682
+ replaceNode(exp, $2);
2683
+ }
2591
2684
  }
2592
2685
  let wrapped = false;
2593
2686
  while (i < len) {
@@ -2654,9 +2747,9 @@ var require_lib = __commonJS({
2654
2747
  }
2655
2748
  function insertSemicolon(statements) {
2656
2749
  const l = statements.length;
2657
- for (let i4 = 0, len4 = statements.length; i4 < len4; i4++) {
2658
- const i = i4;
2659
- const s = statements[i4];
2750
+ for (let i7 = 0, len7 = statements.length; i7 < len7; i7++) {
2751
+ const i = i7;
2752
+ const s = statements[i7];
2660
2753
  if (i < l - 1) {
2661
2754
  if (needsPrecedingSemicolon(statements[i + 1])) {
2662
2755
  const delim = s[2];
@@ -3201,9 +3294,51 @@ var require_lib = __commonJS({
3201
3294
  };
3202
3295
  }
3203
3296
  children.push(arg);
3297
+ if (!children.some(($3) => $3?.type === "ReturnStatement") && children.some(($4) => $4 === ",")) {
3298
+ const { parent } = s;
3299
+ const parenthesizedExpression = makeLeftHandSideExpression({ ...s });
3300
+ Object.assign(s, parenthesizedExpression, {
3301
+ parent,
3302
+ hoistDec: void 0
3303
+ });
3304
+ }
3204
3305
  return addParentPointers(s, s.parent);
3205
3306
  });
3206
3307
  }
3308
+ function processTypes(node) {
3309
+ return gatherRecursiveAll(node, (n) => n.type === "UnaryType").forEach((unary) => {
3310
+ let last;
3311
+ let count = 0;
3312
+ while (unary.suffix.length && unary.suffix.at(-1)?.token === "?") {
3313
+ last = unary.suffix.pop();
3314
+ count++;
3315
+ }
3316
+ if (!count) {
3317
+ return;
3318
+ }
3319
+ if (unary.parent?.type === "TypeTuple") {
3320
+ if (count === 1) {
3321
+ unary.suffix.push(last);
3322
+ return;
3323
+ }
3324
+ replaceNode(unary, [
3325
+ getTrimmingSpace(unary),
3326
+ "(",
3327
+ parenthesizeType(insertTrimmingSpace(unary, "")),
3328
+ " | null)",
3329
+ last
3330
+ ]);
3331
+ } else {
3332
+ replaceNode(unary, [
3333
+ getTrimmingSpace(unary),
3334
+ "(",
3335
+ parenthesizeType(insertTrimmingSpace(unary, "")),
3336
+ count === 1 ? " | undefined" : " | undefined | null",
3337
+ ")"
3338
+ ]);
3339
+ }
3340
+ });
3341
+ }
3207
3342
  function processProgram(root, config, m, ReservedWord) {
3208
3343
  assert.equal(m.forbidBracedApplication.length, 1, "forbidBracedApplication");
3209
3344
  assert.equal(m.forbidClassImplicitCall.length, 1, "forbidClassImplicitCall");
@@ -3213,6 +3348,7 @@ var require_lib = __commonJS({
3213
3348
  assert.equal(m.JSXTagStack.length, 1, "JSXTagStack");
3214
3349
  addParentPointers(root);
3215
3350
  const { expressions: statements } = root;
3351
+ processTypes(statements);
3216
3352
  processDeclarationConditions(statements);
3217
3353
  processPipelineExpressions(statements);
3218
3354
  processDeclarations(statements);
@@ -3611,9 +3747,9 @@ var require_lib = __commonJS({
3611
3747
  return root;
3612
3748
  }
3613
3749
  }
3614
- for (let i5 = 0, len5 = array.length; i5 < len5; i5++) {
3615
- const i = i5;
3616
- const node = array[i5];
3750
+ for (let i8 = 0, len8 = array.length; i8 < len8; i8++) {
3751
+ const i = i8;
3752
+ const node = array[i8];
3617
3753
  if (!(node != null)) {
3618
3754
  return;
3619
3755
  }
@@ -3625,6 +3761,17 @@ var require_lib = __commonJS({
3625
3761
  }
3626
3762
  return root;
3627
3763
  }
3764
+ function spliceChild(node, child, del, ...replacements) {
3765
+ const children = node?.children ?? node;
3766
+ if (!Array.isArray(children)) {
3767
+ throw new Error("spliceChild: non-array node has no children field");
3768
+ }
3769
+ const index = children.indexOf(child);
3770
+ if (index < 0) {
3771
+ throw new Error("spliceChild: child not found");
3772
+ }
3773
+ return children.splice(index, del, ...replacements);
3774
+ }
3628
3775
  function skipIfOnlyWS(target) {
3629
3776
  if (!target)
3630
3777
  return target;
@@ -3770,6 +3917,7 @@ var require_lib = __commonJS({
3770
3917
  dedentBlockSubstitutions,
3771
3918
  deepCopy,
3772
3919
  expressionizeIfClause,
3920
+ expressionizeTypeIf,
3773
3921
  findAncestor,
3774
3922
  forRange,
3775
3923
  gatherBindingCode,
@@ -3897,6 +4045,7 @@ var require_parser = __commonJS({
3897
4045
  UnaryBody,
3898
4046
  UnaryWithoutParenthesizedAssignmentBody,
3899
4047
  UnaryPostfix,
4048
+ TypePostfix,
3900
4049
  UpdateExpression,
3901
4050
  UpdateExpressionSymbol,
3902
4051
  AssignmentExpression,
@@ -3926,6 +4075,8 @@ var require_parser = __commonJS({
3926
4075
  ExtendsClause,
3927
4076
  ExtendsToken,
3928
4077
  ExtendsShorthand,
4078
+ NotExtendsToken,
4079
+ OmittedNegation,
3929
4080
  ExtendsTarget,
3930
4081
  ImplementsClause,
3931
4082
  ImplementsToken,
@@ -4324,6 +4475,7 @@ var require_parser = __commonJS({
4324
4475
  Each,
4325
4476
  Else,
4326
4477
  Equals,
4478
+ ExclamationPoint,
4327
4479
  Export,
4328
4480
  Extends,
4329
4481
  Finally,
@@ -4466,6 +4618,7 @@ var require_parser = __commonJS({
4466
4618
  TypeIndexSignature,
4467
4619
  TypeIndex,
4468
4620
  TypeSuffix,
4621
+ MaybeIndentedType,
4469
4622
  ReturnTypeSuffix,
4470
4623
  ReturnType,
4471
4624
  TypePredicate,
@@ -4484,6 +4637,10 @@ var require_parser = __commonJS({
4484
4637
  NestedTypeList,
4485
4638
  NestedType,
4486
4639
  TypeConditional,
4640
+ TypeCondition,
4641
+ TypeIfThenElse,
4642
+ TypeElse,
4643
+ TypeBlock,
4487
4644
  TypeTemplateSubstitution,
4488
4645
  TypeTemplateLiteral,
4489
4646
  CoffeeStringTypeSubstitution,
@@ -4571,296 +4728,299 @@ var require_parser = __commonJS({
4571
4728
  var $L7 = $L(".");
4572
4729
  var $L8 = $L("++");
4573
4730
  var $L9 = $L("--");
4574
- var $L10 = $L("=>");
4575
- var $L11 = $L("\u21D2");
4576
- var $L12 = $L(":");
4577
- var $L13 = $L(" ");
4578
- var $L14 = $L("<");
4579
- var $L15 = $L("implements");
4580
- var $L16 = $L("<:");
4581
- var $L17 = $L("import");
4582
- var $L18 = $L("!");
4583
- var $L19 = $L("^");
4584
- var $L20 = $L("-");
4585
- var $L21 = $L("import.meta");
4586
- var $L22 = $L("return.value");
4587
- var $L23 = $L(",");
4588
- var $L24 = $L("(&)");
4589
- var $L25 = $L("->");
4590
- var $L26 = $L("\u2192");
4591
- var $L27 = $L("}");
4592
- var $L28 = $L("null");
4593
- var $L29 = $L("true");
4594
- var $L30 = $L("false");
4595
- var $L31 = $L("yes");
4596
- var $L32 = $L("on");
4597
- var $L33 = $L("no");
4598
- var $L34 = $L("off");
4599
- var $L35 = $L(">");
4600
- var $L36 = $L("]");
4601
- var $L37 = $L("**=");
4602
- var $L38 = $L("*=");
4603
- var $L39 = $L("/=");
4604
- var $L40 = $L("%=");
4605
- var $L41 = $L("+=");
4606
- var $L42 = $L("-=");
4607
- var $L43 = $L("<<=");
4608
- var $L44 = $L(">>>=");
4609
- var $L45 = $L(">>=");
4610
- var $L46 = $L("&&=");
4611
- var $L47 = $L("&=");
4612
- var $L48 = $L("^=");
4613
- var $L49 = $L("||=");
4614
- var $L50 = $L("|=");
4615
- var $L51 = $L("??=");
4616
- var $L52 = $L("?=");
4617
- var $L53 = $L("and=");
4618
- var $L54 = $L("or=");
4619
- var $L55 = $L("**");
4620
- var $L56 = $L("*");
4621
- var $L57 = $L("/");
4622
- var $L58 = $L("%%");
4623
- var $L59 = $L("%");
4624
- var $L60 = $L("+");
4625
- var $L61 = $L("<=");
4626
- var $L62 = $L("\u2264");
4627
- var $L63 = $L(">=");
4628
- var $L64 = $L("\u2265");
4629
- var $L65 = $L("<?");
4630
- var $L66 = $L("!<?");
4631
- var $L67 = $L("<<");
4632
- var $L68 = $L("\xAB");
4633
- var $L69 = $L(">>>");
4634
- var $L70 = $L("\u22D9");
4635
- var $L71 = $L(">>");
4636
- var $L72 = $L("\xBB");
4637
- var $L73 = $L("!==");
4638
- var $L74 = $L("\u2262");
4639
- var $L75 = $L("!=");
4640
- var $L76 = $L("\u2260");
4641
- var $L77 = $L("isnt");
4642
- var $L78 = $L("===");
4643
- var $L79 = $L("\u2263");
4644
- var $L80 = $L("\u2A76");
4645
- var $L81 = $L("==");
4646
- var $L82 = $L("\u2261");
4647
- var $L83 = $L("\u2A75");
4648
- var $L84 = $L("and");
4649
- var $L85 = $L("&&");
4650
- var $L86 = $L("or");
4651
- var $L87 = $L("||");
4652
- var $L88 = $L("\u2016");
4653
- var $L89 = $L("^^");
4654
- var $L90 = $L("xor");
4655
- var $L91 = $L("xnor");
4656
- var $L92 = $L("??");
4657
- var $L93 = $L("\u2047");
4658
- var $L94 = $L("instanceof");
4659
- var $L95 = $L("\u2208");
4660
- var $L96 = $L("\u220B");
4661
- var $L97 = $L("\u220C");
4662
- var $L98 = $L("\u2209");
4663
- var $L99 = $L("&");
4664
- var $L100 = $L("|");
4665
- var $L101 = $L(";");
4666
- var $L102 = $L("$:");
4667
- var $L103 = $L("break");
4668
- var $L104 = $L("continue");
4669
- var $L105 = $L("debugger");
4670
- var $L106 = $L("with");
4671
- var $L107 = $L("assert");
4672
- var $L108 = $L(":=");
4673
- var $L109 = $L("\u2254");
4674
- var $L110 = $L(".=");
4675
- var $L111 = $L("/*");
4676
- var $L112 = $L("*/");
4677
- var $L113 = $L("\\");
4678
- var $L114 = $L(")");
4679
- var $L115 = $L("abstract");
4680
- var $L116 = $L("as");
4681
- var $L117 = $L("@");
4682
- var $L118 = $L("@@");
4683
- var $L119 = $L("async");
4684
- var $L120 = $L("await");
4685
- var $L121 = $L("`");
4686
- var $L122 = $L("by");
4687
- var $L123 = $L("case");
4688
- var $L124 = $L("catch");
4689
- var $L125 = $L("class");
4690
- var $L126 = $L("#{");
4691
- var $L127 = $L("declare");
4692
- var $L128 = $L("default");
4693
- var $L129 = $L("delete");
4694
- var $L130 = $L("do");
4695
- var $L131 = $L("..");
4696
- var $L132 = $L("\u2025");
4697
- var $L133 = $L("...");
4698
- var $L134 = $L("\u2026");
4699
- var $L135 = $L("::");
4700
- var $L136 = $L('"');
4701
- var $L137 = $L("each");
4702
- var $L138 = $L("else");
4703
- var $L139 = $L("export");
4704
- var $L140 = $L("extends");
4705
- var $L141 = $L("finally");
4706
- var $L142 = $L("for");
4707
- var $L143 = $L("from");
4708
- var $L144 = $L("function");
4709
- var $L145 = $L("get");
4710
- var $L146 = $L("set");
4711
- var $L147 = $L("#");
4712
- var $L148 = $L("if");
4713
- var $L149 = $L("in");
4714
- var $L150 = $L("let");
4715
- var $L151 = $L("const");
4716
- var $L152 = $L("is");
4717
- var $L153 = $L("loop");
4718
- var $L154 = $L("new");
4719
- var $L155 = $L("not");
4720
- var $L156 = $L("of");
4721
- var $L157 = $L("[");
4722
- var $L158 = $L("operator");
4723
- var $L159 = $L("own");
4724
- var $L160 = $L("public");
4725
- var $L161 = $L("private");
4726
- var $L162 = $L("protected");
4727
- var $L163 = $L("||>");
4728
- var $L164 = $L("|\u25B7");
4729
- var $L165 = $L("|>=");
4730
- var $L166 = $L("\u25B7=");
4731
- var $L167 = $L("|>");
4732
- var $L168 = $L("\u25B7");
4733
- var $L169 = $L("readonly");
4734
- var $L170 = $L("return");
4735
- var $L171 = $L("satisfies");
4736
- var $L172 = $L("'");
4737
- var $L173 = $L("static");
4738
- var $L174 = $L("${");
4739
- var $L175 = $L("super");
4740
- var $L176 = $L("switch");
4741
- var $L177 = $L("target");
4742
- var $L178 = $L("then");
4743
- var $L179 = $L("this");
4744
- var $L180 = $L("throw");
4745
- var $L181 = $L('"""');
4746
- var $L182 = $L("'''");
4747
- var $L183 = $L("///");
4748
- var $L184 = $L("```");
4749
- var $L185 = $L("try");
4750
- var $L186 = $L("typeof");
4751
- var $L187 = $L("unless");
4752
- var $L188 = $L("until");
4753
- var $L189 = $L("using");
4754
- var $L190 = $L("var");
4755
- var $L191 = $L("void");
4756
- var $L192 = $L("when");
4757
- var $L193 = $L("while");
4758
- var $L194 = $L("yield");
4759
- var $L195 = $L("/>");
4760
- var $L196 = $L("</");
4761
- var $L197 = $L("<>");
4762
- var $L198 = $L("</>");
4763
- var $L199 = $L("<!--");
4764
- var $L200 = $L("-->");
4765
- var $L201 = $L("type");
4766
- var $L202 = $L("enum");
4767
- var $L203 = $L("interface");
4768
- var $L204 = $L("global");
4769
- var $L205 = $L("module");
4770
- var $L206 = $L("namespace");
4771
- var $L207 = $L("asserts");
4772
- var $L208 = $L("keyof");
4773
- var $L209 = $L("infer");
4774
- var $L210 = $L("???");
4775
- var $L211 = $L("[]");
4776
- var $L212 = $L("civet");
4731
+ var $L10 = $L("\u29FA");
4732
+ var $L11 = $L("=>");
4733
+ var $L12 = $L("\u21D2");
4734
+ var $L13 = $L(":");
4735
+ var $L14 = $L(" ");
4736
+ var $L15 = $L("<");
4737
+ var $L16 = $L("implements");
4738
+ var $L17 = $L("<:");
4739
+ var $L18 = $L("import");
4740
+ var $L19 = $L("!");
4741
+ var $L20 = $L("^");
4742
+ var $L21 = $L("-");
4743
+ var $L22 = $L("import.meta");
4744
+ var $L23 = $L("return.value");
4745
+ var $L24 = $L(",");
4746
+ var $L25 = $L("(&)");
4747
+ var $L26 = $L("->");
4748
+ var $L27 = $L("\u2192");
4749
+ var $L28 = $L("}");
4750
+ var $L29 = $L("null");
4751
+ var $L30 = $L("true");
4752
+ var $L31 = $L("false");
4753
+ var $L32 = $L("yes");
4754
+ var $L33 = $L("on");
4755
+ var $L34 = $L("no");
4756
+ var $L35 = $L("off");
4757
+ var $L36 = $L(">");
4758
+ var $L37 = $L("]");
4759
+ var $L38 = $L("**=");
4760
+ var $L39 = $L("*=");
4761
+ var $L40 = $L("/=");
4762
+ var $L41 = $L("%=");
4763
+ var $L42 = $L("+=");
4764
+ var $L43 = $L("-=");
4765
+ var $L44 = $L("<<=");
4766
+ var $L45 = $L(">>>=");
4767
+ var $L46 = $L(">>=");
4768
+ var $L47 = $L("&&=");
4769
+ var $L48 = $L("&=");
4770
+ var $L49 = $L("^=");
4771
+ var $L50 = $L("||=");
4772
+ var $L51 = $L("|=");
4773
+ var $L52 = $L("??=");
4774
+ var $L53 = $L("?=");
4775
+ var $L54 = $L("and=");
4776
+ var $L55 = $L("or=");
4777
+ var $L56 = $L("**");
4778
+ var $L57 = $L("*");
4779
+ var $L58 = $L("/");
4780
+ var $L59 = $L("%%");
4781
+ var $L60 = $L("%");
4782
+ var $L61 = $L("+");
4783
+ var $L62 = $L("<=");
4784
+ var $L63 = $L("\u2264");
4785
+ var $L64 = $L(">=");
4786
+ var $L65 = $L("\u2265");
4787
+ var $L66 = $L("<?");
4788
+ var $L67 = $L("!<?");
4789
+ var $L68 = $L("<<");
4790
+ var $L69 = $L("\xAB");
4791
+ var $L70 = $L(">>>");
4792
+ var $L71 = $L("\u22D9");
4793
+ var $L72 = $L(">>");
4794
+ var $L73 = $L("\xBB");
4795
+ var $L74 = $L("!==");
4796
+ var $L75 = $L("\u2262");
4797
+ var $L76 = $L("!=");
4798
+ var $L77 = $L("\u2260");
4799
+ var $L78 = $L("isnt");
4800
+ var $L79 = $L("===");
4801
+ var $L80 = $L("\u2263");
4802
+ var $L81 = $L("\u2A76");
4803
+ var $L82 = $L("==");
4804
+ var $L83 = $L("\u2261");
4805
+ var $L84 = $L("\u2A75");
4806
+ var $L85 = $L("and");
4807
+ var $L86 = $L("&&");
4808
+ var $L87 = $L("or");
4809
+ var $L88 = $L("||");
4810
+ var $L89 = $L("\u2016");
4811
+ var $L90 = $L("^^");
4812
+ var $L91 = $L("xor");
4813
+ var $L92 = $L("xnor");
4814
+ var $L93 = $L("??");
4815
+ var $L94 = $L("\u2047");
4816
+ var $L95 = $L("instanceof");
4817
+ var $L96 = $L("\u2208");
4818
+ var $L97 = $L("\u220B");
4819
+ var $L98 = $L("\u220C");
4820
+ var $L99 = $L("\u2209");
4821
+ var $L100 = $L("&");
4822
+ var $L101 = $L("|");
4823
+ var $L102 = $L(";");
4824
+ var $L103 = $L("$:");
4825
+ var $L104 = $L("break");
4826
+ var $L105 = $L("continue");
4827
+ var $L106 = $L("debugger");
4828
+ var $L107 = $L("with");
4829
+ var $L108 = $L("assert");
4830
+ var $L109 = $L(":=");
4831
+ var $L110 = $L("\u2254");
4832
+ var $L111 = $L(".=");
4833
+ var $L112 = $L("/*");
4834
+ var $L113 = $L("*/");
4835
+ var $L114 = $L("\\");
4836
+ var $L115 = $L(")");
4837
+ var $L116 = $L("abstract");
4838
+ var $L117 = $L("as");
4839
+ var $L118 = $L("@");
4840
+ var $L119 = $L("@@");
4841
+ var $L120 = $L("async");
4842
+ var $L121 = $L("await");
4843
+ var $L122 = $L("`");
4844
+ var $L123 = $L("by");
4845
+ var $L124 = $L("case");
4846
+ var $L125 = $L("catch");
4847
+ var $L126 = $L("class");
4848
+ var $L127 = $L("#{");
4849
+ var $L128 = $L("declare");
4850
+ var $L129 = $L("default");
4851
+ var $L130 = $L("delete");
4852
+ var $L131 = $L("do");
4853
+ var $L132 = $L("..");
4854
+ var $L133 = $L("\u2025");
4855
+ var $L134 = $L("...");
4856
+ var $L135 = $L("\u2026");
4857
+ var $L136 = $L("::");
4858
+ var $L137 = $L('"');
4859
+ var $L138 = $L("each");
4860
+ var $L139 = $L("else");
4861
+ var $L140 = $L("export");
4862
+ var $L141 = $L("extends");
4863
+ var $L142 = $L("finally");
4864
+ var $L143 = $L("for");
4865
+ var $L144 = $L("from");
4866
+ var $L145 = $L("function");
4867
+ var $L146 = $L("get");
4868
+ var $L147 = $L("set");
4869
+ var $L148 = $L("#");
4870
+ var $L149 = $L("if");
4871
+ var $L150 = $L("in");
4872
+ var $L151 = $L("let");
4873
+ var $L152 = $L("const");
4874
+ var $L153 = $L("is");
4875
+ var $L154 = $L("loop");
4876
+ var $L155 = $L("new");
4877
+ var $L156 = $L("not");
4878
+ var $L157 = $L("of");
4879
+ var $L158 = $L("[");
4880
+ var $L159 = $L("operator");
4881
+ var $L160 = $L("own");
4882
+ var $L161 = $L("public");
4883
+ var $L162 = $L("private");
4884
+ var $L163 = $L("protected");
4885
+ var $L164 = $L("||>");
4886
+ var $L165 = $L("|\u25B7");
4887
+ var $L166 = $L("|>=");
4888
+ var $L167 = $L("\u25B7=");
4889
+ var $L168 = $L("|>");
4890
+ var $L169 = $L("\u25B7");
4891
+ var $L170 = $L("readonly");
4892
+ var $L171 = $L("return");
4893
+ var $L172 = $L("satisfies");
4894
+ var $L173 = $L("'");
4895
+ var $L174 = $L("static");
4896
+ var $L175 = $L("${");
4897
+ var $L176 = $L("super");
4898
+ var $L177 = $L("switch");
4899
+ var $L178 = $L("target");
4900
+ var $L179 = $L("then");
4901
+ var $L180 = $L("this");
4902
+ var $L181 = $L("throw");
4903
+ var $L182 = $L('"""');
4904
+ var $L183 = $L("'''");
4905
+ var $L184 = $L("///");
4906
+ var $L185 = $L("```");
4907
+ var $L186 = $L("try");
4908
+ var $L187 = $L("typeof");
4909
+ var $L188 = $L("unless");
4910
+ var $L189 = $L("until");
4911
+ var $L190 = $L("using");
4912
+ var $L191 = $L("var");
4913
+ var $L192 = $L("void");
4914
+ var $L193 = $L("when");
4915
+ var $L194 = $L("while");
4916
+ var $L195 = $L("yield");
4917
+ var $L196 = $L("/>");
4918
+ var $L197 = $L("</");
4919
+ var $L198 = $L("<>");
4920
+ var $L199 = $L("</>");
4921
+ var $L200 = $L("<!--");
4922
+ var $L201 = $L("-->");
4923
+ var $L202 = $L("type");
4924
+ var $L203 = $L("enum");
4925
+ var $L204 = $L("interface");
4926
+ var $L205 = $L("global");
4927
+ var $L206 = $L("module");
4928
+ var $L207 = $L("namespace");
4929
+ var $L208 = $L("asserts");
4930
+ var $L209 = $L("keyof");
4931
+ var $L210 = $L("infer");
4932
+ var $L211 = $L("???");
4933
+ var $L212 = $L("[]");
4934
+ var $L213 = $L("civet");
4777
4935
  var $R0 = $R(new RegExp("(?=debugger|if|unless|do|for|loop|until|while|switch|throw|try)", "suy"));
4778
4936
  var $R1 = $R(new RegExp("(as|of|satisfies|then|when|implements|xor|xnor)(?!\\p{ID_Continue}|[\\u200C\\u200D$])", "suy"));
4779
4937
  var $R2 = $R(new RegExp("[0-9]", "suy"));
4780
- var $R3 = $R(new RegExp("[ \\t]", "suy"));
4781
- var $R4 = $R(new RegExp("(?=['\"`<])", "suy"));
4782
- var $R5 = $R(new RegExp("(?=[\\/?])", "suy"));
4783
- var $R6 = $R(new RegExp("(?=[\\/\\[{?.!@'\u2019:])", "suy"));
4784
- var $R7 = $R(new RegExp("[)}]", "suy"));
4785
- var $R8 = $R(new RegExp("[&]", "suy"));
4786
- var $R9 = $R(new RegExp(`(?=[0-9.'"tfyno])`, "suy"));
4787
- var $R10 = $R(new RegExp("(?=true|false|yes|no|on|off)", "suy"));
4788
- var $R11 = $R(new RegExp("(?=\\p{ID_Start}|[_$])", "suy"));
4789
- var $R12 = $R(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy"));
4790
- var $R13 = $R(new RegExp("(?=\\[)", "suy"));
4791
- var $R14 = $R(new RegExp("[!+-]", "suy"));
4792
- var $R15 = $R(new RegExp("(?=\\p{ID_Start}|[_$^\xAB\xBB\u22D9\u2264\u2265\u2208\u220B\u2209\u220C\u2263\u2261\u2262\u2260=\u2016\u2047&|*\\/!?%<>+-])", "suy"));
4793
- var $R16 = $R(new RegExp("!\\^\\^?", "suy"));
4794
- var $R17 = $R(new RegExp("(?!\\+\\+|--)[!~+-](?!\\s)", "suy"));
4795
- var $R18 = $R(new RegExp("[:.]", "suy"));
4796
- var $R19 = $R(new RegExp("(?=for|if|loop|unless|until|while)", "suy"));
4797
- var $R20 = $R(new RegExp("(?=loop|do|for|until|while)", "suy"));
4798
- var $R21 = $R(new RegExp("(?=[\\s\\),])", "suy"));
4799
- var $R22 = $R(new RegExp('[^;"\\s]+', "suy"));
4800
- var $R23 = $R(new RegExp("(?=[0-9.])", "suy"));
4801
- var $R24 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)n", "suy"));
4802
- var $R25 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?=\\.(?:\\p{ID_Start}|[_$]))", "suy"));
4803
- var $R26 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?:\\.(?:[0-9](?:_[0-9]|[0-9])*))?", "suy"));
4804
- var $R27 = $R(new RegExp("(?:\\.[0-9](?:_[0-9]|[0-9])*)", "suy"));
4805
- var $R28 = $R(new RegExp("(?:[eE][+-]?[0-9]+(?:_[0-9]|[0-9])*)", "suy"));
4806
- var $R29 = $R(new RegExp("0[bB][01](?:[01]|_[01])*n?", "suy"));
4807
- var $R30 = $R(new RegExp("0[oO][0-7](?:[0-7]|_[0-7])*n?", "suy"));
4808
- var $R31 = $R(new RegExp("0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*n?", "suy"));
4809
- var $R32 = $R(new RegExp("(?=[0-9])", "suy"));
4810
- var $R33 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)", "suy"));
4811
- var $R34 = $R(new RegExp('(?:\\\\.|[^"])*', "suy"));
4812
- var $R35 = $R(new RegExp("(?:\\\\.|[^'])*", "suy"));
4813
- var $R36 = $R(new RegExp('(?:"(?!"")|#(?!\\{)|\\\\.|[^#"])+', "suy"));
4814
- var $R37 = $R(new RegExp("(?:'(?!'')|\\\\.|[^'])*", "suy"));
4815
- var $R38 = $R(new RegExp('(?:\\\\.|#(?!\\{)|[^"#])+', "suy"));
4816
- var $R39 = $R(new RegExp("(?:\\\\.|[^\\]])*", "suy"));
4817
- var $R40 = $R(new RegExp("(?:\\\\.)", "suy"));
4818
- var $R41 = $R(new RegExp("[\\s]+", "suy"));
4819
- var $R42 = $R(new RegExp("\\/(?!\\/\\/)", "suy"));
4820
- var $R43 = $R(new RegExp("[^[\\/\\s#\\\\]+", "suy"));
4821
- var $R44 = $R(new RegExp("[*\\/\\r\\n]", "suy"));
4822
- var $R45 = $R(new RegExp("(?:\\\\.|[^[\\/\\r\\n])+", "suy"));
4823
- var $R46 = $R(new RegExp("(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy"));
4824
- var $R47 = $R(new RegExp("(?=[`'\"])", "suy"));
4825
- var $R48 = $R(new RegExp("(?:\\$(?!\\{)|\\\\.|[^$`])+", "suy"));
4826
- var $R49 = $R(new RegExp("(?:\\$(?!\\{)|`(?!``)|\\\\.|[^$`])+", "suy"));
4827
- var $R50 = $R(new RegExp("(?:on|off|yes|no)(?!\\p{ID_Continue})", "suy"));
4828
- var $R51 = $R(new RegExp("(?:isnt)(?!\\p{ID_Continue})", "suy"));
4829
- var $R52 = $R(new RegExp("(?:by)(?!\\p{ID_Continue})", "suy"));
4830
- var $R53 = $R(new RegExp("(?:of)(?!\\p{ID_Continue})", "suy"));
4831
- var $R54 = $R(new RegExp("(?:and|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|false|finally|for|function|if|import|in|instanceof|interface|is|let|loop|new|not|null|or|private|protected|public|return|static|super|switch|this|throw|true|try|typeof|unless|until|var|void|while|with|yield)(?!\\p{ID_Continue})", "suy"));
4832
- var $R55 = $R(new RegExp("(?=\\/|#)", "suy"));
4833
- var $R56 = $R(new RegExp("\\/\\/(?!\\/)[^\\r\\n]*", "suy"));
4834
- var $R57 = $R(new RegExp(".", "suy"));
4835
- var $R58 = $R(new RegExp("#(?!##(?!#))([^\\r\\n]*)", "suy"));
4836
- var $R59 = $R(new RegExp("[^]*?###", "suy"));
4837
- var $R60 = $R(new RegExp("###(?!#)", "suy"));
4838
- var $R61 = $R(new RegExp("\\/\\*(?:(?!\\*\\/)[^\\r\\n])*\\*\\/", "suy"));
4839
- var $R62 = $R(new RegExp("(?=[ \\t\\/\\\\])", "suy"));
4840
- var $R63 = $R(new RegExp("[ \\t]+", "suy"));
4841
- var $R64 = $R(new RegExp("(?=\\s|\\/|#)", "suy"));
4842
- var $R65 = $R(new RegExp("(?!\\p{ID_Continue})", "suy"));
4843
- var $R66 = $R(new RegExp("['\u2019]s", "suy"));
4844
- var $R67 = $R(new RegExp("\\s", "suy"));
4845
- var $R68 = $R(new RegExp("(?=[<])", "suy"));
4846
- var $R69 = $R(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*", "suy"));
4847
- var $R70 = $R(new RegExp("[\\s>]|\\/>", "suy"));
4848
- var $R71 = $R(new RegExp("(?:[\\w\\-:]+|\\([^()]*\\)|\\[[^\\[\\]]*\\])+", "suy"));
4849
- var $R72 = $R(new RegExp(`"[^"]*"|'[^']*'`, "suy"));
4850
- var $R73 = $R(new RegExp("[<>]", "suy"));
4851
- var $R74 = $R(new RegExp("[!~+-](?!\\s|[!~+-]*&)", "suy"));
4852
- var $R75 = $R(new RegExp("(?:-[^-]|[^-]*)*", "suy"));
4853
- var $R76 = $R(new RegExp("[^{}<>\\r\\n]+", "suy"));
4854
- var $R77 = $R(new RegExp("[+-]?", "suy"));
4855
- var $R78 = $R(new RegExp("[+-]", "suy"));
4856
- var $R79 = $R(new RegExp("#![^\\r\\n]*", "suy"));
4857
- var $R80 = $R(new RegExp("[\\t ]*", "suy"));
4858
- var $R81 = $R(new RegExp("[ \\t]*", "suy"));
4859
- var $R82 = $R(new RegExp("[\\s]*", "suy"));
4860
- var $R83 = $R(new RegExp("\\s+([+-]?)([a-zA-Z0-9-]+)(\\s*=\\s*([a-zA-Z0-9.+-]*))?", "suy"));
4861
- var $R84 = $R(new RegExp("\\/\\/\\/[^\\r\\n]*", "suy"));
4862
- var $R85 = $R(new RegExp("(?=[ \\t\\r\\n\\/#]|$)", "suy"));
4863
- var $R86 = $R(new RegExp("\\r\\n|\\n|\\r|$", "suy"));
4938
+ var $R3 = $R(new RegExp("(?!\\p{ID_Start}|[_$0-9(\\[{])", "suy"));
4939
+ var $R4 = $R(new RegExp("[ \\t]", "suy"));
4940
+ var $R5 = $R(new RegExp("(?=['\"`<])", "suy"));
4941
+ var $R6 = $R(new RegExp("(?=[\\/?])", "suy"));
4942
+ var $R7 = $R(new RegExp("(?=[\\/\\[{?.!@'\u2019:])", "suy"));
4943
+ var $R8 = $R(new RegExp("[)}]", "suy"));
4944
+ var $R9 = $R(new RegExp("[&]", "suy"));
4945
+ var $R10 = $R(new RegExp(`(?=[0-9.'"tfyno])`, "suy"));
4946
+ var $R11 = $R(new RegExp("(?=true|false|yes|no|on|off)", "suy"));
4947
+ var $R12 = $R(new RegExp("(?=\\p{ID_Start}|[_$])", "suy"));
4948
+ var $R13 = $R(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy"));
4949
+ var $R14 = $R(new RegExp("(?=\\[)", "suy"));
4950
+ var $R15 = $R(new RegExp("[!+-]", "suy"));
4951
+ var $R16 = $R(new RegExp("(?=\\p{ID_Start}|[_$^\xAB\xBB\u22D9\u2264\u2265\u2208\u220B\u2209\u220C\u2263\u2261\u2262\u2260=\u2016\u2047&|*\\/!?%<>\u29FA+-])", "suy"));
4952
+ var $R17 = $R(new RegExp("!\\^\\^?", "suy"));
4953
+ var $R18 = $R(new RegExp("(?!\\+\\+|--)[!~+-](?!\\s)", "suy"));
4954
+ var $R19 = $R(new RegExp("[:.]", "suy"));
4955
+ var $R20 = $R(new RegExp("(?=for|if|loop|unless|until|while)", "suy"));
4956
+ var $R21 = $R(new RegExp("(?=loop|do|for|until|while)", "suy"));
4957
+ var $R22 = $R(new RegExp("(?=[\\s\\),])", "suy"));
4958
+ var $R23 = $R(new RegExp('[^;"\\s]+', "suy"));
4959
+ var $R24 = $R(new RegExp("(?=[0-9.])", "suy"));
4960
+ var $R25 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)n", "suy"));
4961
+ var $R26 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?=\\.(?:\\p{ID_Start}|[_$]))", "suy"));
4962
+ var $R27 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?:\\.(?:[0-9](?:_[0-9]|[0-9])*))?", "suy"));
4963
+ var $R28 = $R(new RegExp("(?:\\.[0-9](?:_[0-9]|[0-9])*)", "suy"));
4964
+ var $R29 = $R(new RegExp("(?:[eE][+-]?[0-9]+(?:_[0-9]|[0-9])*)", "suy"));
4965
+ var $R30 = $R(new RegExp("0[bB][01](?:[01]|_[01])*n?", "suy"));
4966
+ var $R31 = $R(new RegExp("0[oO][0-7](?:[0-7]|_[0-7])*n?", "suy"));
4967
+ var $R32 = $R(new RegExp("0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*n?", "suy"));
4968
+ var $R33 = $R(new RegExp("(?=[0-9])", "suy"));
4969
+ var $R34 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)", "suy"));
4970
+ var $R35 = $R(new RegExp('(?:\\\\.|[^"])*', "suy"));
4971
+ var $R36 = $R(new RegExp("(?:\\\\.|[^'])*", "suy"));
4972
+ var $R37 = $R(new RegExp('(?:"(?!"")|#(?!\\{)|\\\\.|[^#"])+', "suy"));
4973
+ var $R38 = $R(new RegExp("(?:'(?!'')|\\\\.|[^'])*", "suy"));
4974
+ var $R39 = $R(new RegExp('(?:\\\\.|#(?!\\{)|[^"#])+', "suy"));
4975
+ var $R40 = $R(new RegExp("(?:\\\\.|[^\\]])*", "suy"));
4976
+ var $R41 = $R(new RegExp("(?:\\\\.)", "suy"));
4977
+ var $R42 = $R(new RegExp("[\\s]+", "suy"));
4978
+ var $R43 = $R(new RegExp("\\/(?!\\/\\/)", "suy"));
4979
+ var $R44 = $R(new RegExp("[^[\\/\\s#\\\\]+", "suy"));
4980
+ var $R45 = $R(new RegExp("[*\\/\\r\\n]", "suy"));
4981
+ var $R46 = $R(new RegExp("(?:\\\\.|[^[\\/\\r\\n])+", "suy"));
4982
+ var $R47 = $R(new RegExp("(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy"));
4983
+ var $R48 = $R(new RegExp("(?=[`'\"])", "suy"));
4984
+ var $R49 = $R(new RegExp("(?:\\$(?!\\{)|\\\\.|[^$`])+", "suy"));
4985
+ var $R50 = $R(new RegExp("(?:\\$(?!\\{)|`(?!``)|\\\\.|[^$`])+", "suy"));
4986
+ var $R51 = $R(new RegExp("(?:on|off|yes|no)(?!\\p{ID_Continue})", "suy"));
4987
+ var $R52 = $R(new RegExp("(?:isnt)(?!\\p{ID_Continue})", "suy"));
4988
+ var $R53 = $R(new RegExp("(?:by)(?!\\p{ID_Continue})", "suy"));
4989
+ var $R54 = $R(new RegExp("(?:of)(?!\\p{ID_Continue})", "suy"));
4990
+ var $R55 = $R(new RegExp("(?:and|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|false|finally|for|function|if|import|in|instanceof|interface|is|let|loop|new|not|null|or|private|protected|public|return|static|super|switch|this|throw|true|try|typeof|unless|until|var|void|while|with|yield)(?!\\p{ID_Continue})", "suy"));
4991
+ var $R56 = $R(new RegExp("(?=\\/|#)", "suy"));
4992
+ var $R57 = $R(new RegExp("\\/\\/(?!\\/)[^\\r\\n]*", "suy"));
4993
+ var $R58 = $R(new RegExp(".", "suy"));
4994
+ var $R59 = $R(new RegExp("#(?!##(?!#))([^\\r\\n]*)", "suy"));
4995
+ var $R60 = $R(new RegExp("[^]*?###", "suy"));
4996
+ var $R61 = $R(new RegExp("###(?!#)", "suy"));
4997
+ var $R62 = $R(new RegExp("\\/\\*(?:(?!\\*\\/)[^\\r\\n])*\\*\\/", "suy"));
4998
+ var $R63 = $R(new RegExp("(?=[ \\t\\/\\\\])", "suy"));
4999
+ var $R64 = $R(new RegExp("[ \\t]+", "suy"));
5000
+ var $R65 = $R(new RegExp("(?=\\s|\\/|#)", "suy"));
5001
+ var $R66 = $R(new RegExp("(?!\\p{ID_Continue})", "suy"));
5002
+ var $R67 = $R(new RegExp("['\u2019]s", "suy"));
5003
+ var $R68 = $R(new RegExp("\\s", "suy"));
5004
+ var $R69 = $R(new RegExp("(?=[<])", "suy"));
5005
+ var $R70 = $R(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*", "suy"));
5006
+ var $R71 = $R(new RegExp("[\\s>]|\\/>", "suy"));
5007
+ var $R72 = $R(new RegExp("(?:[\\w\\-:]+|\\([^()]*\\)|\\[[^\\[\\]]*\\])+", "suy"));
5008
+ var $R73 = $R(new RegExp(`"[^"]*"|'[^']*'`, "suy"));
5009
+ var $R74 = $R(new RegExp("[<>]", "suy"));
5010
+ var $R75 = $R(new RegExp("[!~+-](?!\\s|[!~+-]*&)", "suy"));
5011
+ var $R76 = $R(new RegExp("(?:-[^-]|[^-]*)*", "suy"));
5012
+ var $R77 = $R(new RegExp("[^{}<>\\r\\n]+", "suy"));
5013
+ var $R78 = $R(new RegExp("[+-]?", "suy"));
5014
+ var $R79 = $R(new RegExp("[+-]", "suy"));
5015
+ var $R80 = $R(new RegExp("(?=if|unless)", "suy"));
5016
+ var $R81 = $R(new RegExp("#![^\\r\\n]*", "suy"));
5017
+ var $R82 = $R(new RegExp("[\\t ]*", "suy"));
5018
+ var $R83 = $R(new RegExp("[ \\t]*", "suy"));
5019
+ var $R84 = $R(new RegExp("[\\s]*", "suy"));
5020
+ var $R85 = $R(new RegExp("\\s+([+-]?)([a-zA-Z0-9-]+)(\\s*=\\s*([a-zA-Z0-9.+-]*))?", "suy"));
5021
+ var $R86 = $R(new RegExp("\\/\\/\\/[^\\r\\n]*", "suy"));
5022
+ var $R87 = $R(new RegExp("(?=[ \\t\\r\\n\\/#]|$)", "suy"));
5023
+ var $R88 = $R(new RegExp("\\r\\n|\\n|\\r|$", "suy"));
4864
5024
  var Program$0 = $TS($S(Reset, Init, $E(EOS), TopLevelStatements, __), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
4865
5025
  var statements = $4;
4866
5026
  processProgram({
@@ -5280,13 +5440,28 @@ var require_parser = __commonJS({
5280
5440
  return $EVENT_C(ctx, state, "UnaryWithoutParenthesizedAssignmentBody", UnaryWithoutParenthesizedAssignmentBody$$);
5281
5441
  }
5282
5442
  var UnaryPostfix$0 = QuestionMark;
5283
- var UnaryPostfix$1 = $T($P($S(__, $C(As, Satisfies), Type)), function(value) {
5443
+ var UnaryPostfix$1 = $T($P(TypePostfix), function(value) {
5284
5444
  return { "ts": true, "children": value };
5285
5445
  });
5286
5446
  var UnaryPostfix$$ = [UnaryPostfix$0, UnaryPostfix$1];
5287
5447
  function UnaryPostfix(ctx, state) {
5288
5448
  return $EVENT_C(ctx, state, "UnaryPostfix", UnaryPostfix$$);
5289
5449
  }
5450
+ var TypePostfix$0 = $TS($S(_, As, $E(ExclamationPoint), Type), function($skip, $loc, $0, $1, $2, $3, $4) {
5451
+ var ws = $1;
5452
+ var as = $2;
5453
+ var ex = $3;
5454
+ var type = $4;
5455
+ if (ex) {
5456
+ return [{ $loc: ex.$loc, token: " as unknown" }, ws, as, type];
5457
+ }
5458
+ return [ws, as, type];
5459
+ });
5460
+ var TypePostfix$1 = $S(_, Satisfies, Type);
5461
+ var TypePostfix$$ = [TypePostfix$0, TypePostfix$1];
5462
+ function TypePostfix(ctx, state) {
5463
+ return $EVENT_C(ctx, state, "TypePostfix", TypePostfix$$);
5464
+ }
5290
5465
  var UpdateExpression$0 = $TS($S(UpdateExpressionSymbol, UnaryWithoutParenthesizedAssignment), function($skip, $loc, $0, $1, $2) {
5291
5466
  return {
5292
5467
  type: "UpdateExpression",
@@ -5294,13 +5469,13 @@ var require_parser = __commonJS({
5294
5469
  children: $0
5295
5470
  };
5296
5471
  });
5297
- var UpdateExpression$1 = $TS($S(LeftHandSideExpression, $E(UpdateExpressionSymbol)), function($skip, $loc, $0, $1, $2) {
5472
+ var UpdateExpression$1 = $TS($S(LeftHandSideExpression, $E($S(UpdateExpressionSymbol, $EXPECT($R3, "UpdateExpression /(?!\\p{ID_Start}|[_$0-9(\\[{])/")))), function($skip, $loc, $0, $1, $2) {
5298
5473
  if (!$2)
5299
5474
  return $1;
5300
5475
  return {
5301
5476
  type: "UpdateExpression",
5302
5477
  assigned: $1,
5303
- children: $0
5478
+ children: [$1, $2[0]]
5304
5479
  };
5305
5480
  });
5306
5481
  var UpdateExpression$$ = [UpdateExpression$0, UpdateExpression$1];
@@ -5310,8 +5485,12 @@ var require_parser = __commonJS({
5310
5485
  var UpdateExpressionSymbol$0 = $TV($C($EXPECT($L8, 'UpdateExpressionSymbol "++"'), $EXPECT($L9, 'UpdateExpressionSymbol "--"')), function($skip, $loc, $0, $1) {
5311
5486
  return { $loc, token: $1 };
5312
5487
  });
5488
+ var UpdateExpressionSymbol$1 = $TV($EXPECT($L10, 'UpdateExpressionSymbol "\u29FA"'), function($skip, $loc, $0, $1) {
5489
+ return { $loc, token: "++" };
5490
+ });
5491
+ var UpdateExpressionSymbol$$ = [UpdateExpressionSymbol$0, UpdateExpressionSymbol$1];
5313
5492
  function UpdateExpressionSymbol(ctx, state) {
5314
- return $EVENT(ctx, state, "UpdateExpressionSymbol", UpdateExpressionSymbol$0);
5493
+ return $EVENT_C(ctx, state, "UpdateExpressionSymbol", UpdateExpressionSymbol$$);
5315
5494
  }
5316
5495
  var AssignmentExpression$0 = PipelineExpression;
5317
5496
  var AssignmentExpression$1 = SingleLineAssignmentExpression;
@@ -5414,7 +5593,7 @@ var require_parser = __commonJS({
5414
5593
  function ArrowFunction(ctx, state) {
5415
5594
  return $EVENT_C(ctx, state, "ArrowFunction", ArrowFunction$$);
5416
5595
  }
5417
- var FatArrow$0 = $TS($S($E(_), $C($EXPECT($L10, 'FatArrow "=>"'), $EXPECT($L11, 'FatArrow "\u21D2"'))), function($skip, $loc, $0, $1, $2) {
5596
+ var FatArrow$0 = $TS($S($E(_), $C($EXPECT($L11, 'FatArrow "=>"'), $EXPECT($L12, 'FatArrow "\u21D2"'))), function($skip, $loc, $0, $1, $2) {
5418
5597
  var ws = $1;
5419
5598
  if (!ws)
5420
5599
  return " =>";
@@ -5449,7 +5628,7 @@ var require_parser = __commonJS({
5449
5628
  return $EVENT(ctx, state, "ConditionalExpression", ConditionalExpression$0);
5450
5629
  }
5451
5630
  var TernaryRest$0 = NestedTernaryRest;
5452
- var TernaryRest$1 = $TS($S($N(CoffeeBinaryExistentialEnabled), $Y($EXPECT($R3, "TernaryRest /[ \\t]/")), _, QuestionMark, ExtendedExpression, __, Colon, ExtendedExpression), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8) {
5631
+ var TernaryRest$1 = $TS($S($N(CoffeeBinaryExistentialEnabled), $Y($EXPECT($R4, "TernaryRest /[ \\t]/")), _, QuestionMark, ExtendedExpression, __, Colon, ExtendedExpression), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8) {
5453
5632
  return $0.slice(2);
5454
5633
  });
5455
5634
  var TernaryRest$$ = [TernaryRest$0, TernaryRest$1];
@@ -5577,7 +5756,7 @@ var require_parser = __commonJS({
5577
5756
  function ClassDeclaration(ctx, state) {
5578
5757
  return $EVENT(ctx, state, "ClassDeclaration", ClassDeclaration$0);
5579
5758
  }
5580
- var ClassExpression$0 = $S($E(Decorators), $E($S(Abstract, __)), Class, $N($EXPECT($L12, 'ClassExpression ":"')), $E(ClassBinding), $E(ClassHeritage), ClassBody);
5759
+ var ClassExpression$0 = $S($E(Decorators), $E($S(Abstract, __)), Class, $N($EXPECT($L13, 'ClassExpression ":"')), $E(ClassBinding), $E(ClassHeritage), ClassBody);
5581
5760
  function ClassExpression(ctx, state) {
5582
5761
  return $EVENT(ctx, state, "ClassExpression", ClassExpression$0);
5583
5762
  }
@@ -5597,27 +5776,67 @@ var require_parser = __commonJS({
5597
5776
  function ExtendsClause(ctx, state) {
5598
5777
  return $EVENT(ctx, state, "ExtendsClause", ExtendsClause$0);
5599
5778
  }
5600
- var ExtendsToken$0 = $TS($S(Loc, __, ExtendsShorthand, $E($EXPECT($L13, 'ExtendsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
5779
+ var ExtendsToken$0 = $TS($S(Loc, $E(_), ExtendsShorthand, $E($EXPECT($L14, 'ExtendsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
5601
5780
  var l = $1;
5602
5781
  var ws = $2;
5603
5782
  var t = $3;
5604
- const children = [...ws, t];
5605
- if (!ws.length) {
5606
- children.unshift({ $loc: l.$loc, token: " " });
5607
- }
5608
- return { children };
5783
+ return {
5784
+ type: "Extends",
5785
+ children: [
5786
+ ws || { $loc: l.$loc, token: " " },
5787
+ t
5788
+ ]
5789
+ };
5790
+ });
5791
+ var ExtendsToken$1 = $TS($S($E(_), Extends), function($skip, $loc, $0, $1, $2) {
5792
+ return {
5793
+ type: "Extends",
5794
+ children: $0
5795
+ };
5609
5796
  });
5610
- var ExtendsToken$1 = $S(__, Extends);
5611
5797
  var ExtendsToken$$ = [ExtendsToken$0, ExtendsToken$1];
5612
5798
  function ExtendsToken(ctx, state) {
5613
5799
  return $EVENT_C(ctx, state, "ExtendsToken", ExtendsToken$$);
5614
5800
  }
5615
- var ExtendsShorthand$0 = $TV($EXPECT($L14, 'ExtendsShorthand "<"'), function($skip, $loc, $0, $1) {
5801
+ var ExtendsShorthand$0 = $TV($EXPECT($L15, 'ExtendsShorthand "<"'), function($skip, $loc, $0, $1) {
5616
5802
  return { $loc, token: "extends " };
5617
5803
  });
5618
5804
  function ExtendsShorthand(ctx, state) {
5619
5805
  return $EVENT(ctx, state, "ExtendsShorthand", ExtendsShorthand$0);
5620
5806
  }
5807
+ var NotExtendsToken$0 = $TS($S(Loc, $E(_), OmittedNegation, ExtendsShorthand, $E($EXPECT($L14, 'NotExtendsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
5808
+ var l = $1;
5809
+ var ws1 = $2;
5810
+ var ws2 = $3;
5811
+ var t = $4;
5812
+ const ws = ws1 && ws2 ? [ws1, ws2] : ws1 || ws2 || { $loc: l.$loc, token: " " };
5813
+ return {
5814
+ type: "Extends",
5815
+ negated: true,
5816
+ children: [ws, t]
5817
+ };
5818
+ });
5819
+ var NotExtendsToken$1 = $TS($S($E(_), OmittedNegation, Extends), function($skip, $loc, $0, $1, $2, $3) {
5820
+ return {
5821
+ type: "Extends",
5822
+ negated: true,
5823
+ children: $0
5824
+ };
5825
+ });
5826
+ var NotExtendsToken$$ = [NotExtendsToken$0, NotExtendsToken$1];
5827
+ function NotExtendsToken(ctx, state) {
5828
+ return $EVENT_C(ctx, state, "NotExtendsToken", NotExtendsToken$$);
5829
+ }
5830
+ var OmittedNegation$0 = $T($S(ExclamationPoint), function(value) {
5831
+ return "";
5832
+ });
5833
+ var OmittedNegation$1 = $T($S(Not, $E($EXPECT($L14, 'OmittedNegation " "')), $E(_)), function(value) {
5834
+ return value[2];
5835
+ });
5836
+ var OmittedNegation$$ = [OmittedNegation$0, OmittedNegation$1];
5837
+ function OmittedNegation(ctx, state) {
5838
+ return $EVENT_C(ctx, state, "OmittedNegation", OmittedNegation$$);
5839
+ }
5621
5840
  var ExtendsTarget$0 = $TS($S(LeftHandSideExpressionWithObjectApplicationForbidden, $E(TypeArguments)), function($skip, $loc, $0, $1, $2) {
5622
5841
  var exp = $1;
5623
5842
  var ta = $2;
@@ -5638,7 +5857,7 @@ var require_parser = __commonJS({
5638
5857
  function ImplementsClause(ctx, state) {
5639
5858
  return $EVENT(ctx, state, "ImplementsClause", ImplementsClause$0);
5640
5859
  }
5641
- var ImplementsToken$0 = $TS($S(Loc, __, ImplementsShorthand, $E($EXPECT($L13, 'ImplementsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
5860
+ var ImplementsToken$0 = $TS($S(Loc, __, ImplementsShorthand, $E($EXPECT($L14, 'ImplementsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
5642
5861
  var l = $1;
5643
5862
  var ws = $2;
5644
5863
  var token = $3;
@@ -5648,7 +5867,7 @@ var require_parser = __commonJS({
5648
5867
  }
5649
5868
  return { children };
5650
5869
  });
5651
- var ImplementsToken$1 = $TS($S(__, $EXPECT($L15, 'ImplementsToken "implements"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
5870
+ var ImplementsToken$1 = $TS($S(__, $EXPECT($L16, 'ImplementsToken "implements"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
5652
5871
  $2 = { $loc, token: $2 };
5653
5872
  return [$1, $2];
5654
5873
  });
@@ -5656,7 +5875,7 @@ var require_parser = __commonJS({
5656
5875
  function ImplementsToken(ctx, state) {
5657
5876
  return $EVENT_C(ctx, state, "ImplementsToken", ImplementsToken$$);
5658
5877
  }
5659
- var ImplementsShorthand$0 = $TV($EXPECT($L16, 'ImplementsShorthand "<:"'), function($skip, $loc, $0, $1) {
5878
+ var ImplementsShorthand$0 = $TV($EXPECT($L17, 'ImplementsShorthand "<:"'), function($skip, $loc, $0, $1) {
5660
5879
  return { $loc, token: "implements " };
5661
5880
  });
5662
5881
  function ImplementsShorthand(ctx, state) {
@@ -5868,7 +6087,7 @@ var require_parser = __commonJS({
5868
6087
  function AtThis(ctx, state) {
5869
6088
  return $EVENT(ctx, state, "AtThis", AtThis$0);
5870
6089
  }
5871
- var LeftHandSideExpression$0 = $S($P($S(New, $N($C($EXPECT($L7, 'LeftHandSideExpression "."'), $EXPECT($L12, 'LeftHandSideExpression ":"'))), __)), CallExpression, $E(TypeArguments));
6090
+ var LeftHandSideExpression$0 = $S($P($S(New, $N($C($EXPECT($L7, 'LeftHandSideExpression "."'), $EXPECT($L13, 'LeftHandSideExpression ":"'))), __)), CallExpression, $E(TypeArguments));
5872
6091
  var LeftHandSideExpression$1 = CallExpression;
5873
6092
  var LeftHandSideExpression$$ = [LeftHandSideExpression$0, LeftHandSideExpression$1];
5874
6093
  function LeftHandSideExpression(ctx, state) {
@@ -5881,7 +6100,7 @@ var require_parser = __commonJS({
5881
6100
  children: [$1, ...$2, ...rest.flat()]
5882
6101
  });
5883
6102
  });
5884
- var CallExpression$1 = $TS($S($EXPECT($L17, 'CallExpression "import"'), ArgumentsWithTrailingMemberExpressions, $Q(CallExpressionRest)), function($skip, $loc, $0, $1, $2, $3) {
6103
+ var CallExpression$1 = $TS($S($EXPECT($L18, 'CallExpression "import"'), ArgumentsWithTrailingMemberExpressions, $Q(CallExpressionRest)), function($skip, $loc, $0, $1, $2, $3) {
5885
6104
  var rest = $3;
5886
6105
  return processCallMemberExpression({
5887
6106
  type: "CallExpression",
@@ -5906,7 +6125,7 @@ var require_parser = __commonJS({
5906
6125
  return $EVENT_C(ctx, state, "CallExpression", CallExpression$$);
5907
6126
  }
5908
6127
  var CallExpressionRest$0 = MemberExpressionRest;
5909
- var CallExpressionRest$1 = $TS($S($EXPECT($R4, "CallExpressionRest /(?=['\"`<])/"), $E(TypeArguments), $C(TemplateLiteral, StringLiteral)), function($skip, $loc, $0, $1, $2, $3) {
6128
+ var CallExpressionRest$1 = $TS($S($EXPECT($R5, "CallExpressionRest /(?=['\"`<])/"), $E(TypeArguments), $C(TemplateLiteral, StringLiteral)), function($skip, $loc, $0, $1, $2, $3) {
5910
6129
  var args = $2;
5911
6130
  var literal = $3;
5912
6131
  if (literal.type === "StringLiteral") {
@@ -5925,7 +6144,7 @@ var require_parser = __commonJS({
5925
6144
  function CallExpressionRest(ctx, state) {
5926
6145
  return $EVENT_C(ctx, state, "CallExpressionRest", CallExpressionRest$$);
5927
6146
  }
5928
- var OptionalShorthand$0 = $TS($S($EXPECT($R5, "OptionalShorthand /(?=[\\/?])/"), $Q(InlineComment), QuestionMark, OptionalDot), function($skip, $loc, $0, $1, $2, $3, $4) {
6147
+ var OptionalShorthand$0 = $TS($S($EXPECT($R6, "OptionalShorthand /(?=[\\/?])/"), $Q(InlineComment), QuestionMark, OptionalDot), function($skip, $loc, $0, $1, $2, $3, $4) {
5929
6148
  return {
5930
6149
  type: "Optional",
5931
6150
  children: $0
@@ -5942,7 +6161,7 @@ var require_parser = __commonJS({
5942
6161
  function OptionalDot(ctx, state) {
5943
6162
  return $EVENT_C(ctx, state, "OptionalDot", OptionalDot$$);
5944
6163
  }
5945
- var NonNullAssertion$0 = $T($S($EXPECT($L18, 'NonNullAssertion "!"'), $N($EXPECT($L19, 'NonNullAssertion "^"'))), function(value) {
6164
+ var NonNullAssertion$0 = $T($S($EXPECT($L19, 'NonNullAssertion "!"'), $N($EXPECT($L20, 'NonNullAssertion "^"'))), function(value) {
5946
6165
  return { "type": "NonNullAssertion", "ts": true, "children": value[0] };
5947
6166
  });
5948
6167
  function NonNullAssertion(ctx, state) {
@@ -5978,7 +6197,7 @@ var require_parser = __commonJS({
5978
6197
  function MemberBase(ctx, state) {
5979
6198
  return $EVENT_C(ctx, state, "MemberBase", MemberBase$$);
5980
6199
  }
5981
- var MemberExpressionRest$0 = $TS($S($EXPECT($R6, "MemberExpressionRest /(?=[\\/\\[{?.!@'\u2019:])/"), $Q(InlineComment), MemberExpressionRestBody), function($skip, $loc, $0, $1, $2, $3) {
6200
+ var MemberExpressionRest$0 = $TS($S($EXPECT($R7, "MemberExpressionRest /(?=[\\/\\[{?.!@'\u2019:])/"), $Q(InlineComment), MemberExpressionRestBody), function($skip, $loc, $0, $1, $2, $3) {
5982
6201
  var comments = $2;
5983
6202
  var body = $3;
5984
6203
  if (Array.isArray(body))
@@ -6133,7 +6352,7 @@ var require_parser = __commonJS({
6133
6352
  ]
6134
6353
  };
6135
6354
  });
6136
- var PropertyAccess$1 = $TS($S(AccessStart, $EXPECT($L20, 'PropertyAccess "-"'), IntegerLiteral), function($skip, $loc, $0, $1, $2, $3) {
6355
+ var PropertyAccess$1 = $TS($S(AccessStart, $EXPECT($L21, 'PropertyAccess "-"'), IntegerLiteral), function($skip, $loc, $0, $1, $2, $3) {
6137
6356
  var dot = $1;
6138
6357
  var neg = $2;
6139
6358
  var num = $3;
@@ -6209,7 +6428,7 @@ var require_parser = __commonJS({
6209
6428
  return $EVENT_C(ctx, state, "SuperProperty", SuperProperty$$);
6210
6429
  }
6211
6430
  var MetaProperty$0 = $S(New, Dot, Target);
6212
- var MetaProperty$1 = $TS($S($EXPECT($L21, 'MetaProperty "import.meta"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
6431
+ var MetaProperty$1 = $TS($S($EXPECT($L22, 'MetaProperty "import.meta"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
6213
6432
  return { $loc, token: $1 };
6214
6433
  });
6215
6434
  var MetaProperty$2 = ReturnValue;
@@ -6217,7 +6436,7 @@ var require_parser = __commonJS({
6217
6436
  function MetaProperty(ctx, state) {
6218
6437
  return $EVENT_C(ctx, state, "MetaProperty", MetaProperty$$);
6219
6438
  }
6220
- var ReturnValue$0 = $TV($C($S($EXPECT($L22, 'ReturnValue "return.value"'), NonIdContinue), $S(Return, $Y(AfterReturnShorthand))), function($skip, $loc, $0, $1) {
6439
+ var ReturnValue$0 = $TV($C($S($EXPECT($L23, 'ReturnValue "return.value"'), NonIdContinue), $S(Return, $Y(AfterReturnShorthand))), function($skip, $loc, $0, $1) {
6221
6440
  return { type: "ReturnValue", children: [$1[0]] };
6222
6441
  });
6223
6442
  function ReturnValue(ctx, state) {
@@ -6419,7 +6638,7 @@ var require_parser = __commonJS({
6419
6638
  return $EVENT(ctx, state, "ParameterElement", ParameterElement$0);
6420
6639
  }
6421
6640
  var ParameterElementDelimiter$0 = $S($E(_), Comma);
6422
- var ParameterElementDelimiter$1 = $Y($S(__, $R$0($EXPECT($R7, "ParameterElementDelimiter /[)}]/"))));
6641
+ var ParameterElementDelimiter$1 = $Y($S(__, $R$0($EXPECT($R8, "ParameterElementDelimiter /[)}]/"))));
6423
6642
  var ParameterElementDelimiter$2 = $T($S($Y(EOS), InsertComma), function(value) {
6424
6643
  return value[1];
6425
6644
  });
@@ -6730,7 +6949,7 @@ var require_parser = __commonJS({
6730
6949
  children: [ws, binding]
6731
6950
  };
6732
6951
  });
6733
- var BindingElement$2 = $TV($Y($S($E(_), $EXPECT($L23, 'BindingElement ","'))), function($skip, $loc, $0, $1) {
6952
+ var BindingElement$2 = $TV($Y($S($E(_), $EXPECT($L24, 'BindingElement ","'))), function($skip, $loc, $0, $1) {
6734
6953
  return {
6735
6954
  children: [{
6736
6955
  type: "ElisionElement",
@@ -6854,7 +7073,7 @@ var require_parser = __commonJS({
6854
7073
  block
6855
7074
  };
6856
7075
  });
6857
- var FunctionExpression$1 = $TV($EXPECT($L24, 'FunctionExpression "(&)"'), function($skip, $loc, $0, $1) {
7076
+ var FunctionExpression$1 = $TV($EXPECT($L25, 'FunctionExpression "(&)"'), function($skip, $loc, $0, $1) {
6858
7077
  const ref = makeRef("$"), body = [ref];
6859
7078
  const parameters = {
6860
7079
  type: "Parameters",
@@ -6869,7 +7088,7 @@ var require_parser = __commonJS({
6869
7088
  signature: {
6870
7089
  modifier: {}
6871
7090
  },
6872
- children: [ref, " => ", body],
7091
+ children: [parameters, " => ", body],
6873
7092
  ref,
6874
7093
  body,
6875
7094
  ampersandBlock: true,
@@ -6877,8 +7096,38 @@ var require_parser = __commonJS({
6877
7096
  parameters
6878
7097
  };
6879
7098
  });
6880
- var FunctionExpression$2 = AmpersandFunctionExpression;
6881
- var FunctionExpression$3 = $TS($S(Identifier, __, ConstAssignment, $Q(_), ThinArrowFunction), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
7099
+ var FunctionExpression$2 = $TS($S(OpenParen, BinaryOp, CloseParen), function($skip, $loc, $0, $1, $2, $3) {
7100
+ var open = $1;
7101
+ var op = $2;
7102
+ var close = $3;
7103
+ if (op.special && op.call && !op.negated)
7104
+ return op.call;
7105
+ const refA = makeRef("a"), refB = makeRef("b"), body = processBinaryOpExpression([refA, [
7106
+ [[], op, [], refB]
7107
+ // BinaryOpRHS
7108
+ ]]);
7109
+ const parameters = {
7110
+ type: "Parameters",
7111
+ children: ["(", refA, ",", refB, ")"],
7112
+ names: []
7113
+ };
7114
+ const block = {
7115
+ expressions: [body]
7116
+ };
7117
+ return {
7118
+ type: "ArrowFunction",
7119
+ signature: {
7120
+ modifier: {}
7121
+ },
7122
+ children: [open, parameters, " => ", body, close],
7123
+ body,
7124
+ ampersandBlock: true,
7125
+ block,
7126
+ parameters
7127
+ };
7128
+ });
7129
+ var FunctionExpression$3 = AmpersandFunctionExpression;
7130
+ var FunctionExpression$4 = $TS($S(Identifier, __, ConstAssignment, $Q(_), ThinArrowFunction), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
6882
7131
  var id = $1;
6883
7132
  var ws = $4;
6884
7133
  var fn = $5;
@@ -6893,7 +7142,7 @@ var require_parser = __commonJS({
6893
7142
  ]
6894
7143
  };
6895
7144
  });
6896
- var FunctionExpression$$ = [FunctionExpression$0, FunctionExpression$1, FunctionExpression$2, FunctionExpression$3];
7145
+ var FunctionExpression$$ = [FunctionExpression$0, FunctionExpression$1, FunctionExpression$2, FunctionExpression$3, FunctionExpression$4];
6897
7146
  function FunctionExpression(ctx, state) {
6898
7147
  return $EVENT_C(ctx, state, "FunctionExpression", FunctionExpression$$);
6899
7148
  }
@@ -7024,7 +7273,7 @@ var require_parser = __commonJS({
7024
7273
  function AmpersandBlockRHS(ctx, state) {
7025
7274
  return $EVENT(ctx, state, "AmpersandBlockRHS", AmpersandBlockRHS$0);
7026
7275
  }
7027
- var AmpersandBlockRHSBody$0 = $TS($S($E($S($N(_), $P(CallExpressionRest))), $E(QuestionMark), $E($S(WAssignmentOp, $Q($S(NotDedented, UpdateExpression, WAssignmentOp)), NonPipelineExtendedExpression)), $E($S($N($EXPECT($R8, "AmpersandBlockRHSBody /[&]/")), $P(BinaryOpRHS)))), function($skip, $loc, $0, $1, $2, $3, $4) {
7276
+ var AmpersandBlockRHSBody$0 = $TS($S($E($S($N(_), $P(CallExpressionRest))), $E(QuestionMark), $E($S(WAssignmentOp, $Q($S(NotDedented, UpdateExpression, WAssignmentOp)), NonPipelineExtendedExpression)), $E($S($N($EXPECT($R9, "AmpersandBlockRHSBody /[&]/")), $P(BinaryOpRHS)))), function($skip, $loc, $0, $1, $2, $3, $4) {
7028
7277
  var callExpRest = $1;
7029
7278
  var unaryPostfix = $2;
7030
7279
  var assign = $3;
@@ -7114,7 +7363,7 @@ var require_parser = __commonJS({
7114
7363
  function ThinArrowFunction(ctx, state) {
7115
7364
  return $EVENT(ctx, state, "ThinArrowFunction", ThinArrowFunction$0);
7116
7365
  }
7117
- var Arrow$0 = $TV($C($EXPECT($L25, 'Arrow "->"'), $EXPECT($L26, 'Arrow "\u2192"')), function($skip, $loc, $0, $1) {
7366
+ var Arrow$0 = $TV($C($EXPECT($L26, 'Arrow "->"'), $EXPECT($L27, 'Arrow "\u2192"')), function($skip, $loc, $0, $1) {
7118
7367
  return { $loc, token: "->" };
7119
7368
  });
7120
7369
  function Arrow(ctx, state) {
@@ -7400,7 +7649,7 @@ var require_parser = __commonJS({
7400
7649
  }
7401
7650
  var BracedContent$0 = NestedBlockStatements;
7402
7651
  var BracedContent$1 = SingleLineStatements;
7403
- var BracedContent$2 = $TV($Y($S(__, $EXPECT($L27, 'BracedContent "}"'))), function($skip, $loc, $0, $1) {
7652
+ var BracedContent$2 = $TV($Y($S(__, $EXPECT($L28, 'BracedContent "}"'))), function($skip, $loc, $0, $1) {
7404
7653
  const expressions = [];
7405
7654
  return {
7406
7655
  type: "BlockStatement",
@@ -7450,7 +7699,7 @@ var require_parser = __commonJS({
7450
7699
  function BlockStatementPart(ctx, state) {
7451
7700
  return $EVENT(ctx, state, "BlockStatementPart", BlockStatementPart$0);
7452
7701
  }
7453
- var Literal$0 = $TS($S($EXPECT($R9, `Literal /(?=[0-9.'"tfyno])/`), LiteralContent), function($skip, $loc, $0, $1, $2) {
7702
+ var Literal$0 = $TS($S($EXPECT($R10, `Literal /(?=[0-9.'"tfyno])/`), LiteralContent), function($skip, $loc, $0, $1, $2) {
7454
7703
  var literal = $2;
7455
7704
  return {
7456
7705
  type: "Literal",
@@ -7470,13 +7719,13 @@ var require_parser = __commonJS({
7470
7719
  function LiteralContent(ctx, state) {
7471
7720
  return $EVENT_C(ctx, state, "LiteralContent", LiteralContent$$);
7472
7721
  }
7473
- var NullLiteral$0 = $TS($S($EXPECT($L28, 'NullLiteral "null"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
7722
+ var NullLiteral$0 = $TS($S($EXPECT($L29, 'NullLiteral "null"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
7474
7723
  return { $loc, token: $1 };
7475
7724
  });
7476
7725
  function NullLiteral(ctx, state) {
7477
7726
  return $EVENT(ctx, state, "NullLiteral", NullLiteral$0);
7478
7727
  }
7479
- var BooleanLiteral$0 = $T($S($EXPECT($R10, "BooleanLiteral /(?=true|false|yes|no|on|off)/"), _BooleanLiteral), function(value) {
7728
+ var BooleanLiteral$0 = $T($S($EXPECT($R11, "BooleanLiteral /(?=true|false|yes|no|on|off)/"), _BooleanLiteral), function(value) {
7480
7729
  return value[1];
7481
7730
  });
7482
7731
  function BooleanLiteral(ctx, state) {
@@ -7485,31 +7734,31 @@ var require_parser = __commonJS({
7485
7734
  var _BooleanLiteral$0 = $T($S(CoffeeBooleansEnabled, CoffeeScriptBooleanLiteral), function(value) {
7486
7735
  return value[1];
7487
7736
  });
7488
- var _BooleanLiteral$1 = $TS($S($C($EXPECT($L29, '_BooleanLiteral "true"'), $EXPECT($L30, '_BooleanLiteral "false"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
7737
+ var _BooleanLiteral$1 = $TS($S($C($EXPECT($L30, '_BooleanLiteral "true"'), $EXPECT($L31, '_BooleanLiteral "false"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
7489
7738
  return { $loc, token: $1 };
7490
7739
  });
7491
7740
  var _BooleanLiteral$$ = [_BooleanLiteral$0, _BooleanLiteral$1];
7492
7741
  function _BooleanLiteral(ctx, state) {
7493
7742
  return $EVENT_C(ctx, state, "_BooleanLiteral", _BooleanLiteral$$);
7494
7743
  }
7495
- var CoffeeScriptBooleanLiteral$0 = $TS($S($C($EXPECT($L31, 'CoffeeScriptBooleanLiteral "yes"'), $EXPECT($L32, 'CoffeeScriptBooleanLiteral "on"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
7744
+ var CoffeeScriptBooleanLiteral$0 = $TS($S($C($EXPECT($L32, 'CoffeeScriptBooleanLiteral "yes"'), $EXPECT($L33, 'CoffeeScriptBooleanLiteral "on"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
7496
7745
  return { $loc, token: "true" };
7497
7746
  });
7498
- var CoffeeScriptBooleanLiteral$1 = $TS($S($C($EXPECT($L33, 'CoffeeScriptBooleanLiteral "no"'), $EXPECT($L34, 'CoffeeScriptBooleanLiteral "off"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
7747
+ var CoffeeScriptBooleanLiteral$1 = $TS($S($C($EXPECT($L34, 'CoffeeScriptBooleanLiteral "no"'), $EXPECT($L35, 'CoffeeScriptBooleanLiteral "off"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
7499
7748
  return { $loc, token: "false" };
7500
7749
  });
7501
7750
  var CoffeeScriptBooleanLiteral$$ = [CoffeeScriptBooleanLiteral$0, CoffeeScriptBooleanLiteral$1];
7502
7751
  function CoffeeScriptBooleanLiteral(ctx, state) {
7503
7752
  return $EVENT_C(ctx, state, "CoffeeScriptBooleanLiteral", CoffeeScriptBooleanLiteral$$);
7504
7753
  }
7505
- var Identifier$0 = $T($S($EXPECT($R11, "Identifier /(?=\\p{ID_Start}|[_$])/"), $N(ReservedWord), IdentifierName), function(value) {
7754
+ var Identifier$0 = $T($S($EXPECT($R12, "Identifier /(?=\\p{ID_Start}|[_$])/"), $N(ReservedWord), IdentifierName), function(value) {
7506
7755
  var id = value[2];
7507
7756
  return id;
7508
7757
  });
7509
7758
  function Identifier(ctx, state) {
7510
7759
  return $EVENT(ctx, state, "Identifier", Identifier$0);
7511
7760
  }
7512
- var IdentifierName$0 = $TR($EXPECT($R12, "IdentifierName /(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
7761
+ var IdentifierName$0 = $TR($EXPECT($R13, "IdentifierName /(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
7513
7762
  return {
7514
7763
  type: "Identifier",
7515
7764
  name: $0,
@@ -7527,11 +7776,11 @@ var require_parser = __commonJS({
7527
7776
  function IdentifierReference(ctx, state) {
7528
7777
  return $EVENT(ctx, state, "IdentifierReference", IdentifierReference$0);
7529
7778
  }
7530
- var UpcomingAssignment$0 = $Y($S(__, $EXPECT($L3, 'UpcomingAssignment "="'), $N($C($EXPECT($L3, 'UpcomingAssignment "="'), $EXPECT($L35, 'UpcomingAssignment ">"')))));
7779
+ var UpcomingAssignment$0 = $Y($S(__, $EXPECT($L3, 'UpcomingAssignment "="'), $N($C($EXPECT($L3, 'UpcomingAssignment "="'), $EXPECT($L36, 'UpcomingAssignment ">"')))));
7531
7780
  function UpcomingAssignment(ctx, state) {
7532
7781
  return $EVENT(ctx, state, "UpcomingAssignment", UpcomingAssignment$0);
7533
7782
  }
7534
- var ArrayLiteral$0 = $T($S($EXPECT($R13, "ArrayLiteral /(?=\\[)/"), _ArrayLiteral), function(value) {
7783
+ var ArrayLiteral$0 = $T($S($EXPECT($R14, "ArrayLiteral /(?=\\[)/"), _ArrayLiteral), function(value) {
7535
7784
  return value[1];
7536
7785
  });
7537
7786
  function ArrayLiteral(ctx, state) {
@@ -7685,7 +7934,7 @@ var require_parser = __commonJS({
7685
7934
  return $EVENT(ctx, state, "NestedElement", NestedElement$0);
7686
7935
  }
7687
7936
  var ArrayElementDelimiter$0 = $S(__, Comma);
7688
- var ArrayElementDelimiter$1 = $Y($S(__, $EXPECT($L36, 'ArrayElementDelimiter "]"')));
7937
+ var ArrayElementDelimiter$1 = $Y($S(__, $EXPECT($L37, 'ArrayElementDelimiter "]"')));
7689
7938
  var ArrayElementDelimiter$2 = $T($S($Y(EOS), InsertComma), function(value) {
7690
7939
  return value[1];
7691
7940
  });
@@ -7915,7 +8164,7 @@ var require_parser = __commonJS({
7915
8164
  return $EVENT_C(ctx, state, "ImplicitInlineObjectPropertyDelimiter", ImplicitInlineObjectPropertyDelimiter$$);
7916
8165
  }
7917
8166
  var ObjectPropertyDelimiter$0 = $S($E(_), Comma);
7918
- var ObjectPropertyDelimiter$1 = $Y($S(__, $EXPECT($L27, 'ObjectPropertyDelimiter "}"')));
8167
+ var ObjectPropertyDelimiter$1 = $Y($S(__, $EXPECT($L28, 'ObjectPropertyDelimiter "}"')));
7919
8168
  var ObjectPropertyDelimiter$2 = $T($S($Y(EOS), InsertComma), function(value) {
7920
8169
  return value[1];
7921
8170
  });
@@ -7931,7 +8180,7 @@ var require_parser = __commonJS({
7931
8180
  children: [ws, ...prop.children]
7932
8181
  };
7933
8182
  });
7934
- var PropertyDefinition$1 = $TS($S($E(_), $TEXT($EXPECT($R14, "PropertyDefinition /[!+-]/")), PropertyName), function($skip, $loc, $0, $1, $2, $3) {
8183
+ var PropertyDefinition$1 = $TS($S($E(_), $TEXT($EXPECT($R15, "PropertyDefinition /[!+-]/")), PropertyName), function($skip, $loc, $0, $1, $2, $3) {
7935
8184
  var ws = $1;
7936
8185
  var toggle = $2;
7937
8186
  var id = $3;
@@ -8098,7 +8347,7 @@ var require_parser = __commonJS({
8098
8347
  implicit: true
8099
8348
  };
8100
8349
  });
8101
- var ComputedPropertyName$2 = $TS($S(InsertOpenBracket, $EXPECT($L20, 'ComputedPropertyName "-"'), NumericLiteral, InsertCloseBracket), function($skip, $loc, $0, $1, $2, $3, $4) {
8350
+ var ComputedPropertyName$2 = $TS($S(InsertOpenBracket, $EXPECT($L21, 'ComputedPropertyName "-"'), NumericLiteral, InsertCloseBracket), function($skip, $loc, $0, $1, $2, $3, $4) {
8102
8351
  const expression = [$2, $3];
8103
8352
  return {
8104
8353
  type: "ComputedPropertyName",
@@ -8358,11 +8607,16 @@ var require_parser = __commonJS({
8358
8607
  }
8359
8608
  var AssignmentOp$0 = $TS($S(AssignmentOpSymbol, $E(_)), function($skip, $loc, $0, $1, $2) {
8360
8609
  if ($2?.length) {
8610
+ if (typeof $1 !== "string") {
8611
+ return { ...$1, children: [...$1.children, $2] };
8612
+ }
8361
8613
  return {
8362
8614
  token: $1,
8363
8615
  children: [$1, ...$2]
8364
8616
  };
8365
8617
  }
8618
+ if (typeof $1 !== "string")
8619
+ return $1;
8366
8620
  return { $loc, token: $1 };
8367
8621
  });
8368
8622
  function AssignmentOp(ctx, state) {
@@ -8393,38 +8647,46 @@ var require_parser = __commonJS({
8393
8647
  function OperatorAssignmentOp(ctx, state) {
8394
8648
  return $EVENT_C(ctx, state, "OperatorAssignmentOp", OperatorAssignmentOp$$);
8395
8649
  }
8396
- var AssignmentOpSymbol$0 = $EXPECT($L37, 'AssignmentOpSymbol "**="');
8397
- var AssignmentOpSymbol$1 = $EXPECT($L38, 'AssignmentOpSymbol "*="');
8398
- var AssignmentOpSymbol$2 = $EXPECT($L39, 'AssignmentOpSymbol "/="');
8399
- var AssignmentOpSymbol$3 = $EXPECT($L40, 'AssignmentOpSymbol "%="');
8400
- var AssignmentOpSymbol$4 = $EXPECT($L41, 'AssignmentOpSymbol "+="');
8401
- var AssignmentOpSymbol$5 = $EXPECT($L42, 'AssignmentOpSymbol "-="');
8402
- var AssignmentOpSymbol$6 = $EXPECT($L43, 'AssignmentOpSymbol "<<="');
8403
- var AssignmentOpSymbol$7 = $EXPECT($L44, 'AssignmentOpSymbol ">>>="');
8404
- var AssignmentOpSymbol$8 = $EXPECT($L45, 'AssignmentOpSymbol ">>="');
8405
- var AssignmentOpSymbol$9 = $EXPECT($L46, 'AssignmentOpSymbol "&&="');
8406
- var AssignmentOpSymbol$10 = $EXPECT($L47, 'AssignmentOpSymbol "&="');
8407
- var AssignmentOpSymbol$11 = $EXPECT($L48, 'AssignmentOpSymbol "^="');
8408
- var AssignmentOpSymbol$12 = $EXPECT($L49, 'AssignmentOpSymbol "||="');
8409
- var AssignmentOpSymbol$13 = $EXPECT($L50, 'AssignmentOpSymbol "|="');
8410
- var AssignmentOpSymbol$14 = $EXPECT($L51, 'AssignmentOpSymbol "??="');
8411
- var AssignmentOpSymbol$15 = $T($EXPECT($L52, 'AssignmentOpSymbol "?="'), function(value) {
8650
+ var AssignmentOpSymbol$0 = $EXPECT($L38, 'AssignmentOpSymbol "**="');
8651
+ var AssignmentOpSymbol$1 = $EXPECT($L39, 'AssignmentOpSymbol "*="');
8652
+ var AssignmentOpSymbol$2 = $EXPECT($L40, 'AssignmentOpSymbol "/="');
8653
+ var AssignmentOpSymbol$3 = $EXPECT($L41, 'AssignmentOpSymbol "%="');
8654
+ var AssignmentOpSymbol$4 = $TS($S($C($EXPECT($L8, 'AssignmentOpSymbol "++"'), $EXPECT($L10, 'AssignmentOpSymbol "\u29FA"')), Equals), function($skip, $loc, $0, $1, $2) {
8655
+ return {
8656
+ special: true,
8657
+ call: module.getRef("concatAssign"),
8658
+ omitLhs: true,
8659
+ children: [$2]
8660
+ };
8661
+ });
8662
+ var AssignmentOpSymbol$5 = $EXPECT($L42, 'AssignmentOpSymbol "+="');
8663
+ var AssignmentOpSymbol$6 = $EXPECT($L43, 'AssignmentOpSymbol "-="');
8664
+ var AssignmentOpSymbol$7 = $EXPECT($L44, 'AssignmentOpSymbol "<<="');
8665
+ var AssignmentOpSymbol$8 = $EXPECT($L45, 'AssignmentOpSymbol ">>>="');
8666
+ var AssignmentOpSymbol$9 = $EXPECT($L46, 'AssignmentOpSymbol ">>="');
8667
+ var AssignmentOpSymbol$10 = $EXPECT($L47, 'AssignmentOpSymbol "&&="');
8668
+ var AssignmentOpSymbol$11 = $EXPECT($L48, 'AssignmentOpSymbol "&="');
8669
+ var AssignmentOpSymbol$12 = $EXPECT($L49, 'AssignmentOpSymbol "^="');
8670
+ var AssignmentOpSymbol$13 = $EXPECT($L50, 'AssignmentOpSymbol "||="');
8671
+ var AssignmentOpSymbol$14 = $EXPECT($L51, 'AssignmentOpSymbol "|="');
8672
+ var AssignmentOpSymbol$15 = $EXPECT($L52, 'AssignmentOpSymbol "??="');
8673
+ var AssignmentOpSymbol$16 = $T($EXPECT($L53, 'AssignmentOpSymbol "?="'), function(value) {
8412
8674
  return "??=";
8413
8675
  });
8414
- var AssignmentOpSymbol$16 = $T($S($EXPECT($L3, 'AssignmentOpSymbol "="'), $N($EXPECT($L3, 'AssignmentOpSymbol "="'))), function(value) {
8676
+ var AssignmentOpSymbol$17 = $T($S($EXPECT($L3, 'AssignmentOpSymbol "="'), $N($EXPECT($L3, 'AssignmentOpSymbol "="'))), function(value) {
8415
8677
  return value[0];
8416
8678
  });
8417
- var AssignmentOpSymbol$17 = $T($S(CoffeeWordAssignmentOp), function(value) {
8679
+ var AssignmentOpSymbol$18 = $T($S(CoffeeWordAssignmentOp), function(value) {
8418
8680
  return value[0];
8419
8681
  });
8420
- var AssignmentOpSymbol$$ = [AssignmentOpSymbol$0, AssignmentOpSymbol$1, AssignmentOpSymbol$2, AssignmentOpSymbol$3, AssignmentOpSymbol$4, AssignmentOpSymbol$5, AssignmentOpSymbol$6, AssignmentOpSymbol$7, AssignmentOpSymbol$8, AssignmentOpSymbol$9, AssignmentOpSymbol$10, AssignmentOpSymbol$11, AssignmentOpSymbol$12, AssignmentOpSymbol$13, AssignmentOpSymbol$14, AssignmentOpSymbol$15, AssignmentOpSymbol$16, AssignmentOpSymbol$17];
8682
+ var AssignmentOpSymbol$$ = [AssignmentOpSymbol$0, AssignmentOpSymbol$1, AssignmentOpSymbol$2, AssignmentOpSymbol$3, AssignmentOpSymbol$4, AssignmentOpSymbol$5, AssignmentOpSymbol$6, AssignmentOpSymbol$7, AssignmentOpSymbol$8, AssignmentOpSymbol$9, AssignmentOpSymbol$10, AssignmentOpSymbol$11, AssignmentOpSymbol$12, AssignmentOpSymbol$13, AssignmentOpSymbol$14, AssignmentOpSymbol$15, AssignmentOpSymbol$16, AssignmentOpSymbol$17, AssignmentOpSymbol$18];
8421
8683
  function AssignmentOpSymbol(ctx, state) {
8422
8684
  return $EVENT_C(ctx, state, "AssignmentOpSymbol", AssignmentOpSymbol$$);
8423
8685
  }
8424
- var CoffeeWordAssignmentOp$0 = $T($EXPECT($L53, 'CoffeeWordAssignmentOp "and="'), function(value) {
8686
+ var CoffeeWordAssignmentOp$0 = $T($EXPECT($L54, 'CoffeeWordAssignmentOp "and="'), function(value) {
8425
8687
  return "&&=";
8426
8688
  });
8427
- var CoffeeWordAssignmentOp$1 = $T($EXPECT($L54, 'CoffeeWordAssignmentOp "or="'), function(value) {
8689
+ var CoffeeWordAssignmentOp$1 = $T($EXPECT($L55, 'CoffeeWordAssignmentOp "or="'), function(value) {
8428
8690
  return "||=";
8429
8691
  });
8430
8692
  var CoffeeWordAssignmentOp$$ = [CoffeeWordAssignmentOp$0, CoffeeWordAssignmentOp$1];
@@ -8458,7 +8720,7 @@ var require_parser = __commonJS({
8458
8720
  function IdentifierBinaryOp(ctx, state) {
8459
8721
  return $EVENT(ctx, state, "IdentifierBinaryOp", IdentifierBinaryOp$0);
8460
8722
  }
8461
- var BinaryOp$0 = $T($S($EXPECT($R15, "BinaryOp /(?=\\p{ID_Start}|[_$^\xAB\xBB\u22D9\u2264\u2265\u2208\u220B\u2209\u220C\u2263\u2261\u2262\u2260=\u2016\u2047&|*\\/!?%<>+-])/"), _BinaryOp), function(value) {
8723
+ var BinaryOp$0 = $T($S($EXPECT($R16, "BinaryOp /(?=\\p{ID_Start}|[_$^\xAB\xBB\u22D9\u2264\u2265\u2208\u220B\u2209\u220C\u2263\u2261\u2262\u2260=\u2016\u2047&|*\\/!?%<>\u29FA+-])/"), _BinaryOp), function(value) {
8462
8724
  var op = value[1];
8463
8725
  return op;
8464
8726
  });
@@ -8493,27 +8755,33 @@ var require_parser = __commonJS({
8493
8755
  function _BinaryOp(ctx, state) {
8494
8756
  return $EVENT_C(ctx, state, "_BinaryOp", _BinaryOp$$);
8495
8757
  }
8496
- var BinaryOpSymbol$0 = $EXPECT($L55, 'BinaryOpSymbol "**"');
8497
- var BinaryOpSymbol$1 = $EXPECT($L56, 'BinaryOpSymbol "*"');
8498
- var BinaryOpSymbol$2 = $EXPECT($L57, 'BinaryOpSymbol "/"');
8499
- var BinaryOpSymbol$3 = $TV($EXPECT($L58, 'BinaryOpSymbol "%%"'), function($skip, $loc, $0, $1) {
8758
+ var BinaryOpSymbol$0 = $EXPECT($L56, 'BinaryOpSymbol "**"');
8759
+ var BinaryOpSymbol$1 = $EXPECT($L57, 'BinaryOpSymbol "*"');
8760
+ var BinaryOpSymbol$2 = $EXPECT($L58, 'BinaryOpSymbol "/"');
8761
+ var BinaryOpSymbol$3 = $TV($EXPECT($L59, 'BinaryOpSymbol "%%"'), function($skip, $loc, $0, $1) {
8500
8762
  return {
8501
8763
  call: module.getRef("modulo"),
8502
8764
  special: true
8503
8765
  };
8504
8766
  });
8505
- var BinaryOpSymbol$4 = $EXPECT($L59, 'BinaryOpSymbol "%"');
8506
- var BinaryOpSymbol$5 = $EXPECT($L60, 'BinaryOpSymbol "+"');
8507
- var BinaryOpSymbol$6 = $EXPECT($L20, 'BinaryOpSymbol "-"');
8508
- var BinaryOpSymbol$7 = $EXPECT($L61, 'BinaryOpSymbol "<="');
8509
- var BinaryOpSymbol$8 = $T($EXPECT($L62, 'BinaryOpSymbol "\u2264"'), function(value) {
8767
+ var BinaryOpSymbol$4 = $EXPECT($L60, 'BinaryOpSymbol "%"');
8768
+ var BinaryOpSymbol$5 = $TV($C($EXPECT($L8, 'BinaryOpSymbol "++"'), $EXPECT($L10, 'BinaryOpSymbol "\u29FA"')), function($skip, $loc, $0, $1) {
8769
+ return {
8770
+ method: "concat",
8771
+ special: true
8772
+ };
8773
+ });
8774
+ var BinaryOpSymbol$6 = $EXPECT($L61, 'BinaryOpSymbol "+"');
8775
+ var BinaryOpSymbol$7 = $EXPECT($L21, 'BinaryOpSymbol "-"');
8776
+ var BinaryOpSymbol$8 = $EXPECT($L62, 'BinaryOpSymbol "<="');
8777
+ var BinaryOpSymbol$9 = $T($EXPECT($L63, 'BinaryOpSymbol "\u2264"'), function(value) {
8510
8778
  return "<=";
8511
8779
  });
8512
- var BinaryOpSymbol$9 = $EXPECT($L63, 'BinaryOpSymbol ">="');
8513
- var BinaryOpSymbol$10 = $T($EXPECT($L64, 'BinaryOpSymbol "\u2265"'), function(value) {
8780
+ var BinaryOpSymbol$10 = $EXPECT($L64, 'BinaryOpSymbol ">="');
8781
+ var BinaryOpSymbol$11 = $T($EXPECT($L65, 'BinaryOpSymbol "\u2265"'), function(value) {
8514
8782
  return ">=";
8515
8783
  });
8516
- var BinaryOpSymbol$11 = $TV($EXPECT($L65, 'BinaryOpSymbol "<?"'), function($skip, $loc, $0, $1) {
8784
+ var BinaryOpSymbol$12 = $TV($EXPECT($L66, 'BinaryOpSymbol "<?"'), function($skip, $loc, $0, $1) {
8517
8785
  return {
8518
8786
  $loc,
8519
8787
  token: "instanceof",
@@ -8521,7 +8789,7 @@ var require_parser = __commonJS({
8521
8789
  special: true
8522
8790
  };
8523
8791
  });
8524
- var BinaryOpSymbol$12 = $TV($EXPECT($L66, 'BinaryOpSymbol "!<?"'), function($skip, $loc, $0, $1) {
8792
+ var BinaryOpSymbol$13 = $TV($EXPECT($L67, 'BinaryOpSymbol "!<?"'), function($skip, $loc, $0, $1) {
8525
8793
  return {
8526
8794
  $loc,
8527
8795
  token: "instanceof",
@@ -8530,74 +8798,74 @@ var require_parser = __commonJS({
8530
8798
  negated: true
8531
8799
  };
8532
8800
  });
8533
- var BinaryOpSymbol$13 = $EXPECT($L67, 'BinaryOpSymbol "<<"');
8534
- var BinaryOpSymbol$14 = $T($EXPECT($L68, 'BinaryOpSymbol "\xAB"'), function(value) {
8801
+ var BinaryOpSymbol$14 = $EXPECT($L68, 'BinaryOpSymbol "<<"');
8802
+ var BinaryOpSymbol$15 = $T($EXPECT($L69, 'BinaryOpSymbol "\xAB"'), function(value) {
8535
8803
  return "<<";
8536
8804
  });
8537
- var BinaryOpSymbol$15 = $EXPECT($L14, 'BinaryOpSymbol "<"');
8538
- var BinaryOpSymbol$16 = $EXPECT($L69, 'BinaryOpSymbol ">>>"');
8539
- var BinaryOpSymbol$17 = $T($EXPECT($L70, 'BinaryOpSymbol "\u22D9"'), function(value) {
8805
+ var BinaryOpSymbol$16 = $EXPECT($L15, 'BinaryOpSymbol "<"');
8806
+ var BinaryOpSymbol$17 = $EXPECT($L70, 'BinaryOpSymbol ">>>"');
8807
+ var BinaryOpSymbol$18 = $T($EXPECT($L71, 'BinaryOpSymbol "\u22D9"'), function(value) {
8540
8808
  return ">>>";
8541
8809
  });
8542
- var BinaryOpSymbol$18 = $EXPECT($L71, 'BinaryOpSymbol ">>"');
8543
- var BinaryOpSymbol$19 = $T($EXPECT($L72, 'BinaryOpSymbol "\xBB"'), function(value) {
8810
+ var BinaryOpSymbol$19 = $EXPECT($L72, 'BinaryOpSymbol ">>"');
8811
+ var BinaryOpSymbol$20 = $T($EXPECT($L73, 'BinaryOpSymbol "\xBB"'), function(value) {
8544
8812
  return ">>";
8545
8813
  });
8546
- var BinaryOpSymbol$20 = $EXPECT($L35, 'BinaryOpSymbol ">"');
8547
- var BinaryOpSymbol$21 = $EXPECT($L73, 'BinaryOpSymbol "!=="');
8548
- var BinaryOpSymbol$22 = $T($EXPECT($L74, 'BinaryOpSymbol "\u2262"'), function(value) {
8814
+ var BinaryOpSymbol$21 = $EXPECT($L36, 'BinaryOpSymbol ">"');
8815
+ var BinaryOpSymbol$22 = $EXPECT($L74, 'BinaryOpSymbol "!=="');
8816
+ var BinaryOpSymbol$23 = $T($EXPECT($L75, 'BinaryOpSymbol "\u2262"'), function(value) {
8549
8817
  return "!==";
8550
8818
  });
8551
- var BinaryOpSymbol$23 = $TV($C($EXPECT($L75, 'BinaryOpSymbol "!="'), $EXPECT($L76, 'BinaryOpSymbol "\u2260"')), function($skip, $loc, $0, $1) {
8819
+ var BinaryOpSymbol$24 = $TV($C($EXPECT($L76, 'BinaryOpSymbol "!="'), $EXPECT($L77, 'BinaryOpSymbol "\u2260"')), function($skip, $loc, $0, $1) {
8552
8820
  if (module.config.coffeeEq)
8553
8821
  return "!==";
8554
8822
  return "!=";
8555
8823
  });
8556
- var BinaryOpSymbol$24 = $TS($S($EXPECT($L77, 'BinaryOpSymbol "isnt"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8824
+ var BinaryOpSymbol$25 = $TS($S($EXPECT($L78, 'BinaryOpSymbol "isnt"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8557
8825
  if (module.config.coffeeIsnt)
8558
8826
  return "!==";
8559
8827
  return $skip;
8560
8828
  });
8561
- var BinaryOpSymbol$25 = $EXPECT($L78, 'BinaryOpSymbol "==="');
8562
- var BinaryOpSymbol$26 = $T($C($EXPECT($L79, 'BinaryOpSymbol "\u2263"'), $EXPECT($L80, 'BinaryOpSymbol "\u2A76"')), function(value) {
8829
+ var BinaryOpSymbol$26 = $EXPECT($L79, 'BinaryOpSymbol "==="');
8830
+ var BinaryOpSymbol$27 = $T($C($EXPECT($L80, 'BinaryOpSymbol "\u2263"'), $EXPECT($L81, 'BinaryOpSymbol "\u2A76"')), function(value) {
8563
8831
  return "===";
8564
8832
  });
8565
- var BinaryOpSymbol$27 = $TV($C($EXPECT($L81, 'BinaryOpSymbol "=="'), $EXPECT($L82, 'BinaryOpSymbol "\u2261"'), $EXPECT($L83, 'BinaryOpSymbol "\u2A75"')), function($skip, $loc, $0, $1) {
8833
+ var BinaryOpSymbol$28 = $TV($C($EXPECT($L82, 'BinaryOpSymbol "=="'), $EXPECT($L83, 'BinaryOpSymbol "\u2261"'), $EXPECT($L84, 'BinaryOpSymbol "\u2A75"')), function($skip, $loc, $0, $1) {
8566
8834
  if (module.config.coffeeEq)
8567
8835
  return "===";
8568
8836
  return "==";
8569
8837
  });
8570
- var BinaryOpSymbol$28 = $T($S($EXPECT($L84, 'BinaryOpSymbol "and"'), NonIdContinue), function(value) {
8838
+ var BinaryOpSymbol$29 = $T($S($EXPECT($L85, 'BinaryOpSymbol "and"'), NonIdContinue), function(value) {
8571
8839
  return "&&";
8572
8840
  });
8573
- var BinaryOpSymbol$29 = $EXPECT($L85, 'BinaryOpSymbol "&&"');
8574
- var BinaryOpSymbol$30 = $T($S($EXPECT($L86, 'BinaryOpSymbol "or"'), NonIdContinue), function(value) {
8841
+ var BinaryOpSymbol$30 = $EXPECT($L86, 'BinaryOpSymbol "&&"');
8842
+ var BinaryOpSymbol$31 = $T($S($EXPECT($L87, 'BinaryOpSymbol "or"'), NonIdContinue), function(value) {
8575
8843
  return "||";
8576
8844
  });
8577
- var BinaryOpSymbol$31 = $EXPECT($L87, 'BinaryOpSymbol "||"');
8578
- var BinaryOpSymbol$32 = $T($EXPECT($L88, 'BinaryOpSymbol "\u2016"'), function(value) {
8845
+ var BinaryOpSymbol$32 = $EXPECT($L88, 'BinaryOpSymbol "||"');
8846
+ var BinaryOpSymbol$33 = $T($EXPECT($L89, 'BinaryOpSymbol "\u2016"'), function(value) {
8579
8847
  return "||";
8580
8848
  });
8581
- var BinaryOpSymbol$33 = $TV($C($EXPECT($L89, 'BinaryOpSymbol "^^"'), $S($EXPECT($L90, 'BinaryOpSymbol "xor"'), NonIdContinue)), function($skip, $loc, $0, $1) {
8849
+ var BinaryOpSymbol$34 = $TV($C($EXPECT($L90, 'BinaryOpSymbol "^^"'), $S($EXPECT($L91, 'BinaryOpSymbol "xor"'), NonIdContinue)), function($skip, $loc, $0, $1) {
8582
8850
  return {
8583
8851
  call: module.getRef("xor"),
8584
8852
  special: true
8585
8853
  };
8586
8854
  });
8587
- var BinaryOpSymbol$34 = $TV($C($EXPECT($R16, "BinaryOpSymbol /!\\^\\^?/"), $S($EXPECT($L91, 'BinaryOpSymbol "xnor"'), NonIdContinue)), function($skip, $loc, $0, $1) {
8855
+ var BinaryOpSymbol$35 = $TV($C($EXPECT($R17, "BinaryOpSymbol /!\\^\\^?/"), $S($EXPECT($L92, 'BinaryOpSymbol "xnor"'), NonIdContinue)), function($skip, $loc, $0, $1) {
8588
8856
  return {
8589
8857
  call: module.getRef("xnor"),
8590
8858
  special: true
8591
8859
  };
8592
8860
  });
8593
- var BinaryOpSymbol$35 = $EXPECT($L92, 'BinaryOpSymbol "??"');
8594
- var BinaryOpSymbol$36 = $T($EXPECT($L93, 'BinaryOpSymbol "\u2047"'), function(value) {
8861
+ var BinaryOpSymbol$36 = $EXPECT($L93, 'BinaryOpSymbol "??"');
8862
+ var BinaryOpSymbol$37 = $T($EXPECT($L94, 'BinaryOpSymbol "\u2047"'), function(value) {
8595
8863
  return "??";
8596
8864
  });
8597
- var BinaryOpSymbol$37 = $T($S($EXPECT($L6, 'BinaryOpSymbol "?"'), CoffeeBinaryExistentialEnabled), function(value) {
8865
+ var BinaryOpSymbol$38 = $T($S($EXPECT($L6, 'BinaryOpSymbol "?"'), CoffeeBinaryExistentialEnabled), function(value) {
8598
8866
  return "??";
8599
8867
  });
8600
- var BinaryOpSymbol$38 = $TS($S($EXPECT($L94, 'BinaryOpSymbol "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8868
+ var BinaryOpSymbol$39 = $TS($S($EXPECT($L95, 'BinaryOpSymbol "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8601
8869
  return {
8602
8870
  $loc,
8603
8871
  token: $1,
@@ -8606,15 +8874,15 @@ var require_parser = __commonJS({
8606
8874
  // for typeof shorthand
8607
8875
  };
8608
8876
  });
8609
- var BinaryOpSymbol$39 = $T($S(CoffeeOfEnabled, CoffeeOfOp), function(value) {
8877
+ var BinaryOpSymbol$40 = $T($S(CoffeeOfEnabled, CoffeeOfOp), function(value) {
8610
8878
  var op = value[1];
8611
8879
  return op;
8612
8880
  });
8613
- var BinaryOpSymbol$40 = $TS($S(Not, __, NotOp), function($skip, $loc, $0, $1, $2, $3) {
8881
+ var BinaryOpSymbol$41 = $TS($S(Not, __, NotOp), function($skip, $loc, $0, $1, $2, $3) {
8614
8882
  var op = $3;
8615
8883
  return { ...op, $loc };
8616
8884
  });
8617
- var BinaryOpSymbol$41 = $TV($C($S(Is, __, In), $EXPECT($L95, 'BinaryOpSymbol "\u2208"')), function($skip, $loc, $0, $1) {
8885
+ var BinaryOpSymbol$42 = $TV($C($S(Is, __, In), $EXPECT($L96, 'BinaryOpSymbol "\u2208"')), function($skip, $loc, $0, $1) {
8618
8886
  return {
8619
8887
  method: "includes",
8620
8888
  relational: true,
@@ -8622,14 +8890,14 @@ var require_parser = __commonJS({
8622
8890
  special: true
8623
8891
  };
8624
8892
  });
8625
- var BinaryOpSymbol$42 = $TV($EXPECT($L96, 'BinaryOpSymbol "\u220B"'), function($skip, $loc, $0, $1) {
8893
+ var BinaryOpSymbol$43 = $TV($EXPECT($L97, 'BinaryOpSymbol "\u220B"'), function($skip, $loc, $0, $1) {
8626
8894
  return {
8627
8895
  method: "includes",
8628
8896
  relational: true,
8629
8897
  special: true
8630
8898
  };
8631
8899
  });
8632
- var BinaryOpSymbol$43 = $TV($EXPECT($L97, 'BinaryOpSymbol "\u220C"'), function($skip, $loc, $0, $1) {
8900
+ var BinaryOpSymbol$44 = $TV($EXPECT($L98, 'BinaryOpSymbol "\u220C"'), function($skip, $loc, $0, $1) {
8633
8901
  return {
8634
8902
  method: "includes",
8635
8903
  relational: true,
@@ -8637,7 +8905,7 @@ var require_parser = __commonJS({
8637
8905
  negated: true
8638
8906
  };
8639
8907
  });
8640
- var BinaryOpSymbol$44 = $TV($C($S(Is, __, Not, __, In), $EXPECT($L98, 'BinaryOpSymbol "\u2209"')), function($skip, $loc, $0, $1) {
8908
+ var BinaryOpSymbol$45 = $TV($C($S(Is, __, Not, __, In), $EXPECT($L99, 'BinaryOpSymbol "\u2209"')), function($skip, $loc, $0, $1) {
8641
8909
  return {
8642
8910
  method: "includes",
8643
8911
  relational: true,
@@ -8646,7 +8914,7 @@ var require_parser = __commonJS({
8646
8914
  negated: true
8647
8915
  };
8648
8916
  });
8649
- var BinaryOpSymbol$45 = $TS($S($N(CoffeeNotEnabled), Is, __, Not), function($skip, $loc, $0, $1, $2, $3, $4) {
8917
+ var BinaryOpSymbol$46 = $TS($S($N(CoffeeNotEnabled), Is, __, Not), function($skip, $loc, $0, $1, $2, $3, $4) {
8650
8918
  if (module.config.objectIs) {
8651
8919
  return {
8652
8920
  call: module.getRef("is"),
@@ -8658,7 +8926,7 @@ var require_parser = __commonJS({
8658
8926
  }
8659
8927
  return "!==";
8660
8928
  });
8661
- var BinaryOpSymbol$46 = $TS($S(Is), function($skip, $loc, $0, $1) {
8929
+ var BinaryOpSymbol$47 = $TS($S(Is), function($skip, $loc, $0, $1) {
8662
8930
  if (module.config.objectIs) {
8663
8931
  return {
8664
8932
  call: module.getRef("is"),
@@ -8669,11 +8937,11 @@ var require_parser = __commonJS({
8669
8937
  }
8670
8938
  return "===";
8671
8939
  });
8672
- var BinaryOpSymbol$47 = In;
8673
- var BinaryOpSymbol$48 = $EXPECT($L99, 'BinaryOpSymbol "&"');
8674
- var BinaryOpSymbol$49 = $EXPECT($L19, 'BinaryOpSymbol "^"');
8675
- var BinaryOpSymbol$50 = $EXPECT($L100, 'BinaryOpSymbol "|"');
8676
- var BinaryOpSymbol$$ = [BinaryOpSymbol$0, BinaryOpSymbol$1, BinaryOpSymbol$2, BinaryOpSymbol$3, BinaryOpSymbol$4, BinaryOpSymbol$5, BinaryOpSymbol$6, BinaryOpSymbol$7, BinaryOpSymbol$8, BinaryOpSymbol$9, BinaryOpSymbol$10, BinaryOpSymbol$11, BinaryOpSymbol$12, BinaryOpSymbol$13, BinaryOpSymbol$14, BinaryOpSymbol$15, BinaryOpSymbol$16, BinaryOpSymbol$17, BinaryOpSymbol$18, BinaryOpSymbol$19, BinaryOpSymbol$20, BinaryOpSymbol$21, BinaryOpSymbol$22, BinaryOpSymbol$23, BinaryOpSymbol$24, BinaryOpSymbol$25, BinaryOpSymbol$26, BinaryOpSymbol$27, BinaryOpSymbol$28, BinaryOpSymbol$29, BinaryOpSymbol$30, BinaryOpSymbol$31, BinaryOpSymbol$32, BinaryOpSymbol$33, BinaryOpSymbol$34, BinaryOpSymbol$35, BinaryOpSymbol$36, BinaryOpSymbol$37, BinaryOpSymbol$38, BinaryOpSymbol$39, BinaryOpSymbol$40, BinaryOpSymbol$41, BinaryOpSymbol$42, BinaryOpSymbol$43, BinaryOpSymbol$44, BinaryOpSymbol$45, BinaryOpSymbol$46, BinaryOpSymbol$47, BinaryOpSymbol$48, BinaryOpSymbol$49, BinaryOpSymbol$50];
8940
+ var BinaryOpSymbol$48 = In;
8941
+ var BinaryOpSymbol$49 = $EXPECT($L100, 'BinaryOpSymbol "&"');
8942
+ var BinaryOpSymbol$50 = $EXPECT($L20, 'BinaryOpSymbol "^"');
8943
+ var BinaryOpSymbol$51 = $EXPECT($L101, 'BinaryOpSymbol "|"');
8944
+ var BinaryOpSymbol$$ = [BinaryOpSymbol$0, BinaryOpSymbol$1, BinaryOpSymbol$2, BinaryOpSymbol$3, BinaryOpSymbol$4, BinaryOpSymbol$5, BinaryOpSymbol$6, BinaryOpSymbol$7, BinaryOpSymbol$8, BinaryOpSymbol$9, BinaryOpSymbol$10, BinaryOpSymbol$11, BinaryOpSymbol$12, BinaryOpSymbol$13, BinaryOpSymbol$14, BinaryOpSymbol$15, BinaryOpSymbol$16, BinaryOpSymbol$17, BinaryOpSymbol$18, BinaryOpSymbol$19, BinaryOpSymbol$20, BinaryOpSymbol$21, BinaryOpSymbol$22, BinaryOpSymbol$23, BinaryOpSymbol$24, BinaryOpSymbol$25, BinaryOpSymbol$26, BinaryOpSymbol$27, BinaryOpSymbol$28, BinaryOpSymbol$29, BinaryOpSymbol$30, BinaryOpSymbol$31, BinaryOpSymbol$32, BinaryOpSymbol$33, BinaryOpSymbol$34, BinaryOpSymbol$35, BinaryOpSymbol$36, BinaryOpSymbol$37, BinaryOpSymbol$38, BinaryOpSymbol$39, BinaryOpSymbol$40, BinaryOpSymbol$41, BinaryOpSymbol$42, BinaryOpSymbol$43, BinaryOpSymbol$44, BinaryOpSymbol$45, BinaryOpSymbol$46, BinaryOpSymbol$47, BinaryOpSymbol$48, BinaryOpSymbol$49, BinaryOpSymbol$50, BinaryOpSymbol$51];
8677
8945
  function BinaryOpSymbol(ctx, state) {
8678
8946
  return $EVENT_C(ctx, state, "BinaryOpSymbol", BinaryOpSymbol$$);
8679
8947
  }
@@ -8710,7 +8978,7 @@ var require_parser = __commonJS({
8710
8978
  function CoffeeOfOp(ctx, state) {
8711
8979
  return $EVENT_C(ctx, state, "CoffeeOfOp", CoffeeOfOp$$);
8712
8980
  }
8713
- var NotOp$0 = $TS($S($EXPECT($L94, 'NotOp "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8981
+ var NotOp$0 = $TS($S($EXPECT($L95, 'NotOp "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
8714
8982
  return {
8715
8983
  $loc,
8716
8984
  token: "instanceof",
@@ -8731,24 +8999,24 @@ var require_parser = __commonJS({
8731
8999
  function NotOp(ctx, state) {
8732
9000
  return $EVENT_C(ctx, state, "NotOp", NotOp$$);
8733
9001
  }
8734
- var Xor$0 = $EXPECT($L89, 'Xor "^^"');
8735
- var Xor$1 = $S($EXPECT($L90, 'Xor "xor"'), NonIdContinue);
9002
+ var Xor$0 = $EXPECT($L90, 'Xor "^^"');
9003
+ var Xor$1 = $S($EXPECT($L91, 'Xor "xor"'), NonIdContinue);
8736
9004
  var Xor$$ = [Xor$0, Xor$1];
8737
9005
  function Xor(ctx, state) {
8738
9006
  return $EVENT_C(ctx, state, "Xor", Xor$$);
8739
9007
  }
8740
- var Xnor$0 = $R$0($EXPECT($R16, "Xnor /!\\^\\^?/"));
8741
- var Xnor$1 = $EXPECT($L91, 'Xnor "xnor"');
9008
+ var Xnor$0 = $R$0($EXPECT($R17, "Xnor /!\\^\\^?/"));
9009
+ var Xnor$1 = $EXPECT($L92, 'Xnor "xnor"');
8742
9010
  var Xnor$$ = [Xnor$0, Xnor$1];
8743
9011
  function Xnor(ctx, state) {
8744
9012
  return $EVENT_C(ctx, state, "Xnor", Xnor$$);
8745
9013
  }
8746
- var UnaryOp$0 = $TR($EXPECT($R17, "UnaryOp /(?!\\+\\+|--)[!~+-](?!\\s)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
9014
+ var UnaryOp$0 = $TR($EXPECT($R18, "UnaryOp /(?!\\+\\+|--)[!~+-](?!\\s)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
8747
9015
  return { $loc, token: $0 };
8748
9016
  });
8749
9017
  var UnaryOp$1 = AwaitOp;
8750
- var UnaryOp$2 = $S($C(Delete, Void, Typeof), $N($R$0($EXPECT($R18, "UnaryOp /[:.]/"))), $E(_));
8751
- var UnaryOp$3 = $T($S(Not, $N($EXPECT($R18, "UnaryOp /[:.]/")), $E($EXPECT($L13, 'UnaryOp " "')), $E(_)), function(value) {
9018
+ var UnaryOp$2 = $S($C(Delete, Void, Typeof), $N($R$0($EXPECT($R19, "UnaryOp /[:.]/"))), $E(_));
9019
+ var UnaryOp$3 = $T($S(Not, $N($EXPECT($R19, "UnaryOp /[:.]/")), $E($EXPECT($L14, 'UnaryOp " "')), $E(_)), function(value) {
8752
9020
  return [value[0], value[3]];
8753
9021
  });
8754
9022
  var UnaryOp$$ = [UnaryOp$0, UnaryOp$1, UnaryOp$2, UnaryOp$3];
@@ -8843,7 +9111,7 @@ var require_parser = __commonJS({
8843
9111
  function NonPipelinePostfixedExpression(ctx, state) {
8844
9112
  return $EVENT(ctx, state, "NonPipelinePostfixedExpression", NonPipelinePostfixedExpression$0);
8845
9113
  }
8846
- var PostfixStatement$0 = $T($S($EXPECT($R19, "PostfixStatement /(?=for|if|loop|unless|until|while)/"), _PostfixStatement), function(value) {
9114
+ var PostfixStatement$0 = $T($S($EXPECT($R20, "PostfixStatement /(?=for|if|loop|unless|until|while)/"), _PostfixStatement), function(value) {
8847
9115
  return value[1];
8848
9116
  });
8849
9117
  function PostfixStatement(ctx, state) {
@@ -8886,7 +9154,7 @@ var require_parser = __commonJS({
8886
9154
  function NoCommaStatement(ctx, state) {
8887
9155
  return $EVENT_C(ctx, state, "NoCommaStatement", NoCommaStatement$$);
8888
9156
  }
8889
- var EmptyStatement$0 = $TS($S($E(_), $Y($EXPECT($L101, 'EmptyStatement ";"'))), function($skip, $loc, $0, $1, $2) {
9157
+ var EmptyStatement$0 = $TS($S($E(_), $Y($EXPECT($L102, 'EmptyStatement ";"'))), function($skip, $loc, $0, $1, $2) {
8890
9158
  return { type: "EmptyStatement", children: $1 || [] };
8891
9159
  });
8892
9160
  function EmptyStatement(ctx, state) {
@@ -8917,7 +9185,7 @@ var require_parser = __commonJS({
8917
9185
  var w = $3;
8918
9186
  return [id, colon, w];
8919
9187
  });
8920
- var Label$1 = $S($EXPECT($L102, 'Label "$:"'), Whitespace);
9188
+ var Label$1 = $S($EXPECT($L103, 'Label "$:"'), Whitespace);
8921
9189
  var Label$$ = [Label$0, Label$1];
8922
9190
  function Label(ctx, state) {
8923
9191
  return $EVENT_C(ctx, state, "Label", Label$$);
@@ -9090,7 +9358,7 @@ var require_parser = __commonJS({
9090
9358
  function BlockExpressionPart(ctx, state) {
9091
9359
  return $EVENT(ctx, state, "BlockExpressionPart", BlockExpressionPart$0);
9092
9360
  }
9093
- var IterationStatement$0 = $T($S($EXPECT($R20, "IterationStatement /(?=loop|do|for|until|while)/"), _IterationStatement), function(value) {
9361
+ var IterationStatement$0 = $T($S($EXPECT($R21, "IterationStatement /(?=loop|do|for|until|while)/"), _IterationStatement), function(value) {
9094
9362
  return value[1];
9095
9363
  });
9096
9364
  function IterationStatement(ctx, state) {
@@ -9443,7 +9711,7 @@ var require_parser = __commonJS({
9443
9711
  names: binding.names
9444
9712
  };
9445
9713
  });
9446
- var ForDeclaration$1 = $TS($S(InsertConst, ForBinding, $EXPECT($R21, "ForDeclaration /(?=[\\s\\),])/")), function($skip, $loc, $0, $1, $2, $3) {
9714
+ var ForDeclaration$1 = $TS($S(InsertConst, ForBinding, $EXPECT($R22, "ForDeclaration /(?=[\\s\\),])/")), function($skip, $loc, $0, $1, $2, $3) {
9447
9715
  var c = $1;
9448
9716
  var binding = $2;
9449
9717
  return {
@@ -9669,7 +9937,7 @@ var require_parser = __commonJS({
9669
9937
  function IgnoreColon(ctx, state) {
9670
9938
  return $EVENT(ctx, state, "IgnoreColon", IgnoreColon$0);
9671
9939
  }
9672
- var TryStatement$0 = $TS($S(Try, $N($EXPECT($L12, 'TryStatement ":"')), NoPostfixBracedOrEmptyBlock, $E(CatchClause), $E(FinallyClause)), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
9940
+ var TryStatement$0 = $TS($S(Try, $N($EXPECT($L13, 'TryStatement ":"')), NoPostfixBracedOrEmptyBlock, $E(CatchClause), $E(FinallyClause)), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
9673
9941
  var t = $1;
9674
9942
  var b = $3;
9675
9943
  var c = $4;
@@ -10005,7 +10273,7 @@ var require_parser = __commonJS({
10005
10273
  };
10006
10274
  });
10007
10275
  var KeywordStatement$2 = DebuggerStatement;
10008
- var KeywordStatement$3 = $T($S(Return, $N($C($EXPECT($L12, 'KeywordStatement ":"'), $EXPECT($L7, 'KeywordStatement "."'), AfterReturnShorthand)), $E(MaybeNestedExpression)), function(value) {
10276
+ var KeywordStatement$3 = $T($S(Return, $N($C($EXPECT($L13, 'KeywordStatement ":"'), $EXPECT($L7, 'KeywordStatement "."'), AfterReturnShorthand)), $E(MaybeNestedExpression)), function(value) {
10009
10277
  var expression = value[2];
10010
10278
  return { "type": "ReturnStatement", "expression": expression, "children": value };
10011
10279
  });
@@ -10026,19 +10294,19 @@ var require_parser = __commonJS({
10026
10294
  function ThrowStatement(ctx, state) {
10027
10295
  return $EVENT(ctx, state, "ThrowStatement", ThrowStatement$0);
10028
10296
  }
10029
- var Break$0 = $TS($S($EXPECT($L103, 'Break "break"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10297
+ var Break$0 = $TS($S($EXPECT($L104, 'Break "break"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10030
10298
  return { $loc, token: $1 };
10031
10299
  });
10032
10300
  function Break(ctx, state) {
10033
10301
  return $EVENT(ctx, state, "Break", Break$0);
10034
10302
  }
10035
- var Continue$0 = $TS($S($EXPECT($L104, 'Continue "continue"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10303
+ var Continue$0 = $TS($S($EXPECT($L105, 'Continue "continue"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10036
10304
  return { $loc, token: $1 };
10037
10305
  });
10038
10306
  function Continue(ctx, state) {
10039
10307
  return $EVENT(ctx, state, "Continue", Continue$0);
10040
10308
  }
10041
- var Debugger$0 = $TS($S($EXPECT($L105, 'Debugger "debugger"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10309
+ var Debugger$0 = $TS($S($EXPECT($L106, 'Debugger "debugger"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10042
10310
  return { $loc, token: $1 };
10043
10311
  });
10044
10312
  function Debugger(ctx, state) {
@@ -10159,7 +10427,7 @@ var require_parser = __commonJS({
10159
10427
  function FromClause(ctx, state) {
10160
10428
  return $EVENT(ctx, state, "FromClause", FromClause$0);
10161
10429
  }
10162
- var ImportAssertion$0 = $S($E(_), $C($EXPECT($L106, 'ImportAssertion "with"'), $EXPECT($L107, 'ImportAssertion "assert"')), NonIdContinue, $E(_), ObjectLiteral);
10430
+ var ImportAssertion$0 = $S($E(_), $C($EXPECT($L107, 'ImportAssertion "with"'), $EXPECT($L108, 'ImportAssertion "assert"')), NonIdContinue, $E(_), ObjectLiteral);
10163
10431
  function ImportAssertion(ctx, state) {
10164
10432
  return $EVENT(ctx, state, "ImportAssertion", ImportAssertion$0);
10165
10433
  }
@@ -10207,7 +10475,7 @@ var require_parser = __commonJS({
10207
10475
  return $EVENT_C(ctx, state, "ImportSpecifier", ImportSpecifier$$);
10208
10476
  }
10209
10477
  var ImportAsToken$0 = $S(__, As);
10210
- var ImportAsToken$1 = $TS($S(Loc, __, Colon, $E($EXPECT($L13, 'ImportAsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
10478
+ var ImportAsToken$1 = $TS($S(Loc, __, Colon, $E($EXPECT($L14, 'ImportAsToken " "'))), function($skip, $loc, $0, $1, $2, $3, $4) {
10211
10479
  var l = $1;
10212
10480
  var ws = $2;
10213
10481
  var c = $3;
@@ -10247,7 +10515,7 @@ var require_parser = __commonJS({
10247
10515
  function UnprocessedModuleSpecifier(ctx, state) {
10248
10516
  return $EVENT_C(ctx, state, "UnprocessedModuleSpecifier", UnprocessedModuleSpecifier$$);
10249
10517
  }
10250
- var UnquotedSpecifier$0 = $TV($EXPECT($R22, 'UnquotedSpecifier /[^;"\\s]+/'), function($skip, $loc, $0, $1) {
10518
+ var UnquotedSpecifier$0 = $TV($EXPECT($R23, 'UnquotedSpecifier /[^;"\\s]+/'), function($skip, $loc, $0, $1) {
10251
10519
  var spec = $0;
10252
10520
  return { $loc, token: `"${spec}"` };
10253
10521
  });
@@ -10379,13 +10647,13 @@ var require_parser = __commonJS({
10379
10647
  function LexicalDeclaration(ctx, state) {
10380
10648
  return $EVENT_C(ctx, state, "LexicalDeclaration", LexicalDeclaration$$);
10381
10649
  }
10382
- var ConstAssignment$0 = $TV($C($EXPECT($L108, 'ConstAssignment ":="'), $EXPECT($L109, 'ConstAssignment "\u2254"')), function($skip, $loc, $0, $1) {
10650
+ var ConstAssignment$0 = $TV($C($EXPECT($L109, 'ConstAssignment ":="'), $EXPECT($L110, 'ConstAssignment "\u2254"')), function($skip, $loc, $0, $1) {
10383
10651
  return { $loc, token: "=" };
10384
10652
  });
10385
10653
  function ConstAssignment(ctx, state) {
10386
10654
  return $EVENT(ctx, state, "ConstAssignment", ConstAssignment$0);
10387
10655
  }
10388
- var LetAssignment$0 = $TV($EXPECT($L110, 'LetAssignment ".="'), function($skip, $loc, $0, $1) {
10656
+ var LetAssignment$0 = $TV($EXPECT($L111, 'LetAssignment ".="'), function($skip, $loc, $0, $1) {
10389
10657
  return { $loc, token: "=" };
10390
10658
  });
10391
10659
  function LetAssignment(ctx, state) {
@@ -10453,7 +10721,7 @@ var require_parser = __commonJS({
10453
10721
  function VariableDeclarationList(ctx, state) {
10454
10722
  return $EVENT(ctx, state, "VariableDeclarationList", VariableDeclarationList$0);
10455
10723
  }
10456
- var NumericLiteral$0 = $TS($S($EXPECT($R23, "NumericLiteral /(?=[0-9.])/"), NumericLiteralKind), function($skip, $loc, $0, $1, $2) {
10724
+ var NumericLiteral$0 = $TS($S($EXPECT($R24, "NumericLiteral /(?=[0-9.])/"), NumericLiteralKind), function($skip, $loc, $0, $1, $2) {
10457
10725
  var token = $2;
10458
10726
  return { type: "NumericLiteral", $loc, token };
10459
10727
  });
@@ -10469,36 +10737,36 @@ var require_parser = __commonJS({
10469
10737
  function NumericLiteralKind(ctx, state) {
10470
10738
  return $EVENT_C(ctx, state, "NumericLiteralKind", NumericLiteralKind$$);
10471
10739
  }
10472
- var DecimalBigIntegerLiteral$0 = $R$0($EXPECT($R24, "DecimalBigIntegerLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)n/"));
10740
+ var DecimalBigIntegerLiteral$0 = $R$0($EXPECT($R25, "DecimalBigIntegerLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)n/"));
10473
10741
  function DecimalBigIntegerLiteral(ctx, state) {
10474
10742
  return $EVENT(ctx, state, "DecimalBigIntegerLiteral", DecimalBigIntegerLiteral$0);
10475
10743
  }
10476
- var DecimalLiteral$0 = $TV($TEXT($EXPECT($R25, "DecimalLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)(?=\\.(?:\\p{ID_Start}|[_$]))/")), function($skip, $loc, $0, $1) {
10744
+ var DecimalLiteral$0 = $TV($TEXT($EXPECT($R26, "DecimalLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)(?=\\.(?:\\p{ID_Start}|[_$]))/")), function($skip, $loc, $0, $1) {
10477
10745
  return $1 + ".";
10478
10746
  });
10479
- var DecimalLiteral$1 = $TEXT($S($EXPECT($R26, "DecimalLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)(?:\\.(?:[0-9](?:_[0-9]|[0-9])*))?/"), $E(ExponentPart)));
10480
- var DecimalLiteral$2 = $TEXT($S($EXPECT($R27, "DecimalLiteral /(?:\\.[0-9](?:_[0-9]|[0-9])*)/"), $E(ExponentPart)));
10747
+ var DecimalLiteral$1 = $TEXT($S($EXPECT($R27, "DecimalLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)(?:\\.(?:[0-9](?:_[0-9]|[0-9])*))?/"), $E(ExponentPart)));
10748
+ var DecimalLiteral$2 = $TEXT($S($EXPECT($R28, "DecimalLiteral /(?:\\.[0-9](?:_[0-9]|[0-9])*)/"), $E(ExponentPart)));
10481
10749
  var DecimalLiteral$$ = [DecimalLiteral$0, DecimalLiteral$1, DecimalLiteral$2];
10482
10750
  function DecimalLiteral(ctx, state) {
10483
10751
  return $EVENT_C(ctx, state, "DecimalLiteral", DecimalLiteral$$);
10484
10752
  }
10485
- var ExponentPart$0 = $R$0($EXPECT($R28, "ExponentPart /(?:[eE][+-]?[0-9]+(?:_[0-9]|[0-9])*)/"));
10753
+ var ExponentPart$0 = $R$0($EXPECT($R29, "ExponentPart /(?:[eE][+-]?[0-9]+(?:_[0-9]|[0-9])*)/"));
10486
10754
  function ExponentPart(ctx, state) {
10487
10755
  return $EVENT(ctx, state, "ExponentPart", ExponentPart$0);
10488
10756
  }
10489
- var BinaryIntegerLiteral$0 = $R$0($EXPECT($R29, "BinaryIntegerLiteral /0[bB][01](?:[01]|_[01])*n?/"));
10757
+ var BinaryIntegerLiteral$0 = $R$0($EXPECT($R30, "BinaryIntegerLiteral /0[bB][01](?:[01]|_[01])*n?/"));
10490
10758
  function BinaryIntegerLiteral(ctx, state) {
10491
10759
  return $EVENT(ctx, state, "BinaryIntegerLiteral", BinaryIntegerLiteral$0);
10492
10760
  }
10493
- var OctalIntegerLiteral$0 = $R$0($EXPECT($R30, "OctalIntegerLiteral /0[oO][0-7](?:[0-7]|_[0-7])*n?/"));
10761
+ var OctalIntegerLiteral$0 = $R$0($EXPECT($R31, "OctalIntegerLiteral /0[oO][0-7](?:[0-7]|_[0-7])*n?/"));
10494
10762
  function OctalIntegerLiteral(ctx, state) {
10495
10763
  return $EVENT(ctx, state, "OctalIntegerLiteral", OctalIntegerLiteral$0);
10496
10764
  }
10497
- var HexIntegerLiteral$0 = $R$0($EXPECT($R31, "HexIntegerLiteral /0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*n?/"));
10765
+ var HexIntegerLiteral$0 = $R$0($EXPECT($R32, "HexIntegerLiteral /0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*n?/"));
10498
10766
  function HexIntegerLiteral(ctx, state) {
10499
10767
  return $EVENT(ctx, state, "HexIntegerLiteral", HexIntegerLiteral$0);
10500
10768
  }
10501
- var IntegerLiteral$0 = $TS($S($EXPECT($R32, "IntegerLiteral /(?=[0-9])/"), IntegerLiteralKind), function($skip, $loc, $0, $1, $2) {
10769
+ var IntegerLiteral$0 = $TS($S($EXPECT($R33, "IntegerLiteral /(?=[0-9])/"), IntegerLiteralKind), function($skip, $loc, $0, $1, $2) {
10502
10770
  var token = $2;
10503
10771
  return { $loc, token };
10504
10772
  });
@@ -10514,7 +10782,7 @@ var require_parser = __commonJS({
10514
10782
  function IntegerLiteralKind(ctx, state) {
10515
10783
  return $EVENT_C(ctx, state, "IntegerLiteralKind", IntegerLiteralKind$$);
10516
10784
  }
10517
- var DecimalIntegerLiteral$0 = $R$0($EXPECT($R33, "DecimalIntegerLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)/"));
10785
+ var DecimalIntegerLiteral$0 = $R$0($EXPECT($R34, "DecimalIntegerLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)/"));
10518
10786
  function DecimalIntegerLiteral(ctx, state) {
10519
10787
  return $EVENT(ctx, state, "DecimalIntegerLiteral", DecimalIntegerLiteral$0);
10520
10788
  }
@@ -10538,25 +10806,25 @@ var require_parser = __commonJS({
10538
10806
  function StringLiteral(ctx, state) {
10539
10807
  return $EVENT_C(ctx, state, "StringLiteral", StringLiteral$$);
10540
10808
  }
10541
- var DoubleStringCharacters$0 = $TR($EXPECT($R34, 'DoubleStringCharacters /(?:\\\\.|[^"])*/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10809
+ var DoubleStringCharacters$0 = $TR($EXPECT($R35, 'DoubleStringCharacters /(?:\\\\.|[^"])*/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10542
10810
  return { $loc, token: $0 };
10543
10811
  });
10544
10812
  function DoubleStringCharacters(ctx, state) {
10545
10813
  return $EVENT(ctx, state, "DoubleStringCharacters", DoubleStringCharacters$0);
10546
10814
  }
10547
- var SingleStringCharacters$0 = $TR($EXPECT($R35, "SingleStringCharacters /(?:\\\\.|[^'])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10815
+ var SingleStringCharacters$0 = $TR($EXPECT($R36, "SingleStringCharacters /(?:\\\\.|[^'])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10548
10816
  return { $loc, token: $0 };
10549
10817
  });
10550
10818
  function SingleStringCharacters(ctx, state) {
10551
10819
  return $EVENT(ctx, state, "SingleStringCharacters", SingleStringCharacters$0);
10552
10820
  }
10553
- var TripleDoubleStringCharacters$0 = $TR($EXPECT($R36, 'TripleDoubleStringCharacters /(?:"(?!"")|#(?!\\{)|\\\\.|[^#"])+/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10821
+ var TripleDoubleStringCharacters$0 = $TR($EXPECT($R37, 'TripleDoubleStringCharacters /(?:"(?!"")|#(?!\\{)|\\\\.|[^#"])+/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10554
10822
  return { $loc, token: $0 };
10555
10823
  });
10556
10824
  function TripleDoubleStringCharacters(ctx, state) {
10557
10825
  return $EVENT(ctx, state, "TripleDoubleStringCharacters", TripleDoubleStringCharacters$0);
10558
10826
  }
10559
- var TripleSingleStringCharacters$0 = $TR($EXPECT($R37, "TripleSingleStringCharacters /(?:'(?!'')|\\\\.|[^'])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10827
+ var TripleSingleStringCharacters$0 = $TR($EXPECT($R38, "TripleSingleStringCharacters /(?:'(?!'')|\\\\.|[^'])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10560
10828
  return { $loc, token: $0 };
10561
10829
  });
10562
10830
  function TripleSingleStringCharacters(ctx, state) {
@@ -10575,14 +10843,14 @@ var require_parser = __commonJS({
10575
10843
  function CoffeeInterpolatedDoubleQuotedString(ctx, state) {
10576
10844
  return $EVENT(ctx, state, "CoffeeInterpolatedDoubleQuotedString", CoffeeInterpolatedDoubleQuotedString$0);
10577
10845
  }
10578
- var CoffeeDoubleQuotedStringCharacters$0 = $TR($EXPECT($R38, 'CoffeeDoubleQuotedStringCharacters /(?:\\\\.|#(?!\\{)|[^"#])+/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10846
+ var CoffeeDoubleQuotedStringCharacters$0 = $TR($EXPECT($R39, 'CoffeeDoubleQuotedStringCharacters /(?:\\\\.|#(?!\\{)|[^"#])+/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10579
10847
  return { $loc, token: $0 };
10580
10848
  });
10581
10849
  function CoffeeDoubleQuotedStringCharacters(ctx, state) {
10582
10850
  return $EVENT(ctx, state, "CoffeeDoubleQuotedStringCharacters", CoffeeDoubleQuotedStringCharacters$0);
10583
10851
  }
10584
10852
  var RegularExpressionLiteral$0 = HeregexLiteral;
10585
- var RegularExpressionLiteral$1 = $TV($TEXT($S($EXPECT($L57, 'RegularExpressionLiteral "/"'), RegularExpressionBody, $EXPECT($L57, 'RegularExpressionLiteral "/"'), RegularExpressionFlags)), function($skip, $loc, $0, $1) {
10853
+ var RegularExpressionLiteral$1 = $TV($TEXT($S($EXPECT($L58, 'RegularExpressionLiteral "/"'), RegularExpressionBody, $EXPECT($L58, 'RegularExpressionLiteral "/"'), RegularExpressionFlags)), function($skip, $loc, $0, $1) {
10586
10854
  return { type: "RegularExpressionLiteral", $loc, token: $1 };
10587
10855
  });
10588
10856
  var RegularExpressionLiteral$$ = [RegularExpressionLiteral$0, RegularExpressionLiteral$1];
@@ -10595,7 +10863,7 @@ var require_parser = __commonJS({
10595
10863
  function RegularExpressionClass(ctx, state) {
10596
10864
  return $EVENT(ctx, state, "RegularExpressionClass", RegularExpressionClass$0);
10597
10865
  }
10598
- var RegularExpressionClassCharacters$0 = $TR($EXPECT($R39, "RegularExpressionClassCharacters /(?:\\\\.|[^\\]])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10866
+ var RegularExpressionClassCharacters$0 = $TR($EXPECT($R40, "RegularExpressionClassCharacters /(?:\\\\.|[^\\]])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10599
10867
  return { $loc, token: $0 };
10600
10868
  });
10601
10869
  function RegularExpressionClassCharacters(ctx, state) {
@@ -10649,7 +10917,7 @@ var require_parser = __commonJS({
10649
10917
  var HeregexPart$2 = $T($S(TemplateSubstitution), function(value) {
10650
10918
  return { "type": "Substitution", "children": value[0] };
10651
10919
  });
10652
- var HeregexPart$3 = $TR($EXPECT($R40, "HeregexPart /(?:\\\\.)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10920
+ var HeregexPart$3 = $TR($EXPECT($R41, "HeregexPart /(?:\\\\.)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10653
10921
  let token = $0;
10654
10922
  switch ($0[1]) {
10655
10923
  case "\n":
@@ -10667,13 +10935,13 @@ var require_parser = __commonJS({
10667
10935
  var HeregexPart$4 = $TS($S(HeregexComment), function($skip, $loc, $0, $1) {
10668
10936
  return { $loc, token: "" };
10669
10937
  });
10670
- var HeregexPart$5 = $TR($EXPECT($R41, "HeregexPart /[\\s]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10938
+ var HeregexPart$5 = $TR($EXPECT($R42, "HeregexPart /[\\s]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10671
10939
  return { $loc, token: "" };
10672
10940
  });
10673
- var HeregexPart$6 = $TR($EXPECT($R42, "HeregexPart /\\/(?!\\/\\/)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10941
+ var HeregexPart$6 = $TR($EXPECT($R43, "HeregexPart /\\/(?!\\/\\/)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10674
10942
  return { $loc, token: "\\/" };
10675
10943
  });
10676
- var HeregexPart$7 = $TR($EXPECT($R43, "HeregexPart /[^[\\/\\s#\\\\]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10944
+ var HeregexPart$7 = $TR($EXPECT($R44, "HeregexPart /[^[\\/\\s#\\\\]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10677
10945
  return { $loc, token: $0 };
10678
10946
  });
10679
10947
  var HeregexPart$$ = [HeregexPart$0, HeregexPart$1, HeregexPart$2, HeregexPart$3, HeregexPart$4, HeregexPart$5, HeregexPart$6, HeregexPart$7];
@@ -10686,7 +10954,7 @@ var require_parser = __commonJS({
10686
10954
  function HeregexComment(ctx, state) {
10687
10955
  return $EVENT_C(ctx, state, "HeregexComment", HeregexComment$$);
10688
10956
  }
10689
- var RegularExpressionBody$0 = $S($N($R$0($EXPECT($R44, "RegularExpressionBody /[*\\/\\r\\n]/"))), $Q(RegExpPart));
10957
+ var RegularExpressionBody$0 = $S($N($R$0($EXPECT($R45, "RegularExpressionBody /[*\\/\\r\\n]/"))), $Q(RegExpPart));
10690
10958
  function RegularExpressionBody(ctx, state) {
10691
10959
  return $EVENT(ctx, state, "RegularExpressionBody", RegularExpressionBody$0);
10692
10960
  }
@@ -10696,15 +10964,15 @@ var require_parser = __commonJS({
10696
10964
  function RegExpPart(ctx, state) {
10697
10965
  return $EVENT_C(ctx, state, "RegExpPart", RegExpPart$$);
10698
10966
  }
10699
- var RegExpCharacter$0 = $R$0($EXPECT($R45, "RegExpCharacter /(?:\\\\.|[^[\\/\\r\\n])+/"));
10967
+ var RegExpCharacter$0 = $R$0($EXPECT($R46, "RegExpCharacter /(?:\\\\.|[^[\\/\\r\\n])+/"));
10700
10968
  function RegExpCharacter(ctx, state) {
10701
10969
  return $EVENT(ctx, state, "RegExpCharacter", RegExpCharacter$0);
10702
10970
  }
10703
- var RegularExpressionFlags$0 = $R$0($EXPECT($R46, "RegularExpressionFlags /(?:\\p{ID_Continue}|[\\u200C\\u200D$])*/"));
10971
+ var RegularExpressionFlags$0 = $R$0($EXPECT($R47, "RegularExpressionFlags /(?:\\p{ID_Continue}|[\\u200C\\u200D$])*/"));
10704
10972
  function RegularExpressionFlags(ctx, state) {
10705
10973
  return $EVENT(ctx, state, "RegularExpressionFlags", RegularExpressionFlags$0);
10706
10974
  }
10707
- var TemplateLiteral$0 = $T($S($EXPECT($R47, "TemplateLiteral /(?=[`'\"])/"), _TemplateLiteral), function(value) {
10975
+ var TemplateLiteral$0 = $T($S($EXPECT($R48, "TemplateLiteral /(?=[`'\"])/"), _TemplateLiteral), function(value) {
10708
10976
  return value[1];
10709
10977
  });
10710
10978
  function TemplateLiteral(ctx, state) {
@@ -10740,28 +11008,28 @@ var require_parser = __commonJS({
10740
11008
  function TemplateSubstitution(ctx, state) {
10741
11009
  return $EVENT(ctx, state, "TemplateSubstitution", TemplateSubstitution$0);
10742
11010
  }
10743
- var TemplateCharacters$0 = $TR($EXPECT($R48, "TemplateCharacters /(?:\\$(?!\\{)|\\\\.|[^$`])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11011
+ var TemplateCharacters$0 = $TR($EXPECT($R49, "TemplateCharacters /(?:\\$(?!\\{)|\\\\.|[^$`])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10744
11012
  return { $loc, token: $0 };
10745
11013
  });
10746
11014
  function TemplateCharacters(ctx, state) {
10747
11015
  return $EVENT(ctx, state, "TemplateCharacters", TemplateCharacters$0);
10748
11016
  }
10749
- var TemplateBlockCharacters$0 = $TR($EXPECT($R49, "TemplateBlockCharacters /(?:\\$(?!\\{)|`(?!``)|\\\\.|[^$`])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11017
+ var TemplateBlockCharacters$0 = $TR($EXPECT($R50, "TemplateBlockCharacters /(?:\\$(?!\\{)|`(?!``)|\\\\.|[^$`])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10750
11018
  return { $loc, token: $0 };
10751
11019
  });
10752
11020
  function TemplateBlockCharacters(ctx, state) {
10753
11021
  return $EVENT(ctx, state, "TemplateBlockCharacters", TemplateBlockCharacters$0);
10754
11022
  }
10755
- var ReservedWord$0 = $S($R$0($EXPECT($R50, "ReservedWord /(?:on|off|yes|no)(?!\\p{ID_Continue})/")), CoffeeBooleansEnabled);
10756
- var ReservedWord$1 = $S($R$0($EXPECT($R51, "ReservedWord /(?:isnt)(?!\\p{ID_Continue})/")), CoffeeIsntEnabled);
10757
- var ReservedWord$2 = $S($R$0($EXPECT($R52, "ReservedWord /(?:by)(?!\\p{ID_Continue})/")), CoffeeForLoopsEnabled);
10758
- var ReservedWord$3 = $S($R$0($EXPECT($R53, "ReservedWord /(?:of)(?!\\p{ID_Continue})/")), CoffeeOfEnabled);
10759
- var ReservedWord$4 = $R$0($EXPECT($R54, "ReservedWord /(?:and|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|false|finally|for|function|if|import|in|instanceof|interface|is|let|loop|new|not|null|or|private|protected|public|return|static|super|switch|this|throw|true|try|typeof|unless|until|var|void|while|with|yield)(?!\\p{ID_Continue})/"));
11023
+ var ReservedWord$0 = $S($R$0($EXPECT($R51, "ReservedWord /(?:on|off|yes|no)(?!\\p{ID_Continue})/")), CoffeeBooleansEnabled);
11024
+ var ReservedWord$1 = $S($R$0($EXPECT($R52, "ReservedWord /(?:isnt)(?!\\p{ID_Continue})/")), CoffeeIsntEnabled);
11025
+ var ReservedWord$2 = $S($R$0($EXPECT($R53, "ReservedWord /(?:by)(?!\\p{ID_Continue})/")), CoffeeForLoopsEnabled);
11026
+ var ReservedWord$3 = $S($R$0($EXPECT($R54, "ReservedWord /(?:of)(?!\\p{ID_Continue})/")), CoffeeOfEnabled);
11027
+ var ReservedWord$4 = $R$0($EXPECT($R55, "ReservedWord /(?:and|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|false|finally|for|function|if|import|in|instanceof|interface|is|let|loop|new|not|null|or|private|protected|public|return|static|super|switch|this|throw|true|try|typeof|unless|until|var|void|while|with|yield)(?!\\p{ID_Continue})/"));
10760
11028
  var ReservedWord$$ = [ReservedWord$0, ReservedWord$1, ReservedWord$2, ReservedWord$3, ReservedWord$4];
10761
11029
  function ReservedWord(ctx, state) {
10762
11030
  return $EVENT_C(ctx, state, "ReservedWord", ReservedWord$$);
10763
11031
  }
10764
- var Comment$0 = $T($S($EXPECT($R55, "Comment /(?=\\/|#)/"), _Comment), function(value) {
11032
+ var Comment$0 = $T($S($EXPECT($R56, "Comment /(?=\\/|#)/"), _Comment), function(value) {
10765
11033
  return value[1];
10766
11034
  });
10767
11035
  function Comment(ctx, state) {
@@ -10779,7 +11047,7 @@ var require_parser = __commonJS({
10779
11047
  function SingleLineComment(ctx, state) {
10780
11048
  return $EVENT_C(ctx, state, "SingleLineComment", SingleLineComment$$);
10781
11049
  }
10782
- var JSSingleLineComment$0 = $TR($EXPECT($R56, "JSSingleLineComment /\\/\\/(?!\\/)[^\\r\\n]*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11050
+ var JSSingleLineComment$0 = $TR($EXPECT($R57, "JSSingleLineComment /\\/\\/(?!\\/)[^\\r\\n]*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10783
11051
  return { type: "Comment", $loc, token: $0 };
10784
11052
  });
10785
11053
  function JSSingleLineComment(ctx, state) {
@@ -10791,30 +11059,30 @@ var require_parser = __commonJS({
10791
11059
  function MultiLineComment(ctx, state) {
10792
11060
  return $EVENT_C(ctx, state, "MultiLineComment", MultiLineComment$$);
10793
11061
  }
10794
- var JSMultiLineComment$0 = $TV($TEXT($S($EXPECT($L111, 'JSMultiLineComment "/*"'), $Q($S($N($EXPECT($L112, 'JSMultiLineComment "*/"')), $EXPECT($R57, "JSMultiLineComment /./"))), $EXPECT($L112, 'JSMultiLineComment "*/"'))), function($skip, $loc, $0, $1) {
11062
+ var JSMultiLineComment$0 = $TV($TEXT($S($EXPECT($L112, 'JSMultiLineComment "/*"'), $Q($S($N($EXPECT($L113, 'JSMultiLineComment "*/"')), $EXPECT($R58, "JSMultiLineComment /./"))), $EXPECT($L113, 'JSMultiLineComment "*/"'))), function($skip, $loc, $0, $1) {
10795
11063
  return { type: "Comment", $loc, token: $1 };
10796
11064
  });
10797
11065
  function JSMultiLineComment(ctx, state) {
10798
11066
  return $EVENT(ctx, state, "JSMultiLineComment", JSMultiLineComment$0);
10799
11067
  }
10800
- var CoffeeSingleLineComment$0 = $TR($EXPECT($R58, "CoffeeSingleLineComment /#(?!##(?!#))([^\\r\\n]*)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11068
+ var CoffeeSingleLineComment$0 = $TR($EXPECT($R59, "CoffeeSingleLineComment /#(?!##(?!#))([^\\r\\n]*)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10801
11069
  return { type: "Comment", $loc, token: `//${$1}` };
10802
11070
  });
10803
11071
  function CoffeeSingleLineComment(ctx, state) {
10804
11072
  return $EVENT(ctx, state, "CoffeeSingleLineComment", CoffeeSingleLineComment$0);
10805
11073
  }
10806
- var CoffeeMultiLineComment$0 = $TS($S(CoffeeHereCommentStart, $TEXT($EXPECT($R59, "CoffeeMultiLineComment /[^]*?###/"))), function($skip, $loc, $0, $1, $2) {
11074
+ var CoffeeMultiLineComment$0 = $TS($S(CoffeeHereCommentStart, $TEXT($EXPECT($R60, "CoffeeMultiLineComment /[^]*?###/"))), function($skip, $loc, $0, $1, $2) {
10807
11075
  $2 = $2.slice(0, $2.length - 3).replace(/\*\//g, "* /");
10808
11076
  return { type: "Comment", $loc, token: `/*${$2}*/` };
10809
11077
  });
10810
11078
  function CoffeeMultiLineComment(ctx, state) {
10811
11079
  return $EVENT(ctx, state, "CoffeeMultiLineComment", CoffeeMultiLineComment$0);
10812
11080
  }
10813
- var CoffeeHereCommentStart$0 = $R$0($EXPECT($R60, "CoffeeHereCommentStart /###(?!#)/"));
11081
+ var CoffeeHereCommentStart$0 = $R$0($EXPECT($R61, "CoffeeHereCommentStart /###(?!#)/"));
10814
11082
  function CoffeeHereCommentStart(ctx, state) {
10815
11083
  return $EVENT(ctx, state, "CoffeeHereCommentStart", CoffeeHereCommentStart$0);
10816
11084
  }
10817
- var InlineComment$0 = $TR($EXPECT($R61, "InlineComment /\\/\\*(?:(?!\\*\\/)[^\\r\\n])*\\*\\//"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11085
+ var InlineComment$0 = $TR($EXPECT($R62, "InlineComment /\\/\\*(?:(?!\\*\\/)[^\\r\\n])*\\*\\//"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10818
11086
  return { $loc, token: $0 };
10819
11087
  });
10820
11088
  function InlineComment(ctx, state) {
@@ -10828,16 +11096,16 @@ var require_parser = __commonJS({
10828
11096
  function TrailingComment(ctx, state) {
10829
11097
  return $EVENT(ctx, state, "TrailingComment", TrailingComment$0);
10830
11098
  }
10831
- var _$0 = $T($S($EXPECT($R62, "_ /(?=[ \\t\\/\\\\])/"), $P($C(NonNewlineWhitespace, InlineComment))), function(value) {
11099
+ var _$0 = $T($S($EXPECT($R63, "_ /(?=[ \\t\\/\\\\])/"), $P($C(NonNewlineWhitespace, InlineComment))), function(value) {
10832
11100
  return value[1];
10833
11101
  });
10834
11102
  function _(ctx, state) {
10835
11103
  return $EVENT(ctx, state, "_", _$0);
10836
11104
  }
10837
- var NonNewlineWhitespace$0 = $TR($EXPECT($R63, "NonNewlineWhitespace /[ \\t]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11105
+ var NonNewlineWhitespace$0 = $TR($EXPECT($R64, "NonNewlineWhitespace /[ \\t]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10838
11106
  return { $loc, token: $0 };
10839
11107
  });
10840
- var NonNewlineWhitespace$1 = $T($S($EXPECT($L113, 'NonNewlineWhitespace "\\\\\\\\"'), CoffeeLineContinuationEnabled, EOL), function(value) {
11108
+ var NonNewlineWhitespace$1 = $T($S($EXPECT($L114, 'NonNewlineWhitespace "\\\\\\\\"'), CoffeeLineContinuationEnabled, EOL), function(value) {
10841
11109
  return " ";
10842
11110
  });
10843
11111
  var NonNewlineWhitespace$$ = [NonNewlineWhitespace$0, NonNewlineWhitespace$1];
@@ -10851,7 +11119,7 @@ var require_parser = __commonJS({
10851
11119
  function Trimmed_(ctx, state) {
10852
11120
  return $EVENT(ctx, state, "Trimmed_", Trimmed_$0);
10853
11121
  }
10854
- var __$0 = $T($S($EXPECT($R64, "__ /(?=\\s|\\/|#)/"), $Q($C(Whitespace, Comment))), function(value) {
11122
+ var __$0 = $T($S($EXPECT($R65, "__ /(?=\\s|\\/|#)/"), $Q($C(Whitespace, Comment))), function(value) {
10855
11123
  return value[1];
10856
11124
  });
10857
11125
  var __$1 = $EXPECT($L0, '__ ""');
@@ -10859,7 +11127,7 @@ var require_parser = __commonJS({
10859
11127
  function __(ctx, state) {
10860
11128
  return $EVENT_C(ctx, state, "__", __$$);
10861
11129
  }
10862
- var Whitespace$0 = $TR($EXPECT($R41, "Whitespace /[\\s]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11130
+ var Whitespace$0 = $TR($EXPECT($R42, "Whitespace /[\\s]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10863
11131
  return { $loc, token: $0 };
10864
11132
  });
10865
11133
  function Whitespace(ctx, state) {
@@ -10883,7 +11151,7 @@ var require_parser = __commonJS({
10883
11151
  }
10884
11152
  var StatementDelimiter$0 = $Y(EOS);
10885
11153
  var StatementDelimiter$1 = SemicolonDelimiter;
10886
- var StatementDelimiter$2 = $Y($S($E(_), $C($EXPECT($L27, 'StatementDelimiter "}"'), $EXPECT($L114, 'StatementDelimiter ")"'), $EXPECT($L36, 'StatementDelimiter "]"'))));
11154
+ var StatementDelimiter$2 = $Y($S($E(_), $C($EXPECT($L28, 'StatementDelimiter "}"'), $EXPECT($L115, 'StatementDelimiter ")"'), $EXPECT($L37, 'StatementDelimiter "]"'))));
10887
11155
  var StatementDelimiter$$ = [StatementDelimiter$0, StatementDelimiter$1, StatementDelimiter$2];
10888
11156
  function StatementDelimiter(ctx, state) {
10889
11157
  return $EVENT_C(ctx, state, "StatementDelimiter", StatementDelimiter$$);
@@ -10897,7 +11165,7 @@ var require_parser = __commonJS({
10897
11165
  function SemicolonDelimiter(ctx, state) {
10898
11166
  return $EVENT(ctx, state, "SemicolonDelimiter", SemicolonDelimiter$0);
10899
11167
  }
10900
- var NonIdContinue$0 = $R$0($EXPECT($R65, "NonIdContinue /(?!\\p{ID_Continue})/"));
11168
+ var NonIdContinue$0 = $R$0($EXPECT($R66, "NonIdContinue /(?!\\p{ID_Continue})/"));
10901
11169
  function NonIdContinue(ctx, state) {
10902
11170
  return $EVENT(ctx, state, "NonIdContinue", NonIdContinue$0);
10903
11171
  }
@@ -10907,151 +11175,151 @@ var require_parser = __commonJS({
10907
11175
  function Loc(ctx, state) {
10908
11176
  return $EVENT(ctx, state, "Loc", Loc$0);
10909
11177
  }
10910
- var Abstract$0 = $TV($TEXT($S($EXPECT($L115, 'Abstract "abstract"'), NonIdContinue, $E($EXPECT($L13, 'Abstract " "')))), function($skip, $loc, $0, $1) {
11178
+ var Abstract$0 = $TV($TEXT($S($EXPECT($L116, 'Abstract "abstract"'), NonIdContinue, $E($EXPECT($L14, 'Abstract " "')))), function($skip, $loc, $0, $1) {
10911
11179
  return { $loc, token: $1, ts: true };
10912
11180
  });
10913
11181
  function Abstract(ctx, state) {
10914
11182
  return $EVENT(ctx, state, "Abstract", Abstract$0);
10915
11183
  }
10916
- var Ampersand$0 = $TV($EXPECT($L99, 'Ampersand "&"'), function($skip, $loc, $0, $1) {
11184
+ var Ampersand$0 = $TV($EXPECT($L100, 'Ampersand "&"'), function($skip, $loc, $0, $1) {
10917
11185
  return { $loc, token: $1 };
10918
11186
  });
10919
11187
  function Ampersand(ctx, state) {
10920
11188
  return $EVENT(ctx, state, "Ampersand", Ampersand$0);
10921
11189
  }
10922
- var As$0 = $TS($S($EXPECT($L116, 'As "as"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11190
+ var As$0 = $TS($S($EXPECT($L117, 'As "as"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10923
11191
  return { $loc, token: $1 };
10924
11192
  });
10925
11193
  function As(ctx, state) {
10926
11194
  return $EVENT(ctx, state, "As", As$0);
10927
11195
  }
10928
- var At$0 = $TV($EXPECT($L117, 'At "@"'), function($skip, $loc, $0, $1) {
11196
+ var At$0 = $TV($EXPECT($L118, 'At "@"'), function($skip, $loc, $0, $1) {
10929
11197
  return { $loc, token: $1 };
10930
11198
  });
10931
11199
  function At(ctx, state) {
10932
11200
  return $EVENT(ctx, state, "At", At$0);
10933
11201
  }
10934
- var AtAt$0 = $TV($EXPECT($L118, 'AtAt "@@"'), function($skip, $loc, $0, $1) {
11202
+ var AtAt$0 = $TV($EXPECT($L119, 'AtAt "@@"'), function($skip, $loc, $0, $1) {
10935
11203
  return { $loc, token: "@" };
10936
11204
  });
10937
11205
  function AtAt(ctx, state) {
10938
11206
  return $EVENT(ctx, state, "AtAt", AtAt$0);
10939
11207
  }
10940
- var Async$0 = $TS($S($EXPECT($L119, 'Async "async"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11208
+ var Async$0 = $TS($S($EXPECT($L120, 'Async "async"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10941
11209
  return { $loc, token: $1, type: "Async" };
10942
11210
  });
10943
11211
  function Async(ctx, state) {
10944
11212
  return $EVENT(ctx, state, "Async", Async$0);
10945
11213
  }
10946
- var Await$0 = $TS($S($EXPECT($L120, 'Await "await"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11214
+ var Await$0 = $TS($S($EXPECT($L121, 'Await "await"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10947
11215
  return { $loc, token: $1, type: "Await" };
10948
11216
  });
10949
11217
  function Await(ctx, state) {
10950
11218
  return $EVENT(ctx, state, "Await", Await$0);
10951
11219
  }
10952
- var Backtick$0 = $TV($EXPECT($L121, 'Backtick "`"'), function($skip, $loc, $0, $1) {
11220
+ var Backtick$0 = $TV($EXPECT($L122, 'Backtick "`"'), function($skip, $loc, $0, $1) {
10953
11221
  return { $loc, token: $1 };
10954
11222
  });
10955
11223
  function Backtick(ctx, state) {
10956
11224
  return $EVENT(ctx, state, "Backtick", Backtick$0);
10957
11225
  }
10958
- var By$0 = $TS($S($EXPECT($L122, 'By "by"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11226
+ var By$0 = $TS($S($EXPECT($L123, 'By "by"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10959
11227
  return { $loc, token: $1 };
10960
11228
  });
10961
11229
  function By(ctx, state) {
10962
11230
  return $EVENT(ctx, state, "By", By$0);
10963
11231
  }
10964
- var Caret$0 = $TV($EXPECT($L19, 'Caret "^"'), function($skip, $loc, $0, $1) {
11232
+ var Caret$0 = $TV($EXPECT($L20, 'Caret "^"'), function($skip, $loc, $0, $1) {
10965
11233
  return { $loc, token: $1 };
10966
11234
  });
10967
11235
  function Caret(ctx, state) {
10968
11236
  return $EVENT(ctx, state, "Caret", Caret$0);
10969
11237
  }
10970
- var Case$0 = $TS($S($EXPECT($L123, 'Case "case"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11238
+ var Case$0 = $TS($S($EXPECT($L124, 'Case "case"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10971
11239
  return { $loc, token: $1 };
10972
11240
  });
10973
11241
  function Case(ctx, state) {
10974
11242
  return $EVENT(ctx, state, "Case", Case$0);
10975
11243
  }
10976
- var Catch$0 = $TS($S($EXPECT($L124, 'Catch "catch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11244
+ var Catch$0 = $TS($S($EXPECT($L125, 'Catch "catch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10977
11245
  return { $loc, token: $1 };
10978
11246
  });
10979
11247
  function Catch(ctx, state) {
10980
11248
  return $EVENT(ctx, state, "Catch", Catch$0);
10981
11249
  }
10982
- var Class$0 = $TS($S($EXPECT($L125, 'Class "class"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11250
+ var Class$0 = $TS($S($EXPECT($L126, 'Class "class"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10983
11251
  return { $loc, token: $1 };
10984
11252
  });
10985
11253
  function Class(ctx, state) {
10986
11254
  return $EVENT(ctx, state, "Class", Class$0);
10987
11255
  }
10988
- var CloseAngleBracket$0 = $TV($EXPECT($L35, 'CloseAngleBracket ">"'), function($skip, $loc, $0, $1) {
11256
+ var CloseAngleBracket$0 = $TV($EXPECT($L36, 'CloseAngleBracket ">"'), function($skip, $loc, $0, $1) {
10989
11257
  return { $loc, token: $1 };
10990
11258
  });
10991
11259
  function CloseAngleBracket(ctx, state) {
10992
11260
  return $EVENT(ctx, state, "CloseAngleBracket", CloseAngleBracket$0);
10993
11261
  }
10994
- var CloseBrace$0 = $TV($EXPECT($L27, 'CloseBrace "}"'), function($skip, $loc, $0, $1) {
11262
+ var CloseBrace$0 = $TV($EXPECT($L28, 'CloseBrace "}"'), function($skip, $loc, $0, $1) {
10995
11263
  return { $loc, token: $1 };
10996
11264
  });
10997
11265
  function CloseBrace(ctx, state) {
10998
11266
  return $EVENT(ctx, state, "CloseBrace", CloseBrace$0);
10999
11267
  }
11000
- var CloseBracket$0 = $TV($EXPECT($L36, 'CloseBracket "]"'), function($skip, $loc, $0, $1) {
11268
+ var CloseBracket$0 = $TV($EXPECT($L37, 'CloseBracket "]"'), function($skip, $loc, $0, $1) {
11001
11269
  return { $loc, token: $1 };
11002
11270
  });
11003
11271
  function CloseBracket(ctx, state) {
11004
11272
  return $EVENT(ctx, state, "CloseBracket", CloseBracket$0);
11005
11273
  }
11006
- var CloseParen$0 = $TV($EXPECT($L114, 'CloseParen ")"'), function($skip, $loc, $0, $1) {
11274
+ var CloseParen$0 = $TV($EXPECT($L115, 'CloseParen ")"'), function($skip, $loc, $0, $1) {
11007
11275
  return { $loc, token: $1 };
11008
11276
  });
11009
11277
  function CloseParen(ctx, state) {
11010
11278
  return $EVENT(ctx, state, "CloseParen", CloseParen$0);
11011
11279
  }
11012
- var CoffeeSubstitutionStart$0 = $TV($EXPECT($L126, 'CoffeeSubstitutionStart "#{"'), function($skip, $loc, $0, $1) {
11280
+ var CoffeeSubstitutionStart$0 = $TV($EXPECT($L127, 'CoffeeSubstitutionStart "#{"'), function($skip, $loc, $0, $1) {
11013
11281
  return { $loc, token: "${" };
11014
11282
  });
11015
11283
  function CoffeeSubstitutionStart(ctx, state) {
11016
11284
  return $EVENT(ctx, state, "CoffeeSubstitutionStart", CoffeeSubstitutionStart$0);
11017
11285
  }
11018
- var Colon$0 = $TS($S($EXPECT($L12, 'Colon ":"'), $N($EXPECT($L3, 'Colon "="'))), function($skip, $loc, $0, $1, $2) {
11286
+ var Colon$0 = $TS($S($EXPECT($L13, 'Colon ":"'), $N($EXPECT($L3, 'Colon "="'))), function($skip, $loc, $0, $1, $2) {
11019
11287
  return { $loc, token: $1 };
11020
11288
  });
11021
11289
  function Colon(ctx, state) {
11022
11290
  return $EVENT(ctx, state, "Colon", Colon$0);
11023
11291
  }
11024
- var Comma$0 = $TV($EXPECT($L23, 'Comma ","'), function($skip, $loc, $0, $1) {
11292
+ var Comma$0 = $TV($EXPECT($L24, 'Comma ","'), function($skip, $loc, $0, $1) {
11025
11293
  return { $loc, token: $1 };
11026
11294
  });
11027
11295
  function Comma(ctx, state) {
11028
11296
  return $EVENT(ctx, state, "Comma", Comma$0);
11029
11297
  }
11030
- var ConstructorShorthand$0 = $TV($EXPECT($L117, 'ConstructorShorthand "@"'), function($skip, $loc, $0, $1) {
11298
+ var ConstructorShorthand$0 = $TV($EXPECT($L118, 'ConstructorShorthand "@"'), function($skip, $loc, $0, $1) {
11031
11299
  return { $loc, token: "constructor" };
11032
11300
  });
11033
11301
  function ConstructorShorthand(ctx, state) {
11034
11302
  return $EVENT(ctx, state, "ConstructorShorthand", ConstructorShorthand$0);
11035
11303
  }
11036
- var Declare$0 = $TS($S($EXPECT($L127, 'Declare "declare"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11304
+ var Declare$0 = $TS($S($EXPECT($L128, 'Declare "declare"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11037
11305
  return { $loc, token: $1 };
11038
11306
  });
11039
11307
  function Declare(ctx, state) {
11040
11308
  return $EVENT(ctx, state, "Declare", Declare$0);
11041
11309
  }
11042
- var Default$0 = $TS($S($EXPECT($L128, 'Default "default"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11310
+ var Default$0 = $TS($S($EXPECT($L129, 'Default "default"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11043
11311
  return { $loc, token: $1 };
11044
11312
  });
11045
11313
  function Default(ctx, state) {
11046
11314
  return $EVENT(ctx, state, "Default", Default$0);
11047
11315
  }
11048
- var Delete$0 = $TS($S($EXPECT($L129, 'Delete "delete"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11316
+ var Delete$0 = $TS($S($EXPECT($L130, 'Delete "delete"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11049
11317
  return { $loc, token: $1 };
11050
11318
  });
11051
11319
  function Delete(ctx, state) {
11052
11320
  return $EVENT(ctx, state, "Delete", Delete$0);
11053
11321
  }
11054
- var Do$0 = $TS($S($EXPECT($L130, 'Do "do"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11322
+ var Do$0 = $TS($S($EXPECT($L131, 'Do "do"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11055
11323
  return { $loc, token: $1 };
11056
11324
  });
11057
11325
  function Do(ctx, state) {
@@ -11060,7 +11328,7 @@ var require_parser = __commonJS({
11060
11328
  var Dot$0 = $TV($EXPECT($L7, 'Dot "."'), function($skip, $loc, $0, $1) {
11061
11329
  return { $loc, token: $1 };
11062
11330
  });
11063
- var Dot$1 = $TS($S($EXPECT($R66, "Dot /['\u2019]s/"), _), function($skip, $loc, $0, $1, $2) {
11331
+ var Dot$1 = $TS($S($EXPECT($R67, "Dot /['\u2019]s/"), _), function($skip, $loc, $0, $1, $2) {
11064
11332
  var ws = $2;
11065
11333
  return [
11066
11334
  { $loc, token: "." },
@@ -11071,45 +11339,45 @@ var require_parser = __commonJS({
11071
11339
  function Dot(ctx, state) {
11072
11340
  return $EVENT_C(ctx, state, "Dot", Dot$$);
11073
11341
  }
11074
- var DotDot$0 = $TS($S($EXPECT($L131, 'DotDot ".."'), $N($EXPECT($L7, 'DotDot "."'))), function($skip, $loc, $0, $1, $2) {
11342
+ var DotDot$0 = $TS($S($EXPECT($L132, 'DotDot ".."'), $N($EXPECT($L7, 'DotDot "."'))), function($skip, $loc, $0, $1, $2) {
11075
11343
  return { $loc, token: $1 };
11076
11344
  });
11077
- var DotDot$1 = $TV($EXPECT($L132, 'DotDot "\u2025"'), function($skip, $loc, $0, $1) {
11345
+ var DotDot$1 = $TV($EXPECT($L133, 'DotDot "\u2025"'), function($skip, $loc, $0, $1) {
11078
11346
  return { $loc, token: ".." };
11079
11347
  });
11080
11348
  var DotDot$$ = [DotDot$0, DotDot$1];
11081
11349
  function DotDot(ctx, state) {
11082
11350
  return $EVENT_C(ctx, state, "DotDot", DotDot$$);
11083
11351
  }
11084
- var DotDotDot$0 = $TV($EXPECT($L133, 'DotDotDot "..."'), function($skip, $loc, $0, $1) {
11352
+ var DotDotDot$0 = $TV($EXPECT($L134, 'DotDotDot "..."'), function($skip, $loc, $0, $1) {
11085
11353
  return { $loc, token: $1 };
11086
11354
  });
11087
- var DotDotDot$1 = $TV($EXPECT($L134, 'DotDotDot "\u2026"'), function($skip, $loc, $0, $1) {
11355
+ var DotDotDot$1 = $TV($EXPECT($L135, 'DotDotDot "\u2026"'), function($skip, $loc, $0, $1) {
11088
11356
  return { $loc, token: "..." };
11089
11357
  });
11090
11358
  var DotDotDot$$ = [DotDotDot$0, DotDotDot$1];
11091
11359
  function DotDotDot(ctx, state) {
11092
11360
  return $EVENT_C(ctx, state, "DotDotDot", DotDotDot$$);
11093
11361
  }
11094
- var DoubleColon$0 = $TV($EXPECT($L135, 'DoubleColon "::"'), function($skip, $loc, $0, $1) {
11362
+ var DoubleColon$0 = $TV($EXPECT($L136, 'DoubleColon "::"'), function($skip, $loc, $0, $1) {
11095
11363
  return { $loc, token: $1 };
11096
11364
  });
11097
11365
  function DoubleColon(ctx, state) {
11098
11366
  return $EVENT(ctx, state, "DoubleColon", DoubleColon$0);
11099
11367
  }
11100
- var DoubleQuote$0 = $TV($EXPECT($L136, 'DoubleQuote "\\\\\\""'), function($skip, $loc, $0, $1) {
11368
+ var DoubleQuote$0 = $TV($EXPECT($L137, 'DoubleQuote "\\\\\\""'), function($skip, $loc, $0, $1) {
11101
11369
  return { $loc, token: $1 };
11102
11370
  });
11103
11371
  function DoubleQuote(ctx, state) {
11104
11372
  return $EVENT(ctx, state, "DoubleQuote", DoubleQuote$0);
11105
11373
  }
11106
- var Each$0 = $TS($S($EXPECT($L137, 'Each "each"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11374
+ var Each$0 = $TS($S($EXPECT($L138, 'Each "each"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11107
11375
  return { $loc, token: $1 };
11108
11376
  });
11109
11377
  function Each(ctx, state) {
11110
11378
  return $EVENT(ctx, state, "Each", Each$0);
11111
11379
  }
11112
- var Else$0 = $TS($S($EXPECT($L138, 'Else "else"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11380
+ var Else$0 = $TS($S($EXPECT($L139, 'Else "else"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11113
11381
  return { $loc, token: $1 };
11114
11382
  });
11115
11383
  function Else(ctx, state) {
@@ -11121,85 +11389,91 @@ var require_parser = __commonJS({
11121
11389
  function Equals(ctx, state) {
11122
11390
  return $EVENT(ctx, state, "Equals", Equals$0);
11123
11391
  }
11124
- var Export$0 = $TS($S($EXPECT($L139, 'Export "export"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11392
+ var ExclamationPoint$0 = $TV($EXPECT($L19, 'ExclamationPoint "!"'), function($skip, $loc, $0, $1) {
11393
+ return { $loc, token: $1 };
11394
+ });
11395
+ function ExclamationPoint(ctx, state) {
11396
+ return $EVENT(ctx, state, "ExclamationPoint", ExclamationPoint$0);
11397
+ }
11398
+ var Export$0 = $TS($S($EXPECT($L140, 'Export "export"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11125
11399
  return { $loc, token: $1 };
11126
11400
  });
11127
11401
  function Export(ctx, state) {
11128
11402
  return $EVENT(ctx, state, "Export", Export$0);
11129
11403
  }
11130
- var Extends$0 = $TS($S($EXPECT($L140, 'Extends "extends"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11404
+ var Extends$0 = $TS($S($EXPECT($L141, 'Extends "extends"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11131
11405
  return { $loc, token: $1 };
11132
11406
  });
11133
11407
  function Extends(ctx, state) {
11134
11408
  return $EVENT(ctx, state, "Extends", Extends$0);
11135
11409
  }
11136
- var Finally$0 = $TS($S($EXPECT($L141, 'Finally "finally"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11410
+ var Finally$0 = $TS($S($EXPECT($L142, 'Finally "finally"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11137
11411
  return { $loc, token: $1 };
11138
11412
  });
11139
11413
  function Finally(ctx, state) {
11140
11414
  return $EVENT(ctx, state, "Finally", Finally$0);
11141
11415
  }
11142
- var For$0 = $TS($S($EXPECT($L142, 'For "for"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11416
+ var For$0 = $TS($S($EXPECT($L143, 'For "for"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11143
11417
  return { $loc, token: $1 };
11144
11418
  });
11145
11419
  function For(ctx, state) {
11146
11420
  return $EVENT(ctx, state, "For", For$0);
11147
11421
  }
11148
- var From$0 = $TS($S($EXPECT($L143, 'From "from"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11422
+ var From$0 = $TS($S($EXPECT($L144, 'From "from"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11149
11423
  return { $loc, token: $1 };
11150
11424
  });
11151
11425
  function From(ctx, state) {
11152
11426
  return $EVENT(ctx, state, "From", From$0);
11153
11427
  }
11154
- var Function$0 = $TS($S($EXPECT($L144, 'Function "function"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11428
+ var Function$0 = $TS($S($EXPECT($L145, 'Function "function"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11155
11429
  return { $loc, token: $1 };
11156
11430
  });
11157
11431
  function Function(ctx, state) {
11158
11432
  return $EVENT(ctx, state, "Function", Function$0);
11159
11433
  }
11160
- var GetOrSet$0 = $TS($S($C($EXPECT($L145, 'GetOrSet "get"'), $EXPECT($L146, 'GetOrSet "set"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11434
+ var GetOrSet$0 = $TS($S($C($EXPECT($L146, 'GetOrSet "get"'), $EXPECT($L147, 'GetOrSet "set"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11161
11435
  return { $loc, token: $1, type: "GetOrSet" };
11162
11436
  });
11163
11437
  function GetOrSet(ctx, state) {
11164
11438
  return $EVENT(ctx, state, "GetOrSet", GetOrSet$0);
11165
11439
  }
11166
- var Hash$0 = $TV($EXPECT($L147, 'Hash "#"'), function($skip, $loc, $0, $1) {
11440
+ var Hash$0 = $TV($EXPECT($L148, 'Hash "#"'), function($skip, $loc, $0, $1) {
11167
11441
  return { $loc, token: $1 };
11168
11442
  });
11169
11443
  function Hash(ctx, state) {
11170
11444
  return $EVENT(ctx, state, "Hash", Hash$0);
11171
11445
  }
11172
- var If$0 = $TV($TEXT($S($EXPECT($L148, 'If "if"'), NonIdContinue, $E($EXPECT($L13, 'If " "')))), function($skip, $loc, $0, $1) {
11446
+ var If$0 = $TV($TEXT($S($EXPECT($L149, 'If "if"'), NonIdContinue, $E($EXPECT($L14, 'If " "')))), function($skip, $loc, $0, $1) {
11173
11447
  return { $loc, token: $1 };
11174
11448
  });
11175
11449
  function If(ctx, state) {
11176
11450
  return $EVENT(ctx, state, "If", If$0);
11177
11451
  }
11178
- var Import$0 = $TS($S($EXPECT($L17, 'Import "import"'), $Y($EXPECT($R67, "Import /\\s/"))), function($skip, $loc, $0, $1, $2) {
11452
+ var Import$0 = $TS($S($EXPECT($L18, 'Import "import"'), $Y($EXPECT($R68, "Import /\\s/"))), function($skip, $loc, $0, $1, $2) {
11179
11453
  return { $loc, token: $1 };
11180
11454
  });
11181
11455
  function Import(ctx, state) {
11182
11456
  return $EVENT(ctx, state, "Import", Import$0);
11183
11457
  }
11184
- var In$0 = $TS($S($EXPECT($L149, 'In "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11458
+ var In$0 = $TS($S($EXPECT($L150, 'In "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11185
11459
  return { $loc, token: $1 };
11186
11460
  });
11187
11461
  function In(ctx, state) {
11188
11462
  return $EVENT(ctx, state, "In", In$0);
11189
11463
  }
11190
- var LetOrConst$0 = $TS($S($C($EXPECT($L150, 'LetOrConst "let"'), $EXPECT($L151, 'LetOrConst "const"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11464
+ var LetOrConst$0 = $TS($S($C($EXPECT($L151, 'LetOrConst "let"'), $EXPECT($L152, 'LetOrConst "const"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11191
11465
  return { $loc, token: $1 };
11192
11466
  });
11193
11467
  function LetOrConst(ctx, state) {
11194
11468
  return $EVENT(ctx, state, "LetOrConst", LetOrConst$0);
11195
11469
  }
11196
- var Const$0 = $TS($S($EXPECT($L151, 'Const "const"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11470
+ var Const$0 = $TS($S($EXPECT($L152, 'Const "const"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11197
11471
  return { $loc, token: $1 };
11198
11472
  });
11199
11473
  function Const(ctx, state) {
11200
11474
  return $EVENT(ctx, state, "Const", Const$0);
11201
11475
  }
11202
- var Is$0 = $TS($S($EXPECT($L152, 'Is "is"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11476
+ var Is$0 = $TS($S($EXPECT($L153, 'Is "is"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11203
11477
  return { $loc, token: $1 };
11204
11478
  });
11205
11479
  function Is(ctx, state) {
@@ -11211,31 +11485,31 @@ var require_parser = __commonJS({
11211
11485
  function LetOrConstOrVar(ctx, state) {
11212
11486
  return $EVENT_C(ctx, state, "LetOrConstOrVar", LetOrConstOrVar$$);
11213
11487
  }
11214
- var Loop$0 = $TS($S($EXPECT($L153, 'Loop "loop"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11488
+ var Loop$0 = $TS($S($EXPECT($L154, 'Loop "loop"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11215
11489
  return { $loc, token: "while(true)" };
11216
11490
  });
11217
11491
  function Loop(ctx, state) {
11218
11492
  return $EVENT(ctx, state, "Loop", Loop$0);
11219
11493
  }
11220
- var New$0 = $TS($S($EXPECT($L154, 'New "new"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11494
+ var New$0 = $TS($S($EXPECT($L155, 'New "new"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11221
11495
  return { $loc, token: $1 };
11222
11496
  });
11223
11497
  function New(ctx, state) {
11224
11498
  return $EVENT(ctx, state, "New", New$0);
11225
11499
  }
11226
- var Not$0 = $TS($S($EXPECT($L155, 'Not "not"'), NonIdContinue, $N($S($E(_), $EXPECT($L12, 'Not ":"')))), function($skip, $loc, $0, $1, $2, $3) {
11500
+ var Not$0 = $TS($S($EXPECT($L156, 'Not "not"'), NonIdContinue, $N($S($E(_), $EXPECT($L13, 'Not ":"')))), function($skip, $loc, $0, $1, $2, $3) {
11227
11501
  return { $loc, token: "!" };
11228
11502
  });
11229
11503
  function Not(ctx, state) {
11230
11504
  return $EVENT(ctx, state, "Not", Not$0);
11231
11505
  }
11232
- var Of$0 = $TS($S($EXPECT($L156, 'Of "of"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11506
+ var Of$0 = $TS($S($EXPECT($L157, 'Of "of"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11233
11507
  return { $loc, token: $1 };
11234
11508
  });
11235
11509
  function Of(ctx, state) {
11236
11510
  return $EVENT(ctx, state, "Of", Of$0);
11237
11511
  }
11238
- var OpenAngleBracket$0 = $TV($EXPECT($L14, 'OpenAngleBracket "<"'), function($skip, $loc, $0, $1) {
11512
+ var OpenAngleBracket$0 = $TV($EXPECT($L15, 'OpenAngleBracket "<"'), function($skip, $loc, $0, $1) {
11239
11513
  return { $loc, token: $1 };
11240
11514
  });
11241
11515
  function OpenAngleBracket(ctx, state) {
@@ -11247,7 +11521,7 @@ var require_parser = __commonJS({
11247
11521
  function OpenBrace(ctx, state) {
11248
11522
  return $EVENT(ctx, state, "OpenBrace", OpenBrace$0);
11249
11523
  }
11250
- var OpenBracket$0 = $TV($EXPECT($L157, 'OpenBracket "["'), function($skip, $loc, $0, $1) {
11524
+ var OpenBracket$0 = $TV($EXPECT($L158, 'OpenBracket "["'), function($skip, $loc, $0, $1) {
11251
11525
  return { $loc, token: $1 };
11252
11526
  });
11253
11527
  function OpenBracket(ctx, state) {
@@ -11259,43 +11533,43 @@ var require_parser = __commonJS({
11259
11533
  function OpenParen(ctx, state) {
11260
11534
  return $EVENT(ctx, state, "OpenParen", OpenParen$0);
11261
11535
  }
11262
- var Operator$0 = $TS($S($EXPECT($L158, 'Operator "operator"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11536
+ var Operator$0 = $TS($S($EXPECT($L159, 'Operator "operator"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11263
11537
  return { $loc, token: $1 };
11264
11538
  });
11265
11539
  function Operator(ctx, state) {
11266
11540
  return $EVENT(ctx, state, "Operator", Operator$0);
11267
11541
  }
11268
- var Own$0 = $TS($S($EXPECT($L159, 'Own "own"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11542
+ var Own$0 = $TS($S($EXPECT($L160, 'Own "own"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11269
11543
  return { $loc, token: $1 };
11270
11544
  });
11271
11545
  function Own(ctx, state) {
11272
11546
  return $EVENT(ctx, state, "Own", Own$0);
11273
11547
  }
11274
- var Public$0 = $TS($S($EXPECT($L160, 'Public "public"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11548
+ var Public$0 = $TS($S($EXPECT($L161, 'Public "public"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11275
11549
  return { $loc, token: $1 };
11276
11550
  });
11277
11551
  function Public(ctx, state) {
11278
11552
  return $EVENT(ctx, state, "Public", Public$0);
11279
11553
  }
11280
- var Private$0 = $TS($S($EXPECT($L161, 'Private "private"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11554
+ var Private$0 = $TS($S($EXPECT($L162, 'Private "private"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11281
11555
  return { $loc, token: $1 };
11282
11556
  });
11283
11557
  function Private(ctx, state) {
11284
11558
  return $EVENT(ctx, state, "Private", Private$0);
11285
11559
  }
11286
- var Protected$0 = $TS($S($EXPECT($L162, 'Protected "protected"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11560
+ var Protected$0 = $TS($S($EXPECT($L163, 'Protected "protected"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11287
11561
  return { $loc, token: $1 };
11288
11562
  });
11289
11563
  function Protected(ctx, state) {
11290
11564
  return $EVENT(ctx, state, "Protected", Protected$0);
11291
11565
  }
11292
- var Pipe$0 = $TV($C($EXPECT($L163, 'Pipe "||>"'), $EXPECT($L164, 'Pipe "|\u25B7"')), function($skip, $loc, $0, $1) {
11566
+ var Pipe$0 = $TV($C($EXPECT($L164, 'Pipe "||>"'), $EXPECT($L165, 'Pipe "|\u25B7"')), function($skip, $loc, $0, $1) {
11293
11567
  return { $loc, token: "||>" };
11294
11568
  });
11295
- var Pipe$1 = $TV($C($EXPECT($L165, 'Pipe "|>="'), $EXPECT($L166, 'Pipe "\u25B7="')), function($skip, $loc, $0, $1) {
11569
+ var Pipe$1 = $TV($C($EXPECT($L166, 'Pipe "|>="'), $EXPECT($L167, 'Pipe "\u25B7="')), function($skip, $loc, $0, $1) {
11296
11570
  return { $loc, token: "|>=" };
11297
11571
  });
11298
- var Pipe$2 = $TV($C($EXPECT($L167, 'Pipe "|>"'), $EXPECT($L168, 'Pipe "\u25B7"')), function($skip, $loc, $0, $1) {
11572
+ var Pipe$2 = $TV($C($EXPECT($L168, 'Pipe "|>"'), $EXPECT($L169, 'Pipe "\u25B7"')), function($skip, $loc, $0, $1) {
11299
11573
  return { $loc, token: "|>" };
11300
11574
  });
11301
11575
  var Pipe$$ = [Pipe$0, Pipe$1, Pipe$2];
@@ -11308,173 +11582,173 @@ var require_parser = __commonJS({
11308
11582
  function QuestionMark(ctx, state) {
11309
11583
  return $EVENT(ctx, state, "QuestionMark", QuestionMark$0);
11310
11584
  }
11311
- var Readonly$0 = $TS($S($EXPECT($L169, 'Readonly "readonly"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11585
+ var Readonly$0 = $TS($S($EXPECT($L170, 'Readonly "readonly"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11312
11586
  return { $loc, token: $1, ts: true };
11313
11587
  });
11314
11588
  function Readonly(ctx, state) {
11315
11589
  return $EVENT(ctx, state, "Readonly", Readonly$0);
11316
11590
  }
11317
- var Return$0 = $TS($S($EXPECT($L170, 'Return "return"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11591
+ var Return$0 = $TS($S($EXPECT($L171, 'Return "return"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11318
11592
  return { $loc, token: $1 };
11319
11593
  });
11320
11594
  function Return(ctx, state) {
11321
11595
  return $EVENT(ctx, state, "Return", Return$0);
11322
11596
  }
11323
- var Satisfies$0 = $TS($S($EXPECT($L171, 'Satisfies "satisfies"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11597
+ var Satisfies$0 = $TS($S($EXPECT($L172, 'Satisfies "satisfies"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11324
11598
  return { $loc, token: $1 };
11325
11599
  });
11326
11600
  function Satisfies(ctx, state) {
11327
11601
  return $EVENT(ctx, state, "Satisfies", Satisfies$0);
11328
11602
  }
11329
- var Semicolon$0 = $TV($EXPECT($L101, 'Semicolon ";"'), function($skip, $loc, $0, $1) {
11603
+ var Semicolon$0 = $TV($EXPECT($L102, 'Semicolon ";"'), function($skip, $loc, $0, $1) {
11330
11604
  return { $loc, token: $1 };
11331
11605
  });
11332
11606
  function Semicolon(ctx, state) {
11333
11607
  return $EVENT(ctx, state, "Semicolon", Semicolon$0);
11334
11608
  }
11335
- var SingleQuote$0 = $TV($EXPECT($L172, `SingleQuote "'"`), function($skip, $loc, $0, $1) {
11609
+ var SingleQuote$0 = $TV($EXPECT($L173, `SingleQuote "'"`), function($skip, $loc, $0, $1) {
11336
11610
  return { $loc, token: $1 };
11337
11611
  });
11338
11612
  function SingleQuote(ctx, state) {
11339
11613
  return $EVENT(ctx, state, "SingleQuote", SingleQuote$0);
11340
11614
  }
11341
- var Star$0 = $TV($EXPECT($L56, 'Star "*"'), function($skip, $loc, $0, $1) {
11615
+ var Star$0 = $TV($EXPECT($L57, 'Star "*"'), function($skip, $loc, $0, $1) {
11342
11616
  return { $loc, token: $1 };
11343
11617
  });
11344
11618
  function Star(ctx, state) {
11345
11619
  return $EVENT(ctx, state, "Star", Star$0);
11346
11620
  }
11347
- var Static$0 = $TS($S($EXPECT($L173, 'Static "static"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11621
+ var Static$0 = $TS($S($EXPECT($L174, 'Static "static"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11348
11622
  return { $loc, token: $1 };
11349
11623
  });
11350
- var Static$1 = $TS($S($EXPECT($L117, 'Static "@"'), $N($C($EXPECT($L4, 'Static "("'), $EXPECT($L117, 'Static "@"')))), function($skip, $loc, $0, $1, $2) {
11624
+ var Static$1 = $TS($S($EXPECT($L118, 'Static "@"'), $N($C($EXPECT($L4, 'Static "("'), $EXPECT($L118, 'Static "@"')))), function($skip, $loc, $0, $1, $2) {
11351
11625
  return { $loc, token: "static " };
11352
11626
  });
11353
11627
  var Static$$ = [Static$0, Static$1];
11354
11628
  function Static(ctx, state) {
11355
11629
  return $EVENT_C(ctx, state, "Static", Static$$);
11356
11630
  }
11357
- var SubstitutionStart$0 = $TV($EXPECT($L174, 'SubstitutionStart "${"'), function($skip, $loc, $0, $1) {
11631
+ var SubstitutionStart$0 = $TV($EXPECT($L175, 'SubstitutionStart "${"'), function($skip, $loc, $0, $1) {
11358
11632
  return { $loc, token: $1 };
11359
11633
  });
11360
11634
  function SubstitutionStart(ctx, state) {
11361
11635
  return $EVENT(ctx, state, "SubstitutionStart", SubstitutionStart$0);
11362
11636
  }
11363
- var Super$0 = $TS($S($EXPECT($L175, 'Super "super"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11637
+ var Super$0 = $TS($S($EXPECT($L176, 'Super "super"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11364
11638
  return { $loc, token: $1 };
11365
11639
  });
11366
11640
  function Super(ctx, state) {
11367
11641
  return $EVENT(ctx, state, "Super", Super$0);
11368
11642
  }
11369
- var Switch$0 = $TS($S($EXPECT($L176, 'Switch "switch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11643
+ var Switch$0 = $TS($S($EXPECT($L177, 'Switch "switch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11370
11644
  return { $loc, token: $1 };
11371
11645
  });
11372
11646
  function Switch(ctx, state) {
11373
11647
  return $EVENT(ctx, state, "Switch", Switch$0);
11374
11648
  }
11375
- var Target$0 = $TS($S($EXPECT($L177, 'Target "target"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11649
+ var Target$0 = $TS($S($EXPECT($L178, 'Target "target"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11376
11650
  return { $loc, token: $1 };
11377
11651
  });
11378
11652
  function Target(ctx, state) {
11379
11653
  return $EVENT(ctx, state, "Target", Target$0);
11380
11654
  }
11381
- var Then$0 = $TS($S(__, $EXPECT($L178, 'Then "then"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
11655
+ var Then$0 = $TS($S(__, $EXPECT($L179, 'Then "then"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
11382
11656
  return { $loc, token: "" };
11383
11657
  });
11384
11658
  function Then(ctx, state) {
11385
11659
  return $EVENT(ctx, state, "Then", Then$0);
11386
11660
  }
11387
- var This$0 = $TS($S($EXPECT($L179, 'This "this"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11661
+ var This$0 = $TS($S($EXPECT($L180, 'This "this"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11388
11662
  return { $loc, token: $1 };
11389
11663
  });
11390
11664
  function This(ctx, state) {
11391
11665
  return $EVENT(ctx, state, "This", This$0);
11392
11666
  }
11393
- var Throw$0 = $TS($S($EXPECT($L180, 'Throw "throw"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11667
+ var Throw$0 = $TS($S($EXPECT($L181, 'Throw "throw"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11394
11668
  return { $loc, token: $1 };
11395
11669
  });
11396
11670
  function Throw(ctx, state) {
11397
11671
  return $EVENT(ctx, state, "Throw", Throw$0);
11398
11672
  }
11399
- var TripleDoubleQuote$0 = $TV($EXPECT($L181, 'TripleDoubleQuote "\\\\\\"\\\\\\"\\\\\\""'), function($skip, $loc, $0, $1) {
11673
+ var TripleDoubleQuote$0 = $TV($EXPECT($L182, 'TripleDoubleQuote "\\\\\\"\\\\\\"\\\\\\""'), function($skip, $loc, $0, $1) {
11400
11674
  return { $loc, token: "`" };
11401
11675
  });
11402
11676
  function TripleDoubleQuote(ctx, state) {
11403
11677
  return $EVENT(ctx, state, "TripleDoubleQuote", TripleDoubleQuote$0);
11404
11678
  }
11405
- var TripleSingleQuote$0 = $TV($EXPECT($L182, `TripleSingleQuote "'''"`), function($skip, $loc, $0, $1) {
11679
+ var TripleSingleQuote$0 = $TV($EXPECT($L183, `TripleSingleQuote "'''"`), function($skip, $loc, $0, $1) {
11406
11680
  return { $loc, token: "`" };
11407
11681
  });
11408
11682
  function TripleSingleQuote(ctx, state) {
11409
11683
  return $EVENT(ctx, state, "TripleSingleQuote", TripleSingleQuote$0);
11410
11684
  }
11411
- var TripleSlash$0 = $TV($EXPECT($L183, 'TripleSlash "///"'), function($skip, $loc, $0, $1) {
11685
+ var TripleSlash$0 = $TV($EXPECT($L184, 'TripleSlash "///"'), function($skip, $loc, $0, $1) {
11412
11686
  return { $loc, token: "/" };
11413
11687
  });
11414
11688
  function TripleSlash(ctx, state) {
11415
11689
  return $EVENT(ctx, state, "TripleSlash", TripleSlash$0);
11416
11690
  }
11417
- var TripleTick$0 = $TV($EXPECT($L184, 'TripleTick "```"'), function($skip, $loc, $0, $1) {
11691
+ var TripleTick$0 = $TV($EXPECT($L185, 'TripleTick "```"'), function($skip, $loc, $0, $1) {
11418
11692
  return { $loc, token: "`" };
11419
11693
  });
11420
11694
  function TripleTick(ctx, state) {
11421
11695
  return $EVENT(ctx, state, "TripleTick", TripleTick$0);
11422
11696
  }
11423
- var Try$0 = $TS($S($EXPECT($L185, 'Try "try"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11697
+ var Try$0 = $TS($S($EXPECT($L186, 'Try "try"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11424
11698
  return { $loc, token: $1 };
11425
11699
  });
11426
11700
  function Try(ctx, state) {
11427
11701
  return $EVENT(ctx, state, "Try", Try$0);
11428
11702
  }
11429
- var Typeof$0 = $TS($S($EXPECT($L186, 'Typeof "typeof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11703
+ var Typeof$0 = $TS($S($EXPECT($L187, 'Typeof "typeof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11430
11704
  return { $loc, token: $1 };
11431
11705
  });
11432
11706
  function Typeof(ctx, state) {
11433
11707
  return $EVENT(ctx, state, "Typeof", Typeof$0);
11434
11708
  }
11435
- var Unless$0 = $TS($S($EXPECT($L187, 'Unless "unless"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11436
- return { $loc, token: $1 };
11709
+ var Unless$0 = $TS($S($EXPECT($L188, 'Unless "unless"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11710
+ return { $loc, token: $1, negated: true };
11437
11711
  });
11438
11712
  function Unless(ctx, state) {
11439
11713
  return $EVENT(ctx, state, "Unless", Unless$0);
11440
11714
  }
11441
- var Until$0 = $TS($S($EXPECT($L188, 'Until "until"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11715
+ var Until$0 = $TS($S($EXPECT($L189, 'Until "until"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11442
11716
  return { $loc, token: $1 };
11443
11717
  });
11444
11718
  function Until(ctx, state) {
11445
11719
  return $EVENT(ctx, state, "Until", Until$0);
11446
11720
  }
11447
- var Using$0 = $TS($S($EXPECT($L189, 'Using "using"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11721
+ var Using$0 = $TS($S($EXPECT($L190, 'Using "using"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11448
11722
  return { $loc, token: $1 };
11449
11723
  });
11450
11724
  function Using(ctx, state) {
11451
11725
  return $EVENT(ctx, state, "Using", Using$0);
11452
11726
  }
11453
- var Var$0 = $TS($S($EXPECT($L190, 'Var "var"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11727
+ var Var$0 = $TS($S($EXPECT($L191, 'Var "var"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11454
11728
  return { $loc, token: $1 };
11455
11729
  });
11456
11730
  function Var(ctx, state) {
11457
11731
  return $EVENT(ctx, state, "Var", Var$0);
11458
11732
  }
11459
- var Void$0 = $TS($S($EXPECT($L191, 'Void "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11733
+ var Void$0 = $TS($S($EXPECT($L192, 'Void "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11460
11734
  return { $loc, token: $1 };
11461
11735
  });
11462
11736
  function Void(ctx, state) {
11463
11737
  return $EVENT(ctx, state, "Void", Void$0);
11464
11738
  }
11465
- var When$0 = $TS($S($EXPECT($L192, 'When "when"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11739
+ var When$0 = $TS($S($EXPECT($L193, 'When "when"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11466
11740
  return { $loc, token: "case" };
11467
11741
  });
11468
11742
  function When(ctx, state) {
11469
11743
  return $EVENT(ctx, state, "When", When$0);
11470
11744
  }
11471
- var While$0 = $TS($S($EXPECT($L193, 'While "while"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11745
+ var While$0 = $TS($S($EXPECT($L194, 'While "while"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11472
11746
  return { $loc, token: $1 };
11473
11747
  });
11474
11748
  function While(ctx, state) {
11475
11749
  return $EVENT(ctx, state, "While", While$0);
11476
11750
  }
11477
- var Yield$0 = $TS($S($EXPECT($L194, 'Yield "yield"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11751
+ var Yield$0 = $TS($S($EXPECT($L195, 'Yield "yield"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11478
11752
  return { $loc, token: $1, type: "Yield" };
11479
11753
  });
11480
11754
  function Yield(ctx, state) {
@@ -11503,7 +11777,7 @@ var require_parser = __commonJS({
11503
11777
  function JSXImplicitFragment(ctx, state) {
11504
11778
  return $EVENT(ctx, state, "JSXImplicitFragment", JSXImplicitFragment$0);
11505
11779
  }
11506
- var JSXTag$0 = $T($S($EXPECT($R68, "JSXTag /(?=[<])/"), _JSXTag), function(value) {
11780
+ var JSXTag$0 = $T($S($EXPECT($R69, "JSXTag /(?=[<])/"), _JSXTag), function(value) {
11507
11781
  return value[1];
11508
11782
  });
11509
11783
  function JSXTag(ctx, state) {
@@ -11553,7 +11827,7 @@ var require_parser = __commonJS({
11553
11827
  function JSXElement(ctx, state) {
11554
11828
  return $EVENT_C(ctx, state, "JSXElement", JSXElement$$);
11555
11829
  }
11556
- var JSXSelfClosingElement$0 = $TS($S($EXPECT($L14, 'JSXSelfClosingElement "<"'), JSXElementName, $E(TypeArguments), $E(JSXAttributes), $E(Whitespace), $EXPECT($L195, 'JSXSelfClosingElement "/>"')), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
11830
+ var JSXSelfClosingElement$0 = $TS($S($EXPECT($L15, 'JSXSelfClosingElement "<"'), JSXElementName, $E(TypeArguments), $E(JSXAttributes), $E(Whitespace), $EXPECT($L196, 'JSXSelfClosingElement "/>"')), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
11557
11831
  return { type: "JSXElement", children: $0, tag: $2 };
11558
11832
  });
11559
11833
  function JSXSelfClosingElement(ctx, state) {
@@ -11572,7 +11846,7 @@ var require_parser = __commonJS({
11572
11846
  function PopJSXStack(ctx, state) {
11573
11847
  return $EVENT(ctx, state, "PopJSXStack", PopJSXStack$0);
11574
11848
  }
11575
- var JSXOpeningElement$0 = $S($EXPECT($L14, 'JSXOpeningElement "<"'), JSXElementName, $E(TypeArguments), $E(JSXAttributes), $E(Whitespace), $EXPECT($L35, 'JSXOpeningElement ">"'));
11849
+ var JSXOpeningElement$0 = $S($EXPECT($L15, 'JSXOpeningElement "<"'), JSXElementName, $E(TypeArguments), $E(JSXAttributes), $E(Whitespace), $EXPECT($L36, 'JSXOpeningElement ">"'));
11576
11850
  function JSXOpeningElement(ctx, state) {
11577
11851
  return $EVENT(ctx, state, "JSXOpeningElement", JSXOpeningElement$0);
11578
11852
  }
@@ -11587,7 +11861,7 @@ var require_parser = __commonJS({
11587
11861
  function JSXOptionalClosingElement(ctx, state) {
11588
11862
  return $EVENT_C(ctx, state, "JSXOptionalClosingElement", JSXOptionalClosingElement$$);
11589
11863
  }
11590
- var JSXClosingElement$0 = $S($EXPECT($L196, 'JSXClosingElement "</"'), $E(Whitespace), JSXElementName, $E(Whitespace), $EXPECT($L35, 'JSXClosingElement ">"'));
11864
+ var JSXClosingElement$0 = $S($EXPECT($L197, 'JSXClosingElement "</"'), $E(Whitespace), JSXElementName, $E(Whitespace), $EXPECT($L36, 'JSXClosingElement ">"'));
11591
11865
  function JSXClosingElement(ctx, state) {
11592
11866
  return $EVENT(ctx, state, "JSXClosingElement", JSXClosingElement$0);
11593
11867
  }
@@ -11608,7 +11882,7 @@ var require_parser = __commonJS({
11608
11882
  ];
11609
11883
  return { type: "JSXFragment", children: parts, jsxChildren: children.jsxChildren };
11610
11884
  });
11611
- var JSXFragment$1 = $TS($S(CoffeeJSXEnabled, $EXPECT($L197, 'JSXFragment "<>"'), $E(JSXChildren), $E(Whitespace), JSXClosingFragment), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
11885
+ var JSXFragment$1 = $TS($S(CoffeeJSXEnabled, $EXPECT($L198, 'JSXFragment "<>"'), $E(JSXChildren), $E(Whitespace), JSXClosingFragment), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
11612
11886
  var children = $3;
11613
11887
  $0 = $0.slice(1);
11614
11888
  return {
@@ -11621,7 +11895,7 @@ var require_parser = __commonJS({
11621
11895
  function JSXFragment(ctx, state) {
11622
11896
  return $EVENT_C(ctx, state, "JSXFragment", JSXFragment$$);
11623
11897
  }
11624
- var PushJSXOpeningFragment$0 = $TV($EXPECT($L197, 'PushJSXOpeningFragment "<>"'), function($skip, $loc, $0, $1) {
11898
+ var PushJSXOpeningFragment$0 = $TV($EXPECT($L198, 'PushJSXOpeningFragment "<>"'), function($skip, $loc, $0, $1) {
11625
11899
  module.JSXTagStack.push("");
11626
11900
  return $1;
11627
11901
  });
@@ -11638,11 +11912,11 @@ var require_parser = __commonJS({
11638
11912
  function JSXOptionalClosingFragment(ctx, state) {
11639
11913
  return $EVENT_C(ctx, state, "JSXOptionalClosingFragment", JSXOptionalClosingFragment$$);
11640
11914
  }
11641
- var JSXClosingFragment$0 = $EXPECT($L198, 'JSXClosingFragment "</>"');
11915
+ var JSXClosingFragment$0 = $EXPECT($L199, 'JSXClosingFragment "</>"');
11642
11916
  function JSXClosingFragment(ctx, state) {
11643
11917
  return $EVENT(ctx, state, "JSXClosingFragment", JSXClosingFragment$0);
11644
11918
  }
11645
- var JSXElementName$0 = $TV($Y($S($C($EXPECT($L147, 'JSXElementName "#"'), Dot), JSXShorthandString)), function($skip, $loc, $0, $1) {
11919
+ var JSXElementName$0 = $TV($Y($S($C($EXPECT($L148, 'JSXElementName "#"'), Dot), JSXShorthandString)), function($skip, $loc, $0, $1) {
11646
11920
  return module.config.defaultElement;
11647
11921
  });
11648
11922
  var JSXElementName$1 = $TEXT($S(JSXIdentifierName, $C($S(Colon, JSXIdentifierName), $Q($S(Dot, JSXIdentifierName)))));
@@ -11650,7 +11924,7 @@ var require_parser = __commonJS({
11650
11924
  function JSXElementName(ctx, state) {
11651
11925
  return $EVENT_C(ctx, state, "JSXElementName", JSXElementName$$);
11652
11926
  }
11653
- var JSXIdentifierName$0 = $R$0($EXPECT($R69, "JSXIdentifierName /(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*/"));
11927
+ var JSXIdentifierName$0 = $R$0($EXPECT($R70, "JSXIdentifierName /(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*/"));
11654
11928
  function JSXIdentifierName(ctx, state) {
11655
11929
  return $EVENT(ctx, state, "JSXIdentifierName", JSXIdentifierName$0);
11656
11930
  }
@@ -11814,7 +12088,7 @@ var require_parser = __commonJS({
11814
12088
  }
11815
12089
  return $skip;
11816
12090
  });
11817
- var JSXAttribute$5 = $TS($S($EXPECT($L147, 'JSXAttribute "#"'), JSXShorthandString), function($skip, $loc, $0, $1, $2) {
12091
+ var JSXAttribute$5 = $TS($S($EXPECT($L148, 'JSXAttribute "#"'), JSXShorthandString), function($skip, $loc, $0, $1, $2) {
11818
12092
  return [" ", "id=", $2];
11819
12093
  });
11820
12094
  var JSXAttribute$6 = $TS($S(Dot, JSXShorthandString), function($skip, $loc, $0, $1, $2) {
@@ -11823,7 +12097,7 @@ var require_parser = __commonJS({
11823
12097
  class: $2
11824
12098
  };
11825
12099
  });
11826
- var JSXAttribute$7 = $TS($S($TEXT($EXPECT($R14, "JSXAttribute /[!+-]/")), JSXAttributeName, $Y(JSXAttributeSpace)), function($skip, $loc, $0, $1, $2, $3) {
12100
+ var JSXAttribute$7 = $TS($S($TEXT($EXPECT($R15, "JSXAttribute /[!+-]/")), JSXAttributeName, $Y(JSXAttributeSpace)), function($skip, $loc, $0, $1, $2, $3) {
11827
12101
  var toggle = $1;
11828
12102
  var id = $2;
11829
12103
  const value = toggle === "+" ? "true" : "false";
@@ -11833,11 +12107,11 @@ var require_parser = __commonJS({
11833
12107
  function JSXAttribute(ctx, state) {
11834
12108
  return $EVENT_C(ctx, state, "JSXAttribute", JSXAttribute$$);
11835
12109
  }
11836
- var JSXAttributeSpace$0 = $R$0($EXPECT($R70, "JSXAttributeSpace /[\\s>]|\\/>/"));
12110
+ var JSXAttributeSpace$0 = $R$0($EXPECT($R71, "JSXAttributeSpace /[\\s>]|\\/>/"));
11837
12111
  function JSXAttributeSpace(ctx, state) {
11838
12112
  return $EVENT(ctx, state, "JSXAttributeSpace", JSXAttributeSpace$0);
11839
12113
  }
11840
- var JSXShorthandString$0 = $TR($EXPECT($R71, "JSXShorthandString /(?:[\\w\\-:]+|\\([^()]*\\)|\\[[^\\[\\]]*\\])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12114
+ var JSXShorthandString$0 = $TR($EXPECT($R72, "JSXShorthandString /(?:[\\w\\-:]+|\\([^()]*\\)|\\[[^\\[\\]]*\\])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11841
12115
  return quoteString($0);
11842
12116
  });
11843
12117
  var JSXShorthandString$1 = $TS($S(TemplateLiteral), function($skip, $loc, $0, $1) {
@@ -11871,7 +12145,7 @@ var require_parser = __commonJS({
11871
12145
  }
11872
12146
  return [open, value, close];
11873
12147
  });
11874
- var JSXAttributeValue$4 = $R$0($EXPECT($R72, `JSXAttributeValue /"[^"]*"|'[^']*'/`));
12148
+ var JSXAttributeValue$4 = $R$0($EXPECT($R73, `JSXAttributeValue /"[^"]*"|'[^']*'/`));
11875
12149
  var JSXAttributeValue$$ = [JSXAttributeValue$0, JSXAttributeValue$1, JSXAttributeValue$2, JSXAttributeValue$3, JSXAttributeValue$4];
11876
12150
  function JSXAttributeValue(ctx, state) {
11877
12151
  return $EVENT_C(ctx, state, "JSXAttributeValue", JSXAttributeValue$$);
@@ -11884,7 +12158,7 @@ var require_parser = __commonJS({
11884
12158
  function InlineJSXAttributeValue(ctx, state) {
11885
12159
  return $EVENT(ctx, state, "InlineJSXAttributeValue", InlineJSXAttributeValue$0);
11886
12160
  }
11887
- var InlineJSXBinaryOpRHS$0 = $TS($S($N($EXPECT($R73, "InlineJSXBinaryOpRHS /[<>]/")), BinaryOp, InlineJSXUnaryExpression), function($skip, $loc, $0, $1, $2, $3) {
12161
+ var InlineJSXBinaryOpRHS$0 = $TS($S($N($EXPECT($R74, "InlineJSXBinaryOpRHS /[<>]/")), BinaryOp, InlineJSXUnaryExpression), function($skip, $loc, $0, $1, $2, $3) {
11888
12162
  var op = $2;
11889
12163
  var rhs = $3;
11890
12164
  return [[], op, [], rhs];
@@ -11901,7 +12175,7 @@ var require_parser = __commonJS({
11901
12175
  function InlineJSXUnaryExpression(ctx, state) {
11902
12176
  return $EVENT(ctx, state, "InlineJSXUnaryExpression", InlineJSXUnaryExpression$0);
11903
12177
  }
11904
- var InlineJSXUnaryOp$0 = $TR($EXPECT($R74, "InlineJSXUnaryOp /[!~+-](?!\\s|[!~+-]*&)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12178
+ var InlineJSXUnaryOp$0 = $TR($EXPECT($R75, "InlineJSXUnaryOp /[!~+-](?!\\s|[!~+-]*&)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11905
12179
  return { $loc, token: $0 };
11906
12180
  });
11907
12181
  function InlineJSXUnaryOp(ctx, state) {
@@ -11933,7 +12207,7 @@ var require_parser = __commonJS({
11933
12207
  ]
11934
12208
  });
11935
12209
  });
11936
- var InlineJSXCallExpression$1 = $TS($S($EXPECT($L17, 'InlineJSXCallExpression "import"'), ExplicitArguments, $Q(InlineJSXCallExpressionRest)), function($skip, $loc, $0, $1, $2, $3) {
12210
+ var InlineJSXCallExpression$1 = $TS($S($EXPECT($L18, 'InlineJSXCallExpression "import"'), ExplicitArguments, $Q(InlineJSXCallExpressionRest)), function($skip, $loc, $0, $1, $2, $3) {
11937
12211
  var args = $2;
11938
12212
  var rest = $3;
11939
12213
  return processCallMemberExpression({
@@ -12052,7 +12326,7 @@ var require_parser = __commonJS({
12052
12326
  }
12053
12327
  return $skip;
12054
12328
  });
12055
- var JSXNestedChildren$1 = $TV($Y($C(JSXEOS, $EXPECT($L27, 'JSXNestedChildren "}"'), JSXClosingElement, JSXClosingFragment)), function($skip, $loc, $0, $1) {
12329
+ var JSXNestedChildren$1 = $TV($Y($C(JSXEOS, $EXPECT($L28, 'JSXNestedChildren "}"'), JSXClosingElement, JSXClosingFragment)), function($skip, $loc, $0, $1) {
12056
12330
  return { children: [], jsxChildren: [] };
12057
12331
  });
12058
12332
  var JSXNestedChildren$$ = [JSXNestedChildren$0, JSXNestedChildren$1];
@@ -12107,19 +12381,19 @@ var require_parser = __commonJS({
12107
12381
  function JSXChild(ctx, state) {
12108
12382
  return $EVENT_C(ctx, state, "JSXChild", JSXChild$$);
12109
12383
  }
12110
- var JSXComment$0 = $TS($S($EXPECT($L199, 'JSXComment "<!--"'), JSXCommentContent, $EXPECT($L200, 'JSXComment "-->"')), function($skip, $loc, $0, $1, $2, $3) {
12384
+ var JSXComment$0 = $TS($S($EXPECT($L200, 'JSXComment "<!--"'), JSXCommentContent, $EXPECT($L201, 'JSXComment "-->"')), function($skip, $loc, $0, $1, $2, $3) {
12111
12385
  return ["{/*", $2, "*/}"];
12112
12386
  });
12113
12387
  function JSXComment(ctx, state) {
12114
12388
  return $EVENT(ctx, state, "JSXComment", JSXComment$0);
12115
12389
  }
12116
- var JSXCommentContent$0 = $TR($EXPECT($R75, "JSXCommentContent /(?:-[^-]|[^-]*)*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12390
+ var JSXCommentContent$0 = $TR($EXPECT($R76, "JSXCommentContent /(?:-[^-]|[^-]*)*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12117
12391
  return { $loc, token: $0.replace(/\*\//g, "* /") };
12118
12392
  });
12119
12393
  function JSXCommentContent(ctx, state) {
12120
12394
  return $EVENT(ctx, state, "JSXCommentContent", JSXCommentContent$0);
12121
12395
  }
12122
- var JSXText$0 = $TR($EXPECT($R76, "JSXText /[^{}<>\\r\\n]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12396
+ var JSXText$0 = $TR($EXPECT($R77, "JSXText /[^{}<>\\r\\n]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12123
12397
  return {
12124
12398
  type: "JSXText",
12125
12399
  token: $0,
@@ -12239,37 +12513,37 @@ var require_parser = __commonJS({
12239
12513
  function InterfaceExtendsTarget(ctx, state) {
12240
12514
  return $EVENT(ctx, state, "InterfaceExtendsTarget", InterfaceExtendsTarget$0);
12241
12515
  }
12242
- var TypeKeyword$0 = $TS($S($EXPECT($L201, 'TypeKeyword "type"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12516
+ var TypeKeyword$0 = $TS($S($EXPECT($L202, 'TypeKeyword "type"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12243
12517
  return { $loc, token: $1 };
12244
12518
  });
12245
12519
  function TypeKeyword(ctx, state) {
12246
12520
  return $EVENT(ctx, state, "TypeKeyword", TypeKeyword$0);
12247
12521
  }
12248
- var Enum$0 = $TS($S($EXPECT($L202, 'Enum "enum"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12522
+ var Enum$0 = $TS($S($EXPECT($L203, 'Enum "enum"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12249
12523
  return { $loc, token: $1 };
12250
12524
  });
12251
12525
  function Enum(ctx, state) {
12252
12526
  return $EVENT(ctx, state, "Enum", Enum$0);
12253
12527
  }
12254
- var Interface$0 = $TS($S($EXPECT($L203, 'Interface "interface"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12528
+ var Interface$0 = $TS($S($EXPECT($L204, 'Interface "interface"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12255
12529
  return { $loc, token: $1 };
12256
12530
  });
12257
12531
  function Interface(ctx, state) {
12258
12532
  return $EVENT(ctx, state, "Interface", Interface$0);
12259
12533
  }
12260
- var Global$0 = $TS($S($EXPECT($L204, 'Global "global"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12534
+ var Global$0 = $TS($S($EXPECT($L205, 'Global "global"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12261
12535
  return { $loc, token: $1 };
12262
12536
  });
12263
12537
  function Global(ctx, state) {
12264
12538
  return $EVENT(ctx, state, "Global", Global$0);
12265
12539
  }
12266
- var Module$0 = $TS($S($EXPECT($L205, 'Module "module"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12540
+ var Module$0 = $TS($S($EXPECT($L206, 'Module "module"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12267
12541
  return { $loc, token: $1 };
12268
12542
  });
12269
12543
  function Module(ctx, state) {
12270
12544
  return $EVENT(ctx, state, "Module", Module$0);
12271
12545
  }
12272
- var Namespace$0 = $TS($S($EXPECT($L206, 'Namespace "namespace"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12546
+ var Namespace$0 = $TS($S($EXPECT($L207, 'Namespace "namespace"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12273
12547
  return { $loc, token: $1 };
12274
12548
  });
12275
12549
  function Namespace(ctx, state) {
@@ -12484,7 +12758,7 @@ var require_parser = __commonJS({
12484
12758
  function TypeProperty(ctx, state) {
12485
12759
  return $EVENT(ctx, state, "TypeProperty", TypeProperty$0);
12486
12760
  }
12487
- var TypeIndexSignature$0 = $S($E($S($R$0($EXPECT($R77, "TypeIndexSignature /[+-]?/")), Readonly, NotDedented)), OpenBracket, TypeIndex, CloseBracket, $E($S(__, $R$0($EXPECT($R78, "TypeIndexSignature /[+-]/")), $Y($S($E(_), QuestionMark)))));
12761
+ var TypeIndexSignature$0 = $S($E($S($R$0($EXPECT($R78, "TypeIndexSignature /[+-]?/")), Readonly, NotDedented)), OpenBracket, TypeIndex, CloseBracket, $E($S(__, $R$0($EXPECT($R79, "TypeIndexSignature /[+-]/")), $Y($S($E(_), QuestionMark)))));
12488
12762
  function TypeIndexSignature(ctx, state) {
12489
12763
  return $EVENT(ctx, state, "TypeIndexSignature", TypeIndexSignature$0);
12490
12764
  }
@@ -12494,27 +12768,53 @@ var require_parser = __commonJS({
12494
12768
  function TypeIndex(ctx, state) {
12495
12769
  return $EVENT_C(ctx, state, "TypeIndex", TypeIndex$$);
12496
12770
  }
12497
- var TypeSuffix$0 = $T($S($E(QuestionMark), $E(_), Colon, Type), function(value) {
12498
- return { "type": "TypeSuffix", "ts": true, "children": value };
12771
+ var TypeSuffix$0 = $T($S($E(_), $E(QuestionMark), $E(_), Colon, MaybeIndentedType), function(value) {
12772
+ var optional = value[1];
12773
+ var t = value[4];
12774
+ return { "type": "TypeSuffix", "ts": true, "optional": optional, "t": t, "children": value };
12499
12775
  });
12500
- var TypeSuffix$1 = $T($S(QuestionMark, $E(_)), function(value) {
12501
- return { "type": "TypeSuffix", "ts": true, "children": value };
12776
+ var TypeSuffix$1 = $T($S($E(_), QuestionMark, $E(_)), function(value) {
12777
+ var optional = value[1];
12778
+ return { "type": "TypeSuffix", "ts": true, "optional": optional, "children": value };
12502
12779
  });
12503
- var TypeSuffix$2 = $T($S(NonNullAssertion, $E(_), $E($S(Colon, Type))), function(value) {
12504
- return { "type": "TypeSuffix", "ts": true, "children": value };
12780
+ var TypeSuffix$2 = $TS($S(NonNullAssertion, $E(_), $E($S(Colon, MaybeIndentedType))), function($skip, $loc, $0, $1, $2, $3) {
12781
+ var ct = $3;
12782
+ const [colon, t] = ct ?? [];
12783
+ return {
12784
+ type: "TypeSuffix",
12785
+ ts: true,
12786
+ t,
12787
+ children: [$1, $2, colon, t]
12788
+ };
12505
12789
  });
12506
12790
  var TypeSuffix$$ = [TypeSuffix$0, TypeSuffix$1, TypeSuffix$2];
12507
12791
  function TypeSuffix(ctx, state) {
12508
12792
  return $EVENT_C(ctx, state, "TypeSuffix", TypeSuffix$$);
12509
12793
  }
12510
- var ReturnTypeSuffix$0 = $TS($S($E(_), Colon, ReturnType), function($skip, $loc, $0, $1, $2, $3) {
12511
- var t = $3;
12512
- return { ...t, children: [$1, $2, ...t.children] };
12794
+ var MaybeIndentedType$0 = InterfaceBlock;
12795
+ var MaybeIndentedType$1 = $TS($S(PushIndent, $E($S(Nested, Type)), PopIndent), function($skip, $loc, $0, $1, $2, $3) {
12796
+ if (!$2)
12797
+ return $skip;
12798
+ return $2;
12799
+ });
12800
+ var MaybeIndentedType$2 = Type;
12801
+ var MaybeIndentedType$$ = [MaybeIndentedType$0, MaybeIndentedType$1, MaybeIndentedType$2];
12802
+ function MaybeIndentedType(ctx, state) {
12803
+ return $EVENT_C(ctx, state, "MaybeIndentedType", MaybeIndentedType$$);
12804
+ }
12805
+ var ReturnTypeSuffix$0 = $TS($S($E(_), $E(QuestionMark), $E(_), Colon, ReturnType), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
12806
+ var optional = $2;
12807
+ var t = $5;
12808
+ return {
12809
+ ...t,
12810
+ optional,
12811
+ children: [$1, optional, $3, $4, ...t.children]
12812
+ };
12513
12813
  });
12514
12814
  function ReturnTypeSuffix(ctx, state) {
12515
12815
  return $EVENT(ctx, state, "ReturnTypeSuffix", ReturnTypeSuffix$0);
12516
12816
  }
12517
- var ReturnType$0 = $TS($S($E($S(__, $EXPECT($L207, 'ReturnType "asserts"'), NonIdContinue)), TypePredicate), function($skip, $loc, $0, $1, $2) {
12817
+ var ReturnType$0 = $TS($S($E($S(__, $EXPECT($L208, 'ReturnType "asserts"'), NonIdContinue)), TypePredicate), function($skip, $loc, $0, $1, $2) {
12518
12818
  var asserts = $1;
12519
12819
  var t = $2;
12520
12820
  if (asserts) {
@@ -12535,7 +12835,7 @@ var require_parser = __commonJS({
12535
12835
  function ReturnType(ctx, state) {
12536
12836
  return $EVENT(ctx, state, "ReturnType", ReturnType$0);
12537
12837
  }
12538
- var TypePredicate$0 = $TS($S(Type, $E($S(__, $EXPECT($L152, 'TypePredicate "is"'), NonIdContinue, Type))), function($skip, $loc, $0, $1, $2) {
12838
+ var TypePredicate$0 = $TS($S(Type, $E($S(__, $EXPECT($L153, 'TypePredicate "is"'), NonIdContinue, Type))), function($skip, $loc, $0, $1, $2) {
12539
12839
  var lhs = $1;
12540
12840
  var rhs = $2;
12541
12841
  if (!rhs)
@@ -12570,9 +12870,19 @@ var require_parser = __commonJS({
12570
12870
  return $EVENT(ctx, state, "TypeBinary", TypeBinary$0);
12571
12871
  }
12572
12872
  var TypeUnary$0 = $TS($S($Q($S(__, TypeUnaryOp, NonIdContinue)), TypePrimary, $Q(TypeUnarySuffix)), function($skip, $loc, $0, $1, $2, $3) {
12573
- if (!$1.length && !$3.length)
12574
- return $2;
12575
- return [...$1, $2, ...$3];
12873
+ var prefix = $1;
12874
+ var t = $2;
12875
+ var suffix = $3;
12876
+ if (!prefix.length && !suffix.length)
12877
+ return t;
12878
+ return {
12879
+ type: "UnaryType",
12880
+ prefix,
12881
+ suffix,
12882
+ t,
12883
+ // omit empty prefix for trimming space
12884
+ children: prefix.length ? $0 : [t, suffix]
12885
+ };
12576
12886
  });
12577
12887
  function TypeUnary(ctx, state) {
12578
12888
  return $EVENT(ctx, state, "TypeUnary", TypeUnary$0);
@@ -12583,10 +12893,10 @@ var require_parser = __commonJS({
12583
12893
  function TypeUnarySuffix(ctx, state) {
12584
12894
  return $EVENT_C(ctx, state, "TypeUnarySuffix", TypeUnarySuffix$$);
12585
12895
  }
12586
- var TypeUnaryOp$0 = $S($EXPECT($L208, 'TypeUnaryOp "keyof"'), NonIdContinue);
12587
- var TypeUnaryOp$1 = $S($EXPECT($L186, 'TypeUnaryOp "typeof"'), NonIdContinue);
12588
- var TypeUnaryOp$2 = $S($EXPECT($L209, 'TypeUnaryOp "infer"'), NonIdContinue);
12589
- var TypeUnaryOp$3 = $S($EXPECT($L169, 'TypeUnaryOp "readonly"'), NonIdContinue);
12896
+ var TypeUnaryOp$0 = $S($EXPECT($L209, 'TypeUnaryOp "keyof"'), NonIdContinue);
12897
+ var TypeUnaryOp$1 = $S($EXPECT($L187, 'TypeUnaryOp "typeof"'), NonIdContinue);
12898
+ var TypeUnaryOp$2 = $S($EXPECT($L210, 'TypeUnaryOp "infer"'), NonIdContinue);
12899
+ var TypeUnaryOp$3 = $S($EXPECT($L170, 'TypeUnaryOp "readonly"'), NonIdContinue);
12590
12900
  var TypeUnaryOp$$ = [TypeUnaryOp$0, TypeUnaryOp$1, TypeUnaryOp$2, TypeUnaryOp$3];
12591
12901
  function TypeUnaryOp(ctx, state) {
12592
12902
  return $EVENT_C(ctx, state, "TypeUnaryOp", TypeUnaryOp$$);
@@ -12595,17 +12905,26 @@ var require_parser = __commonJS({
12595
12905
  function TypeIndexedAccess(ctx, state) {
12596
12906
  return $EVENT(ctx, state, "TypeIndexedAccess", TypeIndexedAccess$0);
12597
12907
  }
12598
- var UnknownAlias$0 = $TV($EXPECT($L210, 'UnknownAlias "???"'), function($skip, $loc, $0, $1) {
12908
+ var UnknownAlias$0 = $TV($EXPECT($L211, 'UnknownAlias "???"'), function($skip, $loc, $0, $1) {
12599
12909
  return { $loc, token: "unknown" };
12600
12910
  });
12601
12911
  function UnknownAlias(ctx, state) {
12602
12912
  return $EVENT(ctx, state, "UnknownAlias", UnknownAlias$0);
12603
12913
  }
12604
- var TypePrimary$0 = $S($E(_), TypeTuple);
12914
+ var TypePrimary$0 = $TS($S($E(_), TypeTuple), function($skip, $loc, $0, $1, $2) {
12915
+ return { ...$2, children: [$1, ...$2.children] };
12916
+ });
12605
12917
  var TypePrimary$1 = InterfaceBlock;
12606
12918
  var TypePrimary$2 = $S($E(_), FunctionType);
12607
12919
  var TypePrimary$3 = $S($E(_), InlineInterfaceLiteral);
12608
- var TypePrimary$4 = $S($E(_), ImportType);
12920
+ var TypePrimary$4 = $TS($S($E(_), ImportType), function($skip, $loc, $0, $1, $2) {
12921
+ var t = $2;
12922
+ return {
12923
+ type: "ImportType",
12924
+ t,
12925
+ children: $0
12926
+ };
12927
+ });
12609
12928
  var TypePrimary$5 = $TS($S($E(_), TypeLiteral), function($skip, $loc, $0, $1, $2) {
12610
12929
  var t = $2;
12611
12930
  return {
@@ -12631,22 +12950,30 @@ var require_parser = __commonJS({
12631
12950
  args
12632
12951
  };
12633
12952
  });
12634
- var TypePrimary$8 = $S($E(_), OpenParen, $C(Type, $S(EOS, Type)), __, CloseParen);
12953
+ var TypePrimary$8 = $TS($S($E(_), OpenParen, $C(Type, $S(EOS, Type)), __, CloseParen), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
12954
+ return {
12955
+ type: "ParenthesizedType",
12956
+ children: $0
12957
+ };
12958
+ });
12635
12959
  var TypePrimary$$ = [TypePrimary$0, TypePrimary$1, TypePrimary$2, TypePrimary$3, TypePrimary$4, TypePrimary$5, TypePrimary$6, TypePrimary$7, TypePrimary$8];
12636
12960
  function TypePrimary(ctx, state) {
12637
12961
  return $EVENT_C(ctx, state, "TypePrimary", TypePrimary$$);
12638
12962
  }
12639
- var ImportType$0 = $S($EXPECT($L17, 'ImportType "import"'), OpenParen, __, StringLiteral, __, CloseParen, $E($S(Dot, IdentifierName)), $E(TypeArguments));
12640
- var ImportType$1 = $S($EXPECT($L17, 'ImportType "import"'), InsertOpenParen, Trimmed_, StringLiteral, InsertCloseParen);
12963
+ var ImportType$0 = $S($EXPECT($L18, 'ImportType "import"'), OpenParen, __, StringLiteral, __, CloseParen, $E($S(Dot, IdentifierName)), $E(TypeArguments));
12964
+ var ImportType$1 = $S($EXPECT($L18, 'ImportType "import"'), InsertOpenParen, Trimmed_, StringLiteral, InsertCloseParen);
12641
12965
  var ImportType$$ = [ImportType$0, ImportType$1];
12642
12966
  function ImportType(ctx, state) {
12643
12967
  return $EVENT_C(ctx, state, "ImportType", ImportType$$);
12644
12968
  }
12645
- var TypeTuple$0 = $S(OpenBracket, NestedTypeList, __, CloseBracket);
12646
- var TypeTuple$1 = $S(OpenBracket, $E(TypeList), __, CloseBracket);
12647
- var TypeTuple$$ = [TypeTuple$0, TypeTuple$1];
12969
+ var TypeTuple$0 = $TS($S(OpenBracket, $C(NestedTypeList, $E(TypeList)), __, CloseBracket), function($skip, $loc, $0, $1, $2, $3, $4) {
12970
+ return {
12971
+ type: "TypeTuple",
12972
+ children: $0
12973
+ };
12974
+ });
12648
12975
  function TypeTuple(ctx, state) {
12649
- return $EVENT_C(ctx, state, "TypeTuple", TypeTuple$$);
12976
+ return $EVENT(ctx, state, "TypeTuple", TypeTuple$0);
12650
12977
  }
12651
12978
  var TypeList$0 = $S(TypeElement, $Q($S(__, Comma, TypeElement)));
12652
12979
  function TypeList(ctx, state) {
@@ -12697,13 +13024,59 @@ var require_parser = __commonJS({
12697
13024
  function NestedType(ctx, state) {
12698
13025
  return $EVENT(ctx, state, "NestedType", NestedType$0);
12699
13026
  }
12700
- var TypeConditional$0 = $TS($S(TypeBinary, $E($S(__, $EXPECT($L140, 'TypeConditional "extends"'), NonIdContinue, Type, $E($S(__, QuestionMark, Type, __, Colon, Type))))), function($skip, $loc, $0, $1, $2) {
12701
- if ($2)
12702
- return $0;
12703
- return $1;
13027
+ var TypeConditional$0 = $TS($S($E(_), $EXPECT($R80, "TypeConditional /(?=if|unless)/"), TypeIfThenElse), function($skip, $loc, $0, $1, $2, $3) {
13028
+ return [$1, expressionizeTypeIf($3)];
13029
+ });
13030
+ var TypeConditional$1 = $TS($S(TypeCondition, NotDedented, QuestionMark, Type, __, Colon, Type), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7) {
13031
+ if ($1.negated)
13032
+ return [$1, $2, $3, $7, $5, $6, $4];
13033
+ return $0;
13034
+ });
13035
+ var TypeConditional$2 = $TS($S(TypeBinary, $E($S($E(IndentedFurther), ExtendsToken, Type))), function($skip, $loc, $0, $1, $2) {
13036
+ if (!$2)
13037
+ return $1;
13038
+ return $0;
12704
13039
  });
13040
+ var TypeConditional$$ = [TypeConditional$0, TypeConditional$1, TypeConditional$2];
12705
13041
  function TypeConditional(ctx, state) {
12706
- return $EVENT(ctx, state, "TypeConditional", TypeConditional$0);
13042
+ return $EVENT_C(ctx, state, "TypeConditional", TypeConditional$$);
13043
+ }
13044
+ var TypeCondition$0 = $TS($S(TypeBinary, $E(IndentedFurther), $C(ExtendsToken, NotExtendsToken), Type), function($skip, $loc, $0, $1, $2, $3, $4) {
13045
+ return {
13046
+ type: "TypeCondition",
13047
+ negated: $3.negated,
13048
+ children: $0
13049
+ };
13050
+ });
13051
+ function TypeCondition(ctx, state) {
13052
+ return $EVENT(ctx, state, "TypeCondition", TypeCondition$0);
13053
+ }
13054
+ var TypeIfThenElse$0 = $TS($S($E(_), $C(If, Unless), $S(OpenParen, TypeCondition, CloseParen), TypeBlock, $E(TypeElse)), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
13055
+ return [$1, $2, $3[1], $4, $5];
13056
+ });
13057
+ var TypeIfThenElse$1 = $S($E(_), $C(If, Unless), TypeCondition, TypeBlock, $E(TypeElse));
13058
+ var TypeIfThenElse$$ = [TypeIfThenElse$0, TypeIfThenElse$1];
13059
+ function TypeIfThenElse(ctx, state) {
13060
+ return $EVENT_C(ctx, state, "TypeIfThenElse", TypeIfThenElse$$);
13061
+ }
13062
+ var TypeElse$0 = $S(NotDedented, Else, TypeBlock);
13063
+ function TypeElse(ctx, state) {
13064
+ return $EVENT(ctx, state, "TypeElse", TypeElse$0);
13065
+ }
13066
+ var TypeBlock$0 = $T($S(Then, Type), function(value) {
13067
+ return value[1];
13068
+ });
13069
+ var TypeBlock$1 = $T($S($N(EOS), Type), function(value) {
13070
+ return value[1];
13071
+ });
13072
+ var TypeBlock$2 = $TS($S(PushIndent, $E($S(Nested, Type)), PopIndent), function($skip, $loc, $0, $1, $2, $3) {
13073
+ if (!$2)
13074
+ return $skip;
13075
+ return $2;
13076
+ });
13077
+ var TypeBlock$$ = [TypeBlock$0, TypeBlock$1, TypeBlock$2];
13078
+ function TypeBlock(ctx, state) {
13079
+ return $EVENT_C(ctx, state, "TypeBlock", TypeBlock$$);
12707
13080
  }
12708
13081
  var TypeTemplateSubstitution$0 = $S(SubstitutionStart, Type, __, CloseBrace);
12709
13082
  function TypeTemplateSubstitution(ctx, state) {
@@ -12735,10 +13108,10 @@ var require_parser = __commonJS({
12735
13108
  }
12736
13109
  var TypeLiteral$0 = TypeTemplateLiteral;
12737
13110
  var TypeLiteral$1 = Literal;
12738
- var TypeLiteral$2 = $TS($S($EXPECT($L191, 'TypeLiteral "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13111
+ var TypeLiteral$2 = $TS($S($EXPECT($L192, 'TypeLiteral "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12739
13112
  return { type: "VoidType", $loc, token: $1 };
12740
13113
  });
12741
- var TypeLiteral$3 = $TV($EXPECT($L211, 'TypeLiteral "[]"'), function($skip, $loc, $0, $1) {
13114
+ var TypeLiteral$3 = $TV($EXPECT($L212, 'TypeLiteral "[]"'), function($skip, $loc, $0, $1) {
12742
13115
  return { $loc, token: "[]" };
12743
13116
  });
12744
13117
  var TypeLiteral$$ = [TypeLiteral$0, TypeLiteral$1, TypeLiteral$2, TypeLiteral$3];
@@ -12757,16 +13130,16 @@ var require_parser = __commonJS({
12757
13130
  var InlineInterfacePropertyDelimiter$1 = $T($S($Y($S($C(IndentedFurther, $E(_)), InlineBasicInterfaceProperty)), InsertComma), function(value) {
12758
13131
  return value[1];
12759
13132
  });
12760
- var InlineInterfacePropertyDelimiter$2 = $Y($S(__, $C($EXPECT($L12, 'InlineInterfacePropertyDelimiter ":"'), $EXPECT($L114, 'InlineInterfacePropertyDelimiter ")"'), $EXPECT($L36, 'InlineInterfacePropertyDelimiter "]"'), $EXPECT($L27, 'InlineInterfacePropertyDelimiter "}"'))));
13133
+ var InlineInterfacePropertyDelimiter$2 = $Y($S(__, $C($EXPECT($L13, 'InlineInterfacePropertyDelimiter ":"'), $EXPECT($L115, 'InlineInterfacePropertyDelimiter ")"'), $EXPECT($L37, 'InlineInterfacePropertyDelimiter "]"'), $EXPECT($L28, 'InlineInterfacePropertyDelimiter "}"'))));
12761
13134
  var InlineInterfacePropertyDelimiter$3 = $Y(EOS);
12762
13135
  var InlineInterfacePropertyDelimiter$$ = [InlineInterfacePropertyDelimiter$0, InlineInterfacePropertyDelimiter$1, InlineInterfacePropertyDelimiter$2, InlineInterfacePropertyDelimiter$3];
12763
13136
  function InlineInterfacePropertyDelimiter(ctx, state) {
12764
13137
  return $EVENT_C(ctx, state, "InlineInterfacePropertyDelimiter", InlineInterfacePropertyDelimiter$$);
12765
13138
  }
12766
- var TypeBinaryOp$0 = $TV($EXPECT($L100, 'TypeBinaryOp "|"'), function($skip, $loc, $0, $1) {
13139
+ var TypeBinaryOp$0 = $TV($EXPECT($L101, 'TypeBinaryOp "|"'), function($skip, $loc, $0, $1) {
12767
13140
  return { $loc, token: "|" };
12768
13141
  });
12769
- var TypeBinaryOp$1 = $TV($EXPECT($L99, 'TypeBinaryOp "&"'), function($skip, $loc, $0, $1) {
13142
+ var TypeBinaryOp$1 = $TV($EXPECT($L100, 'TypeBinaryOp "&"'), function($skip, $loc, $0, $1) {
12770
13143
  return { $loc, token: "&" };
12771
13144
  });
12772
13145
  var TypeBinaryOp$$ = [TypeBinaryOp$0, TypeBinaryOp$1];
@@ -12783,7 +13156,7 @@ var require_parser = __commonJS({
12783
13156
  function FunctionType(ctx, state) {
12784
13157
  return $EVENT(ctx, state, "FunctionType", FunctionType$0);
12785
13158
  }
12786
- var TypeArrowFunction$0 = $TV($C($EXPECT($L10, 'TypeArrowFunction "=>"'), $EXPECT($L11, 'TypeArrowFunction "\u21D2"'), $EXPECT($L25, 'TypeArrowFunction "->"'), $EXPECT($L26, 'TypeArrowFunction "\u2192"')), function($skip, $loc, $0, $1) {
13159
+ var TypeArrowFunction$0 = $TV($C($EXPECT($L11, 'TypeArrowFunction "=>"'), $EXPECT($L12, 'TypeArrowFunction "\u21D2"'), $EXPECT($L26, 'TypeArrowFunction "->"'), $EXPECT($L27, 'TypeArrowFunction "\u2192"')), function($skip, $loc, $0, $1) {
12787
13160
  return { $loc, token: "=>" };
12788
13161
  });
12789
13162
  function TypeArrowFunction(ctx, state) {
@@ -12821,11 +13194,11 @@ var require_parser = __commonJS({
12821
13194
  function TypeParameters(ctx, state) {
12822
13195
  return $EVENT(ctx, state, "TypeParameters", TypeParameters$0);
12823
13196
  }
12824
- var TypeParameter$0 = $S(__, $E($S($EXPECT($L151, 'TypeParameter "const"'), $E(_))), Identifier, $E(TypeConstraint), $E(TypeInitializer), TypeParameterDelimiter);
13197
+ var TypeParameter$0 = $S(__, $E($S($EXPECT($L152, 'TypeParameter "const"'), $E(_))), Identifier, $E(TypeConstraint), $E(TypeInitializer), TypeParameterDelimiter);
12825
13198
  function TypeParameter(ctx, state) {
12826
13199
  return $EVENT(ctx, state, "TypeParameter", TypeParameter$0);
12827
13200
  }
12828
- var TypeConstraint$0 = $S(__, $EXPECT($L140, 'TypeConstraint "extends"'), NonIdContinue, Type);
13201
+ var TypeConstraint$0 = $S(__, $EXPECT($L141, 'TypeConstraint "extends"'), NonIdContinue, Type);
12829
13202
  function TypeConstraint(ctx, state) {
12830
13203
  return $EVENT(ctx, state, "TypeConstraint", TypeConstraint$0);
12831
13204
  }
@@ -12834,7 +13207,7 @@ var require_parser = __commonJS({
12834
13207
  return $EVENT(ctx, state, "TypeInitializer", TypeInitializer$0);
12835
13208
  }
12836
13209
  var TypeParameterDelimiter$0 = $S($E(_), Comma);
12837
- var TypeParameterDelimiter$1 = $Y($S(__, $EXPECT($L35, 'TypeParameterDelimiter ">"')));
13210
+ var TypeParameterDelimiter$1 = $Y($S(__, $EXPECT($L36, 'TypeParameterDelimiter ">"')));
12838
13211
  var TypeParameterDelimiter$2 = $T($S($Y(EOS), InsertComma), function(value) {
12839
13212
  return value[1];
12840
13213
  });
@@ -12848,15 +13221,15 @@ var require_parser = __commonJS({
12848
13221
  function ThisType(ctx, state) {
12849
13222
  return $EVENT(ctx, state, "ThisType", ThisType$0);
12850
13223
  }
12851
- var Shebang$0 = $S($R$0($EXPECT($R79, "Shebang /#![^\\r\\n]*/")), EOL);
13224
+ var Shebang$0 = $S($R$0($EXPECT($R81, "Shebang /#![^\\r\\n]*/")), EOL);
12852
13225
  function Shebang(ctx, state) {
12853
13226
  return $EVENT(ctx, state, "Shebang", Shebang$0);
12854
13227
  }
12855
- var CivetPrologue$0 = $T($S($EXPECT($R80, "CivetPrologue /[\\t ]*/"), DoubleQuote, CivetPrologueContent, DoubleQuote, SimpleStatementDelimiter, $EXPECT($R81, "CivetPrologue /[ \\t]*/"), $C(EOL, $Y(RestOfLine))), function(value) {
13228
+ var CivetPrologue$0 = $T($S($EXPECT($R82, "CivetPrologue /[\\t ]*/"), DoubleQuote, CivetPrologueContent, DoubleQuote, SimpleStatementDelimiter, $EXPECT($R83, "CivetPrologue /[ \\t]*/"), $C(EOL, $Y(RestOfLine))), function(value) {
12856
13229
  var content = value[2];
12857
13230
  return content;
12858
13231
  });
12859
- var CivetPrologue$1 = $T($S($EXPECT($R80, "CivetPrologue /[\\t ]*/"), SingleQuote, CivetPrologueContent, SingleQuote, SimpleStatementDelimiter, $EXPECT($R81, "CivetPrologue /[ \\t]*/"), $C(EOL, $Y(RestOfLine))), function(value) {
13232
+ var CivetPrologue$1 = $T($S($EXPECT($R82, "CivetPrologue /[\\t ]*/"), SingleQuote, CivetPrologueContent, SingleQuote, SimpleStatementDelimiter, $EXPECT($R83, "CivetPrologue /[ \\t]*/"), $C(EOL, $Y(RestOfLine))), function(value) {
12860
13233
  var content = value[2];
12861
13234
  return content;
12862
13235
  });
@@ -12864,7 +13237,7 @@ var require_parser = __commonJS({
12864
13237
  function CivetPrologue(ctx, state) {
12865
13238
  return $EVENT_C(ctx, state, "CivetPrologue", CivetPrologue$$);
12866
13239
  }
12867
- var CivetPrologueContent$0 = $TS($S($EXPECT($L212, 'CivetPrologueContent "civet"'), NonIdContinue, $Q(CivetOption), $EXPECT($R82, "CivetPrologueContent /[\\s]*/")), function($skip, $loc, $0, $1, $2, $3, $4) {
13240
+ var CivetPrologueContent$0 = $TS($S($EXPECT($L213, 'CivetPrologueContent "civet"'), NonIdContinue, $Q(CivetOption), $EXPECT($R84, "CivetPrologueContent /[\\s]*/")), function($skip, $loc, $0, $1, $2, $3, $4) {
12868
13241
  var options = $3;
12869
13242
  return {
12870
13243
  type: "CivetPrologue",
@@ -12875,7 +13248,7 @@ var require_parser = __commonJS({
12875
13248
  function CivetPrologueContent(ctx, state) {
12876
13249
  return $EVENT(ctx, state, "CivetPrologueContent", CivetPrologueContent$0);
12877
13250
  }
12878
- var CivetOption$0 = $TR($EXPECT($R83, "CivetOption /\\s+([+-]?)([a-zA-Z0-9-]+)(\\s*=\\s*([a-zA-Z0-9.+-]*))?/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
13251
+ var CivetOption$0 = $TR($EXPECT($R85, "CivetOption /\\s+([+-]?)([a-zA-Z0-9-]+)(\\s*=\\s*([a-zA-Z0-9.+-]*))?/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12879
13252
  const optionName = $2.replace(/-+([a-z]?)/g, (_2, l) => {
12880
13253
  if (l)
12881
13254
  return l.toUpperCase();
@@ -12892,11 +13265,11 @@ var require_parser = __commonJS({
12892
13265
  function CivetOption(ctx, state) {
12893
13266
  return $EVENT(ctx, state, "CivetOption", CivetOption$0);
12894
13267
  }
12895
- var UnknownPrologue$0 = $S($R$0($EXPECT($R80, "UnknownPrologue /[\\t ]*/")), StringLiteral, $TEXT(SimpleStatementDelimiter), EOS);
13268
+ var UnknownPrologue$0 = $S($R$0($EXPECT($R82, "UnknownPrologue /[\\t ]*/")), StringLiteral, $TEXT(SimpleStatementDelimiter), EOS);
12896
13269
  function UnknownPrologue(ctx, state) {
12897
13270
  return $EVENT(ctx, state, "UnknownPrologue", UnknownPrologue$0);
12898
13271
  }
12899
- var TripleSlashDirective$0 = $S($R$0($EXPECT($R84, "TripleSlashDirective /\\/\\/\\/[^\\r\\n]*/")), $E(EOS));
13272
+ var TripleSlashDirective$0 = $S($R$0($EXPECT($R86, "TripleSlashDirective /\\/\\/\\/[^\\r\\n]*/")), $E(EOS));
12900
13273
  function TripleSlashDirective(ctx, state) {
12901
13274
  return $EVENT(ctx, state, "TripleSlashDirective", TripleSlashDirective$0);
12902
13275
  }
@@ -12910,13 +13283,13 @@ var require_parser = __commonJS({
12910
13283
  function PrologueString(ctx, state) {
12911
13284
  return $EVENT_C(ctx, state, "PrologueString", PrologueString$$);
12912
13285
  }
12913
- var EOS$0 = $T($S($EXPECT($R85, "EOS /(?=[ \\t\\r\\n\\/#]|$)/"), $P(RestOfLine)), function(value) {
13286
+ var EOS$0 = $T($S($EXPECT($R87, "EOS /(?=[ \\t\\r\\n\\/#]|$)/"), $P(RestOfLine)), function(value) {
12914
13287
  return value[1];
12915
13288
  });
12916
13289
  function EOS(ctx, state) {
12917
13290
  return $EVENT(ctx, state, "EOS", EOS$0);
12918
13291
  }
12919
- var EOL$0 = $TR($EXPECT($R86, "EOL /\\r\\n|\\n|\\r|$/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
13292
+ var EOL$0 = $TR($EXPECT($R88, "EOL /\\r\\n|\\n|\\r|$/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12920
13293
  return { $loc, token: $0 };
12921
13294
  });
12922
13295
  function EOL(ctx, state) {
@@ -13335,6 +13708,30 @@ var require_parser = __commonJS({
13335
13708
  ]
13336
13709
  });
13337
13710
  },
13711
+ concatAssign(ref) {
13712
+ const typeSuffix = {
13713
+ ts: true,
13714
+ children: [
13715
+ ": <B, A extends {push: (this: A, b: B) => void} | (B extends unknown[] ? {push: (this: A, ...b: B) => void} : never)>(lhs: A, rhs: B) => A"
13716
+ ]
13717
+ };
13718
+ module.prelude.push({
13719
+ children: [
13720
+ preludeVar,
13721
+ ref,
13722
+ typeSuffix,
13723
+ " = (lhs, rhs) => ((rhs",
13724
+ asAny,
13725
+ ")?.[Symbol.isConcatSpreadable] ? (lhs",
13726
+ asAny,
13727
+ ").push.apply(lhs, rhs",
13728
+ asAny,
13729
+ ") : (lhs",
13730
+ asAny,
13731
+ ").push(rhs), lhs);\n"
13732
+ ]
13733
+ });
13734
+ },
13338
13735
  JSX(jsxRef) {
13339
13736
  module.prelude.push({
13340
13737
  ts: true,
@@ -13436,7 +13833,7 @@ var require_parser = __commonJS({
13436
13833
  function Init(ctx, state) {
13437
13834
  return $EVENT(ctx, state, "Init", Init$0);
13438
13835
  }
13439
- var Indent$0 = $TR($EXPECT($R81, "Indent /[ \\t]*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
13836
+ var Indent$0 = $TR($EXPECT($R83, "Indent /[ \\t]*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
13440
13837
  const level = getIndentLevel($0, module.config.tab);
13441
13838
  return {
13442
13839
  $loc,
@@ -13590,6 +13987,7 @@ var require_parser = __commonJS({
13590
13987
  exports.UnaryBody = UnaryBody;
13591
13988
  exports.UnaryWithoutParenthesizedAssignmentBody = UnaryWithoutParenthesizedAssignmentBody;
13592
13989
  exports.UnaryPostfix = UnaryPostfix;
13990
+ exports.TypePostfix = TypePostfix;
13593
13991
  exports.UpdateExpression = UpdateExpression;
13594
13992
  exports.UpdateExpressionSymbol = UpdateExpressionSymbol;
13595
13993
  exports.AssignmentExpression = AssignmentExpression;
@@ -13619,6 +14017,8 @@ var require_parser = __commonJS({
13619
14017
  exports.ExtendsClause = ExtendsClause;
13620
14018
  exports.ExtendsToken = ExtendsToken;
13621
14019
  exports.ExtendsShorthand = ExtendsShorthand;
14020
+ exports.NotExtendsToken = NotExtendsToken;
14021
+ exports.OmittedNegation = OmittedNegation;
13622
14022
  exports.ExtendsTarget = ExtendsTarget;
13623
14023
  exports.ImplementsClause = ImplementsClause;
13624
14024
  exports.ImplementsToken = ImplementsToken;
@@ -14017,6 +14417,7 @@ var require_parser = __commonJS({
14017
14417
  exports.Each = Each;
14018
14418
  exports.Else = Else;
14019
14419
  exports.Equals = Equals;
14420
+ exports.ExclamationPoint = ExclamationPoint;
14020
14421
  exports.Export = Export;
14021
14422
  exports.Extends = Extends;
14022
14423
  exports.Finally = Finally;
@@ -14159,6 +14560,7 @@ var require_parser = __commonJS({
14159
14560
  exports.TypeIndexSignature = TypeIndexSignature;
14160
14561
  exports.TypeIndex = TypeIndex;
14161
14562
  exports.TypeSuffix = TypeSuffix;
14563
+ exports.MaybeIndentedType = MaybeIndentedType;
14162
14564
  exports.ReturnTypeSuffix = ReturnTypeSuffix;
14163
14565
  exports.ReturnType = ReturnType;
14164
14566
  exports.TypePredicate = TypePredicate;
@@ -14177,6 +14579,10 @@ var require_parser = __commonJS({
14177
14579
  exports.NestedTypeList = NestedTypeList;
14178
14580
  exports.NestedType = NestedType;
14179
14581
  exports.TypeConditional = TypeConditional;
14582
+ exports.TypeCondition = TypeCondition;
14583
+ exports.TypeIfThenElse = TypeIfThenElse;
14584
+ exports.TypeElse = TypeElse;
14585
+ exports.TypeBlock = TypeBlock;
14180
14586
  exports.TypeTemplateSubstitution = TypeTemplateSubstitution;
14181
14587
  exports.TypeTemplateLiteral = TypeTemplateLiteral;
14182
14588
  exports.CoffeeStringTypeSubstitution = CoffeeStringTypeSubstitution;
@@ -14263,6 +14669,7 @@ var require_parser = __commonJS({
14263
14669
  dedentBlockString,
14264
14670
  dedentBlockSubstitutions,
14265
14671
  expressionizeIfClause,
14672
+ expressionizeTypeIf,
14266
14673
  forRange,
14267
14674
  gatherBindingCode,
14268
14675
  getIndentLevel,