@danielx/civet 0.4.26 → 0.4.28

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/main.js CHANGED
@@ -4,6 +4,85 @@ var __commonJS = (cb, mod) => function __require() {
4
4
  return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
5
5
  };
6
6
 
7
+ // source/generate.coffee
8
+ var require_generate = __commonJS({
9
+ "source/generate.coffee"(exports2, module2) {
10
+ "civet coffeeCompat";
11
+ var gen2;
12
+ var prune2;
13
+ gen2 = function(node, options) {
14
+ var $loc, token;
15
+ if (node === null || node === void 0) {
16
+ return "";
17
+ }
18
+ if (typeof node === "string") {
19
+ if (options != null) {
20
+ if (typeof options.updateSourceMap === "function") {
21
+ options.updateSourceMap(node);
22
+ }
23
+ }
24
+ return node;
25
+ }
26
+ if (Array.isArray(node)) {
27
+ return node.map(function(child) {
28
+ return gen2(child, options);
29
+ }).join("");
30
+ }
31
+ if (typeof node === "object") {
32
+ if (options.js && node.ts) {
33
+ return "";
34
+ }
35
+ if (node.$loc != null) {
36
+ ({ token, $loc } = node);
37
+ if (options != null) {
38
+ if (typeof options.updateSourceMap === "function") {
39
+ options.updateSourceMap(token, $loc.pos);
40
+ }
41
+ }
42
+ return token;
43
+ }
44
+ if (!node.children) {
45
+ debugger;
46
+ throw new Error("Unknown node", JSON.stringify(node));
47
+ }
48
+ return gen2(node.children, options);
49
+ }
50
+ debugger;
51
+ throw new Error("Unknown node", JSON.stringify(node));
52
+ };
53
+ module2.exports = gen2;
54
+ prune2 = function(node) {
55
+ var a;
56
+ if (node === null || node === void 0) {
57
+ return;
58
+ }
59
+ if (node.length === 0) {
60
+ return;
61
+ }
62
+ if (Array.isArray(node)) {
63
+ a = node.map(function(n) {
64
+ return prune2(n);
65
+ }).filter(function(n) {
66
+ return !!n;
67
+ });
68
+ if (a.length > 1) {
69
+ return a;
70
+ }
71
+ if (a.length === 1) {
72
+ return a[0];
73
+ }
74
+ return;
75
+ }
76
+ if (node.children != null) {
77
+ node.children = prune2(node.children) || [];
78
+ return node;
79
+ }
80
+ return node;
81
+ };
82
+ gen2.prune = prune2;
83
+ }
84
+ });
85
+
7
86
  // source/parser.hera
