@danielx/civet 0.6.92 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (4) hide show
  1. package/dist/browser.js +1182 -954
  2. package/dist/main.js +1182 -954
  3. package/dist/main.mjs +1182 -954
  4. package/package.json +3 -2
package/dist/main.mjs CHANGED
@@ -461,6 +461,32 @@ function removeParentPointers(node) {
461
461
  }
462
462
  }
463
463
  }
464
+ function maybeWrap(node, parent) {
465
+ if (!isASTNodeObject(node)) {
466
+ updateParentPointers(node = {
467
+ type: "Wrapper",
468
+ children: [node],
469
+ parent
470
+ });
471
+ }
472
+ return node;
473
+ }
474
+ function maybeUnwrap(node) {
475
+ if (node?.type === "Wrapper") {
476
+ return node.children[0];
477
+ } else {
478
+ return node;
479
+ }
480
+ }
481
+ function isASTNodeObject(node) {
482
+ return typeof node === "object" && node != null && !Array.isArray(node);
483
+ }
484
+ function isParent(node) {
485
+ return node != null && node.children != null;
486
+ }
487
+ function isToken(node) {
488
+ return node != null && node.token != null;
489
+ }
464
490
  function isEmptyBareBlock(node) {
465
491
  if (node?.type !== "BlockStatement")
466
492
  return false;
@@ -489,12 +515,32 @@ function isWhitespaceOrEmpty(node) {
489
515
  return;
490
516
  }
491
517
  function isExit(node) {
492
- return [
493
- "ReturnStatement",
494
- "ThrowStatement",
495
- "BreakStatement",
496
- "ContinueStatement"
497
- ].includes(node?.type);
518
+ if (!(node != null)) {
519
+ return false;
520
+ }
521
+ switch (node.type) {
522
+ case "ReturnStatement":
523
+ case "ThrowStatement":
524
+ case "BreakStatement":
525
+ case "ContinueStatement": {
526
+ return true;
527
+ }
528
+ case "IfStatement": {
529
+ return isExit(node.then) && isExit(node.else?.at(-1));
530
+ }
531
+ case "BlockStatement": {
532
+ return isExit(node.expressions.at(-1)?.[1]);
533
+ }
534
+ case "IterationStatement": {
535
+ return node.condition?.type === "ParenthesizedExpression" && node.condition.expression?.type === "Literal" && node.condition.expression?.raw === "true" && gatherRecursiveWithinFunction(
536
+ node.block,
537
+ ({ type }) => type === "BreakStatement"
538
+ ).length === 0;
539
+ }
540
+ default: {
541
+ return false;
542
+ }
543
+ }
498
544
  }
499
545
  function isComma(node) {
500
546
  if (node?.token === ",") {
@@ -506,7 +552,7 @@ function isComma(node) {
506
552
  return;
507
553
  }
508
554
  function insertTrimmingSpace(target, c) {
509
- if (!target) {
555
+ if (!(target != null)) {
510
556
  return target;
511
557
  }
512
558
  if (Array.isArray(target)) {
@@ -516,35 +562,80 @@ function insertTrimmingSpace(target, c) {
516
562
  return target.map((e, i) => {
517
563
  if (i === 0) {
518
564
  return insertTrimmingSpace(e, c);
565
+ } else {
566
+ return e;
519
567
  }
520
- return e;
521
568
  });
522
- }
523
- if (target.children) {
569
+ } else if (isParent(target)) {
524
570
  return {
525
571
  ...target,
526
572
  children: insertTrimmingSpace(target.children, c)
527
573
  };
528
- }
529
- if (target.token) {
574
+ } else if (isToken(target)) {
530
575
  return {
531
576
  ...target,
532
577
  token: target.token.replace(/^ ?/, c)
533
578
  };
579
+ } else {
580
+ return target;
581
+ }
582
+ }
583
+ function inplaceInsertTrimmingSpace(target, c) {
584
+ if (!(target != null)) {
585
+ return target;
586
+ }
587
+ if (Array.isArray(target)) {
588
+ inplaceInsertTrimmingSpace(target[0], c);
589
+ } else if (isParent(target)) {
590
+ inplaceInsertTrimmingSpace(target.children, c);
591
+ } else if (isToken(target)) {
592
+ target.token = target.token.replace(/^ ?/, c);
534
593
  }
535
- return target;
536
594
  }
537
595
  function getTrimmingSpace(target) {
538
- if (!target)
596
+ if (!(target != null)) {
539
597
  return;
540
- if (Array.isArray(target))
598
+ }
599
+ if (Array.isArray(target)) {
541
600
  return getTrimmingSpace(target[0]);
542
- if (target.children)
601
+ } else if (isParent(target)) {
543
602
  return getTrimmingSpace(target.children[0]);
544
- if (target.token)
603
+ } else if (isToken(target)) {
545
604
  return target.token.match(/^ ?/)[0];
605
+ }
606
+ ;
546
607
  return;
547
608
  }
609
+ function prepend(prefix, node) {
610
+ if (!(prefix && prefix.length)) {
611
+ return node;
612
+ }
613
+ if (Array.isArray(node)) {
614
+ return [prefix, ...node];
615
+ } else if (isParent(node)) {
616
+ return {
617
+ ...node,
618
+ children: [prefix, ...node.children]
619
+ };
620
+ } else {
621
+ return [prefix, node];
622
+ }
623
+ }
624
+ function inplacePrepend(prefix, node) {
625
+ if (!prefix) {
626
+ return;
627
+ }
628
+ if (Array.isArray(prefix) && !prefix.length) {
629
+ return;
630
+ }
631
+ if (Array.isArray(node)) {
632
+ node.unshift(prefix);
633
+ } else if (isParent(node)) {
634
+ node.children.unshift(prefix);
635
+ } else {
636
+ throw new Error("Can't prepend to a leaf node");
637
+ }
638
+ }
548
639
  function literalValue(literal) {
549
640
  let { raw } = literal;
550
641
  switch (raw) {
@@ -599,12 +690,12 @@ function startsWith(target, value) {
599
690
  return startsWith(target[i], value);
600
691
  }
601
692
  }
693
+ if (typeof target === "string")
694
+ return value.test(target);
602
695
  if (target.children)
603
696
  return startsWith(target.children, value);
604
697
  if (target.token)
605
698
  return value.test(target.token);
606
- if (typeof target === "string")
607
- return value.test(target);
608
699
  return;
609
700
  }
610
701
  function hasAwait(exp) {
@@ -624,70 +715,60 @@ function deepCopy(node) {
624
715
  if (Array.isArray(node)) {
625
716
  return node.map(deepCopy);
626
717
  }
718
+ if (node?.type === "Ref")
719
+ return node;
627
720
  return Object.fromEntries(
628
721
  Object.entries(node).map(([key, value]) => {
629
722
  return [key, deepCopy(value)];
630
723
  })
631
724
  );
632
725
  }
633
- function makeAmpersandFunction(bodyAfterRef = []) {
634
- const ref = makeRef("$");
635
- const body = [ref, ...bodyAfterRef];
636
- const parameters = {
637
- type: "Parameters",
638
- children: [ref],
639
- names: []
640
- };
641
- const block = {
642
- expressions: body
643
- };
644
- return {
645
- type: "ArrowFunction",
646
- signature: {
647
- modifier: {}
648
- },
649
- children: [parameters, " => ", body],
650
- ref,
651
- body,
652
- ampersandBlock: true,
653
- block,
654
- parameters
655
- };
656
- }
657
- function makeAmpersandFunctionExpression(prefix, rhs) {
658
- let ref, body, typeSuffix;
659
- if (!rhs) {
660
- body = ref = makeRef("$");
661
- } else {
662
- ({ ref, typeSuffix } = rhs);
663
- if (!ref) {
664
- throw new Error("Could not find ref in ampersand shorthand block");
726
+ function removeHoistDecs(node) {
727
+ if (node == null)
728
+ return;
729
+ if (typeof node !== "object")
730
+ return;
731
+ if ("hoistDec" in node) {
732
+ node.hoistDec = void 0;
733
+ }
734
+ if (Array.isArray(node)) {
735
+ for (const child of node) {
736
+ removeHoistDecs(child);
665
737
  }
666
- body = rhs;
738
+ return;
667
739
  }
668
- if (prefix.length) {
669
- body = {
670
- type: "UnaryExpression",
671
- children: [processUnaryExpression(prefix, body, void 0)]
672
- };
740
+ if (node.children) {
741
+ for (const child of node.children) {
742
+ removeHoistDecs(child);
743
+ }
673
744
  }
674
- const parameters = {
745
+ }
746
+ function makeAmpersandFunction(rhs) {
747
+ let { ref, typeSuffix, body } = rhs;
748
+ if (!(ref != null)) {
749
+ ref = makeRef("$");
750
+ inplacePrepend(ref, body);
751
+ }
752
+ if (body?.type === "ObjectExpression") {
753
+ body = makeLeftHandSideExpression(body);
754
+ }
755
+ const parameters = makeNode({
675
756
  type: "Parameters",
676
757
  children: typeSuffix ? ["(", ref, typeSuffix, ")"] : [ref],
677
758
  names: []
678
- };
759
+ });
679
760
  const expressions = [body];
680
- const block = {
761
+ const block = makeNode({
681
762
  bare: true,
682
763
  expressions,
683
764
  children: [expressions]
684
- };
765
+ });
685
766
  const children = [parameters, " => ", block];
686
767
  const async = hasAwait(body);
687
768
  if (async) {
688
769
  children.unshift("async ");
689
770
  }
690
- return {
771
+ return makeNode({
691
772
  type: "ArrowFunction",
692
773
  signature: {
693
774
  modifier: {
@@ -700,45 +781,7 @@ function makeAmpersandFunctionExpression(prefix, rhs) {
700
781
  ampersandBlock: true,
701
782
  block,
702
783
  parameters
703
- };
704
- }
705
- function makeAmpersandBlockRHSBody(typeSuffix, callExpRest, unaryPostfix, assign, binopRHS) {
706
- const ref = makeRef("$");
707
- let exp = {
708
- type: "AmpersandRef",
709
- children: [ref],
710
- names: [],
711
- ref
712
- };
713
- if (callExpRest) {
714
- exp.children.push(...callExpRest[1]);
715
- }
716
- if (unaryPostfix) {
717
- exp = processUnaryExpression([], exp, unaryPostfix);
718
- }
719
- if (assign) {
720
- const [op1, more, rhs] = assign;
721
- const lhs = [
722
- [void 0, exp, ...op1],
723
- ...more.map((x) => [x[0], x[1], ...x[2]])
724
- ];
725
- exp = {
726
- type: "AssignmentExpression",
727
- children: [lhs, rhs],
728
- names: null,
729
- lhs,
730
- assigned: exp,
731
- exp: rhs
732
- };
733
- }
734
- if (binopRHS) {
735
- exp = {
736
- children: processBinaryOpExpression([exp, binopRHS[1]])
737
- };
738
- }
739
- exp.ref = ref;
740
- exp.typeSuffix = typeSuffix;
741
- return exp;
784
+ });
742
785
  }
743
786
  function makeLeftHandSideExpression(expression) {
744
787
  if (expression.parenthesized) {
@@ -755,6 +798,7 @@ function makeLeftHandSideExpression(expression) {
755
798
  case "NewExpression":
756
799
  case "ParenthesizedExpression":
757
800
  case "Ref":
801
+ case "Placeholder":
758
802
  case "StatementExpression":
759
803
  return expression;
760
804
  }
@@ -767,10 +811,12 @@ function makeLeftHandSideExpression(expression) {
767
811
  });
768
812
  }
769
813
  function updateParentPointers(node, parent, depth = 1) {
770
- if (node == null)
814
+ if (!(node != null)) {
771
815
  return;
772
- if (typeof node !== "object")
816
+ }
817
+ if (!(typeof node === "object")) {
773
818
  return;
819
+ }
774
820
  if (Array.isArray(node)) {
775
821
  for (const child of node) {
776
822
  updateParentPointers(child, parent, depth);
@@ -778,9 +824,10 @@ function updateParentPointers(node, parent, depth = 1) {
778
824
  return;
779
825
  }
780
826
  node = node;
781
- if (parent != null)
827
+ if (parent != null) {
782
828
  node.parent = parent;
783
- if (depth && node.children) {
829
+ }
830
+ if (depth && isParent(node)) {
784
831
  for (const child of node.children) {
785
832
  updateParentPointers(child, node, depth - 1);
786
833
  }
@@ -952,7 +999,13 @@ function gatherRecursiveWithinFunction(node, predicate) {
952
999
  return gatherRecursive(node, predicate, isFunction);
953
1000
  }
954
1001
  function findChildIndex(parent, child) {
1002
+ if (!(parent != null)) {
1003
+ return -1;
1004
+ }
955
1005
  const children = Array.isArray(parent) ? parent : parent.children;
1006
+ if (!(children != null)) {
1007
+ return -1;
1008
+ }
956
1009
  for (let i1 = 0, len = children.length; i1 < len; i1++) {
957
1010
  const i = i1;
958
1011
  const c = children[i1];
@@ -961,18 +1014,13 @@ function findChildIndex(parent, child) {
961
1014
  }
962
1015
  }
963
1016
  function arrayRecurse(array) {
964
- const results = [];
965
1017
  for (let i2 = 0, len1 = array.length; i2 < len1; i2++) {
966
- const i = i2;
967
1018
  const c = array[i2];
968
1019
  if (c === child || Array.isArray(c) && arrayRecurse(c)) {
969
1020
  return true;
970
- } else {
971
- results.push(void 0);
972
1021
  }
973
1022
  }
974
- ;
975
- return results;
1023
+ return false;
976
1024
  }
977
1025
  return -1;
978
1026
  }
@@ -983,7 +1031,7 @@ function findAncestor(node, predicate, stopPredicate) {
983
1031
  return { ancestor: parent, child: node };
984
1032
  }
985
1033
  node = parent;
986
- parent = node.parent;
1034
+ ({ parent } = node);
987
1035
  }
988
1036
  return { ancestor: void 0, child: node };
989
1037
  }
@@ -1172,7 +1220,7 @@ function insertHoistDec(block, node, dec) {
1172
1220
  }
1173
1221
  function processBlocks(statements) {
1174
1222
  insertSemicolon(statements);
1175
- gatherRecursive(statements, ($) => $.type === "BlockStatement").forEach(function({ expressions }) {
1223
+ gatherRecursive(statements, ($) => $.type === "BlockStatement").forEach(({ expressions }) => {
1176
1224
  return processBlocks(expressions);
1177
1225
  });
1178
1226
  }
@@ -1182,7 +1230,7 @@ function insertSemicolon(statements) {
1182
1230
  const i = i1;
1183
1231
  const s = statements[i1];
1184
1232
  if (i < l - 1) {
1185
- if (needsPrecedingSemicolon(statements[i + 1])) {
1233
+ if (needsPrecedingSemicolon(statements[i + 1][1])) {
1186
1234
  const delim = s[2];
1187
1235
  if (!delim) {
1188
1236
  s[2] = ";";
@@ -1194,40 +1242,45 @@ function insertSemicolon(statements) {
1194
1242
  }
1195
1243
  }
1196
1244
  function needsPrecedingSemicolon(exp) {
1197
- let following;
1198
- if (Array.isArray(exp)) {
1199
- [, following] = exp;
1200
- } else {
1201
- following = exp;
1245
+ if (!exp) {
1246
+ return false;
1202
1247
  }
1203
- if (!following) {
1248
+ if (Array.isArray(exp)) {
1249
+ for (let i2 = 0, len1 = exp.length; i2 < len1; i2++) {
1250
+ const child = exp[i2];
1251
+ if (!(child != null)) {
1252
+ continue;
1253
+ }
1254
+ return needsPrecedingSemicolon(child);
1255
+ }
1204
1256
  return false;
1205
1257
  }
1206
- if (Array.isArray(following)) {
1207
- return needsPrecedingSemicolon(following[0]);
1258
+ if (typeof exp === "string") {
1259
+ return /^\s*[\(\[\`\+\-\/]/.test(exp);
1208
1260
  }
1209
- switch (following.type) {
1261
+ switch (exp.type) {
1210
1262
  case "ParenthesizedExpression":
1211
1263
  case "ArrayExpression":
1212
1264
  case "ArrowFunction":
1213
1265
  case "TemplateLiteral":
1214
1266
  case "RegularExpressionLiteral":
1215
- case "RangeExpression": {
1267
+ case "RangeExpression":
1268
+ case "ComputedPropertyName": {
1216
1269
  return true;
1217
1270
  }
1218
1271
  case "AssignmentExpression": {
1219
- return startsWith(following, /^(\[|\()/);
1272
+ return startsWith(exp, /^(\[|\()/);
1220
1273
  }
1221
1274
  case "Literal": {
1222
- return following.raw?.startsWith("-") || following.raw?.startsWith("+");
1275
+ return exp.raw?.startsWith("-") || exp.raw?.startsWith("+");
1223
1276
  }
1224
1277
  case "PipelineExpression":
1225
1278
  case "UnwrappedExpression": {
1226
- return needsPrecedingSemicolon(following.children[1]);
1279
+ return needsPrecedingSemicolon(exp.children[1]);
1227
1280
  }
1228
1281
  default: {
1229
- if (following.children) {
1230
- return needsPrecedingSemicolon(following.children[0]);
1282
+ if (exp.children) {
1283
+ return needsPrecedingSemicolon(exp.children);
1231
1284
  }
1232
1285
  ;
1233
1286
  return;
@@ -1366,8 +1419,7 @@ function processPatternMatching(statements, ReservedWord, getRef) {
1366
1419
  const { clauses } = caseBlock;
1367
1420
  for (const c of clauses) {
1368
1421
  if (c.type === "WhenClause" && c.break) {
1369
- const last = c.block?.expressions?.at(-1)?.[1];
1370
- if (isExit(last)) {
1422
+ if (isExit(c.block)) {
1371
1423
  c.children.splice(c.children.indexOf(c.break), 1);
1372
1424
  c.break = void 0;
1373
1425
  }
@@ -1926,10 +1978,16 @@ function assignResults(node, collect) {
1926
1978
  if (!Array.isArray(node)) {
1927
1979
  return;
1928
1980
  }
1929
- let [, exp] = node;
1981
+ let [, exp, semi] = node;
1982
+ if (semi?.type === "SemicolonDelimiter") {
1983
+ return;
1984
+ }
1930
1985
  if (!exp) {
1931
1986
  return;
1932
1987
  }
1988
+ if (isExit(exp)) {
1989
+ return;
1990
+ }
1933
1991
  const outer = exp;
1934
1992
  let { type } = exp;
1935
1993
  if (type === "LabelledStatement") {
@@ -2021,6 +2079,9 @@ function insertReturn(node, outerNode = node) {
2021
2079
  if (!exp) {
2022
2080
  return;
2023
2081
  }
2082
+ if (isExit(exp)) {
2083
+ return;
2084
+ }
2024
2085
  const outer = exp;
2025
2086
  let { type } = exp;
2026
2087
  if (type === "LabelledStatement") {
@@ -2221,9 +2282,6 @@ function expressionizeIteration(exp) {
2221
2282
  function skipImplicitArguments(args) {
2222
2283
  if (args.length === 1) {
2223
2284
  let arg0 = args[0];
2224
- if (Array.isArray(arg0)) {
2225
- arg0 = arg0[1];
2226
- }
2227
2285
  if (arg0.type === "StatementExpression") {
2228
2286
  arg0 = arg0.statement;
2229
2287
  }
@@ -2253,7 +2311,11 @@ function processAssignmentDeclaration(decl, pattern, suffix, ws, assign, e) {
2253
2311
  let [splices, assignments] = gatherBindingCode(pattern);
2254
2312
  splices = splices.map((s) => [", ", s]);
2255
2313
  const thisAssignments = assignments.map((a) => ["", a, ";"]);
2256
- const initializer = [ws, assign, e];
2314
+ const initializer = makeNode({
2315
+ type: "Initializer",
2316
+ exp: e,
2317
+ children: [ws, assign, e]
2318
+ });
2257
2319
  const binding = makeNode({
2258
2320
  type: "Binding",
2259
2321
  pattern,
@@ -2292,7 +2354,7 @@ function processDeclarations(statements) {
2292
2354
  });
2293
2355
  }
2294
2356
  function prependStatementExpressionBlock(initializer, statement) {
2295
- let exp = initializer[2];
2357
+ let { exp } = initializer;
2296
2358
  let ws;
2297
2359
  if (Array.isArray(exp)) {
2298
2360
  ws = exp[0];
@@ -2312,7 +2374,7 @@ function prependStatementExpressionBlock(initializer, statement) {
2312
2374
  const statement2 = statementExp.statement;
2313
2375
  blockStatement[1] = statement2;
2314
2376
  if (statement2.type === "DoStatement") {
2315
- ref = initializer[2] = makeRef();
2377
+ ref = initializer.exp = initializer.children[2] = makeRef();
2316
2378
  assignResults(blockStatement, (resultNode) => {
2317
2379
  return makeNode({
2318
2380
  type: "AssignmentExpression",
@@ -2328,10 +2390,10 @@ function prependStatementExpressionBlock(initializer, statement) {
2328
2390
  } else {
2329
2391
  wrapIterationReturningResults(statement2, { children: blockStatement }, function() {
2330
2392
  });
2331
- ref = initializer[2] = statement2.resultsRef;
2393
+ ref = initializer.exp = initializer.children[2] = statement2.resultsRef;
2332
2394
  }
2333
2395
  } else {
2334
- ref = initializer[2] = makeRef();
2396
+ ref = initializer.exp = initializer.children[2] = makeRef();
2335
2397
  assignResults(blockStatement, (resultNode) => {
2336
2398
  return makeNode({
2337
2399
  type: "AssignmentExpression",
@@ -2530,8 +2592,7 @@ function dynamizeImportDeclaration(decl) {
2530
2592
  }
2531
2593
  })();
2532
2594
  const c = "const";
2533
- const initializer = [
2534
- " = ",
2595
+ const exp = [
2535
2596
  justDefault ? "(" : void 0,
2536
2597
  { type: "Await", children: ["await"] },
2537
2598
  " ",
@@ -2540,6 +2601,11 @@ function dynamizeImportDeclaration(decl) {
2540
2601
  dynamizeFromClause(decl.from),
2541
2602
  justDefault ? ").default" : void 0
2542
2603
  ];
2604
+ const initializer = {
2605
+ type: "Initializer",
2606
+ exp,
2607
+ children: [" ", "= ", exp]
2608
+ };
2543
2609
  const bindings = [{
2544
2610
  type: "Binding",
2545
2611
  names: pattern.names,
@@ -2549,11 +2615,15 @@ function dynamizeImportDeclaration(decl) {
2549
2615
  }];
2550
2616
  if (binding && specifiers) {
2551
2617
  const pattern2 = binding;
2552
- const initializer2 = [
2553
- " = ",
2618
+ const exp2 = [
2554
2619
  pattern,
2555
2620
  ".default"
2556
2621
  ];
2622
+ const initializer2 = {
2623
+ type: "Initializer",
2624
+ exp,
2625
+ children: [" ", "= ", exp2]
2626
+ };
2557
2627
  bindings.push({
2558
2628
  type: "Binding",
2559
2629
  names: binding.names,
@@ -2562,10 +2632,11 @@ function dynamizeImportDeclaration(decl) {
2562
2632
  children: [pattern2, initializer2]
2563
2633
  });
2564
2634
  const pattern3 = convertNamedImportsToObject(imports.children.at(-1), true);
2565
- const initializer3 = [
2566
- " = ",
2567
- pattern
2568
- ];
2635
+ const initializer3 = {
2636
+ type: "Initializer",
2637
+ exp: pattern,
2638
+ children: [" ", "= ", pattern]
2639
+ };
2569
2640
  bindings.push({
2570
2641
  type: "Binding",
2571
2642
  names: specifiers.names,
@@ -2713,6 +2784,7 @@ function processPipelineExpressions(statements) {
2713
2784
  switch (access.type) {
2714
2785
  case "PropertyAccess":
2715
2786
  case "SliceExpression":
2787
+ case "Index":
2716
2788
  break;
2717
2789
  default:
2718
2790
  children.unshift({
@@ -2749,6 +2821,7 @@ function processPipelineExpressions(statements) {
2749
2821
  exp: children
2750
2822
  });
2751
2823
  arg = clone(arg);
2824
+ removeHoistDecs(arg);
2752
2825
  if (arg.children[0].type === "Ref") {
2753
2826
  arg.children[0] = usingRef;
2754
2827
  }
@@ -3372,9 +3445,7 @@ __export(lib_exports, {
3372
3445
  isWhitespaceOrEmpty: () => isWhitespaceOrEmpty,
3373
3446
  lastAccessInCallExpression: () => lastAccessInCallExpression,
3374
3447
  literalValue: () => literalValue,
3375
- makeAmpersandBlockRHSBody: () => makeAmpersandBlockRHSBody,
3376
3448
  makeAmpersandFunction: () => makeAmpersandFunction,
3377
- makeAmpersandFunctionExpression: () => makeAmpersandFunctionExpression,
3378
3449
  makeEmptyBlock: () => makeEmptyBlock,
3379
3450
  makeExpressionStatement: () => makeExpressionStatement,
3380
3451
  makeGetterMethod: () => makeGetterMethod,
@@ -3384,6 +3455,7 @@ __export(lib_exports, {
3384
3455
  modifyString: () => modifyString,
3385
3456
  negateCondition: () => negateCondition,
3386
3457
  precedenceStep: () => precedenceStep,
3458
+ prepend: () => prepend,
3387
3459
  processAssignmentDeclaration: () => processAssignmentDeclaration,
3388
3460
  processBinaryOpExpression: () => processBinaryOpExpression,
3389
3461
  processCallMemberExpression: () => processCallMemberExpression,
@@ -3723,8 +3795,9 @@ function processCallMemberExpression(node) {
3723
3795
  }
3724
3796
  return node;
3725
3797
  }
3726
- function replaceNode(node, newNode) {
3727
- if (!(node.parent != null)) {
3798
+ function replaceNode(node, newNode, parent) {
3799
+ parent ??= node.parent;
3800
+ if (!(parent != null)) {
3728
3801
  throw new Error("replaceNode failed: node has no parent");
3729
3802
  }
3730
3803
  function recurse(children) {
@@ -3742,12 +3815,20 @@ function replaceNode(node, newNode) {
3742
3815
  }
3743
3816
  return false;
3744
3817
  }
3745
- if (!recurse(node.parent.children)) {
3818
+ if (!recurse(parent.children)) {
3746
3819
  throw new Error("replaceNode failed: didn't find child node in parent");
3747
3820
  }
3748
- if (typeof newNode === "object" && !Array.isArray(newNode)) {
3749
- newNode.parent = node.parent;
3821
+ for (const key in parent) {
3822
+ const value = parent[key];
3823
+ if (value === node) {
3824
+ parent[key] = newNode;
3825
+ return;
3826
+ }
3827
+ }
3828
+ if (isASTNodeObject(newNode)) {
3829
+ newNode.parent = parent;
3750
3830
  }
3831
+ node.parent = void 0;
3751
3832
  }
3752
3833
  function makeExpressionStatement(expression) {
3753
3834
  if (Array.isArray(expression) && expression[1]?.[0]?.[0]?.[1]?.token === ",") {
@@ -4011,10 +4092,13 @@ function processAssignments(statements) {
4011
4092
  (exp) => {
4012
4093
  let { lhs: $1, exp: $2 } = exp, tail = [], i = 0, len = $1.length;
4013
4094
  let block;
4014
- if (exp.parent.type === "BlockStatement" && !$1.at(-1)?.at(-1)?.special) {
4095
+ if (exp.parent?.type === "BlockStatement" && !$1.at(-1)?.at(-1)?.special) {
4015
4096
  block = makeBlockFragment();
4016
4097
  let ref4;
4017
- if (ref4 = prependStatementExpressionBlock([null, null, $2], block)) {
4098
+ if (ref4 = prependStatementExpressionBlock(
4099
+ { type: "Initializer", exp: $2, children: [void 0, void 0, $2] },
4100
+ block
4101
+ )) {
4018
4102
  const ref = ref4;
4019
4103
  exp.children = exp.children.map(function(c) {
4020
4104
  if (c === $2)
@@ -4337,7 +4421,7 @@ function processProgram(root, config, m, ReservedWord) {
4337
4421
  assert.equal(m.JSXTagStack.length, 1, "JSXTagStack");
4338
4422
  addParentPointers(root);
4339
4423
  const { expressions: statements } = root;
4340
- processPartialPlaceholders(statements);
4424
+ processPlaceholders(statements);
4341
4425
  processNegativeIndexAccess(statements);
4342
4426
  processTypes(statements);
4343
4427
  processDeclarationConditions(statements, m.getRef);
@@ -4382,40 +4466,140 @@ function populateRefs(statements) {
4382
4466
  });
4383
4467
  }
4384
4468
  }
4385
- function processPartialPlaceholders(statements) {
4386
- const partialMap = /* @__PURE__ */ new Map();
4387
- gatherRecursiveAll(statements, ($3) => $3.type === "PartialPlaceholder").forEach((_exp) => {
4469
+ function processPlaceholders(statements) {
4470
+ const placeholderMap = /* @__PURE__ */ new Map();
4471
+ gatherRecursiveAll(statements, ($3) => $3.type === "Placeholder").forEach((_exp) => {
4388
4472
  const exp = _exp;
4389
- let { ancestor } = findAncestor(exp, ($4) => $4?.type === "Call");
4390
- ancestor = ancestor?.parent;
4391
- while (ancestor?.parent?.type === "UnaryExpression") {
4392
- ancestor = ancestor.parent;
4473
+ let ancestor;
4474
+ if (exp.subtype === ".") {
4475
+ ({ ancestor } = findAncestor(exp, ($4) => $4.type === "Call"));
4476
+ ancestor = ancestor?.parent;
4477
+ while (ancestor?.parent?.type === "UnaryExpression" || ancestor?.parent?.type === "NewExpression") {
4478
+ ancestor = ancestor.parent;
4479
+ }
4480
+ if (!ancestor) {
4481
+ replaceNode(exp, {
4482
+ type: "Error",
4483
+ message: "Partial placeholder . outside of call expression"
4484
+ });
4485
+ return;
4486
+ }
4487
+ } else {
4488
+ let child;
4489
+ ({ ancestor, child } = findAncestor(exp, (ancestor2, child2) => {
4490
+ const { type } = ancestor2;
4491
+ return type === "Call" || type === "BlockStatement" || type === "PipelineExpression" || // Declaration
4492
+ type === "Initializer" || // Right-hand side of assignment
4493
+ type === "AssignmentExpression" && ancestor2.exp === child2;
4494
+ }));
4495
+ switch (ancestor?.type) {
4496
+ case "Call": {
4497
+ const i = findChildIndex(ancestor.args, child);
4498
+ if (i >= 0) {
4499
+ ancestor.args[i] = maybeWrap(ancestor.args[i], ancestor);
4500
+ ancestor = ancestor.args[i];
4501
+ } else {
4502
+ ancestor = void 0;
4503
+ }
4504
+ ;
4505
+ break;
4506
+ }
4507
+ case "BlockStatement": {
4508
+ const i = findChildIndex(ancestor.expressions, child);
4509
+ if (i >= 0) {
4510
+ ancestor.expressions[i][1] = maybeWrap(ancestor.expressions[i][1], ancestor);
4511
+ ancestor = ancestor.expressions[i][1];
4512
+ } else {
4513
+ ancestor = void 0;
4514
+ }
4515
+ ;
4516
+ break;
4517
+ }
4518
+ case "PipelineExpression": {
4519
+ const i = findChildIndex(ancestor, child);
4520
+ if (i === 1) {
4521
+ ancestor = ancestor;
4522
+ } else if (i === 2) {
4523
+ const j = findChildIndex(ancestor.children[i], child);
4524
+ ancestor.children[i][j][3] = maybeWrap(ancestor.children[i][j][3], ancestor);
4525
+ ancestor = ancestor.children[i][j][3];
4526
+ } else {
4527
+ ancestor = void 0;
4528
+ }
4529
+ ;
4530
+ break;
4531
+ }
4532
+ case "AssignmentExpression":
4533
+ case "Initializer": {
4534
+ const i = findChildIndex(ancestor, child);
4535
+ if (i >= 0 && ancestor.exp === ancestor.children[i]) {
4536
+ ancestor.exp = ancestor.children[i] = maybeWrap(ancestor.exp, ancestor);
4537
+ ancestor = ancestor.exp;
4538
+ } else {
4539
+ ancestor = void 0;
4540
+ }
4541
+ ;
4542
+ break;
4543
+ }
4544
+ }
4545
+ if (!ancestor) {
4546
+ replaceNode(exp, {
4547
+ type: "Error",
4548
+ message: "Ampersand placeholder & outside of block"
4549
+ });
4550
+ }
4393
4551
  }
4394
- if (ancestor) {
4395
- if (partialMap.has(ancestor)) {
4396
- return partialMap.get(ancestor).push(exp);
4552
+ if (ancestor != null) {
4553
+ if (placeholderMap.has(ancestor)) {
4554
+ return placeholderMap.get(ancestor).push(exp);
4397
4555
  } else {
4398
- return partialMap.set(ancestor, [exp]);
4556
+ return placeholderMap.set(ancestor, [exp]);
4399
4557
  }
4400
- } else {
4401
- return replaceNode(exp, {
4402
- type: "Error",
4403
- message: "Partial placeholder outside of call expression",
4404
- parent: exp.parent
4405
- });
4406
4558
  }
4559
+ ;
4560
+ return;
4407
4561
  });
4408
- for (const [ancestor, placeholders] of partialMap) {
4562
+ for (const [ancestor, placeholders] of placeholderMap) {
4409
4563
  let ref = makeRef("$");
4410
- placeholders.forEach((exp) => {
4411
- return replaceNode(exp.children.at(-1), ref);
4412
- });
4413
- const rhs = {
4414
- ref,
4415
- children: [ancestor]
4416
- };
4417
- const fnExp = makeAmpersandFunctionExpression([], rhs);
4418
- replaceNode(ancestor, fnExp);
4564
+ let typeSuffix;
4565
+ for (let i4 = 0, len3 = placeholders.length; i4 < len3; i4++) {
4566
+ const placeholder = placeholders[i4];
4567
+ typeSuffix ??= placeholder.typeSuffix;
4568
+ replaceNode(placeholder.children.at(-1), ref);
4569
+ }
4570
+ const { parent } = ancestor;
4571
+ const body = maybeUnwrap(ancestor);
4572
+ let fnExp = makeAmpersandFunction({ ref, typeSuffix, body });
4573
+ let outer;
4574
+ switch (parent?.type) {
4575
+ case "Call": {
4576
+ outer = ancestor === parent.args[findChildIndex(parent.args, ancestor)];
4577
+ break;
4578
+ }
4579
+ case "BlockStatement": {
4580
+ outer = ancestor === parent.expressions[findChildIndex(parent.expressions, ancestor)][1];
4581
+ break;
4582
+ }
4583
+ case "PipelineExpression": {
4584
+ outer = ancestor === parent.children[2][findChildIndex(parent.children[2], ancestor)][3];
4585
+ break;
4586
+ }
4587
+ case "AssignmentExpression":
4588
+ case "Initializer": {
4589
+ outer = ancestor === parent.exp;
4590
+ break;
4591
+ }
4592
+ }
4593
+ if (!outer) {
4594
+ fnExp = makeLeftHandSideExpression(fnExp);
4595
+ }
4596
+ replaceNode(ancestor, fnExp, parent);
4597
+ let ref7;
4598
+ if (ref7 = getTrimmingSpace(body)) {
4599
+ const ws = ref7;
4600
+ inplaceInsertTrimmingSpace(body, "");
4601
+ inplacePrepend(ws, fnExp);
4602
+ }
4419
4603
  }
4420
4604
  return;
4421
4605
  }
@@ -4486,9 +4670,9 @@ function replaceNodes(root, predicate, replacer) {
4486
4670
  return root;
4487
4671
  }
4488
4672
  }
4489
- for (let i4 = 0, len3 = array.length; i4 < len3; i4++) {
4490
- const i = i4;
4491
- const node = array[i4];
4673
+ for (let i5 = 0, len4 = array.length; i5 < len4; i5++) {
4674
+ const i = i5;
4675
+ const node = array[i5];
4492
4676
  if (!(node != null)) {
4493
4677
  return;
4494
4678
  }
@@ -4512,9 +4696,9 @@ function replaceNodesRecursive(root, predicate, replacer) {
4512
4696
  return root;
4513
4697
  }
4514
4698
  }
4515
- for (let i5 = 0, len4 = array.length; i5 < len4; i5++) {
4516
- const i = i5;
4517
- const node = array[i5];
4699
+ for (let i6 = 0, len5 = array.length; i6 < len5; i6++) {
4700
+ const i = i6;
4701
+ const node = array[i6];
4518
4702
  if (!(node != null)) {
4519
4703
  continue;
4520
4704
  }
@@ -5111,6 +5295,7 @@ var require_parser = __commonJS({
5111
5295
  ExplicitArguments,
5112
5296
  ApplicationStart,
5113
5297
  ForbiddenImplicitCalls,
5298
+ ReservedBinary,
5114
5299
  ArgumentsWithTrailingMemberExpressions,
5115
5300
  TrailingMemberExpressions,
5116
5301
  AllowedTrailingMemberExpressions,
@@ -5143,8 +5328,11 @@ var require_parser = __commonJS({
5143
5328
  AssignmentExpression,
5144
5329
  NonPipelineAssignmentExpression,
5145
5330
  SingleLineAssignmentExpression,
5331
+ NonPipelineSingleLineAssignmentExpression,
5146
5332
  AssignmentExpressionTail,
5333
+ NonPipelineAssignmentExpressionTail,
5147
5334
  ActualAssignment,
5335
+ NonPipelineActualAssignment,
5148
5336
  YieldExpression,
5149
5337
  YieldTail,
5150
5338
  ArrowFunction,
@@ -5161,7 +5349,8 @@ var require_parser = __commonJS({
5161
5349
  PipelineTailItem,
5162
5350
  PrimaryExpression,
5163
5351
  ParenthesizedExpression,
5164
- PartialPlaceholder,
5352
+ Placeholder,
5353
+ AmpersandTypeSuffix,
5165
5354
  ClassDeclaration,
5166
5355
  ClassExpression,
5167
5356
  ClassBinding,
@@ -5250,15 +5439,11 @@ var require_parser = __commonJS({
5250
5439
  FunctionDeclaration,
5251
5440
  FunctionSignature,
5252
5441
  FunctionExpression,
5253
- AmpersandFunctionExpression,
5254
5442
  OperatorDeclaration,
5255
5443
  OperatorSignature,
5256
5444
  OperatorBehavior,
5257
5445
  OperatorPrecedence,
5258
5446
  OperatorAssociativity,
5259
- AmpersandBlockRHS,
5260
- AmpersandTypeSuffix,
5261
- AmpersandBlockRHSBody,
5262
5447
  ThinArrowFunction,
5263
5448
  Arrow,
5264
5449
  ExplicitBlock,
@@ -5847,302 +6032,302 @@ var require_parser = __commonJS({
5847
6032
  var $L23 = $L("import.meta");
5848
6033
  var $L24 = $L("return.value");
5849
6034
  var $L25 = $L(",");
5850
- var $L26 = $L("(&)");
5851
- var $L27 = $L("tighter");
5852
- var $L28 = $L("looser");
5853
- var $L29 = $L("same");
5854
- var $L30 = $L("left");
5855
- var $L31 = $L("right");
5856
- var $L32 = $L("non");
5857
- var $L33 = $L("relational");
5858
- var $L34 = $L("arguments");
5859
- var $L35 = $L("->");
5860
- var $L36 = $L("\u2192");
5861
- var $L37 = $L("}");
5862
- var $L38 = $L("null");
5863
- var $L39 = $L("true");
5864
- var $L40 = $L("false");
5865
- var $L41 = $L("yes");
5866
- var $L42 = $L("on");
5867
- var $L43 = $L("no");
5868
- var $L44 = $L("off");
5869
- var $L45 = $L(">");
5870
- var $L46 = $L("]");
5871
- var $L47 = $L("**=");
5872
- var $L48 = $L("*=");
5873
- var $L49 = $L("/=");
5874
- var $L50 = $L("%=");
5875
- var $L51 = $L("+=");
5876
- var $L52 = $L("-=");
5877
- var $L53 = $L("<<=");
5878
- var $L54 = $L(">>>=");
5879
- var $L55 = $L(">>=");
5880
- var $L56 = $L("&&=");
5881
- var $L57 = $L("&=");
5882
- var $L58 = $L("^=");
5883
- var $L59 = $L("||=");
5884
- var $L60 = $L("|=");
5885
- var $L61 = $L("??=");
5886
- var $L62 = $L("?=");
5887
- var $L63 = $L("and=");
5888
- var $L64 = $L("or=");
5889
- var $L65 = $L("**");
5890
- var $L66 = $L("*");
5891
- var $L67 = $L("/");
5892
- var $L68 = $L("%%");
5893
- var $L69 = $L("%");
5894
- var $L70 = $L("+");
5895
- var $L71 = $L("<=");
5896
- var $L72 = $L("\u2264");
5897
- var $L73 = $L(">=");
5898
- var $L74 = $L("\u2265");
5899
- var $L75 = $L("<?");
5900
- var $L76 = $L("!<?");
5901
- var $L77 = $L("<<");
5902
- var $L78 = $L("\xAB");
5903
- var $L79 = $L(">>>");
5904
- var $L80 = $L("\u22D9");
5905
- var $L81 = $L(">>");
5906
- var $L82 = $L("\xBB");
5907
- var $L83 = $L("!==");
5908
- var $L84 = $L("\u2262");
5909
- var $L85 = $L("!=");
5910
- var $L86 = $L("\u2260");
5911
- var $L87 = $L("isnt");
5912
- var $L88 = $L("===");
5913
- var $L89 = $L("\u2263");
5914
- var $L90 = $L("\u2A76");
5915
- var $L91 = $L("==");
5916
- var $L92 = $L("\u2261");
5917
- var $L93 = $L("\u2A75");
5918
- var $L94 = $L("and");
5919
- var $L95 = $L("&&");
5920
- var $L96 = $L("or");
5921
- var $L97 = $L("||");
5922
- var $L98 = $L("\u2016");
5923
- var $L99 = $L("^^");
5924
- var $L100 = $L("xor");
5925
- var $L101 = $L("xnor");
5926
- var $L102 = $L("??");
5927
- var $L103 = $L("\u2047");
5928
- var $L104 = $L("instanceof");
5929
- var $L105 = $L("\u2208");
5930
- var $L106 = $L("\u220B");
5931
- var $L107 = $L("\u220C");
5932
- var $L108 = $L("\u2209");
5933
- var $L109 = $L("&");
5934
- var $L110 = $L("|");
5935
- var $L111 = $L("$:");
5936
- var $L112 = $L(";");
5937
- var $L113 = $L("break");
5938
- var $L114 = $L("continue");
5939
- var $L115 = $L("debugger");
5940
- var $L116 = $L("require");
5941
- var $L117 = $L("with");
5942
- var $L118 = $L("assert");
5943
- var $L119 = $L(":=");
5944
- var $L120 = $L("\u2254");
5945
- var $L121 = $L(".=");
5946
- var $L122 = $L("::=");
5947
- var $L123 = $L("/*");
5948
- var $L124 = $L("*/");
5949
- var $L125 = $L("\\");
5950
- var $L126 = $L(")");
5951
- var $L127 = $L("abstract");
5952
- var $L128 = $L("as");
5953
- var $L129 = $L("@");
5954
- var $L130 = $L("@@");
5955
- var $L131 = $L("async");
5956
- var $L132 = $L("await");
5957
- var $L133 = $L("`");
5958
- var $L134 = $L("by");
5959
- var $L135 = $L("case");
5960
- var $L136 = $L("catch");
5961
- var $L137 = $L("class");
5962
- var $L138 = $L("#{");
5963
- var $L139 = $L("declare");
5964
- var $L140 = $L("default");
5965
- var $L141 = $L("delete");
5966
- var $L142 = $L("do");
5967
- var $L143 = $L("..");
5968
- var $L144 = $L("\u2025");
5969
- var $L145 = $L("...");
5970
- var $L146 = $L("\u2026");
5971
- var $L147 = $L("::");
5972
- var $L148 = $L('"');
5973
- var $L149 = $L("each");
5974
- var $L150 = $L("else");
5975
- var $L151 = $L("!");
5976
- var $L152 = $L("export");
5977
- var $L153 = $L("extends");
5978
- var $L154 = $L("finally");
5979
- var $L155 = $L("for");
5980
- var $L156 = $L("from");
5981
- var $L157 = $L("function");
5982
- var $L158 = $L("get");
5983
- var $L159 = $L("set");
5984
- var $L160 = $L("#");
5985
- var $L161 = $L("if");
5986
- var $L162 = $L("in");
5987
- var $L163 = $L("infer");
5988
- var $L164 = $L("let");
5989
- var $L165 = $L("const");
5990
- var $L166 = $L("is");
5991
- var $L167 = $L("loop");
5992
- var $L168 = $L("new");
5993
- var $L169 = $L("not");
5994
- var $L170 = $L("of");
5995
- var $L171 = $L("[");
5996
- var $L172 = $L("operator");
5997
- var $L173 = $L("override");
5998
- var $L174 = $L("own");
5999
- var $L175 = $L("public");
6000
- var $L176 = $L("private");
6001
- var $L177 = $L("protected");
6002
- var $L178 = $L("||>");
6003
- var $L179 = $L("|\u25B7");
6004
- var $L180 = $L("|>=");
6005
- var $L181 = $L("\u25B7=");
6006
- var $L182 = $L("|>");
6007
- var $L183 = $L("\u25B7");
6008
- var $L184 = $L("readonly");
6009
- var $L185 = $L("return");
6010
- var $L186 = $L("satisfies");
6011
- var $L187 = $L("'");
6012
- var $L188 = $L("static");
6013
- var $L189 = $L("${");
6014
- var $L190 = $L("super");
6015
- var $L191 = $L("switch");
6016
- var $L192 = $L("target");
6017
- var $L193 = $L("then");
6018
- var $L194 = $L("this");
6019
- var $L195 = $L("throw");
6020
- var $L196 = $L('"""');
6021
- var $L197 = $L("'''");
6022
- var $L198 = $L("///");
6023
- var $L199 = $L("```");
6024
- var $L200 = $L("try");
6025
- var $L201 = $L("typeof");
6026
- var $L202 = $L("undefined");
6027
- var $L203 = $L("unless");
6028
- var $L204 = $L("until");
6029
- var $L205 = $L("using");
6030
- var $L206 = $L("var");
6031
- var $L207 = $L("void");
6032
- var $L208 = $L("when");
6033
- var $L209 = $L("while");
6034
- var $L210 = $L("yield");
6035
- var $L211 = $L("/>");
6036
- var $L212 = $L("</");
6037
- var $L213 = $L("<>");
6038
- var $L214 = $L("</>");
6039
- var $L215 = $L("<!--");
6040
- var $L216 = $L("-->");
6041
- var $L217 = $L("type");
6042
- var $L218 = $L("enum");
6043
- var $L219 = $L("interface");
6044
- var $L220 = $L("global");
6045
- var $L221 = $L("module");
6046
- var $L222 = $L("namespace");
6047
- var $L223 = $L("asserts");
6048
- var $L224 = $L("keyof");
6049
- var $L225 = $L("???");
6050
- var $L226 = $L("[]");
6051
- var $L227 = $L("civet");
6035
+ var $L26 = $L("tighter");
6036
+ var $L27 = $L("looser");
6037
+ var $L28 = $L("same");
6038
+ var $L29 = $L("left");
6039
+ var $L30 = $L("right");
6040
+ var $L31 = $L("non");
6041
+ var $L32 = $L("relational");
6042
+ var $L33 = $L("arguments");
6043
+ var $L34 = $L("->");
6044
+ var $L35 = $L("\u2192");
6045
+ var $L36 = $L("}");
6046
+ var $L37 = $L("null");
6047
+ var $L38 = $L("true");
6048
+ var $L39 = $L("false");
6049
+ var $L40 = $L("yes");
6050
+ var $L41 = $L("on");
6051
+ var $L42 = $L("no");
6052
+ var $L43 = $L("off");
6053
+ var $L44 = $L(">");
6054
+ var $L45 = $L("]");
6055
+ var $L46 = $L("**=");
6056
+ var $L47 = $L("*=");
6057
+ var $L48 = $L("/=");
6058
+ var $L49 = $L("%=");
6059
+ var $L50 = $L("+=");
6060
+ var $L51 = $L("-=");
6061
+ var $L52 = $L("<<=");
6062
+ var $L53 = $L(">>>=");
6063
+ var $L54 = $L(">>=");
6064
+ var $L55 = $L("&&=");
6065
+ var $L56 = $L("&=");
6066
+ var $L57 = $L("^=");
6067
+ var $L58 = $L("||=");
6068
+ var $L59 = $L("|=");
6069
+ var $L60 = $L("??=");
6070
+ var $L61 = $L("?=");
6071
+ var $L62 = $L("and=");
6072
+ var $L63 = $L("or=");
6073
+ var $L64 = $L("**");
6074
+ var $L65 = $L("*");
6075
+ var $L66 = $L("/");
6076
+ var $L67 = $L("%%");
6077
+ var $L68 = $L("%");
6078
+ var $L69 = $L("+");
6079
+ var $L70 = $L("<=");
6080
+ var $L71 = $L("\u2264");
6081
+ var $L72 = $L(">=");
6082
+ var $L73 = $L("\u2265");
6083
+ var $L74 = $L("<?");
6084
+ var $L75 = $L("!<?");
6085
+ var $L76 = $L("<<");
6086
+ var $L77 = $L("\xAB");
6087
+ var $L78 = $L(">>>");
6088
+ var $L79 = $L("\u22D9");
6089
+ var $L80 = $L(">>");
6090
+ var $L81 = $L("\xBB");
6091
+ var $L82 = $L("!==");
6092
+ var $L83 = $L("\u2262");
6093
+ var $L84 = $L("!=");
6094
+ var $L85 = $L("\u2260");
6095
+ var $L86 = $L("isnt");
6096
+ var $L87 = $L("===");
6097
+ var $L88 = $L("\u2263");
6098
+ var $L89 = $L("\u2A76");
6099
+ var $L90 = $L("==");
6100
+ var $L91 = $L("\u2261");
6101
+ var $L92 = $L("\u2A75");
6102
+ var $L93 = $L("and");
6103
+ var $L94 = $L("&&");
6104
+ var $L95 = $L("or");
6105
+ var $L96 = $L("||");
6106
+ var $L97 = $L("\u2016");
6107
+ var $L98 = $L("^^");
6108
+ var $L99 = $L("xor");
6109
+ var $L100 = $L("xnor");
6110
+ var $L101 = $L("??");
6111
+ var $L102 = $L("\u2047");
6112
+ var $L103 = $L("instanceof");
6113
+ var $L104 = $L("\u2208");
6114
+ var $L105 = $L("\u220B");
6115
+ var $L106 = $L("\u220C");
6116
+ var $L107 = $L("\u2209");
6117
+ var $L108 = $L("&");
6118
+ var $L109 = $L("|");
6119
+ var $L110 = $L("$:");
6120
+ var $L111 = $L(";");
6121
+ var $L112 = $L("break");
6122
+ var $L113 = $L("continue");
6123
+ var $L114 = $L("debugger");
6124
+ var $L115 = $L("require");
6125
+ var $L116 = $L("with");
6126
+ var $L117 = $L("assert");
6127
+ var $L118 = $L(":=");
6128
+ var $L119 = $L("\u2254");
6129
+ var $L120 = $L(".=");
6130
+ var $L121 = $L("::=");
6131
+ var $L122 = $L("/*");
6132
+ var $L123 = $L("*/");
6133
+ var $L124 = $L("\\");
6134
+ var $L125 = $L(")");
6135
+ var $L126 = $L("abstract");
6136
+ var $L127 = $L("as");
6137
+ var $L128 = $L("@");
6138
+ var $L129 = $L("@@");
6139
+ var $L130 = $L("async");
6140
+ var $L131 = $L("await");
6141
+ var $L132 = $L("`");
6142
+ var $L133 = $L("by");
6143
+ var $L134 = $L("case");
6144
+ var $L135 = $L("catch");
6145
+ var $L136 = $L("class");
6146
+ var $L137 = $L("#{");
6147
+ var $L138 = $L("declare");
6148
+ var $L139 = $L("default");
6149
+ var $L140 = $L("delete");
6150
+ var $L141 = $L("do");
6151
+ var $L142 = $L("..");
6152
+ var $L143 = $L("\u2025");
6153
+ var $L144 = $L("...");
6154
+ var $L145 = $L("\u2026");
6155
+ var $L146 = $L("::");
6156
+ var $L147 = $L('"');
6157
+ var $L148 = $L("each");
6158
+ var $L149 = $L("else");
6159
+ var $L150 = $L("!");
6160
+ var $L151 = $L("export");
6161
+ var $L152 = $L("extends");
6162
+ var $L153 = $L("finally");
6163
+ var $L154 = $L("for");
6164
+ var $L155 = $L("from");
6165
+ var $L156 = $L("function");
6166
+ var $L157 = $L("get");
6167
+ var $L158 = $L("set");
6168
+ var $L159 = $L("#");
6169
+ var $L160 = $L("if");
6170
+ var $L161 = $L("in");
6171
+ var $L162 = $L("infer");
6172
+ var $L163 = $L("let");
6173
+ var $L164 = $L("const");
6174
+ var $L165 = $L("is");
6175
+ var $L166 = $L("loop");
6176
+ var $L167 = $L("new");
6177
+ var $L168 = $L("not");
6178
+ var $L169 = $L("of");
6179
+ var $L170 = $L("[");
6180
+ var $L171 = $L("operator");
6181
+ var $L172 = $L("override");
6182
+ var $L173 = $L("own");
6183
+ var $L174 = $L("public");
6184
+ var $L175 = $L("private");
6185
+ var $L176 = $L("protected");
6186
+ var $L177 = $L("||>");
6187
+ var $L178 = $L("|\u25B7");
6188
+ var $L179 = $L("|>=");
6189
+ var $L180 = $L("\u25B7=");
6190
+ var $L181 = $L("|>");
6191
+ var $L182 = $L("\u25B7");
6192
+ var $L183 = $L("readonly");
6193
+ var $L184 = $L("return");
6194
+ var $L185 = $L("satisfies");
6195
+ var $L186 = $L("'");
6196
+ var $L187 = $L("static");
6197
+ var $L188 = $L("${");
6198
+ var $L189 = $L("super");
6199
+ var $L190 = $L("switch");
6200
+ var $L191 = $L("target");
6201
+ var $L192 = $L("then");
6202
+ var $L193 = $L("this");
6203
+ var $L194 = $L("throw");
6204
+ var $L195 = $L('"""');
6205
+ var $L196 = $L("'''");
6206
+ var $L197 = $L("///");
6207
+ var $L198 = $L("```");
6208
+ var $L199 = $L("try");
6209
+ var $L200 = $L("typeof");
6210
+ var $L201 = $L("undefined");
6211
+ var $L202 = $L("unless");
6212
+ var $L203 = $L("until");
6213
+ var $L204 = $L("using");
6214
+ var $L205 = $L("var");
6215
+ var $L206 = $L("void");
6216
+ var $L207 = $L("when");
6217
+ var $L208 = $L("while");
6218
+ var $L209 = $L("yield");
6219
+ var $L210 = $L("/>");
6220
+ var $L211 = $L("</");
6221
+ var $L212 = $L("<>");
6222
+ var $L213 = $L("</>");
6223
+ var $L214 = $L("<!--");
6224
+ var $L215 = $L("-->");
6225
+ var $L216 = $L("type");
6226
+ var $L217 = $L("enum");
6227
+ var $L218 = $L("interface");
6228
+ var $L219 = $L("global");
6229
+ var $L220 = $L("module");
6230
+ var $L221 = $L("namespace");
6231
+ var $L222 = $L("asserts");
6232
+ var $L223 = $L("keyof");
6233
+ var $L224 = $L("???");
6234
+ var $L225 = $L("[]");
6235
+ var $L226 = $L("civet");
6052
6236
  var $R0 = $R(new RegExp("(?=async|debugger|if|unless|do|for|loop|until|while|switch|throw|try)", "suy"));
6053
- var $R1 = $R(new RegExp("(as|of|satisfies|then|when|implements|xor|xnor)(?!\\p{ID_Continue}|[\\u200C\\u200D$])", "suy"));
6054
- var $R2 = $R(new RegExp("[0-9]", "suy"));
6055
- var $R3 = $R(new RegExp("(?!\\p{ID_Start}|[_$0-9(\\[{])", "suy"));
6056
- var $R4 = $R(new RegExp("[ \\t]", "suy"));
6057
- var $R5 = $R(new RegExp("(?:\\p{ID_Continue}|[\\u200C\\u200D$.])", "suy"));
6058
- var $R6 = $R(new RegExp("(?=['\"`])", "suy"));
6059
- var $R7 = $R(new RegExp("(?=[\\/?])", "suy"));
6060
- var $R8 = $R(new RegExp("(?=[\\/\\[{?.!@#'\u2019:])", "suy"));
6061
- var $R9 = $R(new RegExp("[)}]", "suy"));
6062
- var $R10 = $R(new RegExp("[+-]", "suy"));
6063
- var $R11 = $R(new RegExp("\\+\\+|--|[\\+-]\\S", "suy"));
6064
- var $R12 = $R(new RegExp("[&]", "suy"));
6065
- var $R13 = $R(new RegExp(`(?=[0-9.'"tfyno])`, "suy"));
6066
- var $R14 = $R(new RegExp("(?=true|false|yes|no|on|off)", "suy"));
6067
- var $R15 = $R(new RegExp("(?=\\p{ID_Start}|[_$])", "suy"));
6068
- var $R16 = $R(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy"));
6069
- var $R17 = $R(new RegExp("(?=\\[)", "suy"));
6070
- var $R18 = $R(new RegExp("[!+-]?", "suy"));
6071
- var $R19 = $R(new RegExp("(?=\\p{ID_Start}|[_$^\xAB\xBB\u22D9\u2264\u2265\u2208\u220B\u2209\u220C\u2263\u2261\u2262\u2260=\u2016\u2047&|*\\/!?%<>\u29FA+-])", "suy"));
6072
- var $R20 = $R(new RegExp("!\\^\\^?", "suy"));
6073
- var $R21 = $R(new RegExp("(?!\\+\\+|--)[!~+-](?!\\s)", "suy"));
6074
- var $R22 = $R(new RegExp("[:.]", "suy"));
6075
- var $R23 = $R(new RegExp("(?=for|if|loop|unless|until|while)", "suy"));
6076
- var $R24 = $R(new RegExp("(?=loop|do|for|until|while)", "suy"));
6077
- var $R25 = $R(new RegExp("(?=[\\s\\),])", "suy"));
6078
- var $R26 = $R(new RegExp('[^;"\\s]+', "suy"));
6079
- var $R27 = $R(new RegExp("(?=[0-9.])", "suy"));
6080
- var $R28 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)n", "suy"));
6081
- var $R29 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?=\\.(?:\\p{ID_Start}|[_$]))", "suy"));
6082
- var $R30 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?:\\.(?:[0-9](?:_[0-9]|[0-9])*))?", "suy"));
6083
- var $R31 = $R(new RegExp("(?:\\.[0-9](?:_[0-9]|[0-9])*)", "suy"));
6084
- var $R32 = $R(new RegExp("(?:[eE][+-]?[0-9]+(?:_[0-9]|[0-9])*)", "suy"));
6085
- var $R33 = $R(new RegExp("0[bB][01](?:[01]|_[01])*n?", "suy"));
6086
- var $R34 = $R(new RegExp("0[oO][0-7](?:[0-7]|_[0-7])*n?", "suy"));
6087
- var $R35 = $R(new RegExp("0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*n?", "suy"));
6088
- var $R36 = $R(new RegExp("(?=[0-9])", "suy"));
6089
- var $R37 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)", "suy"));
6090
- var $R38 = $R(new RegExp('(?:\\\\.|[^"])*', "suy"));
6091
- var $R39 = $R(new RegExp("(?:\\\\.|[^'])*", "suy"));
6092
- var $R40 = $R(new RegExp('(?:"(?!"")|#(?!\\{)|\\\\.|[^#"])+', "suy"));
6093
- var $R41 = $R(new RegExp("(?:'(?!'')|\\\\.|[^'])*", "suy"));
6094
- var $R42 = $R(new RegExp('(?:\\\\.|#(?!\\{)|[^"#])+', "suy"));
6095
- var $R43 = $R(new RegExp("(?:\\\\.|[^\\]])*", "suy"));
6096
- var $R44 = $R(new RegExp("(?:\\\\.)", "suy"));
6097
- var $R45 = $R(new RegExp("[\\s]+", "suy"));
6098
- var $R46 = $R(new RegExp("\\/(?!\\/\\/)", "suy"));
6099
- var $R47 = $R(new RegExp("[^[\\/\\s#\\\\]+", "suy"));
6100
- var $R48 = $R(new RegExp("[*\\/\\r\\n]", "suy"));
6101
- var $R49 = $R(new RegExp("(?:\\\\.|[^[\\/\\r\\n])+", "suy"));
6102
- var $R50 = $R(new RegExp("(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy"));
6103
- var $R51 = $R(new RegExp("(?=[`'\"])", "suy"));
6104
- var $R52 = $R(new RegExp("(?:\\$(?!\\{)|\\\\.|[^$`])+", "suy"));
6105
- var $R53 = $R(new RegExp("(?:\\$(?!\\{)|`(?!``)|\\\\.|[^$`])+", "suy"));
6106
- var $R54 = $R(new RegExp("(?:on|off|yes|no)(?!\\p{ID_Continue})", "suy"));
6107
- var $R55 = $R(new RegExp("(?:isnt)(?!\\p{ID_Continue})", "suy"));
6108
- var $R56 = $R(new RegExp("(?:by)(?!\\p{ID_Continue})", "suy"));
6109
- var $R57 = $R(new RegExp("(?:of)(?!\\p{ID_Continue})", "suy"));
6110
- var $R58 = $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"));
6111
- var $R59 = $R(new RegExp("(?=\\/|#)", "suy"));
6112
- var $R60 = $R(new RegExp("\\/\\/(?!\\/)[^\\r\\n]*", "suy"));
6113
- var $R61 = $R(new RegExp(".", "suy"));
6114
- var $R62 = $R(new RegExp("#(?!##(?!#))([^\\r\\n]*)", "suy"));
6115
- var $R63 = $R(new RegExp("[^]*?###", "suy"));
6116
- var $R64 = $R(new RegExp("###(?!#)", "suy"));
6117
- var $R65 = $R(new RegExp("\\/\\*(?:(?!\\*\\/)[^\\r\\n])*\\*\\/", "suy"));
6118
- var $R66 = $R(new RegExp("(?=[ \\t\\/\\\\])", "suy"));
6119
- var $R67 = $R(new RegExp("[ \\t]+", "suy"));
6120
- var $R68 = $R(new RegExp("(?=\\s|\\/|#)", "suy"));
6121
- var $R69 = $R(new RegExp("(?!\\p{ID_Continue})", "suy"));
6122
- var $R70 = $R(new RegExp("[=:]", "suy"));
6123
- var $R71 = $R(new RegExp("['\u2019]s", "suy"));
6124
- var $R72 = $R(new RegExp("\\s", "suy"));
6125
- var $R73 = $R(new RegExp("(?=[<])", "suy"));
6126
- var $R74 = $R(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*", "suy"));
6127
- var $R75 = $R(new RegExp("[!+-]", "suy"));
6128
- var $R76 = $R(new RegExp("[\\s>]|\\/>", "suy"));
6129
- var $R77 = $R(new RegExp("(?:[\\w\\-:]+|\\([^()]*\\)|\\[[^\\[\\]]*\\])+", "suy"));
6130
- var $R78 = $R(new RegExp(`"[^"]*"|'[^']*'`, "suy"));
6131
- var $R79 = $R(new RegExp("[<>]", "suy"));
6132
- var $R80 = $R(new RegExp("[!~+-](?!\\s|[!~+-]*&)", "suy"));
6133
- var $R81 = $R(new RegExp("(?:-[^-]|[^-]*)*", "suy"));
6134
- var $R82 = $R(new RegExp("[^{}<>\\r\\n]+", "suy"));
6135
- var $R83 = $R(new RegExp("[+-]?", "suy"));
6136
- var $R84 = $R(new RegExp("(?=if|unless)", "suy"));
6137
- var $R85 = $R(new RegExp("#![^\\r\\n]*", "suy"));
6138
- var $R86 = $R(new RegExp("[\\t ]*", "suy"));
6139
- var $R87 = $R(new RegExp("[ \\t]*", "suy"));
6140
- var $R88 = $R(new RegExp("[\\s]*", "suy"));
6141
- var $R89 = $R(new RegExp("\\s+([+-]?)([a-zA-Z0-9-]+)(\\s*=\\s*([a-zA-Z0-9.+-]*))?", "suy"));
6142
- var $R90 = $R(new RegExp("\\/\\/\\/[^\\r\\n]*", "suy"));
6143
- var $R91 = $R(new RegExp("(?=[ \\t\\r\\n\\/#]|$)", "suy"));
6144
- var $R92 = $R(new RegExp("\\r\\n|\\n|\\r|$", "suy"));
6145
- var $R93 = $R(new RegExp("[^]*", "suy"));
6237
+ var $R1 = $R(new RegExp("&(?=\\s)", "suy"));
6238
+ var $R2 = $R(new RegExp("(as|of|satisfies|then|when|implements|xor|xnor)(?!\\p{ID_Continue}|[\\u200C\\u200D$])", "suy"));
6239
+ var $R3 = $R(new RegExp("[0-9]", "suy"));
6240
+ var $R4 = $R(new RegExp("(?!\\p{ID_Start}|[_$0-9(\\[{])", "suy"));
6241
+ var $R5 = $R(new RegExp("[ \\t]", "suy"));
6242
+ var $R6 = $R(new RegExp("(?:\\p{ID_Continue}|[\\u200C\\u200D$.])", "suy"));
6243
+ var $R7 = $R(new RegExp("[&=]", "suy"));
6244
+ var $R8 = $R(new RegExp("(?=['\"`])", "suy"));
6245
+ var $R9 = $R(new RegExp("(?=[\\/?])", "suy"));
6246
+ var $R10 = $R(new RegExp("(?=[\\/\\[{?.!@#'\u2019:])", "suy"));
6247
+ var $R11 = $R(new RegExp("[)}]", "suy"));
6248
+ var $R12 = $R(new RegExp("[+-]", "suy"));
6249
+ var $R13 = $R(new RegExp("\\+\\+|--|[\\+\\-&]\\S", "suy"));
6250
+ var $R14 = $R(new RegExp(`(?=[0-9.'"tfyno])`, "suy"));
6251
+ var $R15 = $R(new RegExp("(?=true|false|yes|no|on|off)", "suy"));
6252
+ var $R16 = $R(new RegExp("(?=\\p{ID_Start}|[_$])", "suy"));
6253
+ var $R17 = $R(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy"));
6254
+ var $R18 = $R(new RegExp("(?=\\[)", "suy"));
6255
+ var $R19 = $R(new RegExp("[!+-]?", "suy"));
6256
+ var $R20 = $R(new RegExp("(?=\\p{ID_Start}|[_$^\xAB\xBB\u22D9\u2264\u2265\u2208\u220B\u2209\u220C\u2263\u2261\u2262\u2260=\u2016\u2047&|*\\/!?%<>\u29FA+-])", "suy"));
6257
+ var $R21 = $R(new RegExp("!\\^\\^?", "suy"));
6258
+ var $R22 = $R(new RegExp("(?!\\+\\+|--)[!~+-](?!\\s)", "suy"));
6259
+ var $R23 = $R(new RegExp("[:.]", "suy"));
6260
+ var $R24 = $R(new RegExp("(?=for|if|loop|unless|until|while)", "suy"));
6261
+ var $R25 = $R(new RegExp("(?=loop|do|for|until|while)", "suy"));
6262
+ var $R26 = $R(new RegExp("(?=[\\s\\),])", "suy"));
6263
+ var $R27 = $R(new RegExp('[^;"\\s]+', "suy"));
6264
+ var $R28 = $R(new RegExp("(?=[0-9.])", "suy"));
6265
+ var $R29 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)n", "suy"));
6266
+ var $R30 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?=\\.(?:\\p{ID_Start}|[_$]))", "suy"));
6267
+ var $R31 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?:\\.(?:[0-9](?:_[0-9]|[0-9])*))?", "suy"));
6268
+ var $R32 = $R(new RegExp("(?:\\.[0-9](?:_[0-9]|[0-9])*)", "suy"));
6269
+ var $R33 = $R(new RegExp("(?:[eE][+-]?[0-9]+(?:_[0-9]|[0-9])*)", "suy"));
6270
+ var $R34 = $R(new RegExp("0[bB][01](?:[01]|_[01])*n?", "suy"));
6271
+ var $R35 = $R(new RegExp("0[oO][0-7](?:[0-7]|_[0-7])*n?", "suy"));
6272
+ var $R36 = $R(new RegExp("0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*n?", "suy"));
6273
+ var $R37 = $R(new RegExp("(?=[0-9])", "suy"));
6274
+ var $R38 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)", "suy"));
6275
+ var $R39 = $R(new RegExp('(?:\\\\.|[^"])*', "suy"));
6276
+ var $R40 = $R(new RegExp("(?:\\\\.|[^'])*", "suy"));
6277
+ var $R41 = $R(new RegExp('(?:"(?!"")|#(?!\\{)|\\\\.|[^#"])+', "suy"));
6278
+ var $R42 = $R(new RegExp("(?:'(?!'')|\\\\.|[^'])*", "suy"));
6279
+ var $R43 = $R(new RegExp('(?:\\\\.|#(?!\\{)|[^"#])+', "suy"));
6280
+ var $R44 = $R(new RegExp("(?:\\\\.|[^\\]])*", "suy"));
6281
+ var $R45 = $R(new RegExp("(?:\\\\.)", "suy"));
6282
+ var $R46 = $R(new RegExp("[\\s]+", "suy"));
6283
+ var $R47 = $R(new RegExp("\\/(?!\\/\\/)", "suy"));
6284
+ var $R48 = $R(new RegExp("[^[\\/\\s#\\\\]+", "suy"));
6285
+ var $R49 = $R(new RegExp("[*\\/\\r\\n]", "suy"));
6286
+ var $R50 = $R(new RegExp("(?:\\\\.|[^[\\/\\r\\n])+", "suy"));
6287
+ var $R51 = $R(new RegExp("(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy"));
6288
+ var $R52 = $R(new RegExp("(?=[`'\"])", "suy"));
6289
+ var $R53 = $R(new RegExp("(?:\\$(?!\\{)|\\\\.|[^$`])+", "suy"));
6290
+ var $R54 = $R(new RegExp("(?:\\$(?!\\{)|`(?!``)|\\\\.|[^$`])+", "suy"));
6291
+ var $R55 = $R(new RegExp("(?:on|off|yes|no)(?!\\p{ID_Continue})", "suy"));
6292
+ var $R56 = $R(new RegExp("(?:isnt)(?!\\p{ID_Continue})", "suy"));
6293
+ var $R57 = $R(new RegExp("(?:by)(?!\\p{ID_Continue})", "suy"));
6294
+ var $R58 = $R(new RegExp("(?:of)(?!\\p{ID_Continue})", "suy"));
6295
+ var $R59 = $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"));
6296
+ var $R60 = $R(new RegExp("(?=\\/|#)", "suy"));
6297
+ var $R61 = $R(new RegExp("\\/\\/(?!\\/)[^\\r\\n]*", "suy"));
6298
+ var $R62 = $R(new RegExp(".", "suy"));
6299
+ var $R63 = $R(new RegExp("#(?!##(?!#))([^\\r\\n]*)", "suy"));
6300
+ var $R64 = $R(new RegExp("[^]*?###", "suy"));
6301
+ var $R65 = $R(new RegExp("###(?!#)", "suy"));
6302
+ var $R66 = $R(new RegExp("\\/\\*(?:(?!\\*\\/)[^\\r\\n])*\\*\\/", "suy"));
6303
+ var $R67 = $R(new RegExp("(?=[ \\t\\/\\\\])", "suy"));
6304
+ var $R68 = $R(new RegExp("[ \\t]+", "suy"));
6305
+ var $R69 = $R(new RegExp("(?=\\s|\\/|#)", "suy"));
6306
+ var $R70 = $R(new RegExp("(?!\\p{ID_Continue})", "suy"));
6307
+ var $R71 = $R(new RegExp("[=:]", "suy"));
6308
+ var $R72 = $R(new RegExp("['\u2019]s", "suy"));
6309
+ var $R73 = $R(new RegExp("\\s", "suy"));
6310
+ var $R74 = $R(new RegExp("(?=[<])", "suy"));
6311
+ var $R75 = $R(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*", "suy"));
6312
+ var $R76 = $R(new RegExp("[!+-]", "suy"));
6313
+ var $R77 = $R(new RegExp("[\\s>]|\\/>", "suy"));
6314
+ var $R78 = $R(new RegExp("(?:[\\w\\-:]+|\\([^()]*\\)|\\[[^\\[\\]]*\\])+", "suy"));
6315
+ var $R79 = $R(new RegExp(`"[^"]*"|'[^']*'`, "suy"));
6316
+ var $R80 = $R(new RegExp("[<>]", "suy"));
6317
+ var $R81 = $R(new RegExp("[!~+-](?!\\s|[!~+-]*&)", "suy"));
6318
+ var $R82 = $R(new RegExp("(?:-[^-]|[^-]*)*", "suy"));
6319
+ var $R83 = $R(new RegExp("[^{}<>\\r\\n]+", "suy"));
6320
+ var $R84 = $R(new RegExp("[+-]?", "suy"));
6321
+ var $R85 = $R(new RegExp("(?=if|unless)", "suy"));
6322
+ var $R86 = $R(new RegExp("#![^\\r\\n]*", "suy"));
6323
+ var $R87 = $R(new RegExp("[\\t ]*", "suy"));
6324
+ var $R88 = $R(new RegExp("[ \\t]*", "suy"));
6325
+ var $R89 = $R(new RegExp("[\\s]*", "suy"));
6326
+ var $R90 = $R(new RegExp("\\s+([+-]?)([a-zA-Z0-9-]+)(\\s*=\\s*([a-zA-Z0-9.+-]*))?", "suy"));
6327
+ var $R91 = $R(new RegExp("\\/\\/\\/[^\\r\\n]*", "suy"));
6328
+ var $R92 = $R(new RegExp("(?=[ \\t\\r\\n\\/#]|$)", "suy"));
6329
+ var $R93 = $R(new RegExp("\\r\\n|\\n|\\r|$", "suy"));
6330
+ var $R94 = $R(new RegExp("[^]*", "suy"));
6146
6331
  var Program$0 = $TS($S(Reset, Init, $E(EOS), TopLevelStatements, __), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
6147
6332
  var statements = $4;
6148
6333
  processProgram({
@@ -6201,12 +6386,7 @@ var require_parser = __commonJS({
6201
6386
  var ws = $2;
6202
6387
  var statement = $3;
6203
6388
  var delimiter = $4;
6204
- if (ws) {
6205
- statement = {
6206
- ...statement,
6207
- children: [ws, ...statement.children]
6208
- };
6209
- }
6389
+ statement = prepend(ws, statement);
6210
6390
  return [statement, delimiter];
6211
6391
  });
6212
6392
  function TopLevelStatement(ctx, state) {
@@ -6319,7 +6499,7 @@ var require_parser = __commonJS({
6319
6499
  function Arguments(ctx, state) {
6320
6500
  return $EVENT_C(ctx, state, "Arguments", Arguments$$);
6321
6501
  }
6322
- var ImplicitArguments$0 = $TS($S(ApplicationStart, InsertOpenParen, $E(_), NonPipelineArgumentList, InsertCloseParen), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
6502
+ var ImplicitArguments$0 = $TS($S(ApplicationStart, InsertOpenParen, $E(Trimmed_), NonPipelineArgumentList, InsertCloseParen), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
6323
6503
  var open = $2;
6324
6504
  var ws = $3;
6325
6505
  var args = $4;
@@ -6329,7 +6509,7 @@ var require_parser = __commonJS({
6329
6509
  return {
6330
6510
  type: "Call",
6331
6511
  args,
6332
- children: [open, insertTrimmingSpace(ws, ""), args, close]
6512
+ children: [open, ws, args, close]
6333
6513
  };
6334
6514
  });
6335
6515
  function ImplicitArguments(ctx, state) {
@@ -6364,27 +6544,32 @@ var require_parser = __commonJS({
6364
6544
  function ApplicationStart(ctx, state) {
6365
6545
  return $EVENT_C(ctx, state, "ApplicationStart", ApplicationStart$$);
6366
6546
  }
6367
- var ForbiddenImplicitCalls$0 = $R$0($EXPECT($R1, "ForbiddenImplicitCalls /(as|of|satisfies|then|when|implements|xor|xnor)(?!\\p{ID_Continue}|[\\u200C\\u200D$])/"));
6547
+ var ForbiddenImplicitCalls$0 = ReservedBinary;
6368
6548
  var ForbiddenImplicitCalls$1 = $EXPECT($L2, 'ForbiddenImplicitCalls "/ "');
6369
- var ForbiddenImplicitCalls$2 = $S(ClassImplicitCallForbidden, $C(Class, AtAt));
6370
- var ForbiddenImplicitCalls$3 = $S(Identifier, $EXPECT($L3, 'ForbiddenImplicitCalls "="'), Whitespace);
6371
- var ForbiddenImplicitCalls$4 = $TS($S(Identifier, $N($EXPECT($L4, 'ForbiddenImplicitCalls "("'))), function($skip, $loc, $0, $1, $2) {
6549
+ var ForbiddenImplicitCalls$2 = $S($Y($S($R$0($EXPECT($R1, "ForbiddenImplicitCalls /&(?=\\s)/")), $N($S(NotDedented, $C(Ampersand, ReservedBinary))), $C(IndentedFurther, $N(EOS)))), BinaryOpRHS);
6550
+ var ForbiddenImplicitCalls$3 = $S(ClassImplicitCallForbidden, $C(Class, AtAt));
6551
+ var ForbiddenImplicitCalls$4 = $S(Identifier, $EXPECT($L3, 'ForbiddenImplicitCalls "="'), Whitespace);
6552
+ var ForbiddenImplicitCalls$5 = $TS($S(Identifier, $N($EXPECT($L4, 'ForbiddenImplicitCalls "("'))), function($skip, $loc, $0, $1, $2) {
6372
6553
  var id = $1;
6373
6554
  if (module.operators.has(id.name))
6374
6555
  return $0;
6375
6556
  return $skip;
6376
6557
  });
6377
- var ForbiddenImplicitCalls$5 = $TS($S(OmittedNegation, $E(_), Identifier), function($skip, $loc, $0, $1, $2, $3) {
6558
+ var ForbiddenImplicitCalls$6 = $TS($S(OmittedNegation, $E(_), Identifier), function($skip, $loc, $0, $1, $2, $3) {
6378
6559
  var id = $3;
6379
6560
  if (module.operators.has(id.name))
6380
6561
  return $0;
6381
6562
  return $skip;
6382
6563
  });
6383
- var ForbiddenImplicitCalls$6 = $EXPECT($L5, 'ForbiddenImplicitCalls "... "');
6384
- var ForbiddenImplicitCalls$$ = [ForbiddenImplicitCalls$0, ForbiddenImplicitCalls$1, ForbiddenImplicitCalls$2, ForbiddenImplicitCalls$3, ForbiddenImplicitCalls$4, ForbiddenImplicitCalls$5, ForbiddenImplicitCalls$6];
6564
+ var ForbiddenImplicitCalls$7 = $EXPECT($L5, 'ForbiddenImplicitCalls "... "');
6565
+ var ForbiddenImplicitCalls$$ = [ForbiddenImplicitCalls$0, ForbiddenImplicitCalls$1, ForbiddenImplicitCalls$2, ForbiddenImplicitCalls$3, ForbiddenImplicitCalls$4, ForbiddenImplicitCalls$5, ForbiddenImplicitCalls$6, ForbiddenImplicitCalls$7];
6385
6566
  function ForbiddenImplicitCalls(ctx, state) {
6386
6567
  return $EVENT_C(ctx, state, "ForbiddenImplicitCalls", ForbiddenImplicitCalls$$);
6387
6568
  }
6569
+ var ReservedBinary$0 = $R$0($EXPECT($R2, "ReservedBinary /(as|of|satisfies|then|when|implements|xor|xnor)(?!\\p{ID_Continue}|[\\u200C\\u200D$])/"));
6570
+ function ReservedBinary(ctx, state) {
6571
+ return $EVENT(ctx, state, "ReservedBinary", ReservedBinary$0);
6572
+ }
6388
6573
  var ArgumentsWithTrailingMemberExpressions$0 = $TS($S(Arguments, AllowedTrailingMemberExpressions), function($skip, $loc, $0, $1, $2) {
6389
6574
  var args = $1;
6390
6575
  var trailing = $2;
@@ -6393,8 +6578,16 @@ var require_parser = __commonJS({
6393
6578
  function ArgumentsWithTrailingMemberExpressions(ctx, state) {
6394
6579
  return $EVENT(ctx, state, "ArgumentsWithTrailingMemberExpressions", ArgumentsWithTrailingMemberExpressions$0);
6395
6580
  }
6396
- var TrailingMemberExpressions$0 = $TS($S($Q(MemberExpressionRest), $Q($S(IndentedAtLeast, $Y($S($E($EXPECT($L6, 'TrailingMemberExpressions "?"')), $EXPECT($L7, 'TrailingMemberExpressions "."'), $N($EXPECT($R2, "TrailingMemberExpressions /[0-9]/")))), MemberExpressionRest))), function($skip, $loc, $0, $1, $2) {
6397
- return $1.concat($2);
6581
+ var TrailingMemberExpressions$0 = $TS($S($Q(MemberExpressionRest), $Q($S(IndentedAtLeast, $Y($S($E($EXPECT($L6, 'TrailingMemberExpressions "?"')), $EXPECT($L7, 'TrailingMemberExpressions "."'), $N($EXPECT($R3, "TrailingMemberExpressions /[0-9]/")))), MemberExpressionRest))), function($skip, $loc, $0, $1, $2) {
6582
+ return $1.concat($2.map(([ws, , memberExpressionRest]) => {
6583
+ if (Array.isArray(memberExpressionRest)) {
6584
+ return [ws, ...memberExpressionRest];
6585
+ }
6586
+ return {
6587
+ ...memberExpressionRest,
6588
+ children: [ws, ...memberExpressionRest.children]
6589
+ };
6590
+ }));
6398
6591
  });
6399
6592
  function TrailingMemberExpressions(ctx, state) {
6400
6593
  return $EVENT(ctx, state, "TrailingMemberExpressions", TrailingMemberExpressions$0);
@@ -6407,7 +6600,7 @@ var require_parser = __commonJS({
6407
6600
  function AllowedTrailingMemberExpressions(ctx, state) {
6408
6601
  return $EVENT_C(ctx, state, "AllowedTrailingMemberExpressions", AllowedTrailingMemberExpressions$$);
6409
6602
  }
6410
- var TrailingCallExpressions$0 = $P($S(IndentedAtLeast, $Y($S($E($EXPECT($L6, 'TrailingCallExpressions "?"')), $EXPECT($L7, 'TrailingCallExpressions "."'), $N($R$0($EXPECT($R2, "TrailingCallExpressions /[0-9]/"))))), $P(CallExpressionRest)));
6603
+ var TrailingCallExpressions$0 = $P($S(IndentedAtLeast, $Y($S($E($EXPECT($L6, 'TrailingCallExpressions "?"')), $EXPECT($L7, 'TrailingCallExpressions "."'), $N($R$0($EXPECT($R3, "TrailingCallExpressions /[0-9]/"))))), $P(CallExpressionRest)));
6411
6604
  function TrailingCallExpressions(ctx, state) {
6412
6605
  return $EVENT(ctx, state, "TrailingCallExpressions", TrailingCallExpressions$0);
6413
6606
  }
@@ -6421,10 +6614,10 @@ var require_parser = __commonJS({
6421
6614
  function CommaDelimiter(ctx, state) {
6422
6615
  return $EVENT(ctx, state, "CommaDelimiter", CommaDelimiter$0);
6423
6616
  }
6424
- var ArgumentList$0 = $TS($S(ArgumentPart, $Q($S(CommaDelimiter, $N(EOS), ArgumentPart)), $P($S(CommaDelimiter, $C(NestedImplicitObjectLiteral, NestedArgumentList)))), function($skip, $loc, $0, $1, $2, $3) {
6617
+ var ArgumentList$0 = $TS($S(ArgumentPart, $Q($S(CommaDelimiter, $N(EOS), $E(_), ArgumentPart)), $P($S(CommaDelimiter, $C(NestedImplicitObjectLiteral, NestedArgumentList)))), function($skip, $loc, $0, $1, $2, $3) {
6425
6618
  return [
6426
6619
  $1,
6427
- ...$2.flatMap(([comma, eos, arg]) => [comma, arg]),
6620
+ ...$2.flatMap(([comma, eos, ws, arg]) => [comma, prepend(ws, arg)]),
6428
6621
  ...$3.flatMap(
6429
6622
  ([comma, args]) => Array.isArray(args) ? [comma, ...args] : [comma, args]
6430
6623
  )
@@ -6434,17 +6627,20 @@ var require_parser = __commonJS({
6434
6627
  return [insertTrimmingSpace($1, "")];
6435
6628
  });
6436
6629
  var ArgumentList$2 = NestedArgumentList;
6437
- var ArgumentList$3 = $TS($S($S($E(_), ArgumentPart), $Q($S(CommaDelimiter, $S($E(_), ArgumentPart)))), function($skip, $loc, $0, $1, $2) {
6438
- return [$1, ...$2.flat()];
6630
+ var ArgumentList$3 = $TS($S($E(_), ArgumentPart, $Q($S(CommaDelimiter, $E(_), ArgumentPart))), function($skip, $loc, $0, $1, $2, $3) {
6631
+ return [
6632
+ prepend($1, $2),
6633
+ ...$3.flatMap(([comma, ws, arg]) => [comma, prepend(ws, arg)])
6634
+ ];
6439
6635
  });
6440
6636
  var ArgumentList$$ = [ArgumentList$0, ArgumentList$1, ArgumentList$2, ArgumentList$3];
6441
6637
  function ArgumentList(ctx, state) {
6442
6638
  return $EVENT_C(ctx, state, "ArgumentList", ArgumentList$$);
6443
6639
  }
6444
- var NonPipelineArgumentList$0 = $TS($S(NonPipelineArgumentPart, $Q($S(CommaDelimiter, $N(EOS), NonPipelineArgumentPart)), $P($S(CommaDelimiter, $C(NestedImplicitObjectLiteral, NestedArgumentList)))), function($skip, $loc, $0, $1, $2, $3) {
6640
+ var NonPipelineArgumentList$0 = $TS($S(NonPipelineArgumentPart, $Q($S(CommaDelimiter, $N(EOS), $E(_), NonPipelineArgumentPart)), $P($S(CommaDelimiter, $C(NestedImplicitObjectLiteral, NestedArgumentList)))), function($skip, $loc, $0, $1, $2, $3) {
6445
6641
  return [
6446
6642
  $1,
6447
- ...$2.flatMap(([comma, eos, arg]) => [comma, arg]),
6643
+ ...$2.flatMap(([comma, eos, ws, arg]) => [comma, prepend(ws, arg)]),
6448
6644
  ...$3.flatMap(
6449
6645
  ([comma, args]) => Array.isArray(args) ? [comma, ...args] : [comma, args]
6450
6646
  )
@@ -6454,8 +6650,11 @@ var require_parser = __commonJS({
6454
6650
  return [insertTrimmingSpace($1, "")];
6455
6651
  });
6456
6652
  var NonPipelineArgumentList$2 = NestedArgumentList;
6457
- var NonPipelineArgumentList$3 = $TS($S($S($E(_), NonPipelineArgumentPart), $Q($S(CommaDelimiter, $S($E(_), NonPipelineArgumentPart)))), function($skip, $loc, $0, $1, $2) {
6458
- return [$1, ...$2.flat()];
6653
+ var NonPipelineArgumentList$3 = $TS($S($E(_), NonPipelineArgumentPart, $Q($S(CommaDelimiter, $E(_), NonPipelineArgumentPart))), function($skip, $loc, $0, $1, $2, $3) {
6654
+ return [
6655
+ prepend($1, $2),
6656
+ ...$3.flatMap(([comma, ws, arg]) => [comma, prepend(ws, arg)])
6657
+ ];
6459
6658
  });
6460
6659
  var NonPipelineArgumentList$$ = [NonPipelineArgumentList$0, NonPipelineArgumentList$1, NonPipelineArgumentList$2, NonPipelineArgumentList$3];
6461
6660
  function NonPipelineArgumentList(ctx, state) {
@@ -6561,20 +6760,19 @@ var require_parser = __commonJS({
6561
6760
  function RHS(ctx, state) {
6562
6761
  return $EVENT_C(ctx, state, "RHS", RHS$$);
6563
6762
  }
6564
- var UnaryExpression$0 = AmpersandFunctionExpression;
6565
- var UnaryExpression$1 = $TS($S($Q(UnaryOp), UnaryBody, $E(UnaryPostfix)), function($skip, $loc, $0, $1, $2, $3) {
6763
+ var UnaryExpression$0 = $TS($S($Q(UnaryOp), UnaryBody, $E(UnaryPostfix)), function($skip, $loc, $0, $1, $2, $3) {
6566
6764
  var pre = $1;
6567
6765
  var exp = $2;
6568
6766
  var post = $3;
6569
6767
  return processUnaryExpression(pre, exp, post);
6570
6768
  });
6571
- var UnaryExpression$2 = $TS($S(CoffeeDoEnabled, Do, __, $C($S(LeftHandSideExpression, $N($S(__, AssignmentOpSymbol))), ArrowFunction, ExtendedExpression)), function($skip, $loc, $0, $1, $2, $3, $4) {
6769
+ var UnaryExpression$1 = $TS($S(CoffeeDoEnabled, Do, __, $C($S(LeftHandSideExpression, $N($S(__, AssignmentOpSymbol))), ArrowFunction, ExtendedExpression)), function($skip, $loc, $0, $1, $2, $3, $4) {
6572
6770
  var ws = $3;
6573
6771
  var exp = $4;
6574
6772
  ws = insertTrimmingSpace(ws, "");
6575
6773
  return ["(", ...ws, exp, ")()"];
6576
6774
  });
6577
- var UnaryExpression$$ = [UnaryExpression$0, UnaryExpression$1, UnaryExpression$2];
6775
+ var UnaryExpression$$ = [UnaryExpression$0, UnaryExpression$1];
6578
6776
  function UnaryExpression(ctx, state) {
6579
6777
  return $EVENT_C(ctx, state, "UnaryExpression", UnaryExpression$$);
6580
6778
  }
@@ -6615,7 +6813,7 @@ var require_parser = __commonJS({
6615
6813
  var TypePostfix$0 = $TS($S(_, NWTypePostfix), function($skip, $loc, $0, $1, $2) {
6616
6814
  var ws = $1;
6617
6815
  var postfix = $2;
6618
- return [ws, postfix];
6816
+ return prepend(ws, postfix);
6619
6817
  });
6620
6818
  function TypePostfix(ctx, state) {
6621
6819
  return $EVENT(ctx, state, "TypePostfix", TypePostfix$0);
@@ -6661,7 +6859,7 @@ var require_parser = __commonJS({
6661
6859
  children: $0
6662
6860
  };
6663
6861
  });
6664
- var UpdateExpression$1 = $TS($S(LeftHandSideExpression, $E($S(UpdateExpressionSymbol, $EXPECT($R3, "UpdateExpression /(?!\\p{ID_Start}|[_$0-9(\\[{])/")))), function($skip, $loc, $0, $1, $2) {
6862
+ var UpdateExpression$1 = $TS($S(LeftHandSideExpression, $E($S(UpdateExpressionSymbol, $EXPECT($R4, "UpdateExpression /(?!\\p{ID_Start}|[_$0-9(\\[{])/")))), function($skip, $loc, $0, $1, $2) {
6665
6863
  if (!$2)
6666
6864
  return $1;
6667
6865
  return {
@@ -6687,15 +6885,20 @@ var require_parser = __commonJS({
6687
6885
  function UpdateExpressionSymbol(ctx, state) {
6688
6886
  return $EVENT_C(ctx, state, "UpdateExpressionSymbol", UpdateExpressionSymbol$$);
6689
6887
  }
6690
- var AssignmentExpression$0 = PipelineExpression;
6691
- var AssignmentExpression$1 = SingleLineAssignmentExpression;
6692
- var AssignmentExpression$2 = $S(__, AssignmentExpressionTail);
6693
- var AssignmentExpression$$ = [AssignmentExpression$0, AssignmentExpression$1, AssignmentExpression$2];
6888
+ var AssignmentExpression$0 = $TS($S($E(_), ActualAssignment), function($skip, $loc, $0, $1, $2) {
6889
+ var ws = $1;
6890
+ var assign = $2;
6891
+ return prepend(ws, assign);
6892
+ });
6893
+ var AssignmentExpression$1 = PipelineExpression;
6894
+ var AssignmentExpression$2 = SingleLineAssignmentExpression;
6895
+ var AssignmentExpression$3 = $S(__, AssignmentExpressionTail);
6896
+ var AssignmentExpression$$ = [AssignmentExpression$0, AssignmentExpression$1, AssignmentExpression$2, AssignmentExpression$3];
6694
6897
  function AssignmentExpression(ctx, state) {
6695
6898
  return $EVENT_C(ctx, state, "AssignmentExpression", AssignmentExpression$$);
6696
6899
  }
6697
- var NonPipelineAssignmentExpression$0 = SingleLineAssignmentExpression;
6698
- var NonPipelineAssignmentExpression$1 = $S(__, AssignmentExpressionTail);
6900
+ var NonPipelineAssignmentExpression$0 = NonPipelineSingleLineAssignmentExpression;
6901
+ var NonPipelineAssignmentExpression$1 = $S(__, NonPipelineAssignmentExpressionTail);
6699
6902
  var NonPipelineAssignmentExpression$$ = [NonPipelineAssignmentExpression$0, NonPipelineAssignmentExpression$1];
6700
6903
  function NonPipelineAssignmentExpression(ctx, state) {
6701
6904
  return $EVENT_C(ctx, state, "NonPipelineAssignmentExpression", NonPipelineAssignmentExpression$$);
@@ -6703,20 +6906,19 @@ var require_parser = __commonJS({
6703
6906
  var SingleLineAssignmentExpression$0 = $TS($S($E(_), AssignmentExpressionTail), function($skip, $loc, $0, $1, $2) {
6704
6907
  var ws = $1;
6705
6908
  var tail = $2;
6706
- if (ws?.length) {
6707
- if (tail.children && tail.type !== "IterationExpression") {
6708
- return {
6709
- ...tail,
6710
- children: [...ws, ...tail.children]
6711
- };
6712
- }
6713
- return $0;
6714
- }
6715
- return tail;
6909
+ return prepend(ws, tail);
6716
6910
  });
6717
6911
  function SingleLineAssignmentExpression(ctx, state) {
6718
6912
  return $EVENT(ctx, state, "SingleLineAssignmentExpression", SingleLineAssignmentExpression$0);
6719
6913
  }
6914
+ var NonPipelineSingleLineAssignmentExpression$0 = $TS($S($E(_), NonPipelineAssignmentExpressionTail), function($skip, $loc, $0, $1, $2) {
6915
+ var ws = $1;
6916
+ var tail = $2;
6917
+ return prepend(ws, tail);
6918
+ });
6919
+ function NonPipelineSingleLineAssignmentExpression(ctx, state) {
6920
+ return $EVENT(ctx, state, "NonPipelineSingleLineAssignmentExpression", NonPipelineSingleLineAssignmentExpression$0);
6921
+ }
6720
6922
  var AssignmentExpressionTail$0 = YieldExpression;
6721
6923
  var AssignmentExpressionTail$1 = ArrowFunction;
6722
6924
  var AssignmentExpressionTail$2 = ActualAssignment;
@@ -6725,6 +6927,14 @@ var require_parser = __commonJS({
6725
6927
  function AssignmentExpressionTail(ctx, state) {
6726
6928
  return $EVENT_C(ctx, state, "AssignmentExpressionTail", AssignmentExpressionTail$$);
6727
6929
  }
6930
+ var NonPipelineAssignmentExpressionTail$0 = YieldExpression;
6931
+ var NonPipelineAssignmentExpressionTail$1 = ArrowFunction;
6932
+ var NonPipelineAssignmentExpressionTail$2 = NonPipelineActualAssignment;
6933
+ var NonPipelineAssignmentExpressionTail$3 = ConditionalExpression;
6934
+ var NonPipelineAssignmentExpressionTail$$ = [NonPipelineAssignmentExpressionTail$0, NonPipelineAssignmentExpressionTail$1, NonPipelineAssignmentExpressionTail$2, NonPipelineAssignmentExpressionTail$3];
6935
+ function NonPipelineAssignmentExpressionTail(ctx, state) {
6936
+ return $EVENT_C(ctx, state, "NonPipelineAssignmentExpressionTail", NonPipelineAssignmentExpressionTail$$);
6937
+ }
6728
6938
  var ActualAssignment$0 = $TS($S($P($S(NotDedented, UpdateExpression, WAssignmentOp)), ExtendedExpression), function($skip, $loc, $0, $1, $2) {
6729
6939
  $1 = $1.map((x) => [x[0], x[1], ...x[2]]);
6730
6940
  $0 = [$1, $2];
@@ -6742,6 +6952,23 @@ var require_parser = __commonJS({
6742
6952
  function ActualAssignment(ctx, state) {
6743
6953
  return $EVENT(ctx, state, "ActualAssignment", ActualAssignment$0);
6744
6954
  }
6955
+ var NonPipelineActualAssignment$0 = $TS($S($P($S(NotDedented, UpdateExpression, WAssignmentOp)), NonPipelineExtendedExpression), function($skip, $loc, $0, $1, $2) {
6956
+ $1 = $1.map((x) => [x[0], x[1], ...x[2]]);
6957
+ $0 = [$1, $2];
6958
+ return {
6959
+ type: "AssignmentExpression",
6960
+ children: $0,
6961
+ // NOTE: This null marks the assignment for later processing to distinguish it
6962
+ // from fake assignments that only add a name to a scope
6963
+ names: null,
6964
+ lhs: $1,
6965
+ assigned: $1[0][1],
6966
+ exp: $2
6967
+ };
6968
+ });
6969
+ function NonPipelineActualAssignment(ctx, state) {
6970
+ return $EVENT(ctx, state, "NonPipelineActualAssignment", NonPipelineActualAssignment$0);
6971
+ }
6745
6972
  var YieldExpression$0 = $S(Yield, YieldTail);
6746
6973
  function YieldExpression(ctx, state) {
6747
6974
  return $EVENT(ctx, state, "YieldExpression", YieldExpression$0);
@@ -6810,7 +7037,7 @@ var require_parser = __commonJS({
6810
7037
  if (exp.type === "ObjectExpression") {
6811
7038
  exp = makeLeftHandSideExpression(exp);
6812
7039
  }
6813
- const expressions = [exp];
7040
+ const expressions = [["", exp]];
6814
7041
  return {
6815
7042
  type: "BlockStatement",
6816
7043
  bare: true,
@@ -6834,7 +7061,7 @@ var require_parser = __commonJS({
6834
7061
  return $EVENT(ctx, state, "ConditionalExpression", ConditionalExpression$0);
6835
7062
  }
6836
7063
  var TernaryRest$0 = NestedTernaryRest;
6837
- 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) {
7064
+ var TernaryRest$1 = $TS($S($N(CoffeeBinaryExistentialEnabled), $Y($EXPECT($R5, "TernaryRest /[ \\t]/")), _, QuestionMark, ExtendedExpression, __, Colon, ExtendedExpression), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8) {
6838
7065
  return $0.slice(2);
6839
7066
  });
6840
7067
  var TernaryRest$$ = [TernaryRest$0, TernaryRest$1];
@@ -6857,9 +7084,6 @@ var require_parser = __commonJS({
6857
7084
  var ws = $1;
6858
7085
  var head = $2;
6859
7086
  var body = $3;
6860
- if (head.token === "&") {
6861
- head = makeAmpersandFunction();
6862
- }
6863
7087
  if (head.type === "ArrowFunction" && head.ampersandBlock) {
6864
7088
  const expressions = [{
6865
7089
  type: "PipelineExpression",
@@ -6883,8 +7107,7 @@ var require_parser = __commonJS({
6883
7107
  }
6884
7108
  var PipelineHeadItem$0 = NonPipelineExtendedExpression;
6885
7109
  var PipelineHeadItem$1 = ParenthesizedExpression;
6886
- var PipelineHeadItem$2 = Ampersand;
6887
- var PipelineHeadItem$$ = [PipelineHeadItem$0, PipelineHeadItem$1, PipelineHeadItem$2];
7110
+ var PipelineHeadItem$$ = [PipelineHeadItem$0, PipelineHeadItem$1];
6888
7111
  function PipelineHeadItem(ctx, state) {
6889
7112
  return $EVENT_C(ctx, state, "PipelineHeadItem", PipelineHeadItem$$);
6890
7113
  }
@@ -6898,13 +7121,14 @@ var require_parser = __commonJS({
6898
7121
  return value[0];
6899
7122
  });
6900
7123
  var PipelineTailItem$3 = $TS($S(NWTypePostfix, $Q(TypePostfix)), function($skip, $loc, $0, $1, $2) {
6901
- return makeAmpersandFunction([" ", $1, ...$2]);
7124
+ return makeAmpersandFunction({
7125
+ body: [" ", $1, ...$2]
7126
+ });
6902
7127
  });
6903
- var PipelineTailItem$4 = AmpersandFunctionExpression;
6904
- var PipelineTailItem$5 = $T($S($N(Ampersand), PipelineHeadItem), function(value) {
6905
- return value[1];
7128
+ var PipelineTailItem$4 = $T($S(PipelineHeadItem), function(value) {
7129
+ return value[0];
6906
7130
  });
6907
- var PipelineTailItem$$ = [PipelineTailItem$0, PipelineTailItem$1, PipelineTailItem$2, PipelineTailItem$3, PipelineTailItem$4, PipelineTailItem$5];
7131
+ var PipelineTailItem$$ = [PipelineTailItem$0, PipelineTailItem$1, PipelineTailItem$2, PipelineTailItem$3, PipelineTailItem$4];
6908
7132
  function PipelineTailItem(ctx, state) {
6909
7133
  return $EVENT_C(ctx, state, "PipelineTailItem", PipelineTailItem$$);
6910
7134
  }
@@ -6918,7 +7142,7 @@ var require_parser = __commonJS({
6918
7142
  var PrimaryExpression$7 = ClassExpression;
6919
7143
  var PrimaryExpression$8 = RegularExpressionLiteral;
6920
7144
  var PrimaryExpression$9 = ParenthesizedExpression;
6921
- var PrimaryExpression$10 = PartialPlaceholder;
7145
+ var PrimaryExpression$10 = Placeholder;
6922
7146
  var PrimaryExpression$11 = JSXImplicitFragment;
6923
7147
  var PrimaryExpression$$ = [PrimaryExpression$0, PrimaryExpression$1, PrimaryExpression$2, PrimaryExpression$3, PrimaryExpression$4, PrimaryExpression$5, PrimaryExpression$6, PrimaryExpression$7, PrimaryExpression$8, PrimaryExpression$9, PrimaryExpression$10, PrimaryExpression$11];
6924
7148
  function PrimaryExpression(ctx, state) {
@@ -6954,15 +7178,40 @@ var require_parser = __commonJS({
6954
7178
  function ParenthesizedExpression(ctx, state) {
6955
7179
  return $EVENT(ctx, state, "ParenthesizedExpression", ParenthesizedExpression$0);
6956
7180
  }
6957
- var PartialPlaceholder$0 = $TS($S(Dot, $N($EXPECT($R5, "PartialPlaceholder /(?:\\p{ID_Continue}|[\\u200C\\u200D$.])/"))), function($skip, $loc, $0, $1, $2) {
7181
+ var Placeholder$0 = $TS($S(Dot, $N($EXPECT($R6, "Placeholder /(?:\\p{ID_Continue}|[\\u200C\\u200D$.])/"))), function($skip, $loc, $0, $1, $2) {
6958
7182
  var dot = $1;
6959
7183
  return {
6960
- type: "PartialPlaceholder",
7184
+ type: "Placeholder",
7185
+ subtype: ".",
6961
7186
  children: [dot]
6962
7187
  };
6963
7188
  });
6964
- function PartialPlaceholder(ctx, state) {
6965
- return $EVENT(ctx, state, "PartialPlaceholder", PartialPlaceholder$0);
7189
+ var Placeholder$1 = $TS($S(Ampersand, $N($EXPECT($R7, "Placeholder /[&=]/")), $E(AmpersandTypeSuffix)), function($skip, $loc, $0, $1, $2, $3) {
7190
+ var amp = $1;
7191
+ var typeSuffix = $3;
7192
+ return {
7193
+ type: "Placeholder",
7194
+ subtype: "&",
7195
+ typeSuffix,
7196
+ children: [amp]
7197
+ };
7198
+ });
7199
+ var Placeholder$2 = $TS($S($Y(AccessStart), $Y(PropertyAccess), $N(NumericLiteral)), function($skip, $loc, $0, $1, $2, $3) {
7200
+ return {
7201
+ type: "Placeholder",
7202
+ subtype: "&",
7203
+ children: [{ token: "&" }]
7204
+ };
7205
+ });
7206
+ var Placeholder$$ = [Placeholder$0, Placeholder$1, Placeholder$2];
7207
+ function Placeholder(ctx, state) {
7208
+ return $EVENT_C(ctx, state, "Placeholder", Placeholder$$);
7209
+ }
7210
+ var AmpersandTypeSuffix$0 = $T($S($Y($S($E(_), $E(QuestionMark), $E(_), Colon)), TypeSuffix), function(value) {
7211
+ return value[1];
7212
+ });
7213
+ function AmpersandTypeSuffix(ctx, state) {
7214
+ return $EVENT(ctx, state, "AmpersandTypeSuffix", AmpersandTypeSuffix$0);
6966
7215
  }
6967
7216
  var ClassDeclaration$0 = $TS($S(ClassExpression), function($skip, $loc, $0, $1) {
6968
7217
  if ($1.id)
@@ -7113,19 +7362,25 @@ var require_parser = __commonJS({
7113
7362
  return $EVENT(ctx, state, "ImplementsTarget", ImplementsTarget$0);
7114
7363
  }
7115
7364
  var ClassBody$0 = $TS($S(__, OpenBrace, $E(NestedClassElements), __, CloseBrace), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
7116
- var elements = $3;
7365
+ var expressions = $3;
7366
+ if (!expressions)
7367
+ expressions = $0[2] = [];
7117
7368
  return {
7118
- type: "ClassBody",
7369
+ type: "BlockStatement",
7370
+ subtype: "ClassBody",
7119
7371
  children: $0,
7120
- elements
7372
+ expressions
7121
7373
  };
7122
7374
  });
7123
7375
  var ClassBody$1 = $TS($S(InsertOpenBrace, $E(NestedClassElements), InsertNewline, InsertIndent, InsertCloseBrace), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
7124
- var elements = $2;
7376
+ var expressions = $2;
7377
+ if (!expressions)
7378
+ expressions = $0[1] = [];
7125
7379
  return {
7126
- type: "ClassBody",
7380
+ type: "BlockStatement",
7381
+ subtype: "ClassBody",
7127
7382
  children: $0,
7128
- elements
7383
+ expressions
7129
7384
  };
7130
7385
  });
7131
7386
  var ClassBody$$ = [ClassBody$0, ClassBody$1];
@@ -7397,7 +7652,7 @@ var require_parser = __commonJS({
7397
7652
  var CallExpressionRest$1 = $T($S(TypeArguments, $N($C(IdentifierName, NumericLiteral))), function(value) {
7398
7653
  return value[0];
7399
7654
  });
7400
- var CallExpressionRest$2 = $TS($S($EXPECT($R6, "CallExpressionRest /(?=['\"`])/"), $C(TemplateLiteral, StringLiteral)), function($skip, $loc, $0, $1, $2) {
7655
+ var CallExpressionRest$2 = $TS($S($EXPECT($R8, "CallExpressionRest /(?=['\"`])/"), $C(TemplateLiteral, StringLiteral)), function($skip, $loc, $0, $1, $2) {
7401
7656
  var literal = $2;
7402
7657
  if (literal.type === "StringLiteral") {
7403
7658
  literal = "`" + literal.token.slice(1, -1).replace(/(`|\$\{)/g, "\\$1") + "`";
@@ -7420,7 +7675,7 @@ var require_parser = __commonJS({
7420
7675
  function CallExpressionRest(ctx, state) {
7421
7676
  return $EVENT_C(ctx, state, "CallExpressionRest", CallExpressionRest$$);
7422
7677
  }
7423
- var OptionalShorthand$0 = $TS($S($EXPECT($R7, "OptionalShorthand /(?=[\\/?])/"), $Q(InlineComment), QuestionMark, OptionalDot), function($skip, $loc, $0, $1, $2, $3, $4) {
7678
+ var OptionalShorthand$0 = $TS($S($EXPECT($R9, "OptionalShorthand /(?=[\\/?])/"), $Q(InlineComment), QuestionMark, OptionalDot), function($skip, $loc, $0, $1, $2, $3, $4) {
7424
7679
  var comments = $2;
7425
7680
  var q = $3;
7426
7681
  var d = $4;
@@ -7474,7 +7729,7 @@ var require_parser = __commonJS({
7474
7729
  function MemberBase(ctx, state) {
7475
7730
  return $EVENT_C(ctx, state, "MemberBase", MemberBase$$);
7476
7731
  }
7477
- var MemberExpressionRest$0 = $TS($S($EXPECT($R8, "MemberExpressionRest /(?=[\\/\\[{?.!@#'\u2019:])/"), $Q(InlineComment), MemberExpressionRestBody), function($skip, $loc, $0, $1, $2, $3) {
7732
+ var MemberExpressionRest$0 = $TS($S($EXPECT($R10, "MemberExpressionRest /(?=[\\/\\[{?.!@#'\u2019:])/"), $Q(InlineComment), MemberExpressionRestBody), function($skip, $loc, $0, $1, $2, $3) {
7478
7733
  var comments = $2;
7479
7734
  var body = $3;
7480
7735
  if (Array.isArray(body))
@@ -7916,10 +8171,7 @@ var require_parser = __commonJS({
7916
8171
  var ws = $1;
7917
8172
  var params = $2;
7918
8173
  params = [...params];
7919
- params[0] = {
7920
- ...params[0],
7921
- children: [ws, ...params[0].children]
7922
- };
8174
+ params[0] = prepend(ws, params[0]);
7923
8175
  return params;
7924
8176
  });
7925
8177
  function NestedParameter(ctx, state) {
@@ -7958,7 +8210,7 @@ var require_parser = __commonJS({
7958
8210
  return $EVENT(ctx, state, "ParameterElement", ParameterElement$0);
7959
8211
  }
7960
8212
  var ParameterElementDelimiter$0 = $S($E(_), Comma);
7961
- var ParameterElementDelimiter$1 = $Y($S(__, $R$0($EXPECT($R9, "ParameterElementDelimiter /[)}]/"))));
8213
+ var ParameterElementDelimiter$1 = $Y($S(__, $R$0($EXPECT($R11, "ParameterElementDelimiter /[)}]/"))));
7962
8214
  var ParameterElementDelimiter$2 = $T($S($Y(EOS), InsertComma), function(value) {
7963
8215
  return value[1];
7964
8216
  });
@@ -7969,7 +8221,7 @@ var require_parser = __commonJS({
7969
8221
  var BindingIdentifier$0 = $TS($S(__, NWBindingIdentifier), function($skip, $loc, $0, $1, $2) {
7970
8222
  var ws = $1;
7971
8223
  var identifier = $2;
7972
- return { ...identifier, children: [...ws, ...identifier.children] };
8224
+ return prepend(ws, identifier);
7973
8225
  });
7974
8226
  function BindingIdentifier(ctx, state) {
7975
8227
  return $EVENT(ctx, state, "BindingIdentifier", BindingIdentifier$0);
@@ -8027,7 +8279,7 @@ var require_parser = __commonJS({
8027
8279
  expression
8028
8280
  };
8029
8281
  });
8030
- var PinPattern$2 = $TV($S($EXPECT($R10, "PinPattern /[+-]/"), NumericLiteral), function($skip, $loc, $0, $1) {
8282
+ var PinPattern$2 = $TV($S($EXPECT($R12, "PinPattern /[+-]/"), NumericLiteral), function($skip, $loc, $0, $1) {
8031
8283
  var expression = $0;
8032
8284
  return {
8033
8285
  type: "PinPattern",
@@ -8172,10 +8424,7 @@ var require_parser = __commonJS({
8172
8424
  return props.map((prop, i) => {
8173
8425
  if (i > 0)
8174
8426
  return prop;
8175
- return {
8176
- ...prop,
8177
- children: [ws, ...prop.children]
8178
- };
8427
+ return prepend(ws, prop);
8179
8428
  });
8180
8429
  });
8181
8430
  function NestedBindingPropertyList(ctx, state) {
@@ -8411,10 +8660,7 @@ var require_parser = __commonJS({
8411
8660
  block
8412
8661
  };
8413
8662
  });
8414
- var FunctionExpression$1 = $TV($EXPECT($L26, 'FunctionExpression "(&)"'), function($skip, $loc, $0, $1) {
8415
- return makeAmpersandFunction();
8416
- });
8417
- var FunctionExpression$2 = $TS($S(OpenParen, BinaryOp, CloseParen), function($skip, $loc, $0, $1, $2, $3) {
8663
+ var FunctionExpression$1 = $TS($S(OpenParen, BinaryOp, CloseParen), function($skip, $loc, $0, $1, $2, $3) {
8418
8664
  var open = $1;
8419
8665
  var op = $2;
8420
8666
  var close = $3;
@@ -8445,7 +8691,7 @@ var require_parser = __commonJS({
8445
8691
  parameters
8446
8692
  };
8447
8693
  });
8448
- var FunctionExpression$3 = $TS($S(OpenParen, NonPipelineAssignmentExpression, __, BinaryOp, __, CloseParen), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
8694
+ var FunctionExpression$2 = $TS($S(OpenParen, NonPipelineAssignmentExpression, __, BinaryOp, __, CloseParen), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
8449
8695
  var open = $1;
8450
8696
  var lhs = $2;
8451
8697
  var ws1 = $3;
@@ -8478,7 +8724,7 @@ var require_parser = __commonJS({
8478
8724
  parameters
8479
8725
  };
8480
8726
  });
8481
- var FunctionExpression$4 = $TS($S(OpenParen, __, $N($EXPECT($R11, "FunctionExpression /\\+\\+|--|[\\+-]\\S/")), BinaryOp, __, NonPipelineAssignmentExpression, CloseParen), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7) {
8727
+ var FunctionExpression$3 = $TS($S(OpenParen, __, $N($EXPECT($R13, "FunctionExpression /\\+\\+|--|[\\+\\-&]\\S/")), BinaryOp, __, NonPipelineAssignmentExpression, CloseParen), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7) {
8482
8728
  var open = $1;
8483
8729
  var ws1 = $2;
8484
8730
  var op = $4;
@@ -8511,21 +8757,10 @@ var require_parser = __commonJS({
8511
8757
  parameters
8512
8758
  };
8513
8759
  });
8514
- var FunctionExpression$5 = AmpersandFunctionExpression;
8515
- var FunctionExpression$$ = [FunctionExpression$0, FunctionExpression$1, FunctionExpression$2, FunctionExpression$3, FunctionExpression$4, FunctionExpression$5];
8760
+ var FunctionExpression$$ = [FunctionExpression$0, FunctionExpression$1, FunctionExpression$2, FunctionExpression$3];
8516
8761
  function FunctionExpression(ctx, state) {
8517
8762
  return $EVENT_C(ctx, state, "FunctionExpression", FunctionExpression$$);
8518
8763
  }
8519
- var AmpersandFunctionExpression$0 = $TS($S($Q(UnaryOp), $C(Ampersand, $S($N(NumericLiteral), $Y($S($E(QuestionMark), Dot, $N(Dot))))), $E(AmpersandBlockRHS)), function($skip, $loc, $0, $1, $2, $3) {
8520
- var prefix = $1;
8521
- var rhs = $3;
8522
- if (!prefix.length && !rhs)
8523
- return $skip;
8524
- return makeAmpersandFunctionExpression(prefix, rhs);
8525
- });
8526
- function AmpersandFunctionExpression(ctx, state) {
8527
- return $EVENT(ctx, state, "AmpersandFunctionExpression", AmpersandFunctionExpression$0);
8528
- }
8529
8764
  var OperatorDeclaration$0 = $TS($S(Operator, $E(OperatorBehavior), _, LexicalDeclaration), function($skip, $loc, $0, $1, $2, $3, $4) {
8530
8765
  var op = $1;
8531
8766
  var behavior = $2;
@@ -8606,7 +8841,7 @@ var require_parser = __commonJS({
8606
8841
  function OperatorBehavior(ctx, state) {
8607
8842
  return $EVENT_C(ctx, state, "OperatorBehavior", OperatorBehavior$$);
8608
8843
  }
8609
- var OperatorPrecedence$0 = $TS($S($E(_), $C($EXPECT($L27, 'OperatorPrecedence "tighter"'), $EXPECT($L28, 'OperatorPrecedence "looser"'), $EXPECT($L29, 'OperatorPrecedence "same"')), NonIdContinue, $E(_), $C(Identifier, $S(OpenParen, BinaryOp, CloseParen))), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
8844
+ var OperatorPrecedence$0 = $TS($S($E(_), $C($EXPECT($L26, 'OperatorPrecedence "tighter"'), $EXPECT($L27, 'OperatorPrecedence "looser"'), $EXPECT($L28, 'OperatorPrecedence "same"')), NonIdContinue, $E(_), $C(Identifier, $S(OpenParen, BinaryOp, CloseParen))), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
8610
8845
  var mod = $2;
8611
8846
  var op = $5;
8612
8847
  let prec = op.type === "Identifier" ? module.operators.get(op.name).prec : getPrecedence(op[1]);
@@ -8623,7 +8858,7 @@ var require_parser = __commonJS({
8623
8858
  function OperatorPrecedence(ctx, state) {
8624
8859
  return $EVENT(ctx, state, "OperatorPrecedence", OperatorPrecedence$0);
8625
8860
  }
8626
- var OperatorAssociativity$0 = $TS($S($E(_), $C($EXPECT($L30, 'OperatorAssociativity "left"'), $EXPECT($L31, 'OperatorAssociativity "right"'), $EXPECT($L32, 'OperatorAssociativity "non"'), $EXPECT($L33, 'OperatorAssociativity "relational"'), $EXPECT($L34, 'OperatorAssociativity "arguments"')), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
8861
+ var OperatorAssociativity$0 = $TS($S($E(_), $C($EXPECT($L29, 'OperatorAssociativity "left"'), $EXPECT($L30, 'OperatorAssociativity "right"'), $EXPECT($L31, 'OperatorAssociativity "non"'), $EXPECT($L32, 'OperatorAssociativity "relational"'), $EXPECT($L33, 'OperatorAssociativity "arguments"')), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
8627
8862
  var assoc = $2;
8628
8863
  if (assoc === "relational") {
8629
8864
  return { relational: true, assoc: "non" };
@@ -8633,33 +8868,6 @@ var require_parser = __commonJS({
8633
8868
  function OperatorAssociativity(ctx, state) {
8634
8869
  return $EVENT(ctx, state, "OperatorAssociativity", OperatorAssociativity$0);
8635
8870
  }
8636
- var AmpersandBlockRHS$0 = $TS($S(ForbidTrailingMemberProperty, $E(AmpersandBlockRHSBody), RestoreTrailingMemberProperty), function($skip, $loc, $0, $1, $2, $3) {
8637
- if (!$2)
8638
- return $skip;
8639
- return $2;
8640
- });
8641
- function AmpersandBlockRHS(ctx, state) {
8642
- return $EVENT(ctx, state, "AmpersandBlockRHS", AmpersandBlockRHS$0);
8643
- }
8644
- var AmpersandTypeSuffix$0 = $T($S($Y($S($E(_), $E(QuestionMark), $E(_), Colon)), TypeSuffix), function(value) {
8645
- return value[1];
8646
- });
8647
- function AmpersandTypeSuffix(ctx, state) {
8648
- return $EVENT(ctx, state, "AmpersandTypeSuffix", AmpersandTypeSuffix$0);
8649
- }
8650
- var AmpersandBlockRHSBody$0 = $TS($S($E(AmpersandTypeSuffix), $E($S($N(_), $P(CallExpressionRest))), $E(UnaryPostfix), $E($S(WAssignmentOp, $Q($S(NotDedented, UpdateExpression, WAssignmentOp)), NonPipelineExtendedExpression)), $E($S($N($EXPECT($R12, "AmpersandBlockRHSBody /[&]/")), $P(BinaryOpRHS)))), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
8651
- var typeSuffix = $1;
8652
- var callExpRest = $2;
8653
- var unaryPostfix = $3;
8654
- var assign = $4;
8655
- var binopRHS = $5;
8656
- if (!typeSuffix && !callExpRest && !binopRHS && !unaryPostfix)
8657
- return $skip;
8658
- return makeAmpersandBlockRHSBody(typeSuffix, callExpRest, unaryPostfix, assign, binopRHS);
8659
- });
8660
- function AmpersandBlockRHSBody(ctx, state) {
8661
- return $EVENT(ctx, state, "AmpersandBlockRHSBody", AmpersandBlockRHSBody$0);
8662
- }
8663
8871
  var ThinArrowFunction$0 = $TS($S($E($S(Async, _)), ArrowParameters, $E(ReturnTypeSuffix), $E(_), Arrow, NoCommaBracedOrEmptyBlock), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
8664
8872
  var async = $1;
8665
8873
  var parameters = $2;
@@ -8703,7 +8911,7 @@ var require_parser = __commonJS({
8703
8911
  function ThinArrowFunction(ctx, state) {
8704
8912
  return $EVENT(ctx, state, "ThinArrowFunction", ThinArrowFunction$0);
8705
8913
  }
8706
- var Arrow$0 = $TV($C($EXPECT($L35, 'Arrow "->"'), $EXPECT($L36, 'Arrow "\u2192"')), function($skip, $loc, $0, $1) {
8914
+ var Arrow$0 = $TV($C($EXPECT($L34, 'Arrow "->"'), $EXPECT($L35, 'Arrow "\u2192"')), function($skip, $loc, $0, $1) {
8707
8915
  return { $loc, token: "->" };
8708
8916
  });
8709
8917
  function Arrow(ctx, state) {
@@ -9006,7 +9214,7 @@ var require_parser = __commonJS({
9006
9214
  }
9007
9215
  var BracedContent$0 = NestedBlockStatements;
9008
9216
  var BracedContent$1 = SingleLineStatements;
9009
- var BracedContent$2 = $TV($Y($S(__, $EXPECT($L37, 'BracedContent "}"'))), function($skip, $loc, $0, $1) {
9217
+ var BracedContent$2 = $TV($Y($S(__, $EXPECT($L36, 'BracedContent "}"'))), function($skip, $loc, $0, $1) {
9010
9218
  const expressions = [];
9011
9219
  return {
9012
9220
  type: "BlockStatement",
@@ -9048,15 +9256,14 @@ var require_parser = __commonJS({
9048
9256
  var ws = $2;
9049
9257
  var statement = $3;
9050
9258
  var delimiter = $4;
9051
- if (ws) {
9052
- statement = { ...statement, children: [ws, ...statement.children] };
9053
- }
9259
+ if (ws)
9260
+ statement = prepend(ws, statement);
9054
9261
  return [statement, delimiter];
9055
9262
  });
9056
9263
  function BlockStatementPart(ctx, state) {
9057
9264
  return $EVENT(ctx, state, "BlockStatementPart", BlockStatementPart$0);
9058
9265
  }
9059
- var Literal$0 = $TS($S($EXPECT($R13, `Literal /(?=[0-9.'"tfyno])/`), LiteralContent), function($skip, $loc, $0, $1, $2) {
9266
+ var Literal$0 = $TS($S($EXPECT($R14, `Literal /(?=[0-9.'"tfyno])/`), LiteralContent), function($skip, $loc, $0, $1, $2) {
9060
9267
  var literal = $2;
9061
9268
  return {
9062
9269
  type: "Literal",
@@ -9076,13 +9283,13 @@ var require_parser = __commonJS({
9076
9283
  function LiteralContent(ctx, state) {
9077
9284
  return $EVENT_C(ctx, state, "LiteralContent", LiteralContent$$);
9078
9285
  }
9079
- var NullLiteral$0 = $TS($S($EXPECT($L38, 'NullLiteral "null"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9286
+ var NullLiteral$0 = $TS($S($EXPECT($L37, 'NullLiteral "null"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9080
9287
  return { $loc, token: $1 };
9081
9288
  });
9082
9289
  function NullLiteral(ctx, state) {
9083
9290
  return $EVENT(ctx, state, "NullLiteral", NullLiteral$0);
9084
9291
  }
9085
- var BooleanLiteral$0 = $T($S($EXPECT($R14, "BooleanLiteral /(?=true|false|yes|no|on|off)/"), _BooleanLiteral), function(value) {
9292
+ var BooleanLiteral$0 = $T($S($EXPECT($R15, "BooleanLiteral /(?=true|false|yes|no|on|off)/"), _BooleanLiteral), function(value) {
9086
9293
  return value[1];
9087
9294
  });
9088
9295
  function BooleanLiteral(ctx, state) {
@@ -9091,31 +9298,31 @@ var require_parser = __commonJS({
9091
9298
  var _BooleanLiteral$0 = $T($S(CoffeeBooleansEnabled, CoffeeScriptBooleanLiteral), function(value) {
9092
9299
  return value[1];
9093
9300
  });
9094
- var _BooleanLiteral$1 = $TS($S($C($EXPECT($L39, '_BooleanLiteral "true"'), $EXPECT($L40, '_BooleanLiteral "false"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9301
+ var _BooleanLiteral$1 = $TS($S($C($EXPECT($L38, '_BooleanLiteral "true"'), $EXPECT($L39, '_BooleanLiteral "false"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9095
9302
  return { $loc, token: $1 };
9096
9303
  });
9097
9304
  var _BooleanLiteral$$ = [_BooleanLiteral$0, _BooleanLiteral$1];
9098
9305
  function _BooleanLiteral(ctx, state) {
9099
9306
  return $EVENT_C(ctx, state, "_BooleanLiteral", _BooleanLiteral$$);
9100
9307
  }
9101
- var CoffeeScriptBooleanLiteral$0 = $TS($S($C($EXPECT($L41, 'CoffeeScriptBooleanLiteral "yes"'), $EXPECT($L42, 'CoffeeScriptBooleanLiteral "on"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9308
+ var CoffeeScriptBooleanLiteral$0 = $TS($S($C($EXPECT($L40, 'CoffeeScriptBooleanLiteral "yes"'), $EXPECT($L41, 'CoffeeScriptBooleanLiteral "on"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9102
9309
  return { $loc, token: "true" };
9103
9310
  });
9104
- var CoffeeScriptBooleanLiteral$1 = $TS($S($C($EXPECT($L43, 'CoffeeScriptBooleanLiteral "no"'), $EXPECT($L44, 'CoffeeScriptBooleanLiteral "off"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9311
+ var CoffeeScriptBooleanLiteral$1 = $TS($S($C($EXPECT($L42, 'CoffeeScriptBooleanLiteral "no"'), $EXPECT($L43, 'CoffeeScriptBooleanLiteral "off"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
9105
9312
  return { $loc, token: "false" };
9106
9313
  });
9107
9314
  var CoffeeScriptBooleanLiteral$$ = [CoffeeScriptBooleanLiteral$0, CoffeeScriptBooleanLiteral$1];
9108
9315
  function CoffeeScriptBooleanLiteral(ctx, state) {
9109
9316
  return $EVENT_C(ctx, state, "CoffeeScriptBooleanLiteral", CoffeeScriptBooleanLiteral$$);
9110
9317
  }
9111
- var Identifier$0 = $T($S($EXPECT($R15, "Identifier /(?=\\p{ID_Start}|[_$])/"), $N(ReservedWord), IdentifierName), function(value) {
9318
+ var Identifier$0 = $T($S($EXPECT($R16, "Identifier /(?=\\p{ID_Start}|[_$])/"), $N(ReservedWord), IdentifierName), function(value) {
9112
9319
  var id = value[2];
9113
9320
  return id;
9114
9321
  });
9115
9322
  function Identifier(ctx, state) {
9116
9323
  return $EVENT(ctx, state, "Identifier", Identifier$0);
9117
9324
  }
9118
- var IdentifierName$0 = $TR($EXPECT($R16, "IdentifierName /(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
9325
+ var IdentifierName$0 = $TR($EXPECT($R17, "IdentifierName /(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
9119
9326
  return {
9120
9327
  type: "Identifier",
9121
9328
  name: $0,
@@ -9133,11 +9340,11 @@ var require_parser = __commonJS({
9133
9340
  function IdentifierReference(ctx, state) {
9134
9341
  return $EVENT(ctx, state, "IdentifierReference", IdentifierReference$0);
9135
9342
  }
9136
- var UpcomingAssignment$0 = $Y($S(__, $EXPECT($L3, 'UpcomingAssignment "="'), $N($C($EXPECT($L3, 'UpcomingAssignment "="'), $EXPECT($L45, 'UpcomingAssignment ">"')))));
9343
+ var UpcomingAssignment$0 = $Y($S(__, $EXPECT($L3, 'UpcomingAssignment "="'), $N($C($EXPECT($L3, 'UpcomingAssignment "="'), $EXPECT($L44, 'UpcomingAssignment ">"')))));
9137
9344
  function UpcomingAssignment(ctx, state) {
9138
9345
  return $EVENT(ctx, state, "UpcomingAssignment", UpcomingAssignment$0);
9139
9346
  }
9140
- var ArrayLiteral$0 = $T($S($EXPECT($R17, "ArrayLiteral /(?=\\[)/"), _ArrayLiteral), function(value) {
9347
+ var ArrayLiteral$0 = $T($S($EXPECT($R18, "ArrayLiteral /(?=\\[)/"), _ArrayLiteral), function(value) {
9141
9348
  return value[1];
9142
9349
  });
9143
9350
  function ArrayLiteral(ctx, state) {
@@ -9152,10 +9359,7 @@ var require_parser = __commonJS({
9152
9359
  return $skip;
9153
9360
  const [content, ws, close] = $3;
9154
9361
  if (content.type === "RangeExpression") {
9155
- return {
9156
- ...content,
9157
- children: [...content.children, ...ws]
9158
- };
9362
+ return prepend(ws, content);
9159
9363
  }
9160
9364
  let children;
9161
9365
  if (Array.isArray(content)) {
@@ -9309,7 +9513,7 @@ var require_parser = __commonJS({
9309
9513
  return $EVENT(ctx, state, "NestedElement", NestedElement$0);
9310
9514
  }
9311
9515
  var ArrayElementDelimiter$0 = $S(__, Comma);
9312
- var ArrayElementDelimiter$1 = $Y($S(__, $EXPECT($L46, 'ArrayElementDelimiter "]"')));
9516
+ var ArrayElementDelimiter$1 = $Y($S(__, $EXPECT($L45, 'ArrayElementDelimiter "]"')));
9313
9517
  var ArrayElementDelimiter$2 = $T($S($Y(EOS), InsertComma), function(value) {
9314
9518
  return value[1];
9315
9519
  });
@@ -9505,7 +9709,7 @@ var require_parser = __commonJS({
9505
9709
  prop = [prop];
9506
9710
  if (i === 0) {
9507
9711
  const [first, ...rest] = prop;
9508
- prop = [{ ...first, children: [...ws, ...first.children] }, ...rest];
9712
+ prop = [prepend(ws, first), ...rest];
9509
9713
  }
9510
9714
  const last = prop[prop.length - 1];
9511
9715
  prop = [
@@ -9563,7 +9767,7 @@ var require_parser = __commonJS({
9563
9767
  return $EVENT(ctx, state, "InlineObjectPropertyDelimiter", InlineObjectPropertyDelimiter$0);
9564
9768
  }
9565
9769
  var ObjectPropertyDelimiter$0 = $S($E(_), Comma);
9566
- var ObjectPropertyDelimiter$1 = $Y($S(__, $EXPECT($L37, 'ObjectPropertyDelimiter "}"')));
9770
+ var ObjectPropertyDelimiter$1 = $Y($S(__, $EXPECT($L36, 'ObjectPropertyDelimiter "}"')));
9567
9771
  var ObjectPropertyDelimiter$2 = $T($S($Y(EOS), InsertComma), function(value) {
9568
9772
  return value[1];
9569
9773
  });
@@ -9574,12 +9778,9 @@ var require_parser = __commonJS({
9574
9778
  var PropertyDefinition$0 = $TS($S($E(_), NamedProperty), function($skip, $loc, $0, $1, $2) {
9575
9779
  var ws = $1;
9576
9780
  var prop = $2;
9577
- return {
9578
- ...prop,
9579
- children: [ws, ...prop.children]
9580
- };
9781
+ return prepend(ws, prop);
9581
9782
  });
9582
- var PropertyDefinition$1 = $TS($S($E(_), $TEXT($EXPECT($R18, "PropertyDefinition /[!+-]?/")), PropertyName, $Y(ObjectPropertyDelimiter)), function($skip, $loc, $0, $1, $2, $3, $4) {
9783
+ var PropertyDefinition$1 = $TS($S($E(_), $TEXT($EXPECT($R19, "PropertyDefinition /[!+-]?/")), PropertyName, $Y(ObjectPropertyDelimiter)), function($skip, $loc, $0, $1, $2, $3, $4) {
9583
9784
  var ws = $1;
9584
9785
  var toggle = $2;
9585
9786
  var id = $3;
@@ -9611,10 +9812,7 @@ var require_parser = __commonJS({
9611
9812
  }
9612
9813
  if (!def.block || def.block.empty)
9613
9814
  return $skip;
9614
- return {
9615
- ...def,
9616
- children: [ws, ...def.children]
9617
- };
9815
+ return prepend(ws, def);
9618
9816
  });
9619
9817
  var PropertyDefinition$3 = $TS($S($E(_), DotDotDot, ExtendedExpression), function($skip, $loc, $0, $1, $2, $3) {
9620
9818
  var ws = $1;
@@ -9628,7 +9826,7 @@ var require_parser = __commonJS({
9628
9826
  value: exp
9629
9827
  };
9630
9828
  });
9631
- var PropertyDefinition$4 = $TS($S($E(_), $N(EOS), $Q(UnaryOp), CallExpression, $E(UnaryPostfix)), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
9829
+ var PropertyDefinition$4 = $TS($S($E(_), $N($C(EOS, $EXPECT($L7, 'PropertyDefinition "."'))), $Q(UnaryOp), CallExpression, $E(UnaryPostfix)), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
9632
9830
  var ws = $1;
9633
9831
  var pre = $3;
9634
9832
  var value = $4;
@@ -9636,7 +9834,7 @@ var require_parser = __commonJS({
9636
9834
  if (!pre.length && !post) {
9637
9835
  switch (value.type) {
9638
9836
  case "Identifier":
9639
- return { ...value, children: [ws, ...value.children] };
9837
+ return prepend(ws, value);
9640
9838
  case "ObjectExpression":
9641
9839
  let first = value.properties[0];
9642
9840
  if (first) {
@@ -9764,7 +9962,7 @@ var require_parser = __commonJS({
9764
9962
  implicit: true
9765
9963
  };
9766
9964
  });
9767
- var ComputedPropertyName$2 = $TS($S(InsertOpenBracket, $EXPECT($R10, "ComputedPropertyName /[+-]/"), NumericLiteral, InsertCloseBracket), function($skip, $loc, $0, $1, $2, $3, $4) {
9965
+ var ComputedPropertyName$2 = $TS($S(InsertOpenBracket, $EXPECT($R12, "ComputedPropertyName /[+-]/"), NumericLiteral, InsertCloseBracket), function($skip, $loc, $0, $1, $2, $3, $4) {
9768
9966
  const expression = [$2, $3];
9769
9967
  return {
9770
9968
  type: "ComputedPropertyName",
@@ -9773,10 +9971,10 @@ var require_parser = __commonJS({
9773
9971
  implicit: true
9774
9972
  };
9775
9973
  });
9776
- var ComputedPropertyName$3 = $TS($S(InsertOpenBracket, PartialPlaceholder, InsertCloseBracket), function($skip, $loc, $0, $1, $2, $3) {
9777
- var open = $1;
9778
- var expression = $2;
9779
- var close = $3;
9974
+ var ComputedPropertyName$3 = $TS($S($Y($EXPECT($L7, 'ComputedPropertyName "."')), InsertOpenBracket, Placeholder, InsertCloseBracket), function($skip, $loc, $0, $1, $2, $3, $4) {
9975
+ var open = $2;
9976
+ var expression = $3;
9977
+ var close = $4;
9780
9978
  return {
9781
9979
  type: "ComputedPropertyName",
9782
9980
  expression,
@@ -10081,10 +10279,10 @@ var require_parser = __commonJS({
10081
10279
  function OperatorAssignmentOp(ctx, state) {
10082
10280
  return $EVENT_C(ctx, state, "OperatorAssignmentOp", OperatorAssignmentOp$$);
10083
10281
  }
10084
- var AssignmentOpSymbol$0 = $EXPECT($L47, 'AssignmentOpSymbol "**="');
10085
- var AssignmentOpSymbol$1 = $EXPECT($L48, 'AssignmentOpSymbol "*="');
10086
- var AssignmentOpSymbol$2 = $EXPECT($L49, 'AssignmentOpSymbol "/="');
10087
- var AssignmentOpSymbol$3 = $EXPECT($L50, 'AssignmentOpSymbol "%="');
10282
+ var AssignmentOpSymbol$0 = $EXPECT($L46, 'AssignmentOpSymbol "**="');
10283
+ var AssignmentOpSymbol$1 = $EXPECT($L47, 'AssignmentOpSymbol "*="');
10284
+ var AssignmentOpSymbol$2 = $EXPECT($L48, 'AssignmentOpSymbol "/="');
10285
+ var AssignmentOpSymbol$3 = $EXPECT($L49, 'AssignmentOpSymbol "%="');
10088
10286
  var AssignmentOpSymbol$4 = $TS($S($C($EXPECT($L9, 'AssignmentOpSymbol "++"'), $EXPECT($L11, 'AssignmentOpSymbol "\u29FA"')), Equals), function($skip, $loc, $0, $1, $2) {
10089
10287
  return {
10090
10288
  special: true,
@@ -10093,18 +10291,18 @@ var require_parser = __commonJS({
10093
10291
  children: [$2]
10094
10292
  };
10095
10293
  });
10096
- var AssignmentOpSymbol$5 = $EXPECT($L51, 'AssignmentOpSymbol "+="');
10097
- var AssignmentOpSymbol$6 = $EXPECT($L52, 'AssignmentOpSymbol "-="');
10098
- var AssignmentOpSymbol$7 = $EXPECT($L53, 'AssignmentOpSymbol "<<="');
10099
- var AssignmentOpSymbol$8 = $EXPECT($L54, 'AssignmentOpSymbol ">>>="');
10100
- var AssignmentOpSymbol$9 = $EXPECT($L55, 'AssignmentOpSymbol ">>="');
10101
- var AssignmentOpSymbol$10 = $EXPECT($L56, 'AssignmentOpSymbol "&&="');
10102
- var AssignmentOpSymbol$11 = $EXPECT($L57, 'AssignmentOpSymbol "&="');
10103
- var AssignmentOpSymbol$12 = $EXPECT($L58, 'AssignmentOpSymbol "^="');
10104
- var AssignmentOpSymbol$13 = $EXPECT($L59, 'AssignmentOpSymbol "||="');
10105
- var AssignmentOpSymbol$14 = $EXPECT($L60, 'AssignmentOpSymbol "|="');
10106
- var AssignmentOpSymbol$15 = $EXPECT($L61, 'AssignmentOpSymbol "??="');
10107
- var AssignmentOpSymbol$16 = $T($EXPECT($L62, 'AssignmentOpSymbol "?="'), function(value) {
10294
+ var AssignmentOpSymbol$5 = $EXPECT($L50, 'AssignmentOpSymbol "+="');
10295
+ var AssignmentOpSymbol$6 = $EXPECT($L51, 'AssignmentOpSymbol "-="');
10296
+ var AssignmentOpSymbol$7 = $EXPECT($L52, 'AssignmentOpSymbol "<<="');
10297
+ var AssignmentOpSymbol$8 = $EXPECT($L53, 'AssignmentOpSymbol ">>>="');
10298
+ var AssignmentOpSymbol$9 = $EXPECT($L54, 'AssignmentOpSymbol ">>="');
10299
+ var AssignmentOpSymbol$10 = $EXPECT($L55, 'AssignmentOpSymbol "&&="');
10300
+ var AssignmentOpSymbol$11 = $EXPECT($L56, 'AssignmentOpSymbol "&="');
10301
+ var AssignmentOpSymbol$12 = $EXPECT($L57, 'AssignmentOpSymbol "^="');
10302
+ var AssignmentOpSymbol$13 = $EXPECT($L58, 'AssignmentOpSymbol "||="');
10303
+ var AssignmentOpSymbol$14 = $EXPECT($L59, 'AssignmentOpSymbol "|="');
10304
+ var AssignmentOpSymbol$15 = $EXPECT($L60, 'AssignmentOpSymbol "??="');
10305
+ var AssignmentOpSymbol$16 = $T($EXPECT($L61, 'AssignmentOpSymbol "?="'), function(value) {
10108
10306
  return "??=";
10109
10307
  });
10110
10308
  var AssignmentOpSymbol$17 = $T($S($EXPECT($L3, 'AssignmentOpSymbol "="'), $N($EXPECT($L3, 'AssignmentOpSymbol "="'))), function(value) {
@@ -10117,10 +10315,10 @@ var require_parser = __commonJS({
10117
10315
  function AssignmentOpSymbol(ctx, state) {
10118
10316
  return $EVENT_C(ctx, state, "AssignmentOpSymbol", AssignmentOpSymbol$$);
10119
10317
  }
10120
- var CoffeeWordAssignmentOp$0 = $T($EXPECT($L63, 'CoffeeWordAssignmentOp "and="'), function(value) {
10318
+ var CoffeeWordAssignmentOp$0 = $T($EXPECT($L62, 'CoffeeWordAssignmentOp "and="'), function(value) {
10121
10319
  return "&&=";
10122
10320
  });
10123
- var CoffeeWordAssignmentOp$1 = $T($EXPECT($L64, 'CoffeeWordAssignmentOp "or="'), function(value) {
10321
+ var CoffeeWordAssignmentOp$1 = $T($EXPECT($L63, 'CoffeeWordAssignmentOp "or="'), function(value) {
10124
10322
  return "||=";
10125
10323
  });
10126
10324
  var CoffeeWordAssignmentOp$$ = [CoffeeWordAssignmentOp$0, CoffeeWordAssignmentOp$1];
@@ -10154,7 +10352,7 @@ var require_parser = __commonJS({
10154
10352
  function IdentifierBinaryOp(ctx, state) {
10155
10353
  return $EVENT(ctx, state, "IdentifierBinaryOp", IdentifierBinaryOp$0);
10156
10354
  }
10157
- var BinaryOp$0 = $T($S($EXPECT($R19, "BinaryOp /(?=\\p{ID_Start}|[_$^\xAB\xBB\u22D9\u2264\u2265\u2208\u220B\u2209\u220C\u2263\u2261\u2262\u2260=\u2016\u2047&|*\\/!?%<>\u29FA+-])/"), _BinaryOp), function(value) {
10355
+ var BinaryOp$0 = $T($S($EXPECT($R20, "BinaryOp /(?=\\p{ID_Start}|[_$^\xAB\xBB\u22D9\u2264\u2265\u2208\u220B\u2209\u220C\u2263\u2261\u2262\u2260=\u2016\u2047&|*\\/!?%<>\u29FA+-])/"), _BinaryOp), function(value) {
10158
10356
  var op = value[1];
10159
10357
  return op;
10160
10358
  });
@@ -10191,33 +10389,33 @@ var require_parser = __commonJS({
10191
10389
  function _BinaryOp(ctx, state) {
10192
10390
  return $EVENT_C(ctx, state, "_BinaryOp", _BinaryOp$$);
10193
10391
  }
10194
- var BinaryOpSymbol$0 = $EXPECT($L65, 'BinaryOpSymbol "**"');
10195
- var BinaryOpSymbol$1 = $EXPECT($L66, 'BinaryOpSymbol "*"');
10196
- var BinaryOpSymbol$2 = $EXPECT($L67, 'BinaryOpSymbol "/"');
10197
- var BinaryOpSymbol$3 = $TV($EXPECT($L68, 'BinaryOpSymbol "%%"'), function($skip, $loc, $0, $1) {
10392
+ var BinaryOpSymbol$0 = $EXPECT($L64, 'BinaryOpSymbol "**"');
10393
+ var BinaryOpSymbol$1 = $EXPECT($L65, 'BinaryOpSymbol "*"');
10394
+ var BinaryOpSymbol$2 = $EXPECT($L66, 'BinaryOpSymbol "/"');
10395
+ var BinaryOpSymbol$3 = $TV($EXPECT($L67, 'BinaryOpSymbol "%%"'), function($skip, $loc, $0, $1) {
10198
10396
  return {
10199
10397
  call: module.getRef("modulo"),
10200
10398
  special: true
10201
10399
  };
10202
10400
  });
10203
- var BinaryOpSymbol$4 = $EXPECT($L69, 'BinaryOpSymbol "%"');
10401
+ var BinaryOpSymbol$4 = $EXPECT($L68, 'BinaryOpSymbol "%"');
10204
10402
  var BinaryOpSymbol$5 = $TV($C($EXPECT($L9, 'BinaryOpSymbol "++"'), $EXPECT($L11, 'BinaryOpSymbol "\u29FA"')), function($skip, $loc, $0, $1) {
10205
10403
  return {
10206
10404
  method: "concat",
10207
10405
  special: true
10208
10406
  };
10209
10407
  });
10210
- var BinaryOpSymbol$6 = $EXPECT($L70, 'BinaryOpSymbol "+"');
10408
+ var BinaryOpSymbol$6 = $EXPECT($L69, 'BinaryOpSymbol "+"');
10211
10409
  var BinaryOpSymbol$7 = $EXPECT($L22, 'BinaryOpSymbol "-"');
10212
- var BinaryOpSymbol$8 = $EXPECT($L71, 'BinaryOpSymbol "<="');
10213
- var BinaryOpSymbol$9 = $T($EXPECT($L72, 'BinaryOpSymbol "\u2264"'), function(value) {
10410
+ var BinaryOpSymbol$8 = $EXPECT($L70, 'BinaryOpSymbol "<="');
10411
+ var BinaryOpSymbol$9 = $T($EXPECT($L71, 'BinaryOpSymbol "\u2264"'), function(value) {
10214
10412
  return "<=";
10215
10413
  });
10216
- var BinaryOpSymbol$10 = $EXPECT($L73, 'BinaryOpSymbol ">="');
10217
- var BinaryOpSymbol$11 = $T($EXPECT($L74, 'BinaryOpSymbol "\u2265"'), function(value) {
10414
+ var BinaryOpSymbol$10 = $EXPECT($L72, 'BinaryOpSymbol ">="');
10415
+ var BinaryOpSymbol$11 = $T($EXPECT($L73, 'BinaryOpSymbol "\u2265"'), function(value) {
10218
10416
  return ">=";
10219
10417
  });
10220
- var BinaryOpSymbol$12 = $TV($EXPECT($L75, 'BinaryOpSymbol "<?"'), function($skip, $loc, $0, $1) {
10418
+ var BinaryOpSymbol$12 = $TV($EXPECT($L74, 'BinaryOpSymbol "<?"'), function($skip, $loc, $0, $1) {
10221
10419
  return {
10222
10420
  $loc,
10223
10421
  token: "instanceof",
@@ -10225,7 +10423,7 @@ var require_parser = __commonJS({
10225
10423
  special: true
10226
10424
  };
10227
10425
  });
10228
- var BinaryOpSymbol$13 = $TV($EXPECT($L76, 'BinaryOpSymbol "!<?"'), function($skip, $loc, $0, $1) {
10426
+ var BinaryOpSymbol$13 = $TV($EXPECT($L75, 'BinaryOpSymbol "!<?"'), function($skip, $loc, $0, $1) {
10229
10427
  return {
10230
10428
  $loc,
10231
10429
  token: "instanceof",
@@ -10234,76 +10432,76 @@ var require_parser = __commonJS({
10234
10432
  negated: true
10235
10433
  };
10236
10434
  });
10237
- var BinaryOpSymbol$14 = $EXPECT($L77, 'BinaryOpSymbol "<<"');
10238
- var BinaryOpSymbol$15 = $T($EXPECT($L78, 'BinaryOpSymbol "\xAB"'), function(value) {
10435
+ var BinaryOpSymbol$14 = $EXPECT($L76, 'BinaryOpSymbol "<<"');
10436
+ var BinaryOpSymbol$15 = $T($EXPECT($L77, 'BinaryOpSymbol "\xAB"'), function(value) {
10239
10437
  return "<<";
10240
10438
  });
10241
10439
  var BinaryOpSymbol$16 = $EXPECT($L17, 'BinaryOpSymbol "<"');
10242
- var BinaryOpSymbol$17 = $EXPECT($L79, 'BinaryOpSymbol ">>>"');
10243
- var BinaryOpSymbol$18 = $T($EXPECT($L80, 'BinaryOpSymbol "\u22D9"'), function(value) {
10440
+ var BinaryOpSymbol$17 = $EXPECT($L78, 'BinaryOpSymbol ">>>"');
10441
+ var BinaryOpSymbol$18 = $T($EXPECT($L79, 'BinaryOpSymbol "\u22D9"'), function(value) {
10244
10442
  return ">>>";
10245
10443
  });
10246
- var BinaryOpSymbol$19 = $EXPECT($L81, 'BinaryOpSymbol ">>"');
10247
- var BinaryOpSymbol$20 = $T($EXPECT($L82, 'BinaryOpSymbol "\xBB"'), function(value) {
10444
+ var BinaryOpSymbol$19 = $EXPECT($L80, 'BinaryOpSymbol ">>"');
10445
+ var BinaryOpSymbol$20 = $T($EXPECT($L81, 'BinaryOpSymbol "\xBB"'), function(value) {
10248
10446
  return ">>";
10249
10447
  });
10250
- var BinaryOpSymbol$21 = $EXPECT($L45, 'BinaryOpSymbol ">"');
10251
- var BinaryOpSymbol$22 = $EXPECT($L83, 'BinaryOpSymbol "!=="');
10252
- var BinaryOpSymbol$23 = $T($EXPECT($L84, 'BinaryOpSymbol "\u2262"'), function(value) {
10448
+ var BinaryOpSymbol$21 = $EXPECT($L44, 'BinaryOpSymbol ">"');
10449
+ var BinaryOpSymbol$22 = $EXPECT($L82, 'BinaryOpSymbol "!=="');
10450
+ var BinaryOpSymbol$23 = $T($EXPECT($L83, 'BinaryOpSymbol "\u2262"'), function(value) {
10253
10451
  return "!==";
10254
10452
  });
10255
- var BinaryOpSymbol$24 = $TV($C($EXPECT($L85, 'BinaryOpSymbol "!="'), $EXPECT($L86, 'BinaryOpSymbol "\u2260"')), function($skip, $loc, $0, $1) {
10453
+ var BinaryOpSymbol$24 = $TV($C($EXPECT($L84, 'BinaryOpSymbol "!="'), $EXPECT($L85, 'BinaryOpSymbol "\u2260"')), function($skip, $loc, $0, $1) {
10256
10454
  if (module.config.coffeeEq)
10257
10455
  return "!==";
10258
10456
  return "!=";
10259
10457
  });
10260
- var BinaryOpSymbol$25 = $TS($S($EXPECT($L87, 'BinaryOpSymbol "isnt"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10458
+ var BinaryOpSymbol$25 = $TS($S($EXPECT($L86, 'BinaryOpSymbol "isnt"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10261
10459
  if (module.config.coffeeIsnt)
10262
10460
  return "!==";
10263
10461
  return $skip;
10264
10462
  });
10265
- var BinaryOpSymbol$26 = $EXPECT($L88, 'BinaryOpSymbol "==="');
10266
- var BinaryOpSymbol$27 = $T($C($EXPECT($L89, 'BinaryOpSymbol "\u2263"'), $EXPECT($L90, 'BinaryOpSymbol "\u2A76"')), function(value) {
10463
+ var BinaryOpSymbol$26 = $EXPECT($L87, 'BinaryOpSymbol "==="');
10464
+ var BinaryOpSymbol$27 = $T($C($EXPECT($L88, 'BinaryOpSymbol "\u2263"'), $EXPECT($L89, 'BinaryOpSymbol "\u2A76"')), function(value) {
10267
10465
  return "===";
10268
10466
  });
10269
- var BinaryOpSymbol$28 = $TV($C($EXPECT($L91, 'BinaryOpSymbol "=="'), $EXPECT($L92, 'BinaryOpSymbol "\u2261"'), $EXPECT($L93, 'BinaryOpSymbol "\u2A75"')), function($skip, $loc, $0, $1) {
10467
+ var BinaryOpSymbol$28 = $TV($C($EXPECT($L90, 'BinaryOpSymbol "=="'), $EXPECT($L91, 'BinaryOpSymbol "\u2261"'), $EXPECT($L92, 'BinaryOpSymbol "\u2A75"')), function($skip, $loc, $0, $1) {
10270
10468
  if (module.config.coffeeEq)
10271
10469
  return "===";
10272
10470
  return "==";
10273
10471
  });
10274
- var BinaryOpSymbol$29 = $T($S($EXPECT($L94, 'BinaryOpSymbol "and"'), NonIdContinue), function(value) {
10472
+ var BinaryOpSymbol$29 = $T($S($EXPECT($L93, 'BinaryOpSymbol "and"'), NonIdContinue), function(value) {
10275
10473
  return "&&";
10276
10474
  });
10277
- var BinaryOpSymbol$30 = $EXPECT($L95, 'BinaryOpSymbol "&&"');
10278
- var BinaryOpSymbol$31 = $T($S($EXPECT($L96, 'BinaryOpSymbol "or"'), NonIdContinue), function(value) {
10475
+ var BinaryOpSymbol$30 = $EXPECT($L94, 'BinaryOpSymbol "&&"');
10476
+ var BinaryOpSymbol$31 = $T($S($EXPECT($L95, 'BinaryOpSymbol "or"'), NonIdContinue), function(value) {
10279
10477
  return "||";
10280
10478
  });
10281
- var BinaryOpSymbol$32 = $EXPECT($L97, 'BinaryOpSymbol "||"');
10282
- var BinaryOpSymbol$33 = $T($EXPECT($L98, 'BinaryOpSymbol "\u2016"'), function(value) {
10479
+ var BinaryOpSymbol$32 = $EXPECT($L96, 'BinaryOpSymbol "||"');
10480
+ var BinaryOpSymbol$33 = $T($EXPECT($L97, 'BinaryOpSymbol "\u2016"'), function(value) {
10283
10481
  return "||";
10284
10482
  });
10285
- var BinaryOpSymbol$34 = $TV($C($EXPECT($L99, 'BinaryOpSymbol "^^"'), $S($EXPECT($L100, 'BinaryOpSymbol "xor"'), NonIdContinue)), function($skip, $loc, $0, $1) {
10483
+ var BinaryOpSymbol$34 = $TV($C($EXPECT($L98, 'BinaryOpSymbol "^^"'), $S($EXPECT($L99, 'BinaryOpSymbol "xor"'), NonIdContinue)), function($skip, $loc, $0, $1) {
10286
10484
  return {
10287
10485
  call: module.getRef("xor"),
10288
10486
  special: true,
10289
10487
  prec: "^^"
10290
10488
  };
10291
10489
  });
10292
- var BinaryOpSymbol$35 = $TV($C($EXPECT($R20, "BinaryOpSymbol /!\\^\\^?/"), $S($EXPECT($L101, 'BinaryOpSymbol "xnor"'), NonIdContinue)), function($skip, $loc, $0, $1) {
10490
+ var BinaryOpSymbol$35 = $TV($C($EXPECT($R21, "BinaryOpSymbol /!\\^\\^?/"), $S($EXPECT($L100, 'BinaryOpSymbol "xnor"'), NonIdContinue)), function($skip, $loc, $0, $1) {
10293
10491
  return {
10294
10492
  call: module.getRef("xnor"),
10295
10493
  special: true,
10296
10494
  prec: "^^"
10297
10495
  };
10298
10496
  });
10299
- var BinaryOpSymbol$36 = $EXPECT($L102, 'BinaryOpSymbol "??"');
10300
- var BinaryOpSymbol$37 = $T($EXPECT($L103, 'BinaryOpSymbol "\u2047"'), function(value) {
10497
+ var BinaryOpSymbol$36 = $EXPECT($L101, 'BinaryOpSymbol "??"');
10498
+ var BinaryOpSymbol$37 = $T($EXPECT($L102, 'BinaryOpSymbol "\u2047"'), function(value) {
10301
10499
  return "??";
10302
10500
  });
10303
10501
  var BinaryOpSymbol$38 = $T($S($EXPECT($L6, 'BinaryOpSymbol "?"'), CoffeeBinaryExistentialEnabled), function(value) {
10304
10502
  return "??";
10305
10503
  });
10306
- var BinaryOpSymbol$39 = $TS($S($EXPECT($L104, 'BinaryOpSymbol "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10504
+ var BinaryOpSymbol$39 = $TS($S($EXPECT($L103, 'BinaryOpSymbol "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10307
10505
  return {
10308
10506
  $loc,
10309
10507
  token: $1,
@@ -10320,7 +10518,7 @@ var require_parser = __commonJS({
10320
10518
  var op = $3;
10321
10519
  return { ...op, $loc };
10322
10520
  });
10323
- var BinaryOpSymbol$42 = $TV($C($S(Is, __, In), $EXPECT($L105, 'BinaryOpSymbol "\u2208"')), function($skip, $loc, $0, $1) {
10521
+ var BinaryOpSymbol$42 = $TV($C($S(Is, __, In), $EXPECT($L104, 'BinaryOpSymbol "\u2208"')), function($skip, $loc, $0, $1) {
10324
10522
  return {
10325
10523
  method: "includes",
10326
10524
  relational: true,
@@ -10328,14 +10526,14 @@ var require_parser = __commonJS({
10328
10526
  special: true
10329
10527
  };
10330
10528
  });
10331
- var BinaryOpSymbol$43 = $TV($EXPECT($L106, 'BinaryOpSymbol "\u220B"'), function($skip, $loc, $0, $1) {
10529
+ var BinaryOpSymbol$43 = $TV($EXPECT($L105, 'BinaryOpSymbol "\u220B"'), function($skip, $loc, $0, $1) {
10332
10530
  return {
10333
10531
  method: "includes",
10334
10532
  relational: true,
10335
10533
  special: true
10336
10534
  };
10337
10535
  });
10338
- var BinaryOpSymbol$44 = $TV($EXPECT($L107, 'BinaryOpSymbol "\u220C"'), function($skip, $loc, $0, $1) {
10536
+ var BinaryOpSymbol$44 = $TV($EXPECT($L106, 'BinaryOpSymbol "\u220C"'), function($skip, $loc, $0, $1) {
10339
10537
  return {
10340
10538
  method: "includes",
10341
10539
  relational: true,
@@ -10343,7 +10541,7 @@ var require_parser = __commonJS({
10343
10541
  negated: true
10344
10542
  };
10345
10543
  });
10346
- var BinaryOpSymbol$45 = $TV($C($S(Is, __, OmittedNegation, __, In), $EXPECT($L108, 'BinaryOpSymbol "\u2209"')), function($skip, $loc, $0, $1) {
10544
+ var BinaryOpSymbol$45 = $TV($C($S(Is, __, OmittedNegation, __, In), $EXPECT($L107, 'BinaryOpSymbol "\u2209"')), function($skip, $loc, $0, $1) {
10347
10545
  return {
10348
10546
  method: "includes",
10349
10547
  relational: true,
@@ -10376,9 +10574,9 @@ var require_parser = __commonJS({
10376
10574
  return "===";
10377
10575
  });
10378
10576
  var BinaryOpSymbol$48 = In;
10379
- var BinaryOpSymbol$49 = $EXPECT($L109, 'BinaryOpSymbol "&"');
10577
+ var BinaryOpSymbol$49 = $EXPECT($L108, 'BinaryOpSymbol "&"');
10380
10578
  var BinaryOpSymbol$50 = $EXPECT($L21, 'BinaryOpSymbol "^"');
10381
- var BinaryOpSymbol$51 = $EXPECT($L110, 'BinaryOpSymbol "|"');
10579
+ var BinaryOpSymbol$51 = $EXPECT($L109, 'BinaryOpSymbol "|"');
10382
10580
  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];
10383
10581
  function BinaryOpSymbol(ctx, state) {
10384
10582
  return $EVENT_C(ctx, state, "BinaryOpSymbol", BinaryOpSymbol$$);
@@ -10426,7 +10624,7 @@ var require_parser = __commonJS({
10426
10624
  function CoffeeOfOp(ctx, state) {
10427
10625
  return $EVENT_C(ctx, state, "CoffeeOfOp", CoffeeOfOp$$);
10428
10626
  }
10429
- var NotOp$0 = $TS($S($EXPECT($L104, 'NotOp "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10627
+ var NotOp$0 = $TS($S($EXPECT($L103, 'NotOp "instanceof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
10430
10628
  return {
10431
10629
  $loc,
10432
10630
  token: "instanceof",
@@ -10447,30 +10645,30 @@ var require_parser = __commonJS({
10447
10645
  function NotOp(ctx, state) {
10448
10646
  return $EVENT_C(ctx, state, "NotOp", NotOp$$);
10449
10647
  }
10450
- var Xor$0 = $EXPECT($L99, 'Xor "^^"');
10451
- var Xor$1 = $S($EXPECT($L100, 'Xor "xor"'), NonIdContinue);
10648
+ var Xor$0 = $EXPECT($L98, 'Xor "^^"');
10649
+ var Xor$1 = $S($EXPECT($L99, 'Xor "xor"'), NonIdContinue);
10452
10650
  var Xor$$ = [Xor$0, Xor$1];
10453
10651
  function Xor(ctx, state) {
10454
10652
  return $EVENT_C(ctx, state, "Xor", Xor$$);
10455
10653
  }
10456
- var Xnor$0 = $R$0($EXPECT($R20, "Xnor /!\\^\\^?/"));
10457
- var Xnor$1 = $EXPECT($L101, 'Xnor "xnor"');
10654
+ var Xnor$0 = $R$0($EXPECT($R21, "Xnor /!\\^\\^?/"));
10655
+ var Xnor$1 = $EXPECT($L100, 'Xnor "xnor"');
10458
10656
  var Xnor$$ = [Xnor$0, Xnor$1];
10459
10657
  function Xnor(ctx, state) {
10460
10658
  return $EVENT_C(ctx, state, "Xnor", Xnor$$);
10461
10659
  }
10462
- var UnaryOp$0 = $TR($EXPECT($R21, "UnaryOp /(?!\\+\\+|--)[!~+-](?!\\s)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10660
+ var UnaryOp$0 = $TR($EXPECT($R22, "UnaryOp /(?!\\+\\+|--)[!~+-](?!\\s)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
10463
10661
  return { $loc, token: $0 };
10464
10662
  });
10465
10663
  var UnaryOp$1 = AwaitOp;
10466
- var UnaryOp$2 = $TS($S($C(Delete, Void, Typeof), $N($EXPECT($R22, "UnaryOp /[:.]/")), $E(_)), function($skip, $loc, $0, $1, $2, $3) {
10664
+ var UnaryOp$2 = $TS($S($C(Delete, Void, Typeof), $N($EXPECT($R23, "UnaryOp /[:.]/")), $E(_)), function($skip, $loc, $0, $1, $2, $3) {
10467
10665
  var op = $1;
10468
10666
  var ws = $3;
10469
10667
  if (!ws)
10470
10668
  return [op, [" "]];
10471
10669
  return [op, ws];
10472
10670
  });
10473
- var UnaryOp$3 = $T($S(Not, $N($EXPECT($R22, "UnaryOp /[:.]/")), $E($EXPECT($L16, 'UnaryOp " "')), $E(_)), function(value) {
10671
+ var UnaryOp$3 = $T($S(Not, $N($EXPECT($R23, "UnaryOp /[:.]/")), $E($EXPECT($L16, 'UnaryOp " "')), $E(_)), function(value) {
10474
10672
  return [value[0], value[3]];
10475
10673
  });
10476
10674
  var UnaryOp$$ = [UnaryOp$0, UnaryOp$1, UnaryOp$2, UnaryOp$3];
@@ -10498,7 +10696,7 @@ var require_parser = __commonJS({
10498
10696
  return $EVENT_C(ctx, state, "ModuleItem", ModuleItem$$);
10499
10697
  }
10500
10698
  var StatementListItem$0 = Declaration;
10501
- var StatementListItem$1 = $TS($S($N($EXPECT($L111, 'StatementListItem "$:"')), ImplicitObjectLiteral), function($skip, $loc, $0, $1, $2) {
10699
+ var StatementListItem$1 = $TS($S($N($EXPECT($L110, 'StatementListItem "$:"')), ImplicitObjectLiteral), function($skip, $loc, $0, $1, $2) {
10502
10700
  return makeLeftHandSideExpression($2);
10503
10701
  });
10504
10702
  var StatementListItem$2 = PostfixedStatement;
@@ -10565,7 +10763,7 @@ var require_parser = __commonJS({
10565
10763
  function NonPipelinePostfixedExpression(ctx, state) {
10566
10764
  return $EVENT(ctx, state, "NonPipelinePostfixedExpression", NonPipelinePostfixedExpression$0);
10567
10765
  }
10568
- var PostfixStatement$0 = $T($S($EXPECT($R23, "PostfixStatement /(?=for|if|loop|unless|until|while)/"), _PostfixStatement), function(value) {
10766
+ var PostfixStatement$0 = $T($S($EXPECT($R24, "PostfixStatement /(?=for|if|loop|unless|until|while)/"), _PostfixStatement), function(value) {
10569
10767
  return value[1];
10570
10768
  });
10571
10769
  function PostfixStatement(ctx, state) {
@@ -10608,7 +10806,7 @@ var require_parser = __commonJS({
10608
10806
  function NoCommaStatement(ctx, state) {
10609
10807
  return $EVENT_C(ctx, state, "NoCommaStatement", NoCommaStatement$$);
10610
10808
  }
10611
- var EmptyStatement$0 = $TS($S($E(_), $Y($EXPECT($L112, 'EmptyStatement ";"'))), function($skip, $loc, $0, $1, $2) {
10809
+ var EmptyStatement$0 = $TS($S($E(_), $Y($EXPECT($L111, 'EmptyStatement ";"'))), function($skip, $loc, $0, $1, $2) {
10612
10810
  return { type: "EmptyStatement", children: $1 || [] };
10613
10811
  });
10614
10812
  function EmptyStatement(ctx, state) {
@@ -10639,7 +10837,7 @@ var require_parser = __commonJS({
10639
10837
  var w = $3;
10640
10838
  return [id, colon, w];
10641
10839
  });
10642
- var Label$1 = $S($EXPECT($L111, 'Label "$:"'), Whitespace);
10840
+ var Label$1 = $S($EXPECT($L110, 'Label "$:"'), Whitespace);
10643
10841
  var Label$$ = [Label$0, Label$1];
10644
10842
  function Label(ctx, state) {
10645
10843
  return $EVENT_C(ctx, state, "Label", Label$$);
@@ -10698,7 +10896,7 @@ var require_parser = __commonJS({
10698
10896
  function UnlessClause(ctx, state) {
10699
10897
  return $EVENT(ctx, state, "UnlessClause", UnlessClause$0);
10700
10898
  }
10701
- var IterationStatement$0 = $T($S($EXPECT($R24, "IterationStatement /(?=loop|do|for|until|while)/"), _IterationStatement), function(value) {
10899
+ var IterationStatement$0 = $T($S($EXPECT($R25, "IterationStatement /(?=loop|do|for|until|while)/"), _IterationStatement), function(value) {
10702
10900
  return value[1];
10703
10901
  });
10704
10902
  function IterationStatement(ctx, state) {
@@ -10736,6 +10934,7 @@ var require_parser = __commonJS({
10736
10934
  var clause = $1;
10737
10935
  var block = $2;
10738
10936
  return {
10937
+ ...clause,
10739
10938
  type: "IterationStatement",
10740
10939
  children: [...clause.children, block],
10741
10940
  block
@@ -10744,15 +10943,38 @@ var require_parser = __commonJS({
10744
10943
  function LoopStatement(ctx, state) {
10745
10944
  return $EVENT(ctx, state, "LoopStatement", LoopStatement$0);
10746
10945
  }
10747
- var LoopClause$0 = $T($S(Loop), function(value) {
10748
- return { "type": "IterationStatement", "children": [value[0]] };
10946
+ var LoopClause$0 = $TV(Loop, function($skip, $loc, $0, $1) {
10947
+ var kind = $0;
10948
+ const expression = {
10949
+ type: "Literal",
10950
+ children: ["true"],
10951
+ raw: "true"
10952
+ };
10953
+ const condition = {
10954
+ type: "ParenthesizedExpression",
10955
+ children: ["(", expression, ")"],
10956
+ expression
10957
+ };
10958
+ return {
10959
+ type: "IterationStatement",
10960
+ subtype: kind.token,
10961
+ children: [kind, condition],
10962
+ condition
10963
+ };
10749
10964
  });
10750
10965
  function LoopClause(ctx, state) {
10751
10966
  return $EVENT(ctx, state, "LoopClause", LoopClause$0);
10752
10967
  }
10753
- var DoWhileStatement$0 = $T($S(Do, NoPostfixBracedBlock, __, WhileClause), function(value) {
10754
- var block = value[1];
10755
- return { "type": "IterationStatement", "children": value, "block": block };
10968
+ var DoWhileStatement$0 = $TS($S(Do, NoPostfixBracedBlock, __, WhileClause), function($skip, $loc, $0, $1, $2, $3, $4) {
10969
+ var block = $2;
10970
+ var clause = $4;
10971
+ return {
10972
+ ...clause,
10973
+ type: "IterationStatement",
10974
+ subtype: "do-while",
10975
+ children: $0,
10976
+ block
10977
+ };
10756
10978
  });
10757
10979
  function DoWhileStatement(ctx, state) {
10758
10980
  return $EVENT(ctx, state, "DoWhileStatement", DoWhileStatement$0);
@@ -10791,6 +11013,7 @@ var require_parser = __commonJS({
10791
11013
  }
10792
11014
  return {
10793
11015
  type: "IterationStatement",
11016
+ subtype: kind.token,
10794
11017
  children: [kind, ws, condition],
10795
11018
  condition
10796
11019
  };
@@ -11051,7 +11274,7 @@ var require_parser = __commonJS({
11051
11274
  names: binding.names
11052
11275
  };
11053
11276
  });
11054
- var ForDeclaration$1 = $TS($S(InsertConst, ForBinding, $EXPECT($R25, "ForDeclaration /(?=[\\s\\),])/")), function($skip, $loc, $0, $1, $2, $3) {
11277
+ var ForDeclaration$1 = $TS($S(InsertConst, ForBinding, $EXPECT($R26, "ForDeclaration /(?=[\\s\\),])/")), function($skip, $loc, $0, $1, $2, $3) {
11055
11278
  var c = $1;
11056
11279
  var binding = $2;
11057
11280
  return {
@@ -11611,19 +11834,19 @@ var require_parser = __commonJS({
11611
11834
  function ThrowStatement(ctx, state) {
11612
11835
  return $EVENT(ctx, state, "ThrowStatement", ThrowStatement$0);
11613
11836
  }
11614
- var Break$0 = $TS($S($EXPECT($L113, 'Break "break"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11837
+ var Break$0 = $TS($S($EXPECT($L112, 'Break "break"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11615
11838
  return { $loc, token: $1 };
11616
11839
  });
11617
11840
  function Break(ctx, state) {
11618
11841
  return $EVENT(ctx, state, "Break", Break$0);
11619
11842
  }
11620
- var Continue$0 = $TS($S($EXPECT($L114, 'Continue "continue"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11843
+ var Continue$0 = $TS($S($EXPECT($L113, 'Continue "continue"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11621
11844
  return { $loc, token: $1 };
11622
11845
  });
11623
11846
  function Continue(ctx, state) {
11624
11847
  return $EVENT(ctx, state, "Continue", Continue$0);
11625
11848
  }
11626
- var Debugger$0 = $TS($S($EXPECT($L115, 'Debugger "debugger"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11849
+ var Debugger$0 = $TS($S($EXPECT($L114, 'Debugger "debugger"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
11627
11850
  return { $loc, token: $1 };
11628
11851
  });
11629
11852
  function Debugger(ctx, state) {
@@ -11640,7 +11863,7 @@ var require_parser = __commonJS({
11640
11863
  function MaybeNestedExpression(ctx, state) {
11641
11864
  return $EVENT_C(ctx, state, "MaybeNestedExpression", MaybeNestedExpression$$);
11642
11865
  }
11643
- var ImportDeclaration$0 = $TS($S(Import, _, Identifier, $E(_), Equals, __, $EXPECT($L116, 'ImportDeclaration "require"'), NonIdContinue, Arguments), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11866
+ var ImportDeclaration$0 = $TS($S(Import, _, Identifier, $E(_), Equals, __, $EXPECT($L115, 'ImportDeclaration "require"'), NonIdContinue, Arguments), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11644
11867
  const imp = [
11645
11868
  { ...$1, ts: true },
11646
11869
  { ...$1, token: "const", js: true }
@@ -11748,7 +11971,7 @@ var require_parser = __commonJS({
11748
11971
  function FromClause(ctx, state) {
11749
11972
  return $EVENT(ctx, state, "FromClause", FromClause$0);
11750
11973
  }
11751
- var ImportAssertion$0 = $TS($S($E(_), $C($EXPECT($L117, 'ImportAssertion "with"'), $EXPECT($L118, 'ImportAssertion "assert"')), NonIdContinue, $E(_), ObjectLiteral), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
11974
+ var ImportAssertion$0 = $TS($S($E(_), $C($EXPECT($L116, 'ImportAssertion "with"'), $EXPECT($L117, 'ImportAssertion "assert"')), NonIdContinue, $E(_), ObjectLiteral), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
11752
11975
  var keyword = $2;
11753
11976
  var object = $5;
11754
11977
  return {
@@ -11880,7 +12103,7 @@ var require_parser = __commonJS({
11880
12103
  function UnprocessedModuleSpecifier(ctx, state) {
11881
12104
  return $EVENT_C(ctx, state, "UnprocessedModuleSpecifier", UnprocessedModuleSpecifier$$);
11882
12105
  }
11883
- var UnquotedSpecifier$0 = $TV($EXPECT($R26, 'UnquotedSpecifier /[^;"\\s]+/'), function($skip, $loc, $0, $1) {
12106
+ var UnquotedSpecifier$0 = $TV($EXPECT($R27, 'UnquotedSpecifier /[^;"\\s]+/'), function($skip, $loc, $0, $1) {
11884
12107
  var spec = $0;
11885
12108
  return { $loc, token: `"${spec}"` };
11886
12109
  });
@@ -12052,19 +12275,19 @@ var require_parser = __commonJS({
12052
12275
  function LexicalDeclaration(ctx, state) {
12053
12276
  return $EVENT_C(ctx, state, "LexicalDeclaration", LexicalDeclaration$$);
12054
12277
  }
12055
- var ConstAssignment$0 = $TV($C($EXPECT($L119, 'ConstAssignment ":="'), $EXPECT($L120, 'ConstAssignment "\u2254"')), function($skip, $loc, $0, $1) {
12278
+ var ConstAssignment$0 = $TV($C($EXPECT($L118, 'ConstAssignment ":="'), $EXPECT($L119, 'ConstAssignment "\u2254"')), function($skip, $loc, $0, $1) {
12056
12279
  return { $loc, token: "=" };
12057
12280
  });
12058
12281
  function ConstAssignment(ctx, state) {
12059
12282
  return $EVENT(ctx, state, "ConstAssignment", ConstAssignment$0);
12060
12283
  }
12061
- var LetAssignment$0 = $TV($EXPECT($L121, 'LetAssignment ".="'), function($skip, $loc, $0, $1) {
12284
+ var LetAssignment$0 = $TV($EXPECT($L120, 'LetAssignment ".="'), function($skip, $loc, $0, $1) {
12062
12285
  return { $loc, token: "=" };
12063
12286
  });
12064
12287
  function LetAssignment(ctx, state) {
12065
12288
  return $EVENT(ctx, state, "LetAssignment", LetAssignment$0);
12066
12289
  }
12067
- var TypeAssignment$0 = $TV($EXPECT($L122, 'TypeAssignment "::="'), function($skip, $loc, $0, $1) {
12290
+ var TypeAssignment$0 = $TV($EXPECT($L121, 'TypeAssignment "::="'), function($skip, $loc, $0, $1) {
12068
12291
  return { $loc, token: "=" };
12069
12292
  });
12070
12293
  function TypeAssignment(ctx, state) {
@@ -12105,7 +12328,10 @@ var require_parser = __commonJS({
12105
12328
  function LexicalBinding(ctx, state) {
12106
12329
  return $EVENT_C(ctx, state, "LexicalBinding", LexicalBinding$$);
12107
12330
  }
12108
- var Initializer$0 = $S(__, Equals, ExtendedExpression);
12331
+ var Initializer$0 = $T($S(__, Equals, ExtendedExpression), function(value) {
12332
+ var exp = value[2];
12333
+ return { "type": "Initializer", "exp": exp, "children": value };
12334
+ });
12109
12335
  function Initializer(ctx, state) {
12110
12336
  return $EVENT(ctx, state, "Initializer", Initializer$0);
12111
12337
  }
@@ -12133,7 +12359,7 @@ var require_parser = __commonJS({
12133
12359
  function VariableDeclarationList(ctx, state) {
12134
12360
  return $EVENT(ctx, state, "VariableDeclarationList", VariableDeclarationList$0);
12135
12361
  }
12136
- var NumericLiteral$0 = $TS($S($EXPECT($R27, "NumericLiteral /(?=[0-9.])/"), NumericLiteralKind), function($skip, $loc, $0, $1, $2) {
12362
+ var NumericLiteral$0 = $TS($S($EXPECT($R28, "NumericLiteral /(?=[0-9.])/"), NumericLiteralKind), function($skip, $loc, $0, $1, $2) {
12137
12363
  var token = $2;
12138
12364
  return { type: "NumericLiteral", $loc, token };
12139
12365
  });
@@ -12149,36 +12375,36 @@ var require_parser = __commonJS({
12149
12375
  function NumericLiteralKind(ctx, state) {
12150
12376
  return $EVENT_C(ctx, state, "NumericLiteralKind", NumericLiteralKind$$);
12151
12377
  }
12152
- var DecimalBigIntegerLiteral$0 = $R$0($EXPECT($R28, "DecimalBigIntegerLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)n/"));
12378
+ var DecimalBigIntegerLiteral$0 = $R$0($EXPECT($R29, "DecimalBigIntegerLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)n/"));
12153
12379
  function DecimalBigIntegerLiteral(ctx, state) {
12154
12380
  return $EVENT(ctx, state, "DecimalBigIntegerLiteral", DecimalBigIntegerLiteral$0);
12155
12381
  }
12156
- var DecimalLiteral$0 = $TV($TEXT($EXPECT($R29, "DecimalLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)(?=\\.(?:\\p{ID_Start}|[_$]))/")), function($skip, $loc, $0, $1) {
12382
+ var DecimalLiteral$0 = $TV($TEXT($EXPECT($R30, "DecimalLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)(?=\\.(?:\\p{ID_Start}|[_$]))/")), function($skip, $loc, $0, $1) {
12157
12383
  return $1 + ".";
12158
12384
  });
12159
- var DecimalLiteral$1 = $TEXT($S($EXPECT($R30, "DecimalLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)(?:\\.(?:[0-9](?:_[0-9]|[0-9])*))?/"), $E(ExponentPart)));
12160
- var DecimalLiteral$2 = $TEXT($S($EXPECT($R31, "DecimalLiteral /(?:\\.[0-9](?:_[0-9]|[0-9])*)/"), $E(ExponentPart)));
12385
+ var DecimalLiteral$1 = $TEXT($S($EXPECT($R31, "DecimalLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)(?:\\.(?:[0-9](?:_[0-9]|[0-9])*))?/"), $E(ExponentPart)));
12386
+ var DecimalLiteral$2 = $TEXT($S($EXPECT($R32, "DecimalLiteral /(?:\\.[0-9](?:_[0-9]|[0-9])*)/"), $E(ExponentPart)));
12161
12387
  var DecimalLiteral$$ = [DecimalLiteral$0, DecimalLiteral$1, DecimalLiteral$2];
12162
12388
  function DecimalLiteral(ctx, state) {
12163
12389
  return $EVENT_C(ctx, state, "DecimalLiteral", DecimalLiteral$$);
12164
12390
  }
12165
- var ExponentPart$0 = $R$0($EXPECT($R32, "ExponentPart /(?:[eE][+-]?[0-9]+(?:_[0-9]|[0-9])*)/"));
12391
+ var ExponentPart$0 = $R$0($EXPECT($R33, "ExponentPart /(?:[eE][+-]?[0-9]+(?:_[0-9]|[0-9])*)/"));
12166
12392
  function ExponentPart(ctx, state) {
12167
12393
  return $EVENT(ctx, state, "ExponentPart", ExponentPart$0);
12168
12394
  }
12169
- var BinaryIntegerLiteral$0 = $R$0($EXPECT($R33, "BinaryIntegerLiteral /0[bB][01](?:[01]|_[01])*n?/"));
12395
+ var BinaryIntegerLiteral$0 = $R$0($EXPECT($R34, "BinaryIntegerLiteral /0[bB][01](?:[01]|_[01])*n?/"));
12170
12396
  function BinaryIntegerLiteral(ctx, state) {
12171
12397
  return $EVENT(ctx, state, "BinaryIntegerLiteral", BinaryIntegerLiteral$0);
12172
12398
  }
12173
- var OctalIntegerLiteral$0 = $R$0($EXPECT($R34, "OctalIntegerLiteral /0[oO][0-7](?:[0-7]|_[0-7])*n?/"));
12399
+ var OctalIntegerLiteral$0 = $R$0($EXPECT($R35, "OctalIntegerLiteral /0[oO][0-7](?:[0-7]|_[0-7])*n?/"));
12174
12400
  function OctalIntegerLiteral(ctx, state) {
12175
12401
  return $EVENT(ctx, state, "OctalIntegerLiteral", OctalIntegerLiteral$0);
12176
12402
  }
12177
- var HexIntegerLiteral$0 = $R$0($EXPECT($R35, "HexIntegerLiteral /0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*n?/"));
12403
+ var HexIntegerLiteral$0 = $R$0($EXPECT($R36, "HexIntegerLiteral /0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*n?/"));
12178
12404
  function HexIntegerLiteral(ctx, state) {
12179
12405
  return $EVENT(ctx, state, "HexIntegerLiteral", HexIntegerLiteral$0);
12180
12406
  }
12181
- var IntegerLiteral$0 = $TS($S($EXPECT($R36, "IntegerLiteral /(?=[0-9])/"), IntegerLiteralKind), function($skip, $loc, $0, $1, $2) {
12407
+ var IntegerLiteral$0 = $TS($S($EXPECT($R37, "IntegerLiteral /(?=[0-9])/"), IntegerLiteralKind), function($skip, $loc, $0, $1, $2) {
12182
12408
  var token = $2;
12183
12409
  return { $loc, token };
12184
12410
  });
@@ -12194,7 +12420,7 @@ var require_parser = __commonJS({
12194
12420
  function IntegerLiteralKind(ctx, state) {
12195
12421
  return $EVENT_C(ctx, state, "IntegerLiteralKind", IntegerLiteralKind$$);
12196
12422
  }
12197
- var DecimalIntegerLiteral$0 = $R$0($EXPECT($R37, "DecimalIntegerLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)/"));
12423
+ var DecimalIntegerLiteral$0 = $R$0($EXPECT($R38, "DecimalIntegerLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)/"));
12198
12424
  function DecimalIntegerLiteral(ctx, state) {
12199
12425
  return $EVENT(ctx, state, "DecimalIntegerLiteral", DecimalIntegerLiteral$0);
12200
12426
  }
@@ -12218,25 +12444,25 @@ var require_parser = __commonJS({
12218
12444
  function StringLiteral(ctx, state) {
12219
12445
  return $EVENT_C(ctx, state, "StringLiteral", StringLiteral$$);
12220
12446
  }
12221
- var DoubleStringCharacters$0 = $TR($EXPECT($R38, 'DoubleStringCharacters /(?:\\\\.|[^"])*/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12447
+ var DoubleStringCharacters$0 = $TR($EXPECT($R39, 'DoubleStringCharacters /(?:\\\\.|[^"])*/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12222
12448
  return { $loc, token: $0 };
12223
12449
  });
12224
12450
  function DoubleStringCharacters(ctx, state) {
12225
12451
  return $EVENT(ctx, state, "DoubleStringCharacters", DoubleStringCharacters$0);
12226
12452
  }
12227
- var SingleStringCharacters$0 = $TR($EXPECT($R39, "SingleStringCharacters /(?:\\\\.|[^'])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12453
+ var SingleStringCharacters$0 = $TR($EXPECT($R40, "SingleStringCharacters /(?:\\\\.|[^'])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12228
12454
  return { $loc, token: $0 };
12229
12455
  });
12230
12456
  function SingleStringCharacters(ctx, state) {
12231
12457
  return $EVENT(ctx, state, "SingleStringCharacters", SingleStringCharacters$0);
12232
12458
  }
12233
- var TripleDoubleStringCharacters$0 = $TR($EXPECT($R40, 'TripleDoubleStringCharacters /(?:"(?!"")|#(?!\\{)|\\\\.|[^#"])+/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12459
+ var TripleDoubleStringCharacters$0 = $TR($EXPECT($R41, 'TripleDoubleStringCharacters /(?:"(?!"")|#(?!\\{)|\\\\.|[^#"])+/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12234
12460
  return { $loc, token: $0 };
12235
12461
  });
12236
12462
  function TripleDoubleStringCharacters(ctx, state) {
12237
12463
  return $EVENT(ctx, state, "TripleDoubleStringCharacters", TripleDoubleStringCharacters$0);
12238
12464
  }
12239
- var TripleSingleStringCharacters$0 = $TR($EXPECT($R41, "TripleSingleStringCharacters /(?:'(?!'')|\\\\.|[^'])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12465
+ var TripleSingleStringCharacters$0 = $TR($EXPECT($R42, "TripleSingleStringCharacters /(?:'(?!'')|\\\\.|[^'])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12240
12466
  return { $loc, token: $0 };
12241
12467
  });
12242
12468
  function TripleSingleStringCharacters(ctx, state) {
@@ -12259,14 +12485,14 @@ var require_parser = __commonJS({
12259
12485
  function CoffeeInterpolatedDoubleQuotedString(ctx, state) {
12260
12486
  return $EVENT(ctx, state, "CoffeeInterpolatedDoubleQuotedString", CoffeeInterpolatedDoubleQuotedString$0);
12261
12487
  }
12262
- var CoffeeDoubleQuotedStringCharacters$0 = $TR($EXPECT($R42, 'CoffeeDoubleQuotedStringCharacters /(?:\\\\.|#(?!\\{)|[^"#])+/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12488
+ var CoffeeDoubleQuotedStringCharacters$0 = $TR($EXPECT($R43, 'CoffeeDoubleQuotedStringCharacters /(?:\\\\.|#(?!\\{)|[^"#])+/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12263
12489
  return { $loc, token: $0 };
12264
12490
  });
12265
12491
  function CoffeeDoubleQuotedStringCharacters(ctx, state) {
12266
12492
  return $EVENT(ctx, state, "CoffeeDoubleQuotedStringCharacters", CoffeeDoubleQuotedStringCharacters$0);
12267
12493
  }
12268
12494
  var RegularExpressionLiteral$0 = HeregexLiteral;
12269
- var RegularExpressionLiteral$1 = $TV($TEXT($S($EXPECT($L67, 'RegularExpressionLiteral "/"'), RegularExpressionBody, $EXPECT($L67, 'RegularExpressionLiteral "/"'), RegularExpressionFlags)), function($skip, $loc, $0, $1) {
12495
+ var RegularExpressionLiteral$1 = $TV($TEXT($S($EXPECT($L66, 'RegularExpressionLiteral "/"'), RegularExpressionBody, $EXPECT($L66, 'RegularExpressionLiteral "/"'), RegularExpressionFlags)), function($skip, $loc, $0, $1) {
12270
12496
  return { type: "RegularExpressionLiteral", $loc, token: $1 };
12271
12497
  });
12272
12498
  var RegularExpressionLiteral$$ = [RegularExpressionLiteral$0, RegularExpressionLiteral$1];
@@ -12279,7 +12505,7 @@ var require_parser = __commonJS({
12279
12505
  function RegularExpressionClass(ctx, state) {
12280
12506
  return $EVENT(ctx, state, "RegularExpressionClass", RegularExpressionClass$0);
12281
12507
  }
12282
- var RegularExpressionClassCharacters$0 = $TR($EXPECT($R43, "RegularExpressionClassCharacters /(?:\\\\.|[^\\]])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12508
+ var RegularExpressionClassCharacters$0 = $TR($EXPECT($R44, "RegularExpressionClassCharacters /(?:\\\\.|[^\\]])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12283
12509
  return { $loc, token: $0 };
12284
12510
  });
12285
12511
  function RegularExpressionClassCharacters(ctx, state) {
@@ -12336,7 +12562,7 @@ var require_parser = __commonJS({
12336
12562
  var HeregexPart$2 = $T($S(TemplateSubstitution), function(value) {
12337
12563
  return { "type": "Substitution", "children": value[0] };
12338
12564
  });
12339
- var HeregexPart$3 = $TR($EXPECT($R44, "HeregexPart /(?:\\\\.)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12565
+ var HeregexPart$3 = $TR($EXPECT($R45, "HeregexPart /(?:\\\\.)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12340
12566
  let token = $0;
12341
12567
  switch ($0[1]) {
12342
12568
  case "\n":
@@ -12354,13 +12580,13 @@ var require_parser = __commonJS({
12354
12580
  var HeregexPart$4 = $TS($S(HeregexComment), function($skip, $loc, $0, $1) {
12355
12581
  return { $loc, token: "" };
12356
12582
  });
12357
- var HeregexPart$5 = $TR($EXPECT($R45, "HeregexPart /[\\s]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12583
+ var HeregexPart$5 = $TR($EXPECT($R46, "HeregexPart /[\\s]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12358
12584
  return { $loc, token: "" };
12359
12585
  });
12360
- var HeregexPart$6 = $TR($EXPECT($R46, "HeregexPart /\\/(?!\\/\\/)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12586
+ var HeregexPart$6 = $TR($EXPECT($R47, "HeregexPart /\\/(?!\\/\\/)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12361
12587
  return { $loc, token: "\\/" };
12362
12588
  });
12363
- var HeregexPart$7 = $TR($EXPECT($R47, "HeregexPart /[^[\\/\\s#\\\\]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12589
+ var HeregexPart$7 = $TR($EXPECT($R48, "HeregexPart /[^[\\/\\s#\\\\]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12364
12590
  return { $loc, token: $0 };
12365
12591
  });
12366
12592
  var HeregexPart$$ = [HeregexPart$0, HeregexPart$1, HeregexPart$2, HeregexPart$3, HeregexPart$4, HeregexPart$5, HeregexPart$6, HeregexPart$7];
@@ -12373,7 +12599,7 @@ var require_parser = __commonJS({
12373
12599
  function HeregexComment(ctx, state) {
12374
12600
  return $EVENT_C(ctx, state, "HeregexComment", HeregexComment$$);
12375
12601
  }
12376
- var RegularExpressionBody$0 = $S($N($R$0($EXPECT($R48, "RegularExpressionBody /[*\\/\\r\\n]/"))), $Q(RegExpPart));
12602
+ var RegularExpressionBody$0 = $S($N($R$0($EXPECT($R49, "RegularExpressionBody /[*\\/\\r\\n]/"))), $Q(RegExpPart));
12377
12603
  function RegularExpressionBody(ctx, state) {
12378
12604
  return $EVENT(ctx, state, "RegularExpressionBody", RegularExpressionBody$0);
12379
12605
  }
@@ -12383,15 +12609,15 @@ var require_parser = __commonJS({
12383
12609
  function RegExpPart(ctx, state) {
12384
12610
  return $EVENT_C(ctx, state, "RegExpPart", RegExpPart$$);
12385
12611
  }
12386
- var RegExpCharacter$0 = $R$0($EXPECT($R49, "RegExpCharacter /(?:\\\\.|[^[\\/\\r\\n])+/"));
12612
+ var RegExpCharacter$0 = $R$0($EXPECT($R50, "RegExpCharacter /(?:\\\\.|[^[\\/\\r\\n])+/"));
12387
12613
  function RegExpCharacter(ctx, state) {
12388
12614
  return $EVENT(ctx, state, "RegExpCharacter", RegExpCharacter$0);
12389
12615
  }
12390
- var RegularExpressionFlags$0 = $R$0($EXPECT($R50, "RegularExpressionFlags /(?:\\p{ID_Continue}|[\\u200C\\u200D$])*/"));
12616
+ var RegularExpressionFlags$0 = $R$0($EXPECT($R51, "RegularExpressionFlags /(?:\\p{ID_Continue}|[\\u200C\\u200D$])*/"));
12391
12617
  function RegularExpressionFlags(ctx, state) {
12392
12618
  return $EVENT(ctx, state, "RegularExpressionFlags", RegularExpressionFlags$0);
12393
12619
  }
12394
- var TemplateLiteral$0 = $T($S($EXPECT($R51, "TemplateLiteral /(?=[`'\"])/"), _TemplateLiteral), function(value) {
12620
+ var TemplateLiteral$0 = $T($S($EXPECT($R52, "TemplateLiteral /(?=[`'\"])/"), _TemplateLiteral), function(value) {
12395
12621
  return value[1];
12396
12622
  });
12397
12623
  function TemplateLiteral(ctx, state) {
@@ -12431,28 +12657,28 @@ var require_parser = __commonJS({
12431
12657
  function TemplateSubstitution(ctx, state) {
12432
12658
  return $EVENT(ctx, state, "TemplateSubstitution", TemplateSubstitution$0);
12433
12659
  }
12434
- var TemplateCharacters$0 = $TR($EXPECT($R52, "TemplateCharacters /(?:\\$(?!\\{)|\\\\.|[^$`])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12660
+ var TemplateCharacters$0 = $TR($EXPECT($R53, "TemplateCharacters /(?:\\$(?!\\{)|\\\\.|[^$`])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12435
12661
  return { $loc, token: $0 };
12436
12662
  });
12437
12663
  function TemplateCharacters(ctx, state) {
12438
12664
  return $EVENT(ctx, state, "TemplateCharacters", TemplateCharacters$0);
12439
12665
  }
12440
- var TemplateBlockCharacters$0 = $TR($EXPECT($R53, "TemplateBlockCharacters /(?:\\$(?!\\{)|`(?!``)|\\\\.|[^$`])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12666
+ var TemplateBlockCharacters$0 = $TR($EXPECT($R54, "TemplateBlockCharacters /(?:\\$(?!\\{)|`(?!``)|\\\\.|[^$`])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12441
12667
  return { $loc, token: $0 };
12442
12668
  });
12443
12669
  function TemplateBlockCharacters(ctx, state) {
12444
12670
  return $EVENT(ctx, state, "TemplateBlockCharacters", TemplateBlockCharacters$0);
12445
12671
  }
12446
- var ReservedWord$0 = $S($R$0($EXPECT($R54, "ReservedWord /(?:on|off|yes|no)(?!\\p{ID_Continue})/")), CoffeeBooleansEnabled);
12447
- var ReservedWord$1 = $S($R$0($EXPECT($R55, "ReservedWord /(?:isnt)(?!\\p{ID_Continue})/")), CoffeeIsntEnabled);
12448
- var ReservedWord$2 = $S($R$0($EXPECT($R56, "ReservedWord /(?:by)(?!\\p{ID_Continue})/")), CoffeeForLoopsEnabled);
12449
- var ReservedWord$3 = $S($R$0($EXPECT($R57, "ReservedWord /(?:of)(?!\\p{ID_Continue})/")), CoffeeOfEnabled);
12450
- var ReservedWord$4 = $R$0($EXPECT($R58, "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})/"));
12672
+ var ReservedWord$0 = $S($R$0($EXPECT($R55, "ReservedWord /(?:on|off|yes|no)(?!\\p{ID_Continue})/")), CoffeeBooleansEnabled);
12673
+ var ReservedWord$1 = $S($R$0($EXPECT($R56, "ReservedWord /(?:isnt)(?!\\p{ID_Continue})/")), CoffeeIsntEnabled);
12674
+ var ReservedWord$2 = $S($R$0($EXPECT($R57, "ReservedWord /(?:by)(?!\\p{ID_Continue})/")), CoffeeForLoopsEnabled);
12675
+ var ReservedWord$3 = $S($R$0($EXPECT($R58, "ReservedWord /(?:of)(?!\\p{ID_Continue})/")), CoffeeOfEnabled);
12676
+ var ReservedWord$4 = $R$0($EXPECT($R59, "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})/"));
12451
12677
  var ReservedWord$$ = [ReservedWord$0, ReservedWord$1, ReservedWord$2, ReservedWord$3, ReservedWord$4];
12452
12678
  function ReservedWord(ctx, state) {
12453
12679
  return $EVENT_C(ctx, state, "ReservedWord", ReservedWord$$);
12454
12680
  }
12455
- var Comment$0 = $T($S($EXPECT($R59, "Comment /(?=\\/|#)/"), _Comment), function(value) {
12681
+ var Comment$0 = $T($S($EXPECT($R60, "Comment /(?=\\/|#)/"), _Comment), function(value) {
12456
12682
  return value[1];
12457
12683
  });
12458
12684
  function Comment(ctx, state) {
@@ -12470,7 +12696,7 @@ var require_parser = __commonJS({
12470
12696
  function SingleLineComment(ctx, state) {
12471
12697
  return $EVENT_C(ctx, state, "SingleLineComment", SingleLineComment$$);
12472
12698
  }
12473
- var JSSingleLineComment$0 = $TR($EXPECT($R60, "JSSingleLineComment /\\/\\/(?!\\/)[^\\r\\n]*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12699
+ var JSSingleLineComment$0 = $TR($EXPECT($R61, "JSSingleLineComment /\\/\\/(?!\\/)[^\\r\\n]*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12474
12700
  return { type: "Comment", $loc, token: $0 };
12475
12701
  });
12476
12702
  function JSSingleLineComment(ctx, state) {
@@ -12482,30 +12708,30 @@ var require_parser = __commonJS({
12482
12708
  function MultiLineComment(ctx, state) {
12483
12709
  return $EVENT_C(ctx, state, "MultiLineComment", MultiLineComment$$);
12484
12710
  }
12485
- var JSMultiLineComment$0 = $TV($TEXT($S($EXPECT($L123, 'JSMultiLineComment "/*"'), $Q($S($N($EXPECT($L124, 'JSMultiLineComment "*/"')), $EXPECT($R61, "JSMultiLineComment /./"))), $EXPECT($L124, 'JSMultiLineComment "*/"'))), function($skip, $loc, $0, $1) {
12711
+ var JSMultiLineComment$0 = $TV($TEXT($S($EXPECT($L122, 'JSMultiLineComment "/*"'), $Q($S($N($EXPECT($L123, 'JSMultiLineComment "*/"')), $EXPECT($R62, "JSMultiLineComment /./"))), $EXPECT($L123, 'JSMultiLineComment "*/"'))), function($skip, $loc, $0, $1) {
12486
12712
  return { type: "Comment", $loc, token: $1 };
12487
12713
  });
12488
12714
  function JSMultiLineComment(ctx, state) {
12489
12715
  return $EVENT(ctx, state, "JSMultiLineComment", JSMultiLineComment$0);
12490
12716
  }
12491
- var CoffeeSingleLineComment$0 = $TR($EXPECT($R62, "CoffeeSingleLineComment /#(?!##(?!#))([^\\r\\n]*)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12717
+ var CoffeeSingleLineComment$0 = $TR($EXPECT($R63, "CoffeeSingleLineComment /#(?!##(?!#))([^\\r\\n]*)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12492
12718
  return { type: "Comment", $loc, token: `//${$1}` };
12493
12719
  });
12494
12720
  function CoffeeSingleLineComment(ctx, state) {
12495
12721
  return $EVENT(ctx, state, "CoffeeSingleLineComment", CoffeeSingleLineComment$0);
12496
12722
  }
12497
- var CoffeeMultiLineComment$0 = $TS($S(CoffeeHereCommentStart, $TEXT($EXPECT($R63, "CoffeeMultiLineComment /[^]*?###/"))), function($skip, $loc, $0, $1, $2) {
12723
+ var CoffeeMultiLineComment$0 = $TS($S(CoffeeHereCommentStart, $TEXT($EXPECT($R64, "CoffeeMultiLineComment /[^]*?###/"))), function($skip, $loc, $0, $1, $2) {
12498
12724
  $2 = $2.slice(0, $2.length - 3).replace(/\*\//g, "* /");
12499
12725
  return { type: "Comment", $loc, token: `/*${$2}*/` };
12500
12726
  });
12501
12727
  function CoffeeMultiLineComment(ctx, state) {
12502
12728
  return $EVENT(ctx, state, "CoffeeMultiLineComment", CoffeeMultiLineComment$0);
12503
12729
  }
12504
- var CoffeeHereCommentStart$0 = $R$0($EXPECT($R64, "CoffeeHereCommentStart /###(?!#)/"));
12730
+ var CoffeeHereCommentStart$0 = $R$0($EXPECT($R65, "CoffeeHereCommentStart /###(?!#)/"));
12505
12731
  function CoffeeHereCommentStart(ctx, state) {
12506
12732
  return $EVENT(ctx, state, "CoffeeHereCommentStart", CoffeeHereCommentStart$0);
12507
12733
  }
12508
- var InlineComment$0 = $TR($EXPECT($R65, "InlineComment /\\/\\*(?:(?!\\*\\/)[^\\r\\n])*\\*\\//"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12734
+ var InlineComment$0 = $TR($EXPECT($R66, "InlineComment /\\/\\*(?:(?!\\*\\/)[^\\r\\n])*\\*\\//"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12509
12735
  return { $loc, token: $0 };
12510
12736
  });
12511
12737
  function InlineComment(ctx, state) {
@@ -12519,30 +12745,30 @@ var require_parser = __commonJS({
12519
12745
  function TrailingComment(ctx, state) {
12520
12746
  return $EVENT(ctx, state, "TrailingComment", TrailingComment$0);
12521
12747
  }
12522
- var _$0 = $T($S($EXPECT($R66, "_ /(?=[ \\t\\/\\\\])/"), $P($C(NonNewlineWhitespace, InlineComment))), function(value) {
12748
+ var _$0 = $T($S($EXPECT($R67, "_ /(?=[ \\t\\/\\\\])/"), $P($C(NonNewlineWhitespace, InlineComment))), function(value) {
12523
12749
  return value[1];
12524
12750
  });
12525
12751
  function _(ctx, state) {
12526
12752
  return $EVENT(ctx, state, "_", _$0);
12527
12753
  }
12528
- var NonNewlineWhitespace$0 = $TR($EXPECT($R67, "NonNewlineWhitespace /[ \\t]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12754
+ var NonNewlineWhitespace$0 = $TR($EXPECT($R68, "NonNewlineWhitespace /[ \\t]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12529
12755
  return { $loc, token: $0 };
12530
12756
  });
12531
- var NonNewlineWhitespace$1 = $T($S($EXPECT($L125, 'NonNewlineWhitespace "\\\\\\\\"'), CoffeeLineContinuationEnabled, EOL), function(value) {
12757
+ var NonNewlineWhitespace$1 = $T($S($EXPECT($L124, 'NonNewlineWhitespace "\\\\\\\\"'), CoffeeLineContinuationEnabled, EOL), function(value) {
12532
12758
  return " ";
12533
12759
  });
12534
12760
  var NonNewlineWhitespace$$ = [NonNewlineWhitespace$0, NonNewlineWhitespace$1];
12535
12761
  function NonNewlineWhitespace(ctx, state) {
12536
12762
  return $EVENT_C(ctx, state, "NonNewlineWhitespace", NonNewlineWhitespace$$);
12537
12763
  }
12538
- var Trimmed_$0 = $TV($E(_), function($skip, $loc, $0, $1) {
12764
+ var Trimmed_$0 = $TV(_, function($skip, $loc, $0, $1) {
12539
12765
  var ws = $0;
12540
12766
  return insertTrimmingSpace(ws, "");
12541
12767
  });
12542
12768
  function Trimmed_(ctx, state) {
12543
12769
  return $EVENT(ctx, state, "Trimmed_", Trimmed_$0);
12544
12770
  }
12545
- var __$0 = $T($S($EXPECT($R68, "__ /(?=\\s|\\/|#)/"), $Q($C(Whitespace, Comment))), function(value) {
12771
+ var __$0 = $T($S($EXPECT($R69, "__ /(?=\\s|\\/|#)/"), $Q($C(Whitespace, Comment))), function(value) {
12546
12772
  return value[1];
12547
12773
  });
12548
12774
  var __$1 = $EXPECT($L0, '__ ""');
@@ -12550,7 +12776,7 @@ var require_parser = __commonJS({
12550
12776
  function __(ctx, state) {
12551
12777
  return $EVENT_C(ctx, state, "__", __$$);
12552
12778
  }
12553
- var Whitespace$0 = $TR($EXPECT($R45, "Whitespace /[\\s]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12779
+ var Whitespace$0 = $TR($EXPECT($R46, "Whitespace /[\\s]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
12554
12780
  return { $loc, token: $0 };
12555
12781
  });
12556
12782
  function Whitespace(ctx, state) {
@@ -12574,7 +12800,7 @@ var require_parser = __commonJS({
12574
12800
  }
12575
12801
  var StatementDelimiter$0 = $Y(EOS);
12576
12802
  var StatementDelimiter$1 = SemicolonDelimiter;
12577
- var StatementDelimiter$2 = $Y($S($E(_), $C($EXPECT($L37, 'StatementDelimiter "}"'), $EXPECT($L126, 'StatementDelimiter ")"'), $EXPECT($L46, 'StatementDelimiter "]"'))));
12803
+ var StatementDelimiter$2 = $Y($S($E(_), $C($EXPECT($L36, 'StatementDelimiter "}"'), $EXPECT($L125, 'StatementDelimiter ")"'), $EXPECT($L45, 'StatementDelimiter "]"'))));
12578
12804
  var StatementDelimiter$$ = [StatementDelimiter$0, StatementDelimiter$1, StatementDelimiter$2];
12579
12805
  function StatementDelimiter(ctx, state) {
12580
12806
  return $EVENT_C(ctx, state, "StatementDelimiter", StatementDelimiter$$);
@@ -12588,7 +12814,7 @@ var require_parser = __commonJS({
12588
12814
  function SemicolonDelimiter(ctx, state) {
12589
12815
  return $EVENT(ctx, state, "SemicolonDelimiter", SemicolonDelimiter$0);
12590
12816
  }
12591
- var NonIdContinue$0 = $R$0($EXPECT($R69, "NonIdContinue /(?!\\p{ID_Continue})/"));
12817
+ var NonIdContinue$0 = $R$0($EXPECT($R70, "NonIdContinue /(?!\\p{ID_Continue})/"));
12592
12818
  function NonIdContinue(ctx, state) {
12593
12819
  return $EVENT(ctx, state, "NonIdContinue", NonIdContinue$0);
12594
12820
  }
@@ -12598,55 +12824,55 @@ var require_parser = __commonJS({
12598
12824
  function Loc(ctx, state) {
12599
12825
  return $EVENT(ctx, state, "Loc", Loc$0);
12600
12826
  }
12601
- var Abstract$0 = $TV($TEXT($S($EXPECT($L127, 'Abstract "abstract"'), NonIdContinue, $E($EXPECT($L16, 'Abstract " "')))), function($skip, $loc, $0, $1) {
12827
+ var Abstract$0 = $TV($TEXT($S($EXPECT($L126, 'Abstract "abstract"'), NonIdContinue, $E($EXPECT($L16, 'Abstract " "')))), function($skip, $loc, $0, $1) {
12602
12828
  return { $loc, token: $1, ts: true };
12603
12829
  });
12604
12830
  function Abstract(ctx, state) {
12605
12831
  return $EVENT(ctx, state, "Abstract", Abstract$0);
12606
12832
  }
12607
- var Ampersand$0 = $TV($EXPECT($L109, 'Ampersand "&"'), function($skip, $loc, $0, $1) {
12833
+ var Ampersand$0 = $TV($EXPECT($L108, 'Ampersand "&"'), function($skip, $loc, $0, $1) {
12608
12834
  return { $loc, token: $1 };
12609
12835
  });
12610
12836
  function Ampersand(ctx, state) {
12611
12837
  return $EVENT(ctx, state, "Ampersand", Ampersand$0);
12612
12838
  }
12613
- var As$0 = $TS($S($EXPECT($L128, 'As "as"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12839
+ var As$0 = $TS($S($EXPECT($L127, 'As "as"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12614
12840
  return { $loc, token: $1 };
12615
12841
  });
12616
12842
  function As(ctx, state) {
12617
12843
  return $EVENT(ctx, state, "As", As$0);
12618
12844
  }
12619
- var At$0 = $TV($EXPECT($L129, 'At "@"'), function($skip, $loc, $0, $1) {
12845
+ var At$0 = $TV($EXPECT($L128, 'At "@"'), function($skip, $loc, $0, $1) {
12620
12846
  return { $loc, token: $1 };
12621
12847
  });
12622
12848
  function At(ctx, state) {
12623
12849
  return $EVENT(ctx, state, "At", At$0);
12624
12850
  }
12625
- var AtAt$0 = $TV($EXPECT($L130, 'AtAt "@@"'), function($skip, $loc, $0, $1) {
12851
+ var AtAt$0 = $TV($EXPECT($L129, 'AtAt "@@"'), function($skip, $loc, $0, $1) {
12626
12852
  return { $loc, token: "@" };
12627
12853
  });
12628
12854
  function AtAt(ctx, state) {
12629
12855
  return $EVENT(ctx, state, "AtAt", AtAt$0);
12630
12856
  }
12631
- var Async$0 = $TS($S($EXPECT($L131, 'Async "async"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12857
+ var Async$0 = $TS($S($EXPECT($L130, 'Async "async"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12632
12858
  return { $loc, token: $1, type: "Async" };
12633
12859
  });
12634
12860
  function Async(ctx, state) {
12635
12861
  return $EVENT(ctx, state, "Async", Async$0);
12636
12862
  }
12637
- var Await$0 = $TS($S($EXPECT($L132, 'Await "await"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12863
+ var Await$0 = $TS($S($EXPECT($L131, 'Await "await"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12638
12864
  return { $loc, token: $1, type: "Await" };
12639
12865
  });
12640
12866
  function Await(ctx, state) {
12641
12867
  return $EVENT(ctx, state, "Await", Await$0);
12642
12868
  }
12643
- var Backtick$0 = $TV($EXPECT($L133, 'Backtick "`"'), function($skip, $loc, $0, $1) {
12869
+ var Backtick$0 = $TV($EXPECT($L132, 'Backtick "`"'), function($skip, $loc, $0, $1) {
12644
12870
  return { $loc, token: $1 };
12645
12871
  });
12646
12872
  function Backtick(ctx, state) {
12647
12873
  return $EVENT(ctx, state, "Backtick", Backtick$0);
12648
12874
  }
12649
- var By$0 = $TS($S($EXPECT($L134, 'By "by"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12875
+ var By$0 = $TS($S($EXPECT($L133, 'By "by"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12650
12876
  return { $loc, token: $1 };
12651
12877
  });
12652
12878
  function By(ctx, state) {
@@ -12658,55 +12884,55 @@ var require_parser = __commonJS({
12658
12884
  function Caret(ctx, state) {
12659
12885
  return $EVENT(ctx, state, "Caret", Caret$0);
12660
12886
  }
12661
- var Case$0 = $TS($S($EXPECT($L135, 'Case "case"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12887
+ var Case$0 = $TS($S($EXPECT($L134, 'Case "case"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12662
12888
  return { $loc, token: $1 };
12663
12889
  });
12664
12890
  function Case(ctx, state) {
12665
12891
  return $EVENT(ctx, state, "Case", Case$0);
12666
12892
  }
12667
- var Catch$0 = $TS($S($EXPECT($L136, 'Catch "catch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12893
+ var Catch$0 = $TS($S($EXPECT($L135, 'Catch "catch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12668
12894
  return { $loc, token: $1 };
12669
12895
  });
12670
12896
  function Catch(ctx, state) {
12671
12897
  return $EVENT(ctx, state, "Catch", Catch$0);
12672
12898
  }
12673
- var Class$0 = $TS($S($EXPECT($L137, 'Class "class"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12899
+ var Class$0 = $TS($S($EXPECT($L136, 'Class "class"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12674
12900
  return { $loc, token: $1 };
12675
12901
  });
12676
12902
  function Class(ctx, state) {
12677
12903
  return $EVENT(ctx, state, "Class", Class$0);
12678
12904
  }
12679
- var CloseAngleBracket$0 = $TV($EXPECT($L45, 'CloseAngleBracket ">"'), function($skip, $loc, $0, $1) {
12905
+ var CloseAngleBracket$0 = $TV($EXPECT($L44, 'CloseAngleBracket ">"'), function($skip, $loc, $0, $1) {
12680
12906
  return { $loc, token: $1 };
12681
12907
  });
12682
12908
  function CloseAngleBracket(ctx, state) {
12683
12909
  return $EVENT(ctx, state, "CloseAngleBracket", CloseAngleBracket$0);
12684
12910
  }
12685
- var CloseBrace$0 = $TV($EXPECT($L37, 'CloseBrace "}"'), function($skip, $loc, $0, $1) {
12911
+ var CloseBrace$0 = $TV($EXPECT($L36, 'CloseBrace "}"'), function($skip, $loc, $0, $1) {
12686
12912
  return { $loc, token: $1 };
12687
12913
  });
12688
12914
  function CloseBrace(ctx, state) {
12689
12915
  return $EVENT(ctx, state, "CloseBrace", CloseBrace$0);
12690
12916
  }
12691
- var CloseBracket$0 = $TV($EXPECT($L46, 'CloseBracket "]"'), function($skip, $loc, $0, $1) {
12917
+ var CloseBracket$0 = $TV($EXPECT($L45, 'CloseBracket "]"'), function($skip, $loc, $0, $1) {
12692
12918
  return { $loc, token: $1 };
12693
12919
  });
12694
12920
  function CloseBracket(ctx, state) {
12695
12921
  return $EVENT(ctx, state, "CloseBracket", CloseBracket$0);
12696
12922
  }
12697
- var CloseParen$0 = $TV($EXPECT($L126, 'CloseParen ")"'), function($skip, $loc, $0, $1) {
12923
+ var CloseParen$0 = $TV($EXPECT($L125, 'CloseParen ")"'), function($skip, $loc, $0, $1) {
12698
12924
  return { $loc, token: $1 };
12699
12925
  });
12700
12926
  function CloseParen(ctx, state) {
12701
12927
  return $EVENT(ctx, state, "CloseParen", CloseParen$0);
12702
12928
  }
12703
- var CoffeeSubstitutionStart$0 = $TV($EXPECT($L138, 'CoffeeSubstitutionStart "#{"'), function($skip, $loc, $0, $1) {
12929
+ var CoffeeSubstitutionStart$0 = $TV($EXPECT($L137, 'CoffeeSubstitutionStart "#{"'), function($skip, $loc, $0, $1) {
12704
12930
  return { $loc, token: "${" };
12705
12931
  });
12706
12932
  function CoffeeSubstitutionStart(ctx, state) {
12707
12933
  return $EVENT(ctx, state, "CoffeeSubstitutionStart", CoffeeSubstitutionStart$0);
12708
12934
  }
12709
- var Colon$0 = $TS($S($EXPECT($L15, 'Colon ":"'), $N($EXPECT($R70, "Colon /[=:]/"))), function($skip, $loc, $0, $1, $2) {
12935
+ var Colon$0 = $TS($S($EXPECT($L15, 'Colon ":"'), $N($EXPECT($R71, "Colon /[=:]/"))), function($skip, $loc, $0, $1, $2) {
12710
12936
  return { $loc, token: $1 };
12711
12937
  });
12712
12938
  function Colon(ctx, state) {
@@ -12718,31 +12944,31 @@ var require_parser = __commonJS({
12718
12944
  function Comma(ctx, state) {
12719
12945
  return $EVENT(ctx, state, "Comma", Comma$0);
12720
12946
  }
12721
- var ConstructorShorthand$0 = $TV($EXPECT($L129, 'ConstructorShorthand "@"'), function($skip, $loc, $0, $1) {
12947
+ var ConstructorShorthand$0 = $TV($EXPECT($L128, 'ConstructorShorthand "@"'), function($skip, $loc, $0, $1) {
12722
12948
  return { $loc, token: "constructor" };
12723
12949
  });
12724
12950
  function ConstructorShorthand(ctx, state) {
12725
12951
  return $EVENT(ctx, state, "ConstructorShorthand", ConstructorShorthand$0);
12726
12952
  }
12727
- var Declare$0 = $TS($S($EXPECT($L139, 'Declare "declare"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12953
+ var Declare$0 = $TS($S($EXPECT($L138, 'Declare "declare"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12728
12954
  return { $loc, token: $1 };
12729
12955
  });
12730
12956
  function Declare(ctx, state) {
12731
12957
  return $EVENT(ctx, state, "Declare", Declare$0);
12732
12958
  }
12733
- var Default$0 = $TS($S($EXPECT($L140, 'Default "default"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12959
+ var Default$0 = $TS($S($EXPECT($L139, 'Default "default"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12734
12960
  return { $loc, token: $1 };
12735
12961
  });
12736
12962
  function Default(ctx, state) {
12737
12963
  return $EVENT(ctx, state, "Default", Default$0);
12738
12964
  }
12739
- var Delete$0 = $TS($S($EXPECT($L141, 'Delete "delete"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12965
+ var Delete$0 = $TS($S($EXPECT($L140, 'Delete "delete"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12740
12966
  return { $loc, token: $1 };
12741
12967
  });
12742
12968
  function Delete(ctx, state) {
12743
12969
  return $EVENT(ctx, state, "Delete", Delete$0);
12744
12970
  }
12745
- var Do$0 = $TS($S($EXPECT($L142, 'Do "do"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12971
+ var Do$0 = $TS($S($EXPECT($L141, 'Do "do"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12746
12972
  return { $loc, token: $1 };
12747
12973
  });
12748
12974
  function Do(ctx, state) {
@@ -12751,56 +12977,56 @@ var require_parser = __commonJS({
12751
12977
  var Dot$0 = $TV($EXPECT($L7, 'Dot "."'), function($skip, $loc, $0, $1) {
12752
12978
  return { $loc, token: $1 };
12753
12979
  });
12754
- var Dot$1 = $TS($S($EXPECT($R71, "Dot /['\u2019]s/"), _), function($skip, $loc, $0, $1, $2) {
12980
+ var Dot$1 = $TS($S($EXPECT($R72, "Dot /['\u2019]s/"), Trimmed_), function($skip, $loc, $0, $1, $2) {
12755
12981
  var ws = $2;
12756
12982
  return [
12757
12983
  { $loc, token: "." },
12758
- insertTrimmingSpace(ws, "")
12984
+ ws
12759
12985
  ];
12760
12986
  });
12761
12987
  var Dot$$ = [Dot$0, Dot$1];
12762
12988
  function Dot(ctx, state) {
12763
12989
  return $EVENT_C(ctx, state, "Dot", Dot$$);
12764
12990
  }
12765
- var DotDot$0 = $TS($S($EXPECT($L143, 'DotDot ".."'), $N($EXPECT($L7, 'DotDot "."'))), function($skip, $loc, $0, $1, $2) {
12991
+ var DotDot$0 = $TS($S($EXPECT($L142, 'DotDot ".."'), $N($EXPECT($L7, 'DotDot "."'))), function($skip, $loc, $0, $1, $2) {
12766
12992
  return { $loc, token: $1 };
12767
12993
  });
12768
- var DotDot$1 = $TV($EXPECT($L144, 'DotDot "\u2025"'), function($skip, $loc, $0, $1) {
12994
+ var DotDot$1 = $TV($EXPECT($L143, 'DotDot "\u2025"'), function($skip, $loc, $0, $1) {
12769
12995
  return { $loc, token: ".." };
12770
12996
  });
12771
12997
  var DotDot$$ = [DotDot$0, DotDot$1];
12772
12998
  function DotDot(ctx, state) {
12773
12999
  return $EVENT_C(ctx, state, "DotDot", DotDot$$);
12774
13000
  }
12775
- var DotDotDot$0 = $TV($EXPECT($L145, 'DotDotDot "..."'), function($skip, $loc, $0, $1) {
13001
+ var DotDotDot$0 = $TV($EXPECT($L144, 'DotDotDot "..."'), function($skip, $loc, $0, $1) {
12776
13002
  return { $loc, token: $1 };
12777
13003
  });
12778
- var DotDotDot$1 = $TV($EXPECT($L146, 'DotDotDot "\u2026"'), function($skip, $loc, $0, $1) {
13004
+ var DotDotDot$1 = $TV($EXPECT($L145, 'DotDotDot "\u2026"'), function($skip, $loc, $0, $1) {
12779
13005
  return { $loc, token: "..." };
12780
13006
  });
12781
13007
  var DotDotDot$$ = [DotDotDot$0, DotDotDot$1];
12782
13008
  function DotDotDot(ctx, state) {
12783
13009
  return $EVENT_C(ctx, state, "DotDotDot", DotDotDot$$);
12784
13010
  }
12785
- var DoubleColon$0 = $TV($EXPECT($L147, 'DoubleColon "::"'), function($skip, $loc, $0, $1) {
13011
+ var DoubleColon$0 = $TV($EXPECT($L146, 'DoubleColon "::"'), function($skip, $loc, $0, $1) {
12786
13012
  return { $loc, token: $1 };
12787
13013
  });
12788
13014
  function DoubleColon(ctx, state) {
12789
13015
  return $EVENT(ctx, state, "DoubleColon", DoubleColon$0);
12790
13016
  }
12791
- var DoubleQuote$0 = $TV($EXPECT($L148, 'DoubleQuote "\\\\\\""'), function($skip, $loc, $0, $1) {
13017
+ var DoubleQuote$0 = $TV($EXPECT($L147, 'DoubleQuote "\\\\\\""'), function($skip, $loc, $0, $1) {
12792
13018
  return { $loc, token: $1 };
12793
13019
  });
12794
13020
  function DoubleQuote(ctx, state) {
12795
13021
  return $EVENT(ctx, state, "DoubleQuote", DoubleQuote$0);
12796
13022
  }
12797
- var Each$0 = $TS($S($EXPECT($L149, 'Each "each"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13023
+ var Each$0 = $TS($S($EXPECT($L148, 'Each "each"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12798
13024
  return { $loc, token: $1 };
12799
13025
  });
12800
13026
  function Each(ctx, state) {
12801
13027
  return $EVENT(ctx, state, "Each", Each$0);
12802
13028
  }
12803
- var Else$0 = $TS($S($EXPECT($L150, 'Else "else"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13029
+ var Else$0 = $TS($S($EXPECT($L149, 'Else "else"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12804
13030
  return { $loc, token: $1 };
12805
13031
  });
12806
13032
  function Else(ctx, state) {
@@ -12812,97 +13038,97 @@ var require_parser = __commonJS({
12812
13038
  function Equals(ctx, state) {
12813
13039
  return $EVENT(ctx, state, "Equals", Equals$0);
12814
13040
  }
12815
- var ExclamationPoint$0 = $TV($EXPECT($L151, 'ExclamationPoint "!"'), function($skip, $loc, $0, $1) {
13041
+ var ExclamationPoint$0 = $TV($EXPECT($L150, 'ExclamationPoint "!"'), function($skip, $loc, $0, $1) {
12816
13042
  return { $loc, token: $1 };
12817
13043
  });
12818
13044
  function ExclamationPoint(ctx, state) {
12819
13045
  return $EVENT(ctx, state, "ExclamationPoint", ExclamationPoint$0);
12820
13046
  }
12821
- var Export$0 = $TS($S($EXPECT($L152, 'Export "export"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13047
+ var Export$0 = $TS($S($EXPECT($L151, 'Export "export"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12822
13048
  return { $loc, token: $1 };
12823
13049
  });
12824
13050
  function Export(ctx, state) {
12825
13051
  return $EVENT(ctx, state, "Export", Export$0);
12826
13052
  }
12827
- var Extends$0 = $TS($S($EXPECT($L153, 'Extends "extends"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13053
+ var Extends$0 = $TS($S($EXPECT($L152, 'Extends "extends"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12828
13054
  return { $loc, token: $1 };
12829
13055
  });
12830
13056
  function Extends(ctx, state) {
12831
13057
  return $EVENT(ctx, state, "Extends", Extends$0);
12832
13058
  }
12833
- var Finally$0 = $TS($S($EXPECT($L154, 'Finally "finally"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13059
+ var Finally$0 = $TS($S($EXPECT($L153, 'Finally "finally"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12834
13060
  return { $loc, token: $1 };
12835
13061
  });
12836
13062
  function Finally(ctx, state) {
12837
13063
  return $EVENT(ctx, state, "Finally", Finally$0);
12838
13064
  }
12839
- var For$0 = $TS($S($EXPECT($L155, 'For "for"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13065
+ var For$0 = $TS($S($EXPECT($L154, 'For "for"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12840
13066
  return { $loc, token: $1 };
12841
13067
  });
12842
13068
  function For(ctx, state) {
12843
13069
  return $EVENT(ctx, state, "For", For$0);
12844
13070
  }
12845
- var From$0 = $TS($S($EXPECT($L156, 'From "from"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13071
+ var From$0 = $TS($S($EXPECT($L155, 'From "from"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12846
13072
  return { $loc, token: $1 };
12847
13073
  });
12848
13074
  function From(ctx, state) {
12849
13075
  return $EVENT(ctx, state, "From", From$0);
12850
13076
  }
12851
- var Function$0 = $TS($S($EXPECT($L157, 'Function "function"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13077
+ var Function$0 = $TS($S($EXPECT($L156, 'Function "function"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12852
13078
  return { $loc, token: $1 };
12853
13079
  });
12854
13080
  function Function(ctx, state) {
12855
13081
  return $EVENT(ctx, state, "Function", Function$0);
12856
13082
  }
12857
- var GetOrSet$0 = $TS($S($C($EXPECT($L158, 'GetOrSet "get"'), $EXPECT($L159, 'GetOrSet "set"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13083
+ var GetOrSet$0 = $TS($S($C($EXPECT($L157, 'GetOrSet "get"'), $EXPECT($L158, 'GetOrSet "set"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12858
13084
  return { $loc, token: $1, type: "GetOrSet" };
12859
13085
  });
12860
13086
  function GetOrSet(ctx, state) {
12861
13087
  return $EVENT(ctx, state, "GetOrSet", GetOrSet$0);
12862
13088
  }
12863
- var Hash$0 = $TV($EXPECT($L160, 'Hash "#"'), function($skip, $loc, $0, $1) {
13089
+ var Hash$0 = $TV($EXPECT($L159, 'Hash "#"'), function($skip, $loc, $0, $1) {
12864
13090
  return { $loc, token: $1 };
12865
13091
  });
12866
13092
  function Hash(ctx, state) {
12867
13093
  return $EVENT(ctx, state, "Hash", Hash$0);
12868
13094
  }
12869
- var If$0 = $TV($TEXT($S($EXPECT($L161, 'If "if"'), NonIdContinue, $E($EXPECT($L16, 'If " "')))), function($skip, $loc, $0, $1) {
13095
+ var If$0 = $TV($TEXT($S($EXPECT($L160, 'If "if"'), NonIdContinue, $E($EXPECT($L16, 'If " "')))), function($skip, $loc, $0, $1) {
12870
13096
  return { $loc, token: $1 };
12871
13097
  });
12872
13098
  function If(ctx, state) {
12873
13099
  return $EVENT(ctx, state, "If", If$0);
12874
13100
  }
12875
- var Import$0 = $TS($S($EXPECT($L20, 'Import "import"'), $Y($EXPECT($R72, "Import /\\s/"))), function($skip, $loc, $0, $1, $2) {
13101
+ var Import$0 = $TS($S($EXPECT($L20, 'Import "import"'), $Y($EXPECT($R73, "Import /\\s/"))), function($skip, $loc, $0, $1, $2) {
12876
13102
  return { $loc, token: $1 };
12877
13103
  });
12878
13104
  function Import(ctx, state) {
12879
13105
  return $EVENT(ctx, state, "Import", Import$0);
12880
13106
  }
12881
- var In$0 = $TS($S($EXPECT($L162, 'In "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13107
+ var In$0 = $TS($S($EXPECT($L161, 'In "in"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12882
13108
  return { $loc, token: $1 };
12883
13109
  });
12884
13110
  function In(ctx, state) {
12885
13111
  return $EVENT(ctx, state, "In", In$0);
12886
13112
  }
12887
- var Infer$0 = $TS($S($EXPECT($L163, 'Infer "infer"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13113
+ var Infer$0 = $TS($S($EXPECT($L162, 'Infer "infer"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12888
13114
  return { $loc, token: $1 };
12889
13115
  });
12890
13116
  function Infer(ctx, state) {
12891
13117
  return $EVENT(ctx, state, "Infer", Infer$0);
12892
13118
  }
12893
- var LetOrConst$0 = $TS($S($C($EXPECT($L164, 'LetOrConst "let"'), $EXPECT($L165, 'LetOrConst "const"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13119
+ var LetOrConst$0 = $TS($S($C($EXPECT($L163, 'LetOrConst "let"'), $EXPECT($L164, 'LetOrConst "const"')), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12894
13120
  return { $loc, token: $1 };
12895
13121
  });
12896
13122
  function LetOrConst(ctx, state) {
12897
13123
  return $EVENT(ctx, state, "LetOrConst", LetOrConst$0);
12898
13124
  }
12899
- var Const$0 = $TS($S($EXPECT($L165, 'Const "const"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13125
+ var Const$0 = $TS($S($EXPECT($L164, 'Const "const"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12900
13126
  return { $loc, token: $1 };
12901
13127
  });
12902
13128
  function Const(ctx, state) {
12903
13129
  return $EVENT(ctx, state, "Const", Const$0);
12904
13130
  }
12905
- var Is$0 = $TS($S($EXPECT($L166, 'Is "is"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13131
+ var Is$0 = $TS($S($EXPECT($L165, 'Is "is"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12906
13132
  return { $loc, token: $1 };
12907
13133
  });
12908
13134
  function Is(ctx, state) {
@@ -12914,25 +13140,25 @@ var require_parser = __commonJS({
12914
13140
  function LetOrConstOrVar(ctx, state) {
12915
13141
  return $EVENT_C(ctx, state, "LetOrConstOrVar", LetOrConstOrVar$$);
12916
13142
  }
12917
- var Loop$0 = $TS($S($EXPECT($L167, 'Loop "loop"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12918
- return { $loc, token: "while(true)" };
13143
+ var Loop$0 = $TS($S($EXPECT($L166, 'Loop "loop"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13144
+ return { $loc, token: "while" };
12919
13145
  });
12920
13146
  function Loop(ctx, state) {
12921
13147
  return $EVENT(ctx, state, "Loop", Loop$0);
12922
13148
  }
12923
- var New$0 = $TS($S($EXPECT($L168, 'New "new"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13149
+ var New$0 = $TS($S($EXPECT($L167, 'New "new"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12924
13150
  return { $loc, token: $1 };
12925
13151
  });
12926
13152
  function New(ctx, state) {
12927
13153
  return $EVENT(ctx, state, "New", New$0);
12928
13154
  }
12929
- var Not$0 = $TS($S($EXPECT($L169, 'Not "not"'), NonIdContinue, $N($S($E(_), $EXPECT($L15, 'Not ":"')))), function($skip, $loc, $0, $1, $2, $3) {
13155
+ var Not$0 = $TS($S($EXPECT($L168, 'Not "not"'), NonIdContinue, $N($S($E(_), $EXPECT($L15, 'Not ":"')))), function($skip, $loc, $0, $1, $2, $3) {
12930
13156
  return { $loc, token: "!" };
12931
13157
  });
12932
13158
  function Not(ctx, state) {
12933
13159
  return $EVENT(ctx, state, "Not", Not$0);
12934
13160
  }
12935
- var Of$0 = $TS($S($EXPECT($L170, 'Of "of"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13161
+ var Of$0 = $TS($S($EXPECT($L169, 'Of "of"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12936
13162
  return { $loc, token: $1 };
12937
13163
  });
12938
13164
  function Of(ctx, state) {
@@ -12950,7 +13176,7 @@ var require_parser = __commonJS({
12950
13176
  function OpenBrace(ctx, state) {
12951
13177
  return $EVENT(ctx, state, "OpenBrace", OpenBrace$0);
12952
13178
  }
12953
- var OpenBracket$0 = $TV($EXPECT($L171, 'OpenBracket "["'), function($skip, $loc, $0, $1) {
13179
+ var OpenBracket$0 = $TV($EXPECT($L170, 'OpenBracket "["'), function($skip, $loc, $0, $1) {
12954
13180
  return { $loc, token: $1 };
12955
13181
  });
12956
13182
  function OpenBracket(ctx, state) {
@@ -12962,49 +13188,49 @@ var require_parser = __commonJS({
12962
13188
  function OpenParen(ctx, state) {
12963
13189
  return $EVENT(ctx, state, "OpenParen", OpenParen$0);
12964
13190
  }
12965
- var Operator$0 = $TS($S($EXPECT($L172, 'Operator "operator"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13191
+ var Operator$0 = $TS($S($EXPECT($L171, 'Operator "operator"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12966
13192
  return { $loc, token: $1 };
12967
13193
  });
12968
13194
  function Operator(ctx, state) {
12969
13195
  return $EVENT(ctx, state, "Operator", Operator$0);
12970
13196
  }
12971
- var Override$0 = $TS($S($EXPECT($L173, 'Override "override"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13197
+ var Override$0 = $TS($S($EXPECT($L172, 'Override "override"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12972
13198
  return { $loc, token: $1, ts: true };
12973
13199
  });
12974
13200
  function Override(ctx, state) {
12975
13201
  return $EVENT(ctx, state, "Override", Override$0);
12976
13202
  }
12977
- var Own$0 = $TS($S($EXPECT($L174, 'Own "own"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13203
+ var Own$0 = $TS($S($EXPECT($L173, 'Own "own"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12978
13204
  return { $loc, token: $1 };
12979
13205
  });
12980
13206
  function Own(ctx, state) {
12981
13207
  return $EVENT(ctx, state, "Own", Own$0);
12982
13208
  }
12983
- var Public$0 = $TS($S($EXPECT($L175, 'Public "public"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13209
+ var Public$0 = $TS($S($EXPECT($L174, 'Public "public"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12984
13210
  return { $loc, token: $1 };
12985
13211
  });
12986
13212
  function Public(ctx, state) {
12987
13213
  return $EVENT(ctx, state, "Public", Public$0);
12988
13214
  }
12989
- var Private$0 = $TS($S($EXPECT($L176, 'Private "private"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13215
+ var Private$0 = $TS($S($EXPECT($L175, 'Private "private"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12990
13216
  return { $loc, token: $1 };
12991
13217
  });
12992
13218
  function Private(ctx, state) {
12993
13219
  return $EVENT(ctx, state, "Private", Private$0);
12994
13220
  }
12995
- var Protected$0 = $TS($S($EXPECT($L177, 'Protected "protected"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13221
+ var Protected$0 = $TS($S($EXPECT($L176, 'Protected "protected"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
12996
13222
  return { $loc, token: $1 };
12997
13223
  });
12998
13224
  function Protected(ctx, state) {
12999
13225
  return $EVENT(ctx, state, "Protected", Protected$0);
13000
13226
  }
13001
- var Pipe$0 = $TV($C($EXPECT($L178, 'Pipe "||>"'), $EXPECT($L179, 'Pipe "|\u25B7"')), function($skip, $loc, $0, $1) {
13227
+ var Pipe$0 = $TV($C($EXPECT($L177, 'Pipe "||>"'), $EXPECT($L178, 'Pipe "|\u25B7"')), function($skip, $loc, $0, $1) {
13002
13228
  return { $loc, token: "||>" };
13003
13229
  });
13004
- var Pipe$1 = $TV($C($EXPECT($L180, 'Pipe "|>="'), $EXPECT($L181, 'Pipe "\u25B7="')), function($skip, $loc, $0, $1) {
13230
+ var Pipe$1 = $TV($C($EXPECT($L179, 'Pipe "|>="'), $EXPECT($L180, 'Pipe "\u25B7="')), function($skip, $loc, $0, $1) {
13005
13231
  return { $loc, token: "|>=" };
13006
13232
  });
13007
- var Pipe$2 = $TV($C($EXPECT($L182, 'Pipe "|>"'), $EXPECT($L183, 'Pipe "\u25B7"')), function($skip, $loc, $0, $1) {
13233
+ var Pipe$2 = $TV($C($EXPECT($L181, 'Pipe "|>"'), $EXPECT($L182, 'Pipe "\u25B7"')), function($skip, $loc, $0, $1) {
13008
13234
  return { $loc, token: "|>" };
13009
13235
  });
13010
13236
  var Pipe$$ = [Pipe$0, Pipe$1, Pipe$2];
@@ -13017,179 +13243,179 @@ var require_parser = __commonJS({
13017
13243
  function QuestionMark(ctx, state) {
13018
13244
  return $EVENT(ctx, state, "QuestionMark", QuestionMark$0);
13019
13245
  }
13020
- var Readonly$0 = $TS($S($EXPECT($L184, 'Readonly "readonly"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13246
+ var Readonly$0 = $TS($S($EXPECT($L183, 'Readonly "readonly"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13021
13247
  return { $loc, token: $1, ts: true };
13022
13248
  });
13023
13249
  function Readonly(ctx, state) {
13024
13250
  return $EVENT(ctx, state, "Readonly", Readonly$0);
13025
13251
  }
13026
- var Return$0 = $TS($S($EXPECT($L185, 'Return "return"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13252
+ var Return$0 = $TS($S($EXPECT($L184, 'Return "return"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13027
13253
  return { $loc, token: $1 };
13028
13254
  });
13029
13255
  function Return(ctx, state) {
13030
13256
  return $EVENT(ctx, state, "Return", Return$0);
13031
13257
  }
13032
- var Satisfies$0 = $TS($S($EXPECT($L186, 'Satisfies "satisfies"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13258
+ var Satisfies$0 = $TS($S($EXPECT($L185, 'Satisfies "satisfies"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13033
13259
  return { $loc, token: $1 };
13034
13260
  });
13035
13261
  function Satisfies(ctx, state) {
13036
13262
  return $EVENT(ctx, state, "Satisfies", Satisfies$0);
13037
13263
  }
13038
- var Semicolon$0 = $TV($EXPECT($L112, 'Semicolon ";"'), function($skip, $loc, $0, $1) {
13264
+ var Semicolon$0 = $TV($EXPECT($L111, 'Semicolon ";"'), function($skip, $loc, $0, $1) {
13039
13265
  return { $loc, token: $1 };
13040
13266
  });
13041
13267
  function Semicolon(ctx, state) {
13042
13268
  return $EVENT(ctx, state, "Semicolon", Semicolon$0);
13043
13269
  }
13044
- var SingleQuote$0 = $TV($EXPECT($L187, `SingleQuote "'"`), function($skip, $loc, $0, $1) {
13270
+ var SingleQuote$0 = $TV($EXPECT($L186, `SingleQuote "'"`), function($skip, $loc, $0, $1) {
13045
13271
  return { $loc, token: $1 };
13046
13272
  });
13047
13273
  function SingleQuote(ctx, state) {
13048
13274
  return $EVENT(ctx, state, "SingleQuote", SingleQuote$0);
13049
13275
  }
13050
- var Star$0 = $TV($EXPECT($L66, 'Star "*"'), function($skip, $loc, $0, $1) {
13276
+ var Star$0 = $TV($EXPECT($L65, 'Star "*"'), function($skip, $loc, $0, $1) {
13051
13277
  return { $loc, token: $1 };
13052
13278
  });
13053
13279
  function Star(ctx, state) {
13054
13280
  return $EVENT(ctx, state, "Star", Star$0);
13055
13281
  }
13056
- var Static$0 = $TS($S($EXPECT($L188, 'Static "static"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13282
+ var Static$0 = $TS($S($EXPECT($L187, 'Static "static"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13057
13283
  return { $loc, token: $1 };
13058
13284
  });
13059
- var Static$1 = $TS($S($EXPECT($L129, 'Static "@"'), $N($C($EXPECT($L4, 'Static "("'), $EXPECT($L129, 'Static "@"')))), function($skip, $loc, $0, $1, $2) {
13285
+ var Static$1 = $TS($S($EXPECT($L128, 'Static "@"'), $N($C($EXPECT($L4, 'Static "("'), $EXPECT($L128, 'Static "@"')))), function($skip, $loc, $0, $1, $2) {
13060
13286
  return { $loc, token: "static " };
13061
13287
  });
13062
13288
  var Static$$ = [Static$0, Static$1];
13063
13289
  function Static(ctx, state) {
13064
13290
  return $EVENT_C(ctx, state, "Static", Static$$);
13065
13291
  }
13066
- var SubstitutionStart$0 = $TV($EXPECT($L189, 'SubstitutionStart "${"'), function($skip, $loc, $0, $1) {
13292
+ var SubstitutionStart$0 = $TV($EXPECT($L188, 'SubstitutionStart "${"'), function($skip, $loc, $0, $1) {
13067
13293
  return { $loc, token: $1 };
13068
13294
  });
13069
13295
  function SubstitutionStart(ctx, state) {
13070
13296
  return $EVENT(ctx, state, "SubstitutionStart", SubstitutionStart$0);
13071
13297
  }
13072
- var Super$0 = $TS($S($EXPECT($L190, 'Super "super"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13298
+ var Super$0 = $TS($S($EXPECT($L189, 'Super "super"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13073
13299
  return { $loc, token: $1 };
13074
13300
  });
13075
13301
  function Super(ctx, state) {
13076
13302
  return $EVENT(ctx, state, "Super", Super$0);
13077
13303
  }
13078
- var Switch$0 = $TS($S($EXPECT($L191, 'Switch "switch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13304
+ var Switch$0 = $TS($S($EXPECT($L190, 'Switch "switch"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13079
13305
  return { $loc, token: $1 };
13080
13306
  });
13081
13307
  function Switch(ctx, state) {
13082
13308
  return $EVENT(ctx, state, "Switch", Switch$0);
13083
13309
  }
13084
- var Target$0 = $TS($S($EXPECT($L192, 'Target "target"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13310
+ var Target$0 = $TS($S($EXPECT($L191, 'Target "target"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13085
13311
  return { $loc, token: $1 };
13086
13312
  });
13087
13313
  function Target(ctx, state) {
13088
13314
  return $EVENT(ctx, state, "Target", Target$0);
13089
13315
  }
13090
- var Then$0 = $TS($S(__, $EXPECT($L193, 'Then "then"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
13316
+ var Then$0 = $TS($S(__, $EXPECT($L192, 'Then "then"'), NonIdContinue), function($skip, $loc, $0, $1, $2, $3) {
13091
13317
  return { $loc, token: "" };
13092
13318
  });
13093
13319
  function Then(ctx, state) {
13094
13320
  return $EVENT(ctx, state, "Then", Then$0);
13095
13321
  }
13096
- var This$0 = $TS($S($EXPECT($L194, 'This "this"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13322
+ var This$0 = $TS($S($EXPECT($L193, 'This "this"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13097
13323
  return { $loc, token: $1 };
13098
13324
  });
13099
13325
  function This(ctx, state) {
13100
13326
  return $EVENT(ctx, state, "This", This$0);
13101
13327
  }
13102
- var Throw$0 = $TS($S($EXPECT($L195, 'Throw "throw"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13328
+ var Throw$0 = $TS($S($EXPECT($L194, 'Throw "throw"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13103
13329
  return { $loc, token: $1 };
13104
13330
  });
13105
13331
  function Throw(ctx, state) {
13106
13332
  return $EVENT(ctx, state, "Throw", Throw$0);
13107
13333
  }
13108
- var TripleDoubleQuote$0 = $TV($EXPECT($L196, 'TripleDoubleQuote "\\\\\\"\\\\\\"\\\\\\""'), function($skip, $loc, $0, $1) {
13334
+ var TripleDoubleQuote$0 = $TV($EXPECT($L195, 'TripleDoubleQuote "\\\\\\"\\\\\\"\\\\\\""'), function($skip, $loc, $0, $1) {
13109
13335
  return { $loc, token: "`" };
13110
13336
  });
13111
13337
  function TripleDoubleQuote(ctx, state) {
13112
13338
  return $EVENT(ctx, state, "TripleDoubleQuote", TripleDoubleQuote$0);
13113
13339
  }
13114
- var TripleSingleQuote$0 = $TV($EXPECT($L197, `TripleSingleQuote "'''"`), function($skip, $loc, $0, $1) {
13340
+ var TripleSingleQuote$0 = $TV($EXPECT($L196, `TripleSingleQuote "'''"`), function($skip, $loc, $0, $1) {
13115
13341
  return { $loc, token: "`" };
13116
13342
  });
13117
13343
  function TripleSingleQuote(ctx, state) {
13118
13344
  return $EVENT(ctx, state, "TripleSingleQuote", TripleSingleQuote$0);
13119
13345
  }
13120
- var TripleSlash$0 = $TV($EXPECT($L198, 'TripleSlash "///"'), function($skip, $loc, $0, $1) {
13346
+ var TripleSlash$0 = $TV($EXPECT($L197, 'TripleSlash "///"'), function($skip, $loc, $0, $1) {
13121
13347
  return { $loc, token: "/" };
13122
13348
  });
13123
13349
  function TripleSlash(ctx, state) {
13124
13350
  return $EVENT(ctx, state, "TripleSlash", TripleSlash$0);
13125
13351
  }
13126
- var TripleTick$0 = $TV($EXPECT($L199, 'TripleTick "```"'), function($skip, $loc, $0, $1) {
13352
+ var TripleTick$0 = $TV($EXPECT($L198, 'TripleTick "```"'), function($skip, $loc, $0, $1) {
13127
13353
  return { $loc, token: "`" };
13128
13354
  });
13129
13355
  function TripleTick(ctx, state) {
13130
13356
  return $EVENT(ctx, state, "TripleTick", TripleTick$0);
13131
13357
  }
13132
- var Try$0 = $TS($S($EXPECT($L200, 'Try "try"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13358
+ var Try$0 = $TS($S($EXPECT($L199, 'Try "try"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13133
13359
  return { $loc, token: $1 };
13134
13360
  });
13135
13361
  function Try(ctx, state) {
13136
13362
  return $EVENT(ctx, state, "Try", Try$0);
13137
13363
  }
13138
- var Typeof$0 = $TS($S($EXPECT($L201, 'Typeof "typeof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13364
+ var Typeof$0 = $TS($S($EXPECT($L200, 'Typeof "typeof"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13139
13365
  return { $loc, token: $1 };
13140
13366
  });
13141
13367
  function Typeof(ctx, state) {
13142
13368
  return $EVENT(ctx, state, "Typeof", Typeof$0);
13143
13369
  }
13144
- var Undefined$0 = $TS($S($EXPECT($L202, 'Undefined "undefined"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13370
+ var Undefined$0 = $TS($S($EXPECT($L201, 'Undefined "undefined"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13145
13371
  return { $loc, token: $1 };
13146
13372
  });
13147
13373
  function Undefined(ctx, state) {
13148
13374
  return $EVENT(ctx, state, "Undefined", Undefined$0);
13149
13375
  }
13150
- var Unless$0 = $TS($S($EXPECT($L203, 'Unless "unless"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13376
+ var Unless$0 = $TS($S($EXPECT($L202, 'Unless "unless"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13151
13377
  return { $loc, token: $1, negated: true };
13152
13378
  });
13153
13379
  function Unless(ctx, state) {
13154
13380
  return $EVENT(ctx, state, "Unless", Unless$0);
13155
13381
  }
13156
- var Until$0 = $TS($S($EXPECT($L204, 'Until "until"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13382
+ var Until$0 = $TS($S($EXPECT($L203, 'Until "until"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13157
13383
  return { $loc, token: $1 };
13158
13384
  });
13159
13385
  function Until(ctx, state) {
13160
13386
  return $EVENT(ctx, state, "Until", Until$0);
13161
13387
  }
13162
- var Using$0 = $TS($S($EXPECT($L205, 'Using "using"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13388
+ var Using$0 = $TS($S($EXPECT($L204, 'Using "using"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13163
13389
  return { $loc, token: $1 };
13164
13390
  });
13165
13391
  function Using(ctx, state) {
13166
13392
  return $EVENT(ctx, state, "Using", Using$0);
13167
13393
  }
13168
- var Var$0 = $TS($S($EXPECT($L206, 'Var "var"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13394
+ var Var$0 = $TS($S($EXPECT($L205, 'Var "var"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13169
13395
  return { $loc, token: $1 };
13170
13396
  });
13171
13397
  function Var(ctx, state) {
13172
13398
  return $EVENT(ctx, state, "Var", Var$0);
13173
13399
  }
13174
- var Void$0 = $TS($S($EXPECT($L207, 'Void "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13400
+ var Void$0 = $TS($S($EXPECT($L206, 'Void "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13175
13401
  return { $loc, token: $1 };
13176
13402
  });
13177
13403
  function Void(ctx, state) {
13178
13404
  return $EVENT(ctx, state, "Void", Void$0);
13179
13405
  }
13180
- var When$0 = $TS($S($EXPECT($L208, 'When "when"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13406
+ var When$0 = $TS($S($EXPECT($L207, 'When "when"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13181
13407
  return { $loc, token: "case" };
13182
13408
  });
13183
13409
  function When(ctx, state) {
13184
13410
  return $EVENT(ctx, state, "When", When$0);
13185
13411
  }
13186
- var While$0 = $TS($S($EXPECT($L209, 'While "while"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13412
+ var While$0 = $TS($S($EXPECT($L208, 'While "while"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13187
13413
  return { $loc, token: $1 };
13188
13414
  });
13189
13415
  function While(ctx, state) {
13190
13416
  return $EVENT(ctx, state, "While", While$0);
13191
13417
  }
13192
- var Yield$0 = $TS($S($EXPECT($L210, 'Yield "yield"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13418
+ var Yield$0 = $TS($S($EXPECT($L209, 'Yield "yield"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
13193
13419
  return { $loc, token: $1, type: "Yield" };
13194
13420
  });
13195
13421
  function Yield(ctx, state) {
@@ -13218,7 +13444,7 @@ var require_parser = __commonJS({
13218
13444
  function JSXImplicitFragment(ctx, state) {
13219
13445
  return $EVENT(ctx, state, "JSXImplicitFragment", JSXImplicitFragment$0);
13220
13446
  }
13221
- var JSXTag$0 = $T($S($EXPECT($R73, "JSXTag /(?=[<])/"), _JSXTag), function(value) {
13447
+ var JSXTag$0 = $T($S($EXPECT($R74, "JSXTag /(?=[<])/"), _JSXTag), function(value) {
13222
13448
  return value[1];
13223
13449
  });
13224
13450
  function JSXTag(ctx, state) {
@@ -13268,7 +13494,7 @@ var require_parser = __commonJS({
13268
13494
  function JSXElement(ctx, state) {
13269
13495
  return $EVENT_C(ctx, state, "JSXElement", JSXElement$$);
13270
13496
  }
13271
- var JSXSelfClosingElement$0 = $TS($S($EXPECT($L17, 'JSXSelfClosingElement "<"'), JSXElementName, $E(TypeArguments), $E(JSXAttributes), $E(Whitespace), $EXPECT($L211, 'JSXSelfClosingElement "/>"')), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
13497
+ var JSXSelfClosingElement$0 = $TS($S($EXPECT($L17, 'JSXSelfClosingElement "<"'), JSXElementName, $E(TypeArguments), $E(JSXAttributes), $E(Whitespace), $EXPECT($L210, 'JSXSelfClosingElement "/>"')), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6) {
13272
13498
  return { type: "JSXElement", children: $0, tag: $2 };
13273
13499
  });
13274
13500
  function JSXSelfClosingElement(ctx, state) {
@@ -13287,7 +13513,7 @@ var require_parser = __commonJS({
13287
13513
  function PopJSXStack(ctx, state) {
13288
13514
  return $EVENT(ctx, state, "PopJSXStack", PopJSXStack$0);
13289
13515
  }
13290
- var JSXOpeningElement$0 = $S($EXPECT($L17, 'JSXOpeningElement "<"'), JSXElementName, $E(TypeArguments), $E(JSXAttributes), $E(Whitespace), $EXPECT($L45, 'JSXOpeningElement ">"'));
13516
+ var JSXOpeningElement$0 = $S($EXPECT($L17, 'JSXOpeningElement "<"'), JSXElementName, $E(TypeArguments), $E(JSXAttributes), $E(Whitespace), $EXPECT($L44, 'JSXOpeningElement ">"'));
13291
13517
  function JSXOpeningElement(ctx, state) {
13292
13518
  return $EVENT(ctx, state, "JSXOpeningElement", JSXOpeningElement$0);
13293
13519
  }
@@ -13302,7 +13528,7 @@ var require_parser = __commonJS({
13302
13528
  function JSXOptionalClosingElement(ctx, state) {
13303
13529
  return $EVENT_C(ctx, state, "JSXOptionalClosingElement", JSXOptionalClosingElement$$);
13304
13530
  }
13305
- var JSXClosingElement$0 = $S($EXPECT($L212, 'JSXClosingElement "</"'), $E(Whitespace), JSXElementName, $E(Whitespace), $EXPECT($L45, 'JSXClosingElement ">"'));
13531
+ var JSXClosingElement$0 = $S($EXPECT($L211, 'JSXClosingElement "</"'), $E(Whitespace), JSXElementName, $E(Whitespace), $EXPECT($L44, 'JSXClosingElement ">"'));
13306
13532
  function JSXClosingElement(ctx, state) {
13307
13533
  return $EVENT(ctx, state, "JSXClosingElement", JSXClosingElement$0);
13308
13534
  }
@@ -13323,7 +13549,7 @@ var require_parser = __commonJS({
13323
13549
  ];
13324
13550
  return { type: "JSXFragment", children: parts, jsxChildren: children.jsxChildren };
13325
13551
  });
13326
- var JSXFragment$1 = $TS($S(CoffeeJSXEnabled, $EXPECT($L213, 'JSXFragment "<>"'), $E(JSXChildren), $E(Whitespace), JSXClosingFragment), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
13552
+ var JSXFragment$1 = $TS($S(CoffeeJSXEnabled, $EXPECT($L212, 'JSXFragment "<>"'), $E(JSXChildren), $E(Whitespace), JSXClosingFragment), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
13327
13553
  var children = $3;
13328
13554
  $0 = $0.slice(1);
13329
13555
  return {
@@ -13336,7 +13562,7 @@ var require_parser = __commonJS({
13336
13562
  function JSXFragment(ctx, state) {
13337
13563
  return $EVENT_C(ctx, state, "JSXFragment", JSXFragment$$);
13338
13564
  }
13339
- var PushJSXOpeningFragment$0 = $TV($EXPECT($L213, 'PushJSXOpeningFragment "<>"'), function($skip, $loc, $0, $1) {
13565
+ var PushJSXOpeningFragment$0 = $TV($EXPECT($L212, 'PushJSXOpeningFragment "<>"'), function($skip, $loc, $0, $1) {
13340
13566
  module.JSXTagStack.push("");
13341
13567
  return $1;
13342
13568
  });
@@ -13353,11 +13579,11 @@ var require_parser = __commonJS({
13353
13579
  function JSXOptionalClosingFragment(ctx, state) {
13354
13580
  return $EVENT_C(ctx, state, "JSXOptionalClosingFragment", JSXOptionalClosingFragment$$);
13355
13581
  }
13356
- var JSXClosingFragment$0 = $EXPECT($L214, 'JSXClosingFragment "</>"');
13582
+ var JSXClosingFragment$0 = $EXPECT($L213, 'JSXClosingFragment "</>"');
13357
13583
  function JSXClosingFragment(ctx, state) {
13358
13584
  return $EVENT(ctx, state, "JSXClosingFragment", JSXClosingFragment$0);
13359
13585
  }
13360
- var JSXElementName$0 = $TV($Y($S($C($EXPECT($L160, 'JSXElementName "#"'), Dot), JSXShorthandString)), function($skip, $loc, $0, $1) {
13586
+ var JSXElementName$0 = $TV($Y($S($C($EXPECT($L159, 'JSXElementName "#"'), Dot), JSXShorthandString)), function($skip, $loc, $0, $1) {
13361
13587
  return module.config.defaultElement;
13362
13588
  });
13363
13589
  var JSXElementName$1 = $TEXT($S(JSXIdentifierName, $C($S(Colon, JSXIdentifierName), $Q($S(Dot, JSXIdentifierName)))));
@@ -13365,7 +13591,7 @@ var require_parser = __commonJS({
13365
13591
  function JSXElementName(ctx, state) {
13366
13592
  return $EVENT_C(ctx, state, "JSXElementName", JSXElementName$$);
13367
13593
  }
13368
- var JSXIdentifierName$0 = $R$0($EXPECT($R74, "JSXIdentifierName /(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*/"));
13594
+ var JSXIdentifierName$0 = $R$0($EXPECT($R75, "JSXIdentifierName /(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*/"));
13369
13595
  function JSXIdentifierName(ctx, state) {
13370
13596
  return $EVENT(ctx, state, "JSXIdentifierName", JSXIdentifierName$0);
13371
13597
  }
@@ -13535,7 +13761,7 @@ var require_parser = __commonJS({
13535
13761
  }
13536
13762
  return $skip;
13537
13763
  });
13538
- var JSXAttribute$5 = $TS($S($EXPECT($L160, 'JSXAttribute "#"'), JSXShorthandString), function($skip, $loc, $0, $1, $2) {
13764
+ var JSXAttribute$5 = $TS($S($EXPECT($L159, 'JSXAttribute "#"'), JSXShorthandString), function($skip, $loc, $0, $1, $2) {
13539
13765
  return [" ", "id=", $2];
13540
13766
  });
13541
13767
  var JSXAttribute$6 = $TS($S(Dot, JSXShorthandString), function($skip, $loc, $0, $1, $2) {
@@ -13544,7 +13770,7 @@ var require_parser = __commonJS({
13544
13770
  class: $2
13545
13771
  };
13546
13772
  });
13547
- var JSXAttribute$7 = $TS($S($TEXT($EXPECT($R75, "JSXAttribute /[!+-]/")), JSXAttributeName, $Y(JSXAttributeSpace)), function($skip, $loc, $0, $1, $2, $3) {
13773
+ var JSXAttribute$7 = $TS($S($TEXT($EXPECT($R76, "JSXAttribute /[!+-]/")), JSXAttributeName, $Y(JSXAttributeSpace)), function($skip, $loc, $0, $1, $2, $3) {
13548
13774
  var toggle = $1;
13549
13775
  var id = $2;
13550
13776
  const value = toggle === "+" ? "true" : "false";
@@ -13554,11 +13780,11 @@ var require_parser = __commonJS({
13554
13780
  function JSXAttribute(ctx, state) {
13555
13781
  return $EVENT_C(ctx, state, "JSXAttribute", JSXAttribute$$);
13556
13782
  }
13557
- var JSXAttributeSpace$0 = $R$0($EXPECT($R76, "JSXAttributeSpace /[\\s>]|\\/>/"));
13783
+ var JSXAttributeSpace$0 = $R$0($EXPECT($R77, "JSXAttributeSpace /[\\s>]|\\/>/"));
13558
13784
  function JSXAttributeSpace(ctx, state) {
13559
13785
  return $EVENT(ctx, state, "JSXAttributeSpace", JSXAttributeSpace$0);
13560
13786
  }
13561
- var JSXShorthandString$0 = $TR($EXPECT($R77, "JSXShorthandString /(?:[\\w\\-:]+|\\([^()]*\\)|\\[[^\\[\\]]*\\])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
13787
+ var JSXShorthandString$0 = $TR($EXPECT($R78, "JSXShorthandString /(?:[\\w\\-:]+|\\([^()]*\\)|\\[[^\\[\\]]*\\])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
13562
13788
  return quoteString($0);
13563
13789
  });
13564
13790
  var JSXShorthandString$1 = $TS($S(TemplateLiteral), function($skip, $loc, $0, $1) {
@@ -13592,7 +13818,7 @@ var require_parser = __commonJS({
13592
13818
  }
13593
13819
  return [open, value, close];
13594
13820
  });
13595
- var JSXAttributeValue$4 = $R$0($EXPECT($R78, `JSXAttributeValue /"[^"]*"|'[^']*'/`));
13821
+ var JSXAttributeValue$4 = $R$0($EXPECT($R79, `JSXAttributeValue /"[^"]*"|'[^']*'/`));
13596
13822
  var JSXAttributeValue$$ = [JSXAttributeValue$0, JSXAttributeValue$1, JSXAttributeValue$2, JSXAttributeValue$3, JSXAttributeValue$4];
13597
13823
  function JSXAttributeValue(ctx, state) {
13598
13824
  return $EVENT_C(ctx, state, "JSXAttributeValue", JSXAttributeValue$$);
@@ -13605,7 +13831,7 @@ var require_parser = __commonJS({
13605
13831
  function InlineJSXAttributeValue(ctx, state) {
13606
13832
  return $EVENT(ctx, state, "InlineJSXAttributeValue", InlineJSXAttributeValue$0);
13607
13833
  }
13608
- var InlineJSXBinaryOpRHS$0 = $TS($S($N($EXPECT($R79, "InlineJSXBinaryOpRHS /[<>]/")), BinaryOp, InlineJSXUnaryExpression), function($skip, $loc, $0, $1, $2, $3) {
13834
+ var InlineJSXBinaryOpRHS$0 = $TS($S($N($EXPECT($R80, "InlineJSXBinaryOpRHS /[<>]/")), BinaryOp, InlineJSXUnaryExpression), function($skip, $loc, $0, $1, $2, $3) {
13609
13835
  var op = $2;
13610
13836
  var rhs = $3;
13611
13837
  return [[], op, [], rhs];
@@ -13622,7 +13848,7 @@ var require_parser = __commonJS({
13622
13848
  function InlineJSXUnaryExpression(ctx, state) {
13623
13849
  return $EVENT(ctx, state, "InlineJSXUnaryExpression", InlineJSXUnaryExpression$0);
13624
13850
  }
13625
- var InlineJSXUnaryOp$0 = $TR($EXPECT($R80, "InlineJSXUnaryOp /[!~+-](?!\\s|[!~+-]*&)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
13851
+ var InlineJSXUnaryOp$0 = $TR($EXPECT($R81, "InlineJSXUnaryOp /[!~+-](?!\\s|[!~+-]*&)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
13626
13852
  return { $loc, token: $0 };
13627
13853
  });
13628
13854
  function InlineJSXUnaryOp(ctx, state) {
@@ -13777,7 +14003,7 @@ var require_parser = __commonJS({
13777
14003
  }
13778
14004
  return $skip;
13779
14005
  });
13780
- var JSXNestedChildren$1 = $TV($Y($C(JSXEOS, $EXPECT($L37, 'JSXNestedChildren "}"'), JSXClosingElement, JSXClosingFragment)), function($skip, $loc, $0, $1) {
14006
+ var JSXNestedChildren$1 = $TV($Y($C(JSXEOS, $EXPECT($L36, 'JSXNestedChildren "}"'), JSXClosingElement, JSXClosingFragment)), function($skip, $loc, $0, $1) {
13781
14007
  return { children: [], jsxChildren: [] };
13782
14008
  });
13783
14009
  var JSXNestedChildren$$ = [JSXNestedChildren$0, JSXNestedChildren$1];
@@ -13832,19 +14058,19 @@ var require_parser = __commonJS({
13832
14058
  function JSXChild(ctx, state) {
13833
14059
  return $EVENT_C(ctx, state, "JSXChild", JSXChild$$);
13834
14060
  }
13835
- var JSXComment$0 = $TS($S($EXPECT($L215, 'JSXComment "<!--"'), JSXCommentContent, $EXPECT($L216, 'JSXComment "-->"')), function($skip, $loc, $0, $1, $2, $3) {
14061
+ var JSXComment$0 = $TS($S($EXPECT($L214, 'JSXComment "<!--"'), JSXCommentContent, $EXPECT($L215, 'JSXComment "-->"')), function($skip, $loc, $0, $1, $2, $3) {
13836
14062
  return ["{/*", $2, "*/}"];
13837
14063
  });
13838
14064
  function JSXComment(ctx, state) {
13839
14065
  return $EVENT(ctx, state, "JSXComment", JSXComment$0);
13840
14066
  }
13841
- var JSXCommentContent$0 = $TR($EXPECT($R81, "JSXCommentContent /(?:-[^-]|[^-]*)*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
14067
+ var JSXCommentContent$0 = $TR($EXPECT($R82, "JSXCommentContent /(?:-[^-]|[^-]*)*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
13842
14068
  return { $loc, token: $0.replace(/\*\//g, "* /") };
13843
14069
  });
13844
14070
  function JSXCommentContent(ctx, state) {
13845
14071
  return $EVENT(ctx, state, "JSXCommentContent", JSXCommentContent$0);
13846
14072
  }
13847
- var JSXText$0 = $TR($EXPECT($R82, "JSXText /[^{}<>\\r\\n]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
14073
+ var JSXText$0 = $TR($EXPECT($R83, "JSXText /[^{}<>\\r\\n]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
13848
14074
  return {
13849
14075
  type: "JSXText",
13850
14076
  token: $0,
@@ -14019,37 +14245,37 @@ var require_parser = __commonJS({
14019
14245
  function InterfaceExtendsTarget(ctx, state) {
14020
14246
  return $EVENT(ctx, state, "InterfaceExtendsTarget", InterfaceExtendsTarget$0);
14021
14247
  }
14022
- var TypeKeyword$0 = $TS($S($EXPECT($L217, 'TypeKeyword "type"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14248
+ var TypeKeyword$0 = $TS($S($EXPECT($L216, 'TypeKeyword "type"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14023
14249
  return { $loc, token: $1 };
14024
14250
  });
14025
14251
  function TypeKeyword(ctx, state) {
14026
14252
  return $EVENT(ctx, state, "TypeKeyword", TypeKeyword$0);
14027
14253
  }
14028
- var Enum$0 = $TS($S($EXPECT($L218, 'Enum "enum"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14254
+ var Enum$0 = $TS($S($EXPECT($L217, 'Enum "enum"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14029
14255
  return { $loc, token: $1 };
14030
14256
  });
14031
14257
  function Enum(ctx, state) {
14032
14258
  return $EVENT(ctx, state, "Enum", Enum$0);
14033
14259
  }
14034
- var Interface$0 = $TS($S($EXPECT($L219, 'Interface "interface"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14260
+ var Interface$0 = $TS($S($EXPECT($L218, 'Interface "interface"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14035
14261
  return { $loc, token: $1 };
14036
14262
  });
14037
14263
  function Interface(ctx, state) {
14038
14264
  return $EVENT(ctx, state, "Interface", Interface$0);
14039
14265
  }
14040
- var Global$0 = $TS($S($EXPECT($L220, 'Global "global"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14266
+ var Global$0 = $TS($S($EXPECT($L219, 'Global "global"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14041
14267
  return { $loc, token: $1 };
14042
14268
  });
14043
14269
  function Global(ctx, state) {
14044
14270
  return $EVENT(ctx, state, "Global", Global$0);
14045
14271
  }
14046
- var Module$0 = $TS($S($EXPECT($L221, 'Module "module"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14272
+ var Module$0 = $TS($S($EXPECT($L220, 'Module "module"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14047
14273
  return { $loc, token: $1 };
14048
14274
  });
14049
14275
  function Module(ctx, state) {
14050
14276
  return $EVENT(ctx, state, "Module", Module$0);
14051
14277
  }
14052
- var Namespace$0 = $TS($S($EXPECT($L222, 'Namespace "namespace"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14278
+ var Namespace$0 = $TS($S($EXPECT($L221, 'Namespace "namespace"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14053
14279
  return { $loc, token: $1 };
14054
14280
  });
14055
14281
  function Namespace(ctx, state) {
@@ -14265,7 +14491,7 @@ var require_parser = __commonJS({
14265
14491
  function TypeProperty(ctx, state) {
14266
14492
  return $EVENT(ctx, state, "TypeProperty", TypeProperty$0);
14267
14493
  }
14268
- var TypeIndexSignature$0 = $S($E($S($R$0($EXPECT($R83, "TypeIndexSignature /[+-]?/")), Readonly, NotDedented)), OpenBracket, TypeIndex, CloseBracket, $E($S(__, $R$0($EXPECT($R10, "TypeIndexSignature /[+-]/")), $Y($S($E(_), QuestionMark)))));
14494
+ var TypeIndexSignature$0 = $S($E($S($R$0($EXPECT($R84, "TypeIndexSignature /[+-]?/")), Readonly, NotDedented)), OpenBracket, TypeIndex, CloseBracket, $E($S(__, $R$0($EXPECT($R12, "TypeIndexSignature /[+-]/")), $Y($S($E(_), QuestionMark)))));
14269
14495
  function TypeIndexSignature(ctx, state) {
14270
14496
  return $EVENT(ctx, state, "TypeIndexSignature", TypeIndexSignature$0);
14271
14497
  }
@@ -14325,7 +14551,7 @@ var require_parser = __commonJS({
14325
14551
  function ReturnTypeSuffix(ctx, state) {
14326
14552
  return $EVENT(ctx, state, "ReturnTypeSuffix", ReturnTypeSuffix$0);
14327
14553
  }
14328
- var ReturnType$0 = $TS($S($E($S(__, $EXPECT($L223, 'ReturnType "asserts"'), NonIdContinue)), TypePredicate), function($skip, $loc, $0, $1, $2) {
14554
+ var ReturnType$0 = $TS($S($E($S(__, $EXPECT($L222, 'ReturnType "asserts"'), NonIdContinue)), TypePredicate), function($skip, $loc, $0, $1, $2) {
14329
14555
  var asserts = $1;
14330
14556
  var t = $2;
14331
14557
  if (asserts) {
@@ -14346,7 +14572,7 @@ var require_parser = __commonJS({
14346
14572
  function ReturnType(ctx, state) {
14347
14573
  return $EVENT(ctx, state, "ReturnType", ReturnType$0);
14348
14574
  }
14349
- var TypePredicate$0 = $TS($S(Type, $E($S(__, $EXPECT($L166, 'TypePredicate "is"'), NonIdContinue, Type))), function($skip, $loc, $0, $1, $2) {
14575
+ var TypePredicate$0 = $TS($S(Type, $E($S(__, $EXPECT($L165, 'TypePredicate "is"'), NonIdContinue, Type))), function($skip, $loc, $0, $1, $2) {
14350
14576
  var lhs = $1;
14351
14577
  var rhs = $2;
14352
14578
  if (!rhs)
@@ -14404,8 +14630,8 @@ var require_parser = __commonJS({
14404
14630
  function TypeUnarySuffix(ctx, state) {
14405
14631
  return $EVENT_C(ctx, state, "TypeUnarySuffix", TypeUnarySuffix$$);
14406
14632
  }
14407
- var TypeUnaryOp$0 = $S($EXPECT($L224, 'TypeUnaryOp "keyof"'), NonIdContinue);
14408
- var TypeUnaryOp$1 = $S($EXPECT($L184, 'TypeUnaryOp "readonly"'), NonIdContinue);
14633
+ var TypeUnaryOp$0 = $S($EXPECT($L223, 'TypeUnaryOp "keyof"'), NonIdContinue);
14634
+ var TypeUnaryOp$1 = $S($EXPECT($L183, 'TypeUnaryOp "readonly"'), NonIdContinue);
14409
14635
  var TypeUnaryOp$$ = [TypeUnaryOp$0, TypeUnaryOp$1];
14410
14636
  function TypeUnaryOp(ctx, state) {
14411
14637
  return $EVENT_C(ctx, state, "TypeUnaryOp", TypeUnaryOp$$);
@@ -14421,7 +14647,7 @@ var require_parser = __commonJS({
14421
14647
  "]"
14422
14648
  ];
14423
14649
  });
14424
- var TypeIndexedAccess$2 = $TS($S(CoffeePrototypeEnabled, DoubleColon, $E(IdentifierName)), function($skip, $loc, $0, $1, $2, $3) {
14650
+ var TypeIndexedAccess$2 = $TS($S(CoffeePrototypeEnabled, DoubleColon, $E($C(IdentifierName, LengthShorthand))), function($skip, $loc, $0, $1, $2, $3) {
14425
14651
  var p = $2;
14426
14652
  var id = $3;
14427
14653
  const open = { ...p, token: '["' };
@@ -14435,7 +14661,7 @@ var require_parser = __commonJS({
14435
14661
  function TypeIndexedAccess(ctx, state) {
14436
14662
  return $EVENT_C(ctx, state, "TypeIndexedAccess", TypeIndexedAccess$$);
14437
14663
  }
14438
- var UnknownAlias$0 = $TV($EXPECT($L225, 'UnknownAlias "???"'), function($skip, $loc, $0, $1) {
14664
+ var UnknownAlias$0 = $TV($EXPECT($L224, 'UnknownAlias "???"'), function($skip, $loc, $0, $1) {
14439
14665
  return { $loc, token: "unknown" };
14440
14666
  });
14441
14667
  function UnknownAlias(ctx, state) {
@@ -14498,7 +14724,7 @@ var require_parser = __commonJS({
14498
14724
  return $EVENT_C(ctx, state, "TypePrimary", TypePrimary$$);
14499
14725
  }
14500
14726
  var ImportType$0 = $S($EXPECT($L20, 'ImportType "import"'), OpenParen, __, StringLiteral, __, CloseParen, $E($S(Dot, IdentifierName)), $E(TypeArguments));
14501
- var ImportType$1 = $S($EXPECT($L20, 'ImportType "import"'), InsertOpenParen, Trimmed_, StringLiteral, InsertCloseParen);
14727
+ var ImportType$1 = $S($EXPECT($L20, 'ImportType "import"'), InsertOpenParen, $E(Trimmed_), StringLiteral, InsertCloseParen);
14502
14728
  var ImportType$$ = [ImportType$0, ImportType$1];
14503
14729
  function ImportType(ctx, state) {
14504
14730
  return $EVENT_C(ctx, state, "ImportType", ImportType$$);
@@ -14561,7 +14787,7 @@ var require_parser = __commonJS({
14561
14787
  function NestedType(ctx, state) {
14562
14788
  return $EVENT(ctx, state, "NestedType", NestedType$0);
14563
14789
  }
14564
- var TypeConditional$0 = $TS($S($E(_), $EXPECT($R84, "TypeConditional /(?=if|unless)/"), TypeIfThenElse), function($skip, $loc, $0, $1, $2, $3) {
14790
+ var TypeConditional$0 = $TS($S($E(_), $EXPECT($R85, "TypeConditional /(?=if|unless)/"), TypeIfThenElse), function($skip, $loc, $0, $1, $2, $3) {
14565
14791
  return [$1, expressionizeTypeIf($3)];
14566
14792
  });
14567
14793
  var TypeConditional$1 = $TS($S(TypeCondition, NotDedented, QuestionMark, Type, __, Colon, Type), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7) {
@@ -14641,17 +14867,17 @@ var require_parser = __commonJS({
14641
14867
  }
14642
14868
  var TypeLiteral$0 = TypeTemplateLiteral;
14643
14869
  var TypeLiteral$1 = Literal;
14644
- var TypeLiteral$2 = $TS($S($EXPECT($R10, "TypeLiteral /[+-]/"), NumericLiteral), function($skip, $loc, $0, $1, $2) {
14870
+ var TypeLiteral$2 = $TS($S($EXPECT($R12, "TypeLiteral /[+-]/"), NumericLiteral), function($skip, $loc, $0, $1, $2) {
14645
14871
  var sign = $1;
14646
14872
  var num = $2;
14647
14873
  if (sign[0] === "+")
14648
14874
  return num;
14649
14875
  return $0;
14650
14876
  });
14651
- var TypeLiteral$3 = $TS($S($EXPECT($L207, 'TypeLiteral "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14877
+ var TypeLiteral$3 = $TS($S($EXPECT($L206, 'TypeLiteral "void"'), NonIdContinue), function($skip, $loc, $0, $1, $2) {
14652
14878
  return { type: "VoidType", $loc, token: $1 };
14653
14879
  });
14654
- var TypeLiteral$4 = $TV($EXPECT($L226, 'TypeLiteral "[]"'), function($skip, $loc, $0, $1) {
14880
+ var TypeLiteral$4 = $TV($EXPECT($L225, 'TypeLiteral "[]"'), function($skip, $loc, $0, $1) {
14655
14881
  return { $loc, token: "[]" };
14656
14882
  });
14657
14883
  var TypeLiteral$$ = [TypeLiteral$0, TypeLiteral$1, TypeLiteral$2, TypeLiteral$3, TypeLiteral$4];
@@ -14670,16 +14896,16 @@ var require_parser = __commonJS({
14670
14896
  var InlineInterfacePropertyDelimiter$1 = $T($S($Y($S($C(IndentedFurther, $E(_)), InlineBasicInterfaceProperty)), InsertComma), function(value) {
14671
14897
  return value[1];
14672
14898
  });
14673
- var InlineInterfacePropertyDelimiter$2 = $Y($S(__, $C($EXPECT($L15, 'InlineInterfacePropertyDelimiter ":"'), $EXPECT($L126, 'InlineInterfacePropertyDelimiter ")"'), $EXPECT($L46, 'InlineInterfacePropertyDelimiter "]"'), $EXPECT($L37, 'InlineInterfacePropertyDelimiter "}"'))));
14899
+ var InlineInterfacePropertyDelimiter$2 = $Y($S(__, $C($EXPECT($L15, 'InlineInterfacePropertyDelimiter ":"'), $EXPECT($L125, 'InlineInterfacePropertyDelimiter ")"'), $EXPECT($L45, 'InlineInterfacePropertyDelimiter "]"'), $EXPECT($L36, 'InlineInterfacePropertyDelimiter "}"'))));
14674
14900
  var InlineInterfacePropertyDelimiter$3 = $Y(EOS);
14675
14901
  var InlineInterfacePropertyDelimiter$$ = [InlineInterfacePropertyDelimiter$0, InlineInterfacePropertyDelimiter$1, InlineInterfacePropertyDelimiter$2, InlineInterfacePropertyDelimiter$3];
14676
14902
  function InlineInterfacePropertyDelimiter(ctx, state) {
14677
14903
  return $EVENT_C(ctx, state, "InlineInterfacePropertyDelimiter", InlineInterfacePropertyDelimiter$$);
14678
14904
  }
14679
- var TypeBinaryOp$0 = $TV($EXPECT($L110, 'TypeBinaryOp "|"'), function($skip, $loc, $0, $1) {
14905
+ var TypeBinaryOp$0 = $TV($EXPECT($L109, 'TypeBinaryOp "|"'), function($skip, $loc, $0, $1) {
14680
14906
  return { $loc, token: "|" };
14681
14907
  });
14682
- var TypeBinaryOp$1 = $TV($EXPECT($L109, 'TypeBinaryOp "&"'), function($skip, $loc, $0, $1) {
14908
+ var TypeBinaryOp$1 = $TV($EXPECT($L108, 'TypeBinaryOp "&"'), function($skip, $loc, $0, $1) {
14683
14909
  return { $loc, token: "&" };
14684
14910
  });
14685
14911
  var TypeBinaryOp$$ = [TypeBinaryOp$0, TypeBinaryOp$1];
@@ -14696,7 +14922,7 @@ var require_parser = __commonJS({
14696
14922
  function TypeFunction(ctx, state) {
14697
14923
  return $EVENT(ctx, state, "TypeFunction", TypeFunction$0);
14698
14924
  }
14699
- var TypeArrowFunction$0 = $TV($C($EXPECT($L13, 'TypeArrowFunction "=>"'), $EXPECT($L14, 'TypeArrowFunction "\u21D2"'), $EXPECT($L35, 'TypeArrowFunction "->"'), $EXPECT($L36, 'TypeArrowFunction "\u2192"')), function($skip, $loc, $0, $1) {
14925
+ var TypeArrowFunction$0 = $TV($C($EXPECT($L13, 'TypeArrowFunction "=>"'), $EXPECT($L14, 'TypeArrowFunction "\u21D2"'), $EXPECT($L34, 'TypeArrowFunction "->"'), $EXPECT($L35, 'TypeArrowFunction "\u2192"')), function($skip, $loc, $0, $1) {
14700
14926
  return { $loc, token: "=>" };
14701
14927
  });
14702
14928
  function TypeArrowFunction(ctx, state) {
@@ -14734,7 +14960,7 @@ var require_parser = __commonJS({
14734
14960
  function TypeParameters(ctx, state) {
14735
14961
  return $EVENT(ctx, state, "TypeParameters", TypeParameters$0);
14736
14962
  }
14737
- var TypeParameter$0 = $S(__, $E($S($EXPECT($L165, 'TypeParameter "const"'), $E(_))), Identifier, $E(TypeConstraint), $E(TypeInitializer), TypeParameterDelimiter);
14963
+ var TypeParameter$0 = $S(__, $E($S($EXPECT($L164, 'TypeParameter "const"'), $E(_))), Identifier, $E(TypeConstraint), $E(TypeInitializer), TypeParameterDelimiter);
14738
14964
  function TypeParameter(ctx, state) {
14739
14965
  return $EVENT(ctx, state, "TypeParameter", TypeParameter$0);
14740
14966
  }
@@ -14747,7 +14973,7 @@ var require_parser = __commonJS({
14747
14973
  return $EVENT(ctx, state, "TypeInitializer", TypeInitializer$0);
14748
14974
  }
14749
14975
  var TypeParameterDelimiter$0 = $S($E(_), Comma);
14750
- var TypeParameterDelimiter$1 = $Y($S(__, $EXPECT($L45, 'TypeParameterDelimiter ">"')));
14976
+ var TypeParameterDelimiter$1 = $Y($S(__, $EXPECT($L44, 'TypeParameterDelimiter ">"')));
14751
14977
  var TypeParameterDelimiter$2 = $T($S($Y(EOS), InsertComma), function(value) {
14752
14978
  return value[1];
14753
14979
  });
@@ -14761,15 +14987,15 @@ var require_parser = __commonJS({
14761
14987
  function ThisType(ctx, state) {
14762
14988
  return $EVENT(ctx, state, "ThisType", ThisType$0);
14763
14989
  }
14764
- var Shebang$0 = $S($R$0($EXPECT($R85, "Shebang /#![^\\r\\n]*/")), EOL);
14990
+ var Shebang$0 = $S($R$0($EXPECT($R86, "Shebang /#![^\\r\\n]*/")), EOL);
14765
14991
  function Shebang(ctx, state) {
14766
14992
  return $EVENT(ctx, state, "Shebang", Shebang$0);
14767
14993
  }
14768
- var CivetPrologue$0 = $T($S($EXPECT($R86, "CivetPrologue /[\\t ]*/"), DoubleQuote, CivetPrologueContent, DoubleQuote, SimpleStatementDelimiter, $EXPECT($R87, "CivetPrologue /[ \\t]*/"), $C(EOL, $Y(RestOfLine))), function(value) {
14994
+ var CivetPrologue$0 = $T($S($EXPECT($R87, "CivetPrologue /[\\t ]*/"), DoubleQuote, CivetPrologueContent, DoubleQuote, SimpleStatementDelimiter, $EXPECT($R88, "CivetPrologue /[ \\t]*/"), $C(EOL, $Y(RestOfLine))), function(value) {
14769
14995
  var content = value[2];
14770
14996
  return content;
14771
14997
  });
14772
- var CivetPrologue$1 = $T($S($EXPECT($R86, "CivetPrologue /[\\t ]*/"), SingleQuote, CivetPrologueContent, SingleQuote, SimpleStatementDelimiter, $EXPECT($R87, "CivetPrologue /[ \\t]*/"), $C(EOL, $Y(RestOfLine))), function(value) {
14998
+ var CivetPrologue$1 = $T($S($EXPECT($R87, "CivetPrologue /[\\t ]*/"), SingleQuote, CivetPrologueContent, SingleQuote, SimpleStatementDelimiter, $EXPECT($R88, "CivetPrologue /[ \\t]*/"), $C(EOL, $Y(RestOfLine))), function(value) {
14773
14999
  var content = value[2];
14774
15000
  return content;
14775
15001
  });
@@ -14777,7 +15003,7 @@ var require_parser = __commonJS({
14777
15003
  function CivetPrologue(ctx, state) {
14778
15004
  return $EVENT_C(ctx, state, "CivetPrologue", CivetPrologue$$);
14779
15005
  }
14780
- var CivetPrologueContent$0 = $TS($S($EXPECT($L227, 'CivetPrologueContent "civet"'), NonIdContinue, $Q(CivetOption), $EXPECT($R88, "CivetPrologueContent /[\\s]*/")), function($skip, $loc, $0, $1, $2, $3, $4) {
15006
+ var CivetPrologueContent$0 = $TS($S($EXPECT($L226, 'CivetPrologueContent "civet"'), NonIdContinue, $Q(CivetOption), $EXPECT($R89, "CivetPrologueContent /[\\s]*/")), function($skip, $loc, $0, $1, $2, $3, $4) {
14781
15007
  var options = $3;
14782
15008
  return {
14783
15009
  type: "CivetPrologue",
@@ -14788,7 +15014,7 @@ var require_parser = __commonJS({
14788
15014
  function CivetPrologueContent(ctx, state) {
14789
15015
  return $EVENT(ctx, state, "CivetPrologueContent", CivetPrologueContent$0);
14790
15016
  }
14791
- var CivetOption$0 = $TR($EXPECT($R89, "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) {
15017
+ var CivetOption$0 = $TR($EXPECT($R90, "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) {
14792
15018
  const optionName = $2.replace(/-+([a-z]?)/g, (_2, l) => {
14793
15019
  if (l)
14794
15020
  return l.toUpperCase();
@@ -14805,11 +15031,11 @@ var require_parser = __commonJS({
14805
15031
  function CivetOption(ctx, state) {
14806
15032
  return $EVENT(ctx, state, "CivetOption", CivetOption$0);
14807
15033
  }
14808
- var UnknownPrologue$0 = $S($R$0($EXPECT($R86, "UnknownPrologue /[\\t ]*/")), StringLiteral, $TEXT(SimpleStatementDelimiter), EOS);
15034
+ var UnknownPrologue$0 = $S($R$0($EXPECT($R87, "UnknownPrologue /[\\t ]*/")), StringLiteral, $TEXT(SimpleStatementDelimiter), EOS);
14809
15035
  function UnknownPrologue(ctx, state) {
14810
15036
  return $EVENT(ctx, state, "UnknownPrologue", UnknownPrologue$0);
14811
15037
  }
14812
- var TripleSlashDirective$0 = $S($R$0($EXPECT($R90, "TripleSlashDirective /\\/\\/\\/[^\\r\\n]*/")), $E(EOS));
15038
+ var TripleSlashDirective$0 = $S($R$0($EXPECT($R91, "TripleSlashDirective /\\/\\/\\/[^\\r\\n]*/")), $E(EOS));
14813
15039
  function TripleSlashDirective(ctx, state) {
14814
15040
  return $EVENT(ctx, state, "TripleSlashDirective", TripleSlashDirective$0);
14815
15041
  }
@@ -14825,13 +15051,13 @@ var require_parser = __commonJS({
14825
15051
  function PrologueString(ctx, state) {
14826
15052
  return $EVENT_C(ctx, state, "PrologueString", PrologueString$$);
14827
15053
  }
14828
- var EOS$0 = $T($S($EXPECT($R91, "EOS /(?=[ \\t\\r\\n\\/#]|$)/"), $P(RestOfLine)), function(value) {
15054
+ var EOS$0 = $T($S($EXPECT($R92, "EOS /(?=[ \\t\\r\\n\\/#]|$)/"), $P(RestOfLine)), function(value) {
14829
15055
  return value[1];
14830
15056
  });
14831
15057
  function EOS(ctx, state) {
14832
15058
  return $EVENT(ctx, state, "EOS", EOS$0);
14833
15059
  }
14834
- var EOL$0 = $TR($EXPECT($R92, "EOL /\\r\\n|\\n|\\r|$/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
15060
+ var EOL$0 = $TR($EXPECT($R93, "EOL /\\r\\n|\\n|\\r|$/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
14835
15061
  return { $loc, token: $0 };
14836
15062
  });
14837
15063
  function EOL(ctx, state) {
@@ -15403,11 +15629,11 @@ var require_parser = __commonJS({
15403
15629
  function Prologue(ctx, state) {
15404
15630
  return $EVENT(ctx, state, "Prologue", Prologue$0);
15405
15631
  }
15406
- var ProloguePrefix$0 = $S(Prologue, $R$0($EXPECT($R93, "ProloguePrefix /[^]*/")));
15632
+ var ProloguePrefix$0 = $S(Prologue, $R$0($EXPECT($R94, "ProloguePrefix /[^]*/")));
15407
15633
  function ProloguePrefix(ctx, state) {
15408
15634
  return $EVENT(ctx, state, "ProloguePrefix", ProloguePrefix$0);
15409
15635
  }
15410
- var Indent$0 = $TR($EXPECT($R87, "Indent /[ \\t]*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
15636
+ var Indent$0 = $TR($EXPECT($R88, "Indent /[ \\t]*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
15411
15637
  const level = getIndentLevel($0, module.config.tab);
15412
15638
  return {
15413
15639
  $loc,
@@ -15537,6 +15763,7 @@ var require_parser = __commonJS({
15537
15763
  exports.ExplicitArguments = ExplicitArguments;
15538
15764
  exports.ApplicationStart = ApplicationStart;
15539
15765
  exports.ForbiddenImplicitCalls = ForbiddenImplicitCalls;
15766
+ exports.ReservedBinary = ReservedBinary;
15540
15767
  exports.ArgumentsWithTrailingMemberExpressions = ArgumentsWithTrailingMemberExpressions;
15541
15768
  exports.TrailingMemberExpressions = TrailingMemberExpressions;
15542
15769
  exports.AllowedTrailingMemberExpressions = AllowedTrailingMemberExpressions;
@@ -15569,8 +15796,11 @@ var require_parser = __commonJS({
15569
15796
  exports.AssignmentExpression = AssignmentExpression;
15570
15797
  exports.NonPipelineAssignmentExpression = NonPipelineAssignmentExpression;
15571
15798
  exports.SingleLineAssignmentExpression = SingleLineAssignmentExpression;
15799
+ exports.NonPipelineSingleLineAssignmentExpression = NonPipelineSingleLineAssignmentExpression;
15572
15800
  exports.AssignmentExpressionTail = AssignmentExpressionTail;
15801
+ exports.NonPipelineAssignmentExpressionTail = NonPipelineAssignmentExpressionTail;
15573
15802
  exports.ActualAssignment = ActualAssignment;
15803
+ exports.NonPipelineActualAssignment = NonPipelineActualAssignment;
15574
15804
  exports.YieldExpression = YieldExpression;
15575
15805
  exports.YieldTail = YieldTail;
15576
15806
  exports.ArrowFunction = ArrowFunction;
@@ -15587,7 +15817,8 @@ var require_parser = __commonJS({
15587
15817
  exports.PipelineTailItem = PipelineTailItem;
15588
15818
  exports.PrimaryExpression = PrimaryExpression;
15589
15819
  exports.ParenthesizedExpression = ParenthesizedExpression;
15590
- exports.PartialPlaceholder = PartialPlaceholder;
15820
+ exports.Placeholder = Placeholder;
15821
+ exports.AmpersandTypeSuffix = AmpersandTypeSuffix;
15591
15822
  exports.ClassDeclaration = ClassDeclaration;
15592
15823
  exports.ClassExpression = ClassExpression;
15593
15824
  exports.ClassBinding = ClassBinding;
@@ -15676,15 +15907,11 @@ var require_parser = __commonJS({
15676
15907
  exports.FunctionDeclaration = FunctionDeclaration;
15677
15908
  exports.FunctionSignature = FunctionSignature;
15678
15909
  exports.FunctionExpression = FunctionExpression;
15679
- exports.AmpersandFunctionExpression = AmpersandFunctionExpression;
15680
15910
  exports.OperatorDeclaration = OperatorDeclaration;
15681
15911
  exports.OperatorSignature = OperatorSignature;
15682
15912
  exports.OperatorBehavior = OperatorBehavior;
15683
15913
  exports.OperatorPrecedence = OperatorPrecedence;
15684
15914
  exports.OperatorAssociativity = OperatorAssociativity;
15685
- exports.AmpersandBlockRHS = AmpersandBlockRHS;
15686
- exports.AmpersandTypeSuffix = AmpersandTypeSuffix;
15687
- exports.AmpersandBlockRHSBody = AmpersandBlockRHSBody;
15688
15915
  exports.ThinArrowFunction = ThinArrowFunction;
15689
15916
  exports.Arrow = Arrow;
15690
15917
  exports.ExplicitBlock = ExplicitBlock;
@@ -16254,9 +16481,10 @@ var require_parser = __commonJS({
16254
16481
  var import_parser = __toESM(require_parser());
16255
16482
 
16256
16483
  // source/generate.civet
16484
+ init_util();
16257
16485
  function stringify(node) {
16258
16486
  try {
16259
- return JSON.stringify(node);
16487
+ return JSON.stringify(removeParentPointers(node));
16260
16488
  } catch (e) {
16261
16489
  return `${node}`;
16262
16490
  }