8
87
  var require_parser = __commonJS({
9
88
  "source/parser.hera"(exports2, module2) {
@@ -757,6 +836,7 @@ ${input.slice(result.pos)}
757
836
  JSXAttributeInitializer,
758
837
  JSXAttributeValue,
759
838
  JSXChildren,
839
+ JSXNestedChildren,
760
840
  JSXChild,
761
841
  JSXText,
762
842
  JSXChildExpression,
@@ -1003,57 +1083,58 @@ ${input.slice(result.pos)}
1003
1083
  var $R1 = $R(new RegExp("[&]", "suy"));
1004
1084
  var $R2 = $R(new RegExp("[!~+-]+", "suy"));
1005
1085
  var $R3 = $R(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy"));
1006
- var $R4 = $R(new RegExp("[!~+-](?!\\s|[!~+-]*&)", "suy"));
1007
- var $R5 = $R(new RegExp("(?=[\\s\\)])", "suy"));
1008
- var $R6 = $R(new RegExp('[^;"\\s]+', "suy"));
1009
- var $R7 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)n", "suy"));
1010
- var $R8 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?=\\.(?:\\p{ID_Start}|[_$]))", "suy"));
1011
- var $R9 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?:\\.(?:[0-9](?:_[0-9]|[0-9])*))?", "suy"));
1012
- var $R10 = $R(new RegExp("(?:\\.[0-9](?:_[0-9]|[0-9])*)", "suy"));
1013
- var $R11 = $R(new RegExp("(?:[eE][+-]?[0-9]+(?:_[0-9]|[0-9])*)", "suy"));
1014
- var $R12 = $R(new RegExp("0[bB][01](?:[01]|_[01])*n?", "suy"));
1015
- var $R13 = $R(new RegExp("0[oO][0-7](?:[0-7]|_[0-7])*n?", "suy"));
1016
- var $R14 = $R(new RegExp("0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*n?", "suy"));
1017
- var $R15 = $R(new RegExp('(?:\\\\.|[^"])*', "suy"));
1018
- var $R16 = $R(new RegExp("(?:\\\\.|[^'])*", "suy"));
1019
- var $R17 = $R(new RegExp('(?:"(?!"")|#(?!\\{)|\\\\.|[^#"])+', "suy"));
1020
- var $R18 = $R(new RegExp("(?:'(?!'')|\\\\.|[^'])*", "suy"));
1021
- var $R19 = $R(new RegExp('(?:\\\\.|#(?!\\{)|[^"#])+', "suy"));
1022
- var $R20 = $R(new RegExp("(?:\\\\.|[^\\]])*", "suy"));
1023
- var $R21 = $R(new RegExp("(?:\\\\.)", "suy"));
1024
- var $R22 = $R(new RegExp("[\\s]+", "suy"));
1025
- var $R23 = $R(new RegExp("\\/(?!\\/\\/)", "suy"));
1026
- var $R24 = $R(new RegExp("[^\\/\\s#\\\\]+", "suy"));
1027
- var $R25 = $R(new RegExp("[*\\/\\r\\n]", "suy"));
1028
- var $R26 = $R(new RegExp("(?:\\\\.|[^\\/\\r\\n])+", "suy"));
1029
- var $R27 = $R(new RegExp("(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy"));
1030
- var $R28 = $R(new RegExp("(?:\\$(?!\\{)|\\\\.|[^$`])+", "suy"));
1031
- var $R29 = $R(new RegExp("(?:\\$(?!\\{)|`(?!``)|\\\\.|[^$`])+", "suy"));
1032
- var $R30 = $R(new RegExp("(?:on|off|yes|no)(?!\\p{ID_Continue})", "suy"));
1033
- var $R31 = $R(new RegExp("(?:isnt)(?!\\p{ID_Continue})", "suy"));
1034
- var $R32 = $R(new RegExp("(?:by)(?!\\p{ID_Continue})", "suy"));
1035
- var $R33 = $R(new RegExp("(?:of)(?!\\p{ID_Continue})", "suy"));
1036
- var $R34 = $R(new RegExp("(?:and|as|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|null|or|return|static|super|switch|this|throw|true|try|typeof|unless|until|var|void|while|with|yield)(?!\\p{ID_Continue})", "suy"));
1037
- var $R35 = $R(new RegExp("\\/\\/(?!\\/)[^\\r\\n]*", "suy"));
1038
- var $R36 = $R(new RegExp(".", "suy"));
1039
- var $R37 = $R(new RegExp("#(?!##(?!#))([^\\r\\n]*)", "suy"));
1040
- var $R38 = $R(new RegExp("###(?!#)", "suy"));
1041
- var $R39 = $R(new RegExp("[^\\r\\n]", "suy"));
1042
- var $R40 = $R(new RegExp("[ \\t]+", "suy"));
1043
- var $R41 = $R(new RegExp("(?!\\p{ID_Continue})", "suy"));
1044
- var $R42 = $R(new RegExp("\\s", "suy"));
1045
- var $R43 = $R(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*", "suy"));
1046
- var $R44 = $R(new RegExp('"[^"]*"', "suy"));
1047
- var $R45 = $R(new RegExp("'[^']*'", "suy"));
1048
- var $R46 = $R(new RegExp("[^{}<>]+", "suy"));
1049
- var $R47 = $R(new RegExp("[+-]?", "suy"));
1050
- var $R48 = $R(new RegExp("[+-]", "suy"));
1051
- var $R49 = $R(new RegExp("#![^\\r\\n]*", "suy"));
1052
- var $R50 = $R(new RegExp("[\\t ]*", "suy"));
1053
- var $R51 = $R(new RegExp("[\\s]*", "suy"));
1054
- var $R52 = $R(new RegExp("\\s+([+-]?)([a-zA-Z0-9-]+)(\\s*=\\s*([a-zA-Z0-9.+-]*))?", "suy"));
1055
- var $R53 = $R(new RegExp("\\r\\n|\\n|\\r|$", "suy"));
1056
- var $R54 = $R(new RegExp("[ \\t]*", "suy"));
1086
+ var $R4 = $R(new RegExp("<(?!\\p{ID_Start}|[_$])", "suy"));
1087
+ var $R5 = $R(new RegExp("[!~+-](?!\\s|[!~+-]*&)", "suy"));
1088
+ var $R6 = $R(new RegExp("(?=[\\s\\)])", "suy"));
1089
+ var $R7 = $R(new RegExp('[^;"\\s]+', "suy"));
1090
+ var $R8 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)n", "suy"));
1091
+ var $R9 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?=\\.(?:\\p{ID_Start}|[_$]))", "suy"));
1092
+ var $R10 = $R(new RegExp("(?:0|[1-9](?:_[0-9]|[0-9])*)(?:\\.(?:[0-9](?:_[0-9]|[0-9])*))?", "suy"));
1093
+ var $R11 = $R(new RegExp("(?:\\.[0-9](?:_[0-9]|[0-9])*)", "suy"));
1094
+ var $R12 = $R(new RegExp("(?:[eE][+-]?[0-9]+(?:_[0-9]|[0-9])*)", "suy"));
1095
+ var $R13 = $R(new RegExp("0[bB][01](?:[01]|_[01])*n?", "suy"));
1096
+ var $R14 = $R(new RegExp("0[oO][0-7](?:[0-7]|_[0-7])*n?", "suy"));
1097
+ var $R15 = $R(new RegExp("0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*n?", "suy"));
1098
+ var $R16 = $R(new RegExp('(?:\\\\.|[^"])*', "suy"));
1099
+ var $R17 = $R(new RegExp("(?:\\\\.|[^'])*", "suy"));
1100
+ var $R18 = $R(new RegExp('(?:"(?!"")|#(?!\\{)|\\\\.|[^#"])+', "suy"));
1101
+ var $R19 = $R(new RegExp("(?:'(?!'')|\\\\.|[^'])*", "suy"));
1102
+ var $R20 = $R(new RegExp('(?:\\\\.|#(?!\\{)|[^"#])+', "suy"));
1103
+ var $R21 = $R(new RegExp("(?:\\\\.|[^\\]])*", "suy"));
1104
+ var $R22 = $R(new RegExp("(?:\\\\.)", "suy"));
1105
+ var $R23 = $R(new RegExp("[\\s]+", "suy"));
1106
+ var $R24 = $R(new RegExp("\\/(?!\\/\\/)", "suy"));
1107
+ var $R25 = $R(new RegExp("[^\\/\\s#\\\\]+", "suy"));
1108
+ var $R26 = $R(new RegExp("[*\\/\\r\\n]", "suy"));
1109
+ var $R27 = $R(new RegExp("(?:\\\\.|[^\\/\\r\\n])+", "suy"));
1110
+ var $R28 = $R(new RegExp("(?:\\p{ID_Continue}|[\\u200C\\u200D$])*", "suy"));
1111
+ var $R29 = $R(new RegExp("(?:\\$(?!\\{)|\\\\.|[^$`])+", "suy"));
1112
+ var $R30 = $R(new RegExp("(?:\\$(?!\\{)|`(?!``)|\\\\.|[^$`])+", "suy"));
1113
+ var $R31 = $R(new RegExp("(?:on|off|yes|no)(?!\\p{ID_Continue})", "suy"));
1114
+ var $R32 = $R(new RegExp("(?:isnt)(?!\\p{ID_Continue})", "suy"));
1115
+ var $R33 = $R(new RegExp("(?:by)(?!\\p{ID_Continue})", "suy"));
1116
+ var $R34 = $R(new RegExp("(?:of)(?!\\p{ID_Continue})", "suy"));
1117
+ var $R35 = $R(new RegExp("(?:and|as|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|null|or|return|static|super|switch|this|throw|true|try|typeof|unless|until|var|void|while|with|yield)(?!\\p{ID_Continue})", "suy"));
1118
+ var $R36 = $R(new RegExp("\\/\\/(?!\\/)[^\\r\\n]*", "suy"));
1119
+ var $R37 = $R(new RegExp(".", "suy"));
1120
+ var $R38 = $R(new RegExp("#(?!##(?!#))([^\\r\\n]*)", "suy"));
1121
+ var $R39 = $R(new RegExp("###(?!#)", "suy"));
1122
+ var $R40 = $R(new RegExp("[^\\r\\n]", "suy"));
1123
+ var $R41 = $R(new RegExp("[ \\t]+", "suy"));
1124
+ var $R42 = $R(new RegExp("(?!\\p{ID_Continue})", "suy"));
1125
+ var $R43 = $R(new RegExp("\\s", "suy"));
1126
+ var $R44 = $R(new RegExp("(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*", "suy"));
1127
+ var $R45 = $R(new RegExp('"[^"]*"', "suy"));
1128
+ var $R46 = $R(new RegExp("'[^']*'", "suy"));
1129
+ var $R47 = $R(new RegExp("[^{}<>\\r\\n]+", "suy"));
1130
+ var $R48 = $R(new RegExp("[+-]?", "suy"));
1131
+ var $R49 = $R(new RegExp("[+-]", "suy"));
1132
+ var $R50 = $R(new RegExp("#![^\\r\\n]*", "suy"));
1133
+ var $R51 = $R(new RegExp("[\\t ]*", "suy"));
1134
+ var $R52 = $R(new RegExp("[\\s]*", "suy"));
1135
+ var $R53 = $R(new RegExp("\\s+([+-]?)([a-zA-Z0-9-]+)(\\s*=\\s*([a-zA-Z0-9.+-]*))?", "suy"));
1136
+ var $R54 = $R(new RegExp("\\r\\n|\\n|\\r|$", "suy"));
1137
+ var $R55 = $R(new RegExp("[ \\t]*", "suy"));
1057
1138
  var Program$0 = $TS($S(Reset, Init, __, $Q(TopLevelStatement), __), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
1058
1139
  var statements = $4;
1059
1140
  module2.processProgram(statements);
@@ -5113,7 +5194,9 @@ ${input.slice(result.pos)}
5113
5194
  var BinaryOpSymbol$6 = $EXPECT($L53, fail, 'BinaryOpSymbol "<="');
5114
5195
  var BinaryOpSymbol$7 = $EXPECT($L54, fail, 'BinaryOpSymbol ">="');
5115
5196
  var BinaryOpSymbol$8 = $EXPECT($L55, fail, 'BinaryOpSymbol "<<"');
5116
- var BinaryOpSymbol$9 = $EXPECT($L5, fail, 'BinaryOpSymbol "<"');
5197
+ var BinaryOpSymbol$9 = $TR($EXPECT($R4, fail, "BinaryOpSymbol /<(?!\\p{ID_Start}|[_$])/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
5198
+ return "<";
5199
+ });
5117
5200
  var BinaryOpSymbol$10 = $EXPECT($L56, fail, 'BinaryOpSymbol ">>>"');
5118
5201
  var BinaryOpSymbol$11 = $EXPECT($L57, fail, 'BinaryOpSymbol ">>"');
5119
5202
  var BinaryOpSymbol$12 = $EXPECT($L25, fail, 'BinaryOpSymbol ">"');
@@ -5207,7 +5290,7 @@ ${input.slice(result.pos)}
5207
5290
  return result;
5208
5291
  }
5209
5292
  }
5210
- var UnaryOp$0 = $TR($EXPECT($R4, fail, "UnaryOp /[!~+-](?!\\s|[!~+-]*&)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
5293
+ var UnaryOp$0 = $TR($EXPECT($R5, fail, "UnaryOp /[!~+-](?!\\s|[!~+-]*&)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
5211
5294
  return { $loc, token: $0 };
5212
5295
  });
5213
5296
  var UnaryOp$1 = $S($C(Await, Delete, Void, Typeof), __);
@@ -6285,7 +6368,7 @@ ${input.slice(result.pos)}
6285
6368
  names: binding.names
6286
6369
  };
6287
6370
  });
6288
- var ForDeclaration$1 = $TS($S(InsertConst, ForBinding, $EXPECT($R5, fail, "ForDeclaration /(?=[\\s\\)])/")), function($skip, $loc, $0, $1, $2, $3) {
6371
+ var ForDeclaration$1 = $TS($S(InsertConst, ForBinding, $EXPECT($R6, fail, "ForDeclaration /(?=[\\s\\)])/")), function($skip, $loc, $0, $1, $2, $3) {
6289
6372
  var c = $1;
6290
6373
  var binding = $2;
6291
6374
  return {
@@ -6516,9 +6599,15 @@ ${input.slice(result.pos)}
6516
6599
  var expressions = value[2];
6517
6600
  return { "type": "CaseClause", "cases": cases, "expressions": expressions, "children": value };
6518
6601
  });
6519
- var CaseClause$1 = $TS($S(When, CaseExpressionList, $C(ThenClause, NestedBlockStatements), InsertBreak), function($skip, $loc, $0, $1, $2, $3, $4) {
6602
+ var CaseClause$1 = $TS($S(When, CaseExpressionList, InsertOpenBrace, $E($C(ThenClause, NestedBlockStatements)), InsertBreak, InsertNewline, InsertIndent, InsertCloseBrace), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8) {
6520
6603
  var cases = $2;
6521
- var expressions = $3;
6604
+ var expressions = $4;
6605
+ var b = $5;
6606
+ let children = $0;
6607
+ if (!expressions) {
6608
+ expressions = [];
6609
+ children = children.map((c, i) => i === 3 ? expressions : c);
6610
+ }
6522
6611
  if (expressions.expressions) {
6523
6612
  expressions = expressions.expressions;
6524
6613
  }
@@ -6526,7 +6615,8 @@ ${input.slice(result.pos)}
6526
6615
  type: "WhenClause",
6527
6616
  cases,
6528
6617
  expressions,
6529
- children: $0
6618
+ break: b,
6619
+ children
6530
6620
  };
6531
6621
  });
6532
6622
  var CaseClause$2 = $TS($S(Default, ImpliedColon, $C(NestedBlockStatements, NoExpressions)), function($skip, $loc, $0, $1, $2, $3) {
@@ -6539,8 +6629,8 @@ ${input.slice(result.pos)}
6539
6629
  children: $0
6540
6630
  };
6541
6631
  });
6542
- var CaseClause$3 = $TS($S(Else, ImpliedColon, $C(NestedBlockStatements, $S($Q(TrailingComment), Statement))), function($skip, $loc, $0, $1, $2, $3) {
6543
- var expressions = $3;
6632
+ var CaseClause$3 = $TS($S(Else, ImpliedColon, InsertOpenBrace, $C(NestedBlockStatements, $S($Q(TrailingComment), Statement)), InsertNewline, InsertIndent, InsertCloseBrace), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7) {
6633
+ var expressions = $4;
6544
6634
  $1.token = "default";
6545
6635
  if (expressions.expressions)
6546
6636
  expressions = expressions.expressions;
@@ -6932,9 +7022,10 @@ ${input.slice(result.pos)}
6932
7022
  var MaybeNestedExpression$0 = $TS($S($N(EOS), ExtendedExpression), function($skip, $loc, $0, $1, $2) {
6933
7023
  return $2;
6934
7024
  });
6935
- var MaybeNestedExpression$1 = $T($S($Y(EOS), ObjectLiteral), function(value) {
6936
- return value[1];
7025
+ var MaybeNestedExpression$1 = $TS($S($Y(EOS), ObjectLiteral), function($skip, $loc, $0, $1, $2) {
7026
+ return $2;
6937
7027
  });
7028
+ var MaybeNestedExpression$2 = $S($Y(EOS), InsertSpace, InsertOpenParen, PushIndent, Nested, ExtendedExpression, PopIndent, InsertNewline, InsertIndent, InsertCloseParen);
6938
7029
  function MaybeNestedExpression(state) {
6939
7030
  if (state.events) {
6940
7031
  const result = state.events.enter?.("MaybeNestedExpression", state);
@@ -6942,12 +7033,12 @@ ${input.slice(result.pos)}
6942
7033
  return result.cache;
6943
7034
  }
6944
7035
  if (state.tokenize) {
6945
- const result = $TOKEN("MaybeNestedExpression", state, MaybeNestedExpression$0(state) || MaybeNestedExpression$1(state));
7036
+ const result = $TOKEN("MaybeNestedExpression", state, MaybeNestedExpression$0(state) || MaybeNestedExpression$1(state) || MaybeNestedExpression$2(state));
6946
7037
  if (state.events)
6947
7038
  state.events.exit?.("MaybeNestedExpression", state, result);
6948
7039
  return result;
6949
7040
  } else {
6950
- const result = MaybeNestedExpression$0(state) || MaybeNestedExpression$1(state);
7041
+ const result = MaybeNestedExpression$0(state) || MaybeNestedExpression$1(state) || MaybeNestedExpression$2(state);
6951
7042
  if (state.events)
6952
7043
  state.events.exit?.("MaybeNestedExpression", state, result);
6953
7044
  return result;
@@ -7212,7 +7303,7 @@ ${input.slice(result.pos)}
7212
7303
  return result;
7213
7304
  }
7214
7305
  }
7215
- var UnquotedSpecifier$0 = $TV($EXPECT($R6, fail, 'UnquotedSpecifier /[^;"\\s]+/'), function($skip, $loc, $0, $1) {
7306
+ var UnquotedSpecifier$0 = $TV($EXPECT($R7, fail, 'UnquotedSpecifier /[^;"\\s]+/'), function($skip, $loc, $0, $1) {
7216
7307
  var spec = $0;
7217
7308
  return { $loc, token: `"${spec}"` };
7218
7309
  });
@@ -7704,7 +7795,7 @@ ${input.slice(result.pos)}
7704
7795
  return result;
7705
7796
  }
7706
7797
  }
7707
- var DecimalBigIntegerLiteral$0 = $R$0($EXPECT($R7, fail, "DecimalBigIntegerLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)n/"));
7798
+ var DecimalBigIntegerLiteral$0 = $R$0($EXPECT($R8, fail, "DecimalBigIntegerLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)n/"));
7708
7799
  function DecimalBigIntegerLiteral(state) {
7709
7800
  if (state.events) {
7710
7801
  const result = state.events.enter?.("DecimalBigIntegerLiteral", state);
@@ -7723,11 +7814,11 @@ ${input.slice(result.pos)}
7723
7814
  return result;
7724
7815
  }
7725
7816
  }
7726
- var DecimalLiteral$0 = $TV($TEXT($EXPECT($R8, fail, "DecimalLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)(?=\\.(?:\\p{ID_Start}|[_$]))/")), function($skip, $loc, $0, $1) {
7817
+ var DecimalLiteral$0 = $TV($TEXT($EXPECT($R9, fail, "DecimalLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)(?=\\.(?:\\p{ID_Start}|[_$]))/")), function($skip, $loc, $0, $1) {
7727
7818
  return $1 + ".";
7728
7819
  });
7729
- var DecimalLiteral$1 = $TEXT($S($EXPECT($R9, fail, "DecimalLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)(?:\\.(?:[0-9](?:_[0-9]|[0-9])*))?/"), $E(ExponentPart)));
7730
- var DecimalLiteral$2 = $TEXT($S($EXPECT($R10, fail, "DecimalLiteral /(?:\\.[0-9](?:_[0-9]|[0-9])*)/"), $E(ExponentPart)));
7820
+ var DecimalLiteral$1 = $TEXT($S($EXPECT($R10, fail, "DecimalLiteral /(?:0|[1-9](?:_[0-9]|[0-9])*)(?:\\.(?:[0-9](?:_[0-9]|[0-9])*))?/"), $E(ExponentPart)));
7821
+ var DecimalLiteral$2 = $TEXT($S($EXPECT($R11, fail, "DecimalLiteral /(?:\\.[0-9](?:_[0-9]|[0-9])*)/"), $E(ExponentPart)));
7731
7822
  function DecimalLiteral(state) {
7732
7823
  if (state.events) {
7733
7824
  const result = state.events.enter?.("DecimalLiteral", state);
@@ -7746,7 +7837,7 @@ ${input.slice(result.pos)}
7746
7837
  return result;
7747
7838
  }
7748
7839
  }
7749
- var ExponentPart$0 = $R$0($EXPECT($R11, fail, "ExponentPart /(?:[eE][+-]?[0-9]+(?:_[0-9]|[0-9])*)/"));
7840
+ var ExponentPart$0 = $R$0($EXPECT($R12, fail, "ExponentPart /(?:[eE][+-]?[0-9]+(?:_[0-9]|[0-9])*)/"));
7750
7841
  function ExponentPart(state) {
7751
7842
  if (state.events) {
7752
7843
  const result = state.events.enter?.("ExponentPart", state);
@@ -7765,7 +7856,7 @@ ${input.slice(result.pos)}
7765
7856
  return result;
7766
7857
  }
7767
7858
  }
7768
- var BinaryIntegerLiteral$0 = $R$0($EXPECT($R12, fail, "BinaryIntegerLiteral /0[bB][01](?:[01]|_[01])*n?/"));
7859
+ var BinaryIntegerLiteral$0 = $R$0($EXPECT($R13, fail, "BinaryIntegerLiteral /0[bB][01](?:[01]|_[01])*n?/"));
7769
7860
  function BinaryIntegerLiteral(state) {
7770
7861
  if (state.events) {
7771
7862
  const result = state.events.enter?.("BinaryIntegerLiteral", state);
@@ -7784,7 +7875,7 @@ ${input.slice(result.pos)}
7784
7875
  return result;
7785
7876
  }
7786
7877
  }
7787
- var OctalIntegerLiteral$0 = $R$0($EXPECT($R13, fail, "OctalIntegerLiteral /0[oO][0-7](?:[0-7]|_[0-7])*n?/"));
7878
+ var OctalIntegerLiteral$0 = $R$0($EXPECT($R14, fail, "OctalIntegerLiteral /0[oO][0-7](?:[0-7]|_[0-7])*n?/"));
7788
7879
  function OctalIntegerLiteral(state) {
7789
7880
  if (state.events) {
7790
7881
  const result = state.events.enter?.("OctalIntegerLiteral", state);
@@ -7803,7 +7894,7 @@ ${input.slice(result.pos)}
7803
7894
  return result;
7804
7895
  }
7805
7896
  }
7806
- var HexLiteral$0 = $R$0($EXPECT($R14, fail, "HexLiteral /0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*n?/"));
7897
+ var HexLiteral$0 = $R$0($EXPECT($R15, fail, "HexLiteral /0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_[0-9a-fA-F])*n?/"));
7807
7898
  function HexLiteral(state) {
7808
7899
  if (state.events) {
7809
7900
  const result = state.events.enter?.("HexLiteral", state);
@@ -7883,7 +7974,7 @@ ${input.slice(result.pos)}
7883
7974
  return result;
7884
7975
  }
7885
7976
  }
7886
- var DoubleStringCharacters$0 = $TR($EXPECT($R15, fail, 'DoubleStringCharacters /(?:\\\\.|[^"])*/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
7977
+ var DoubleStringCharacters$0 = $TR($EXPECT($R16, fail, 'DoubleStringCharacters /(?:\\\\.|[^"])*/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
7887
7978
  return { $loc, token: $0 };
7888
7979
  });
7889
7980
  function DoubleStringCharacters(state) {
@@ -7904,7 +7995,7 @@ ${input.slice(result.pos)}
7904
7995
  return result;
7905
7996
  }
7906
7997
  }
7907
- var SingleStringCharacters$0 = $TR($EXPECT($R16, fail, "SingleStringCharacters /(?:\\\\.|[^'])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
7998
+ var SingleStringCharacters$0 = $TR($EXPECT($R17, fail, "SingleStringCharacters /(?:\\\\.|[^'])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
7908
7999
  return { $loc, token: $0 };
7909
8000
  });
7910
8001
  function SingleStringCharacters(state) {
@@ -7925,7 +8016,7 @@ ${input.slice(result.pos)}
7925
8016
  return result;
7926
8017
  }
7927
8018
  }
7928
- var TripleDoubleStringCharacters$0 = $TR($EXPECT($R17, fail, 'TripleDoubleStringCharacters /(?:"(?!"")|#(?!\\{)|\\\\.|[^#"])+/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
8019
+ var TripleDoubleStringCharacters$0 = $TR($EXPECT($R18, fail, 'TripleDoubleStringCharacters /(?:"(?!"")|#(?!\\{)|\\\\.|[^#"])+/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
7929
8020
  return { $loc, token: $0 };
7930
8021
  });
7931
8022
  function TripleDoubleStringCharacters(state) {
@@ -7946,7 +8037,7 @@ ${input.slice(result.pos)}
7946
8037
  return result;
7947
8038
  }
7948
8039
  }
7949
- var TripleSingleStringCharacters$0 = $TR($EXPECT($R18, fail, "TripleSingleStringCharacters /(?:'(?!'')|\\\\.|[^'])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
8040
+ var TripleSingleStringCharacters$0 = $TR($EXPECT($R19, fail, "TripleSingleStringCharacters /(?:'(?!'')|\\\\.|[^'])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
7950
8041
  return { $loc, token: $0 };
7951
8042
  });
7952
8043
  function TripleSingleStringCharacters(state) {
@@ -8024,7 +8115,7 @@ ${input.slice(result.pos)}
8024
8115
  return result;
8025
8116
  }
8026
8117
  }
8027
- var CoffeeDoubleQuotedStringCharacters$0 = $TR($EXPECT($R19, fail, 'CoffeeDoubleQuotedStringCharacters /(?:\\\\.|#(?!\\{)|[^"#])+/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
8118
+ var CoffeeDoubleQuotedStringCharacters$0 = $TR($EXPECT($R20, fail, 'CoffeeDoubleQuotedStringCharacters /(?:\\\\.|#(?!\\{)|[^"#])+/'), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
8028
8119
  return { $loc, token: $0 };
8029
8120
  });
8030
8121
  function CoffeeDoubleQuotedStringCharacters(state) {
@@ -8088,7 +8179,7 @@ ${input.slice(result.pos)}
8088
8179
  return result;
8089
8180
  }
8090
8181
  }
8091
- var RegularExpressionClassCharacters$0 = $TR($EXPECT($R20, fail, "RegularExpressionClassCharacters /(?:\\\\.|[^\\]])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
8182
+ var RegularExpressionClassCharacters$0 = $TR($EXPECT($R21, fail, "RegularExpressionClassCharacters /(?:\\\\.|[^\\]])*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
8092
8183
  return { $loc, token: $0 };
8093
8184
  });
8094
8185
  function RegularExpressionClassCharacters(state) {
@@ -8183,7 +8274,7 @@ ${input.slice(result.pos)}
8183
8274
  var HeregexPart$2 = $T($S(TemplateSubstitution), function(value) {
8184
8275
  return { "type": "Substitution", "children": value[0] };
8185
8276
  });
8186
- var HeregexPart$3 = $TR($EXPECT($R21, fail, "HeregexPart /(?:\\\\.)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
8277
+ var HeregexPart$3 = $TR($EXPECT($R22, fail, "HeregexPart /(?:\\\\.)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
8187
8278
  let token = $0;
8188
8279
  switch ($0[1]) {
8189
8280
  case "\n":
@@ -8201,13 +8292,13 @@ ${input.slice(result.pos)}
8201
8292
  var HeregexPart$4 = $TS($S(HeregexComment), function($skip, $loc, $0, $1) {
8202
8293
  return { $loc, token: "" };
8203
8294
  });
8204
- var HeregexPart$5 = $TR($EXPECT($R22, fail, "HeregexPart /[\\s]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
8295
+ var HeregexPart$5 = $TR($EXPECT($R23, fail, "HeregexPart /[\\s]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
8205
8296
  return { $loc, token: "" };
8206
8297
  });
8207
- var HeregexPart$6 = $TR($EXPECT($R23, fail, "HeregexPart /\\/(?!\\/\\/)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
8298
+ var HeregexPart$6 = $TR($EXPECT($R24, fail, "HeregexPart /\\/(?!\\/\\/)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
8208
8299
  return { $loc, token: "\\/" };
8209
8300
  });
8210
- var HeregexPart$7 = $TR($EXPECT($R24, fail, "HeregexPart /[^\\/\\s#\\\\]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
8301
+ var HeregexPart$7 = $TR($EXPECT($R25, fail, "HeregexPart /[^\\/\\s#\\\\]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
8211
8302
  return { $loc, token: $0 };
8212
8303
  });
8213
8304
  function HeregexPart(state) {
@@ -8248,7 +8339,7 @@ ${input.slice(result.pos)}
8248
8339
  return result;
8249
8340
  }
8250
8341
  }
8251
- var RegularExpressionBody$0 = $S($N($R$0($EXPECT($R25, fail, "RegularExpressionBody /[*\\/\\r\\n]/"))), $Q(RegExpCharacter));
8342
+ var RegularExpressionBody$0 = $S($N($R$0($EXPECT($R26, fail, "RegularExpressionBody /[*\\/\\r\\n]/"))), $Q(RegExpCharacter));
8252
8343
  function RegularExpressionBody(state) {
8253
8344
  if (state.events) {
8254
8345
  const result = state.events.enter?.("RegularExpressionBody", state);
@@ -8267,7 +8358,7 @@ ${input.slice(result.pos)}
8267
8358
  return result;
8268
8359
  }
8269
8360
  }
8270
- var RegExpCharacter$0 = $R$0($EXPECT($R26, fail, "RegExpCharacter /(?:\\\\.|[^\\/\\r\\n])+/"));
8361
+ var RegExpCharacter$0 = $R$0($EXPECT($R27, fail, "RegExpCharacter /(?:\\\\.|[^\\/\\r\\n])+/"));
8271
8362
  function RegExpCharacter(state) {
8272
8363
  if (state.events) {
8273
8364
  const result = state.events.enter?.("RegExpCharacter", state);
@@ -8286,7 +8377,7 @@ ${input.slice(result.pos)}
8286
8377
  return result;
8287
8378
  }
8288
8379
  }
8289
- var RegularExpressionFlags$0 = $R$0($EXPECT($R27, fail, "RegularExpressionFlags /(?:\\p{ID_Continue}|[\\u200C\\u200D$])*/"));
8380
+ var RegularExpressionFlags$0 = $R$0($EXPECT($R28, fail, "RegularExpressionFlags /(?:\\p{ID_Continue}|[\\u200C\\u200D$])*/"));
8290
8381
  function RegularExpressionFlags(state) {
8291
8382
  if (state.events) {
8292
8383
  const result = state.events.enter?.("RegularExpressionFlags", state);
@@ -8346,7 +8437,7 @@ ${input.slice(result.pos)}
8346
8437
  return result;
8347
8438
  }
8348
8439
  }
8349
- var TemplateCharacters$0 = $TR($EXPECT($R28, fail, "TemplateCharacters /(?:\\$(?!\\{)|\\\\.|[^$`])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
8440
+ var TemplateCharacters$0 = $TR($EXPECT($R29, fail, "TemplateCharacters /(?:\\$(?!\\{)|\\\\.|[^$`])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
8350
8441
  return { $loc, token: $0 };
8351
8442
  });
8352
8443
  function TemplateCharacters(state) {
@@ -8367,7 +8458,7 @@ ${input.slice(result.pos)}
8367
8458
  return result;
8368
8459
  }
8369
8460
  }
8370
- var TemplateBlockCharacters$0 = $TR($EXPECT($R29, fail, "TemplateBlockCharacters /(?:\\$(?!\\{)|`(?!``)|\\\\.|[^$`])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
8461
+ var TemplateBlockCharacters$0 = $TR($EXPECT($R30, fail, "TemplateBlockCharacters /(?:\\$(?!\\{)|`(?!``)|\\\\.|[^$`])+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
8371
8462
  return { $loc, token: $0 };
8372
8463
  });
8373
8464
  function TemplateBlockCharacters(state) {
@@ -8388,11 +8479,11 @@ ${input.slice(result.pos)}
8388
8479
  return result;
8389
8480
  }
8390
8481
  }
8391
- var ReservedWord$0 = $S(CoffeeBooleansEnabled, $R$0($EXPECT($R30, fail, "ReservedWord /(?:on|off|yes|no)(?!\\p{ID_Continue})/")));
8392
- var ReservedWord$1 = $S(CoffeeIsntEnabled, $R$0($EXPECT($R31, fail, "ReservedWord /(?:isnt)(?!\\p{ID_Continue})/")));
8393
- var ReservedWord$2 = $S(CoffeeForLoopsEnabled, $R$0($EXPECT($R32, fail, "ReservedWord /(?:by)(?!\\p{ID_Continue})/")));
8394
- var ReservedWord$3 = $S(CoffeeOfEnabled, $R$0($EXPECT($R33, fail, "ReservedWord /(?:of)(?!\\p{ID_Continue})/")));
8395
- var ReservedWord$4 = $R$0($EXPECT($R34, fail, "ReservedWord /(?:and|as|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|null|or|return|static|super|switch|this|throw|true|try|typeof|unless|until|var|void|while|with|yield)(?!\\p{ID_Continue})/"));
8482
+ var ReservedWord$0 = $S(CoffeeBooleansEnabled, $R$0($EXPECT($R31, fail, "ReservedWord /(?:on|off|yes|no)(?!\\p{ID_Continue})/")));
8483
+ var ReservedWord$1 = $S(CoffeeIsntEnabled, $R$0($EXPECT($R32, fail, "ReservedWord /(?:isnt)(?!\\p{ID_Continue})/")));
8484
+ var ReservedWord$2 = $S(CoffeeForLoopsEnabled, $R$0($EXPECT($R33, fail, "ReservedWord /(?:by)(?!\\p{ID_Continue})/")));
8485
+ var ReservedWord$3 = $S(CoffeeOfEnabled, $R$0($EXPECT($R34, fail, "ReservedWord /(?:of)(?!\\p{ID_Continue})/")));
8486
+ var ReservedWord$4 = $R$0($EXPECT($R35, fail, "ReservedWord /(?:and|as|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|null|or|return|static|super|switch|this|throw|true|try|typeof|unless|until|var|void|while|with|yield)(?!\\p{ID_Continue})/"));
8396
8487
  function ReservedWord(state) {
8397
8488
  if (state.events) {
8398
8489
  const result = state.events.enter?.("ReservedWord", state);
@@ -8451,7 +8542,7 @@ ${input.slice(result.pos)}
8451
8542
  return result;
8452
8543
  }
8453
8544
  }
8454
- var JSSingleLineComment$0 = $TR($EXPECT($R35, fail, "JSSingleLineComment /\\/\\/(?!\\/)[^\\r\\n]*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
8545
+ var JSSingleLineComment$0 = $TR($EXPECT($R36, fail, "JSSingleLineComment /\\/\\/(?!\\/)[^\\r\\n]*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
8455
8546
  return { $loc, token: $0 };
8456
8547
  });
8457
8548
  function JSSingleLineComment(state) {
@@ -8492,7 +8583,7 @@ ${input.slice(result.pos)}
8492
8583
  return result;
8493
8584
  }
8494
8585
  }
8495
- var JSMultiLineComment$0 = $TV($TEXT($S($EXPECT($L86, fail, 'JSMultiLineComment "/*"'), $Q($S($N($EXPECT($L87, fail, 'JSMultiLineComment "*/"')), $EXPECT($R36, fail, "JSMultiLineComment /./"))), $EXPECT($L87, fail, 'JSMultiLineComment "*/"'))), function($skip, $loc, $0, $1) {
8586
+ var JSMultiLineComment$0 = $TV($TEXT($S($EXPECT($L86, fail, 'JSMultiLineComment "/*"'), $Q($S($N($EXPECT($L87, fail, 'JSMultiLineComment "*/"')), $EXPECT($R37, fail, "JSMultiLineComment /./"))), $EXPECT($L87, fail, 'JSMultiLineComment "*/"'))), function($skip, $loc, $0, $1) {
8496
8587
  return { $loc, token: $1 };
8497
8588
  });
8498
8589
  function JSMultiLineComment(state) {
@@ -8513,7 +8604,7 @@ ${input.slice(result.pos)}
8513
8604
  return result;
8514
8605
  }
8515
8606
  }
8516
- var CoffeeSingleLineComment$0 = $TR($EXPECT($R37, fail, "CoffeeSingleLineComment /#(?!##(?!#))([^\\r\\n]*)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
8607
+ var CoffeeSingleLineComment$0 = $TR($EXPECT($R38, fail, "CoffeeSingleLineComment /#(?!##(?!#))([^\\r\\n]*)/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
8517
8608
  return { $loc, token: `//${$1}` };
8518
8609
  });
8519
8610
  function CoffeeSingleLineComment(state) {
@@ -8534,7 +8625,7 @@ ${input.slice(result.pos)}
8534
8625
  return result;
8535
8626
  }
8536
8627
  }
8537
- var CoffeeMultiLineComment$0 = $TS($S(CoffeeHereCommentStart, $TEXT($Q($S($N($C(CoffeeHereCommentStart, $EXPECT($L87, fail, 'CoffeeMultiLineComment "*/"'))), $EXPECT($R36, fail, "CoffeeMultiLineComment /./")))), CoffeeHereCommentStart), function($skip, $loc, $0, $1, $2, $3) {
8628
+ var CoffeeMultiLineComment$0 = $TS($S(CoffeeHereCommentStart, $TEXT($Q($S($N($C(CoffeeHereCommentStart, $EXPECT($L87, fail, 'CoffeeMultiLineComment "*/"'))), $EXPECT($R37, fail, "CoffeeMultiLineComment /./")))), CoffeeHereCommentStart), function($skip, $loc, $0, $1, $2, $3) {
8538
8629
  return { $loc, token: `/*${$2}*/` };
8539
8630
  });
8540
8631
  function CoffeeMultiLineComment(state) {
@@ -8555,7 +8646,7 @@ ${input.slice(result.pos)}
8555
8646
  return result;
8556
8647
  }
8557
8648
  }
8558
- var CoffeeHereCommentStart$0 = $R$0($EXPECT($R38, fail, "CoffeeHereCommentStart /###(?!#)/"));
8649
+ var CoffeeHereCommentStart$0 = $R$0($EXPECT($R39, fail, "CoffeeHereCommentStart /###(?!#)/"));
8559
8650
  function CoffeeHereCommentStart(state) {
8560
8651
  if (state.events) {
8561
8652
  const result = state.events.enter?.("CoffeeHereCommentStart", state);
@@ -8574,7 +8665,7 @@ ${input.slice(result.pos)}
8574
8665
  return result;
8575
8666
  }
8576
8667
  }
8577
- var InlineComment$0 = $TV($TEXT($S($EXPECT($L86, fail, 'InlineComment "/*"'), $TEXT($Q($S($N($EXPECT($L87, fail, 'InlineComment "*/"')), $EXPECT($R39, fail, "InlineComment /[^\\r\\n]/")))), $EXPECT($L87, fail, 'InlineComment "*/"'))), function($skip, $loc, $0, $1) {
8668
+ var InlineComment$0 = $TV($TEXT($S($EXPECT($L86, fail, 'InlineComment "/*"'), $TEXT($Q($S($N($EXPECT($L87, fail, 'InlineComment "*/"')), $EXPECT($R40, fail, "InlineComment /[^\\r\\n]/")))), $EXPECT($L87, fail, 'InlineComment "*/"'))), function($skip, $loc, $0, $1) {
8578
8669
  return { $loc, token: $1 };
8579
8670
  });
8580
8671
  function InlineComment(state) {
@@ -8654,7 +8745,7 @@ ${input.slice(result.pos)}
8654
8745
  return result;
8655
8746
  }
8656
8747
  }
8657
- var NonNewlineWhitespace$0 = $TR($EXPECT($R40, fail, "NonNewlineWhitespace /[ \\t]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
8748
+ var NonNewlineWhitespace$0 = $TR($EXPECT($R41, fail, "NonNewlineWhitespace /[ \\t]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
8658
8749
  return { $loc, token: $0 };
8659
8750
  });
8660
8751
  var NonNewlineWhitespace$1 = $T($S(CoffeeLineContinuationEnabled, $EXPECT($L88, fail, 'NonNewlineWhitespace "\\\\\\\\"'), EOL), function(value) {
@@ -8697,7 +8788,7 @@ ${input.slice(result.pos)}
8697
8788
  return result;
8698
8789
  }
8699
8790
  }
8700
- var Whitespace$0 = $TR($EXPECT($R22, fail, "Whitespace /[\\s]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
8791
+ var Whitespace$0 = $TR($EXPECT($R23, fail, "Whitespace /[\\s]+/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
8701
8792
  return { $loc, token: $0 };
8702
8793
  });
8703
8794
  function Whitespace(state) {
@@ -8763,7 +8854,7 @@ ${input.slice(result.pos)}
8763
8854
  return result;
8764
8855
  }
8765
8856
  }
8766
- var NonIdContinue$0 = $R$0($EXPECT($R41, fail, "NonIdContinue /(?!\\p{ID_Continue})/"));
8857
+ var NonIdContinue$0 = $R$0($EXPECT($R42, fail, "NonIdContinue /(?!\\p{ID_Continue})/"));
8767
8858
  function NonIdContinue(state) {
8768
8859
  if (state.events) {
8769
8860
  const result = state.events.enter?.("NonIdContinue", state);
@@ -9496,7 +9587,7 @@ ${input.slice(result.pos)}
9496
9587
  return result;
9497
9588
  }
9498
9589
  }
9499
- var Import$0 = $TS($S($EXPECT($L10, fail, 'Import "import"'), $Y($EXPECT($R42, fail, "Import /\\s/"))), function($skip, $loc, $0, $1, $2) {
9590
+ var Import$0 = $TS($S($EXPECT($L10, fail, 'Import "import"'), $Y($EXPECT($R43, fail, "Import /\\s/"))), function($skip, $loc, $0, $1, $2) {
9500
9591
  return { $loc, token: $1 };
9501
9592
  });
9502
9593
  function Import(state) {
@@ -10235,12 +10326,24 @@ ${input.slice(result.pos)}
10235
10326
  }
10236
10327
  }
10237
10328
  var JSXElement$0 = JSXSelfClosingElement;
10238
- var JSXElement$1 = $TS($S(JSXOpeningElement, $Q(JSXChildren), __, JSXClosingElement), function($skip, $loc, $0, $1, $2, $3, $4) {
10239
- if ($1[1] !== $4[2]) {
10240
- throw new Error(`mismatched closing tags at ${JSON.stringify($loc)}`);
10241
- }
10329
+ var JSXElement$1 = $TS($S(JSXOpeningElement, $E(JSXChildren), __, JSXClosingElement), function($skip, $loc, $0, $1, $2, $3, $4) {
10330
+ if ($1[1] !== $4[2])
10331
+ return $skip;
10242
10332
  return $0;
10243
10333
  });
10334
+ var JSXElement$2 = $TS($S(JSXOpeningElement, $Q($C(_, JSXChild)), JSXNestedChildren, InsertNewline, InsertIndent), function($skip, $loc, $0, $1, $2, $3, $4, $5) {
10335
+ var open = $1;
10336
+ var c1 = $2;
10337
+ var c2 = $3;
10338
+ if (c1.length || c2.length) {
10339
+ return [...$0, ["</", open[1], ">"]];
10340
+ } else {
10341
+ return [open.slice(0, -1), " />"];
10342
+ }
10343
+ });
10344
+ var JSXElement$3 = $TS($S(JSXOpeningElement), function($skip, $loc, $0, $1) {
10345
+ throw new Error(`could not parse JSX element "${require_generate()($0)}" at pos ${$loc.pos}`);
10346
+ });
10244
10347
  function JSXElement(state) {
10245
10348
  if (state.events) {
10246
10349
  const result = state.events.enter?.("JSXElement", state);
@@ -10248,12 +10351,12 @@ ${input.slice(result.pos)}
10248
10351
  return result.cache;
10249
10352
  }
10250
10353
  if (state.tokenize) {
10251
- const result = $TOKEN("JSXElement", state, JSXElement$0(state) || JSXElement$1(state));
10354
+ const result = $TOKEN("JSXElement", state, JSXElement$0(state) || JSXElement$1(state) || JSXElement$2(state) || JSXElement$3(state));
10252
10355
  if (state.events)
10253
10356
  state.events.exit?.("JSXElement", state, result);
10254
10357
  return result;
10255
10358
  } else {
10256
- const result = JSXElement$0(state) || JSXElement$1(state);
10359
+ const result = JSXElement$0(state) || JSXElement$1(state) || JSXElement$2(state) || JSXElement$3(state);
10257
10360
  if (state.events)
10258
10361
  state.events.exit?.("JSXElement", state, result);
10259
10362
  return result;
@@ -10317,6 +10420,9 @@ ${input.slice(result.pos)}
10317
10420
  }
10318
10421
  }
10319
10422
  var JSXFragment$0 = $S($EXPECT($L145, fail, 'JSXFragment "<>"'), $E(JSXChildren), $EXPECT($L146, fail, 'JSXFragment "</>"'));
10423
+ var JSXFragment$1 = $TS($S($EXPECT($L145, fail, 'JSXFragment "<>"'), JSXNestedChildren, InsertNewline, InsertIndent), function($skip, $loc, $0, $1, $2, $3, $4) {
10424
+ return [...$0, "</>"];
10425
+ });
10320
10426
  function JSXFragment(state) {
10321
10427
  if (state.events) {
10322
10428
  const result = state.events.enter?.("JSXFragment", state);
@@ -10324,12 +10430,12 @@ ${input.slice(result.pos)}
10324
10430
  return result.cache;
10325
10431
  }
10326
10432
  if (state.tokenize) {
10327
- const result = $TOKEN("JSXFragment", state, JSXFragment$0(state));
10433
+ const result = $TOKEN("JSXFragment", state, JSXFragment$0(state) || JSXFragment$1(state));
10328
10434
  if (state.events)
10329
10435
  state.events.exit?.("JSXFragment", state, result);
10330
10436
  return result;
10331
10437
  } else {
10332
- const result = JSXFragment$0(state);
10438
+ const result = JSXFragment$0(state) || JSXFragment$1(state);
10333
10439
  if (state.events)
10334
10440
  state.events.exit?.("JSXFragment", state, result);
10335
10441
  return result;
@@ -10354,7 +10460,7 @@ ${input.slice(result.pos)}
10354
10460
  return result;
10355
10461
  }
10356
10462
  }
10357
- var JSXIdentifierName$0 = $R$0($EXPECT($R43, fail, "JSXIdentifierName /(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*/"));
10463
+ var JSXIdentifierName$0 = $R$0($EXPECT($R44, fail, "JSXIdentifierName /(?:\\p{ID_Start}|[_$])(?:\\p{ID_Continue}|[\\u200C\\u200D$-])*/"));
10358
10464
  function JSXIdentifierName(state) {
10359
10465
  if (state.events) {
10360
10466
  const result = state.events.enter?.("JSXIdentifierName", state);
@@ -10450,8 +10556,8 @@ ${input.slice(result.pos)}
10450
10556
  return result;
10451
10557
  }
10452
10558
  }
10453
- var JSXAttributeValue$0 = $R$0($EXPECT($R44, fail, 'JSXAttributeValue /"[^"]*"/'));
10454
- var JSXAttributeValue$1 = $R$0($EXPECT($R45, fail, "JSXAttributeValue /'[^']*'/"));
10559
+ var JSXAttributeValue$0 = $R$0($EXPECT($R45, fail, 'JSXAttributeValue /"[^"]*"/'));
10560
+ var JSXAttributeValue$1 = $R$0($EXPECT($R46, fail, "JSXAttributeValue /'[^']*'/"));
10455
10561
  var JSXAttributeValue$2 = $S(OpenBrace, ExtendedExpression, __, CloseBrace);
10456
10562
  var JSXAttributeValue$3 = JSXElement;
10457
10563
  var JSXAttributeValue$4 = JSXFragment;
@@ -10492,6 +10598,32 @@ ${input.slice(result.pos)}
10492
10598
  return result;
10493
10599
  }
10494
10600
  }
10601
+ var JSXNestedChildren$0 = $TS($S(PushIndent, $Q($S(Nested, $P(JSXChild))), PopIndent), function($skip, $loc, $0, $1, $2, $3) {
10602
+ if ($2.length)
10603
+ return $2;
10604
+ return $skip;
10605
+ });
10606
+ var JSXNestedChildren$1 = $TV($Y(EOS), function($skip, $loc, $0, $1) {
10607
+ return [];
10608
+ });
10609
+ function JSXNestedChildren(state) {
10610
+ if (state.events) {
10611
+ const result = state.events.enter?.("JSXNestedChildren", state);
10612
+ if (result)
10613
+ return result.cache;
10614
+ }
10615
+ if (state.tokenize) {
10616
+ const result = $TOKEN("JSXNestedChildren", state, JSXNestedChildren$0(state) || JSXNestedChildren$1(state));
10617
+ if (state.events)
10618
+ state.events.exit?.("JSXNestedChildren", state, result);
10619
+ return result;
10620
+ } else {
10621
+ const result = JSXNestedChildren$0(state) || JSXNestedChildren$1(state);
10622
+ if (state.events)
10623
+ state.events.exit?.("JSXNestedChildren", state, result);
10624
+ return result;
10625
+ }
10626
+ }
10495
10627
  var JSXChild$0 = JSXText;
10496
10628
  var JSXChild$1 = JSXElement;
10497
10629
  var JSXChild$2 = JSXFragment;
@@ -10514,7 +10646,7 @@ ${input.slice(result.pos)}
10514
10646
  return result;
10515
10647
  }
10516
10648
  }
10517
- var JSXText$0 = $R$0($EXPECT($R46, fail, "JSXText /[^{}<>]+/"));
10649
+ var JSXText$0 = $R$0($EXPECT($R47, fail, "JSXText /[^{}<>\\r\\n]+/"));
10518
10650
  function JSXText(state) {
10519
10651
  if (state.events) {
10520
10652
  const result = state.events.enter?.("JSXText", state);
@@ -10842,7 +10974,7 @@ ${input.slice(result.pos)}
10842
10974
  return result;
10843
10975
  }
10844
10976
  }
10845
- var TypeIndexSignature$0 = $S($E($S($R$0($EXPECT($R47, fail, "TypeIndexSignature /[+-]?/")), $EXPECT($L151, fail, 'TypeIndexSignature "readonly"'), __)), OpenBracket, TypeIndex, CloseBracket, $E($S(__, $R$0($EXPECT($R48, fail, "TypeIndexSignature /[+-]/")), QuestionMark)));
10977
+ var TypeIndexSignature$0 = $S($E($S($R$0($EXPECT($R48, fail, "TypeIndexSignature /[+-]?/")), $EXPECT($L151, fail, 'TypeIndexSignature "readonly"'), __)), OpenBracket, TypeIndex, CloseBracket, $E($S(__, $R$0($EXPECT($R49, fail, "TypeIndexSignature /[+-]/")), QuestionMark)));
10846
10978
  function TypeIndexSignature(state) {
10847
10979
  if (state.events) {
10848
10980
  const result = state.events.enter?.("TypeIndexSignature", state);
@@ -11380,7 +11512,7 @@ ${input.slice(result.pos)}
11380
11512
  return result;
11381
11513
  }
11382
11514
  }
11383
- var Shebang$0 = $S($R$0($EXPECT($R49, fail, "Shebang /#![^\\r\\n]*/")), EOL);
11515
+ var Shebang$0 = $S($R$0($EXPECT($R50, fail, "Shebang /#![^\\r\\n]*/")), EOL);
11384
11516
  function Shebang(state) {
11385
11517
  if (state.events) {
11386
11518
  const result = state.events.enter?.("Shebang", state);
@@ -11399,11 +11531,11 @@ ${input.slice(result.pos)}
11399
11531
  return result;
11400
11532
  }
11401
11533
  }
11402
- var CivetPrologue$0 = $T($S($EXPECT($R50, fail, "CivetPrologue /[\\t ]*/"), DoubleQuote, CivetPrologueContent, DoubleQuote, $TEXT(StatementDelimiter), EOS), function(value) {
11534
+ var CivetPrologue$0 = $T($S($EXPECT($R51, fail, "CivetPrologue /[\\t ]*/"), DoubleQuote, CivetPrologueContent, DoubleQuote, $TEXT(StatementDelimiter), EOS), function(value) {
11403
11535
  var content = value[2];
11404
11536
  return content;
11405
11537
  });
11406
- var CivetPrologue$1 = $T($S($EXPECT($R50, fail, "CivetPrologue /[\\t ]*/"), SingleQuote, CivetPrologueContent, SingleQuote, $TEXT(StatementDelimiter), EOS), function(value) {
11538
+ var CivetPrologue$1 = $T($S($EXPECT($R51, fail, "CivetPrologue /[\\t ]*/"), SingleQuote, CivetPrologueContent, SingleQuote, $TEXT(StatementDelimiter), EOS), function(value) {
11407
11539
  var content = value[2];
11408
11540
  return content;
11409
11541
  });
@@ -11425,7 +11557,7 @@ ${input.slice(result.pos)}
11425
11557
  return result;
11426
11558
  }
11427
11559
  }
11428
- var CivetPrologueContent$0 = $TS($S($EXPECT($L156, fail, 'CivetPrologueContent "civet"'), $Q(CivetOption), $EXPECT($R51, fail, "CivetPrologueContent /[\\s]*/")), function($skip, $loc, $0, $1, $2, $3) {
11560
+ var CivetPrologueContent$0 = $TS($S($EXPECT($L156, fail, 'CivetPrologueContent "civet"'), $Q(CivetOption), $EXPECT($R52, fail, "CivetPrologueContent /[\\s]*/")), function($skip, $loc, $0, $1, $2, $3) {
11429
11561
  var options = $2;
11430
11562
  return {
11431
11563
  type: "CivetPrologue",
@@ -11451,7 +11583,7 @@ ${input.slice(result.pos)}
11451
11583
  return result;
11452
11584
  }
11453
11585
  }
11454
- var CivetOption$0 = $TR($EXPECT($R52, fail, "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) {
11586
+ var CivetOption$0 = $TR($EXPECT($R53, fail, "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) {
11455
11587
  const optionName = $2.replace(/-+([a-z]?)/g, (_2, l) => {
11456
11588
  if (l)
11457
11589
  return l.toUpperCase();
@@ -11483,7 +11615,7 @@ ${input.slice(result.pos)}
11483
11615
  return result;
11484
11616
  }
11485
11617
  }
11486
- var UnknownPrologue$0 = $S($R$0($EXPECT($R50, fail, "UnknownPrologue /[\\t ]*/")), BasicStringLiteral, $TEXT(StatementDelimiter), EOS);
11618
+ var UnknownPrologue$0 = $S($R$0($EXPECT($R51, fail, "UnknownPrologue /[\\t ]*/")), BasicStringLiteral, $TEXT(StatementDelimiter), EOS);
11487
11619
  function UnknownPrologue(state) {
11488
11620
  if (state.events) {
11489
11621
  const result = state.events.enter?.("UnknownPrologue", state);
@@ -11541,7 +11673,7 @@ ${input.slice(result.pos)}
11541
11673
  return result;
11542
11674
  }
11543
11675
  }
11544
- var EOL$0 = $TR($EXPECT($R53, fail, "EOL /\\r\\n|\\n|\\r|$/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11676
+ var EOL$0 = $TR($EXPECT($R54, fail, "EOL /\\r\\n|\\n|\\r|$/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
11545
11677
  return { $loc, token: $0 };
11546
11678
  });
11547
11679
  function EOL(state) {
@@ -12124,8 +12256,7 @@ ${input.slice(result.pos)}
12124
12256
  }
12125
12257
  });
12126
12258
  }
12127
- module2.verbose = false;
12128
- module2.config = {
12259
+ module2.config = parse2.config = {
12129
12260
  autoVar: false,
12130
12261
  coffeeBinaryExistential: false,
12131
12262
  coffeeBooleans: false,
@@ -12140,7 +12271,8 @@ ${input.slice(result.pos)}
12140
12271
  coffeeNot: false,
12141
12272
  coffeeOf: false,
12142
12273
  implicitReturns: true,
12143
- tab: void 0
12274
+ tab: void 0,
12275
+ verbose: false
12144
12276
  };
12145
12277
  let indexOfRef, hasPropRef, spliceRef;
12146
12278
  const asAny = {
@@ -12418,7 +12550,11 @@ ${input.slice(result.pos)}
12418
12550
  case "CaseClause":
12419
12551
  return;
12420
12552
  case "WhenClause":
12421
- node.children.pop();
12553
+ node.children.splice(node.children.indexOf(node.break), 1);
12554
+ if (node.expressions.length === 0) {
12555
+ node.expressions.push("return");
12556
+ return;
12557
+ }
12422
12558
  insertReturn(node.expressions[node.expressions.length - 1]);
12423
12559
  return;
12424
12560
  case "DefaultClause":
@@ -13013,7 +13149,7 @@ ${input.slice(result.pos)}
13013
13149
  return result;
13014
13150
  }
13015
13151
  }
13016
- var Indent$0 = $TR($EXPECT($R54, fail, "Indent /[ \\t]*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
13152
+ var Indent$0 = $TR($EXPECT($R55, fail, "Indent /[ \\t]*/"), function($skip, $loc, $0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
13017
13153
  let level;
13018
13154
  if (module2.config.tab) {
13019
13155
  const tabs = $0.match(/\t/g);
@@ -13052,6 +13188,9 @@ ${input.slice(result.pos)}
13052
13188
  if (level <= module2.currentIndent.level) {
13053
13189
  return $skip;
13054
13190
  }
13191
+ if (module2.config.verbose) {
13192
+ console.log("pushing indent", indent);
13193
+ }
13055
13194
  module2.indentLevels.push(indent);
13056
13195
  });
13057
13196
  function TrackIndented(state) {
@@ -13146,7 +13285,7 @@ ${input.slice(result.pos)}
13146
13285
  }
13147
13286
  }
13148
13287
  var PopIndent$0 = $TV($EXPECT($L0, fail, 'PopIndent ""'), function($skip, $loc, $0, $1) {
13149
- if (module2.verbose) {
13288
+ if (module2.config.verbose) {
13150
13289
  console.log("popping indent", module2.indentLevels[module2.indentLevels.length - 1], "->", module2.indentLevels[module2.indentLevels.length - 2]);
13151
13290
  }
13152
13291
  module2.indentLevels.pop();
@@ -13174,11 +13313,11 @@ ${input.slice(result.pos)}
13174
13313
  var indent = $2;
13175
13314
  const { level } = indent;
13176
13315
  const currentIndent = module2.currentIndent;
13177
- if (module2.verbose) {
13316
+ if (module2.config.verbose) {
13178
13317
  console.log("Indented", level, currentIndent);
13179
13318
  }
13180
13319
  if (level !== currentIndent.level) {
13181
- if (module2.verbose) {
13320
+ if (module2.config.verbose) {
13182
13321
  console.log("skipped nested");
13183
13322
  }
13184
13323
  return $skip;
@@ -13208,85 +13347,6 @@ ${input.slice(result.pos)}
13208
13347
  }
13209
13348
  });
13210
13349
 
13211
- // source/generate.coffee
13212
- var require_generate = __commonJS({
13213
- "source/generate.coffee"(exports2, module2) {
13214
- "civet coffeeCompat";
13215
- var gen2;
13216
- var prune2;
13217
- gen2 = function(node, options) {
13218
- var $loc, token;
13219
- if (node === null || node === void 0) {
13220
- return "";
13221
- }
13222
- if (typeof node === "string") {
13223
- if (options != null) {
13224
- if (typeof options.updateSourceMap === "function") {
13225
- options.updateSourceMap(node);
13226
- }
13227
- }
13228
- return node;
13229
- }
13230
- if (Array.isArray(node)) {
13231
- return node.map(function(child) {
13232
- return gen2(child, options);
13233
- }).join("");
13234
- }
13235
- if (typeof node === "object") {
13236
- if (options.js && node.ts) {
13237
- return "";
13238
- }
13239
- if (node.$loc != null) {
13240
- ({ token, $loc } = node);
13241
- if (options != null) {
13242
- if (typeof options.updateSourceMap === "function") {
13243
- options.updateSourceMap(token, $loc.pos);
13244
- }
13245
- }
13246
- return token;
13247
- }
13248
- if (!node.children) {
13249
- debugger;
13250
- throw new Error("Unknown node", JSON.stringify(node));
13251
- }
13252
- return gen2(node.children, options);
13253
- }
13254
- debugger;
13255
- throw new Error("Unknown node", JSON.stringify(node));
13256
- };
13257
- module2.exports = gen2;
13258
- prune2 = function(node) {
13259
- var a;
13260
- if (node === null || node === void 0) {
13261
- return;
13262
- }
13263
- if (node.length === 0) {
13264
- return;
13265
- }
13266
- if (Array.isArray(node)) {
13267
- a = node.map(function(n) {
13268
- return prune2(n);
13269
- }).filter(function(n) {
13270
- return !!n;
13271
- });
13272
- if (a.length > 1) {
13273
- return a;
13274
- }
13275
- if (a.length === 1) {
13276
- return a[0];
13277
- }
13278
- return;
13279
- }
13280
- if (node.children != null) {
13281
- node.children = prune2(node.children) || [];
13282
- return node;
13283
- }
13284
- return node;
13285
- };
13286
- gen2.prune = prune2;
13287
- }
13288
- });
13289
-
13290
13350
  // source/util.coffee
13291
13351
  var require_util = __commonJS({
13292
13352
  "source/util.coffee"(exports2, module2) {
@@ -13706,7 +13766,13 @@ makeCache = function() {
13706
13766
  case "NestedImplicitObjectLiteral":
13707
13767
  case "NestedImplicitPropertyDefinitions":
13708
13768
  case "NestedBlockStatement":
13769
+ case "NestedElement":
13770
+ case "NestedElementList":
13771
+ case "NestedBindingElement":
13772
+ case "NestedBindingElements":
13709
13773
  case "NestedInterfaceProperty":
13774
+ case "MemberExpression":
13775
+ case "PrimaryExpression":
13710
13776
  case "IndentedApplicationAllowed":
13711
13777
  case "ExpressionWithIndentedApplicationSuppressed":
13712
13778
  case "SuppressIndentedApplication":
@@ -13719,6 +13785,11 @@ makeCache = function() {
13719
13785
  case "CoffeeCommentEnabled":
13720
13786
  case "SingleLineComment":
13721
13787
  case "Debugger":
13788
+ case "JSXElement":
13789
+ case "JSXChild":
13790
+ case "JSXChildren":
13791
+ case "JSXFragment":
13792
+ case "JSXNestedChildren":
13722
13793
  break;
13723
13794
  default:
13724
13795
  cache = /* @__PURE__ */ new Map();
@@ -13732,6 +13803,9 @@ makeCache = function() {
13732
13803
  cache.set(state.pos, result);
13733
13804
  }
13734
13805
  }
13806
+ if (parse.config.verbose && result) {
13807
+ console.log(`Parsed ${JSON.stringify(state.input.slice(state.pos, result.pos))} [pos ${state.pos}-${result.pos}] as ${ruleName}`);
13808
+ }
13735
13809
  }
13736
13810
  };
13737
13811
  return events;