@blouflashdb/eslint-plugin-pinia
Version:
ESLint plugin for Pinia best practices
1,577 lines (1,576 loc) • 217 kB
JavaScript
import { i as __toESM, n as __esm, r as __require, t as __commonJS } from "./chunk-BLWcukCW.js";
import { createRequire } from "node:module";
//#region node_modules/jiti/dist/jiti.cjs
var require_jiti = /* @__PURE__ */ __commonJS({ "node_modules/jiti/dist/jiti.cjs": ((exports, module) => {
(() => {
var e = { "./node_modules/.pnpm/mlly@1.8.0/node_modules/mlly/dist lazy recursive": function(e$1) {
function webpackEmptyAsyncContext(e$2) {
return Promise.resolve().then(function() {
var t$1 = /* @__PURE__ */ new Error("Cannot find module '" + e$2 + "'");
throw t$1.code = "MODULE_NOT_FOUND", t$1;
});
}
webpackEmptyAsyncContext.keys = () => [], webpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext, webpackEmptyAsyncContext.id = "./node_modules/.pnpm/mlly@1.8.0/node_modules/mlly/dist lazy recursive", e$1.exports = webpackEmptyAsyncContext;
} }, t = {};
function __webpack_require__(i$1) {
var s = t[i$1];
if (void 0 !== s) return s.exports;
var r = t[i$1] = { exports: {} };
return e[i$1](r, r.exports, __webpack_require__), r.exports;
}
__webpack_require__.n = (e$1) => {
var t$1 = e$1 && e$1.__esModule ? () => e$1.default : () => e$1;
return __webpack_require__.d(t$1, { a: t$1 }), t$1;
}, __webpack_require__.d = (e$1, t$1) => {
for (var i$1 in t$1) __webpack_require__.o(t$1, i$1) && !__webpack_require__.o(e$1, i$1) && Object.defineProperty(e$1, i$1, {
enumerable: !0,
get: t$1[i$1]
});
}, __webpack_require__.o = (e$1, t$1) => Object.prototype.hasOwnProperty.call(e$1, t$1);
var i = {};
(() => {
__webpack_require__.d(i, { default: () => createJiti$1 });
const e$1 = __require("node:os");
var t$1 = [
509,
0,
227,
0,
150,
4,
294,
9,
1368,
2,
2,
1,
6,
3,
41,
2,
5,
0,
166,
1,
574,
3,
9,
9,
7,
9,
32,
4,
318,
1,
80,
3,
71,
10,
50,
3,
123,
2,
54,
14,
32,
10,
3,
1,
11,
3,
46,
10,
8,
0,
46,
9,
7,
2,
37,
13,
2,
9,
6,
1,
45,
0,
13,
2,
49,
13,
9,
3,
2,
11,
83,
11,
7,
0,
3,
0,
158,
11,
6,
9,
7,
3,
56,
1,
2,
6,
3,
1,
3,
2,
10,
0,
11,
1,
3,
6,
4,
4,
68,
8,
2,
0,
3,
0,
2,
3,
2,
4,
2,
0,
15,
1,
83,
17,
10,
9,
5,
0,
82,
19,
13,
9,
214,
6,
3,
8,
28,
1,
83,
16,
16,
9,
82,
12,
9,
9,
7,
19,
58,
14,
5,
9,
243,
14,
166,
9,
71,
5,
2,
1,
3,
3,
2,
0,
2,
1,
13,
9,
120,
6,
3,
6,
4,
0,
29,
9,
41,
6,
2,
3,
9,
0,
10,
10,
47,
15,
343,
9,
54,
7,
2,
7,
17,
9,
57,
21,
2,
13,
123,
5,
4,
0,
2,
1,
2,
6,
2,
0,
9,
9,
49,
4,
2,
1,
2,
4,
9,
9,
330,
3,
10,
1,
2,
0,
49,
6,
4,
4,
14,
10,
5350,
0,
7,
14,
11465,
27,
2343,
9,
87,
9,
39,
4,
60,
6,
26,
9,
535,
9,
470,
0,
2,
54,
8,
3,
82,
0,
12,
1,
19628,
1,
4178,
9,
519,
45,
3,
22,
543,
4,
4,
5,
9,
7,
3,
6,
31,
3,
149,
2,
1418,
49,
513,
54,
5,
49,
9,
0,
15,
0,
23,
4,
2,
14,
1361,
6,
2,
16,
3,
6,
2,
1,
2,
4,
101,
0,
161,
6,
10,
9,
357,
0,
62,
13,
499,
13,
245,
1,
2,
9,
726,
6,
110,
6,
6,
9,
4759,
9,
787719,
239
], s = [
0,
11,
2,
25,
2,
18,
2,
1,
2,
14,
3,
13,
35,
122,
70,
52,
268,
28,
4,
48,
48,
31,
14,
29,
6,
37,
11,
29,
3,
35,
5,
7,
2,
4,
43,
157,
19,
35,
5,
35,
5,
39,
9,
51,
13,
10,
2,
14,
2,
6,
2,
1,
2,
10,
2,
14,
2,
6,
2,
1,
4,
51,
13,
310,
10,
21,
11,
7,
25,
5,
2,
41,
2,
8,
70,
5,
3,
0,
2,
43,
2,
1,
4,
0,
3,
22,
11,
22,
10,
30,
66,
18,
2,
1,
11,
21,
11,
25,
71,
55,
7,
1,
65,
0,
16,
3,
2,
2,
2,
28,
43,
28,
4,
28,
36,
7,
2,
27,
28,
53,
11,
21,
11,
18,
14,
17,
111,
72,
56,
50,
14,
50,
14,
35,
39,
27,
10,
22,
251,
41,
7,
1,
17,
2,
60,
28,
11,
0,
9,
21,
43,
17,
47,
20,
28,
22,
13,
52,
58,
1,
3,
0,
14,
44,
33,
24,
27,
35,
30,
0,
3,
0,
9,
34,
4,
0,
13,
47,
15,
3,
22,
0,
2,
0,
36,
17,
2,
24,
20,
1,
64,
6,
2,
0,
2,
3,
2,
14,
2,
9,
8,
46,
39,
7,
3,
1,
3,
21,
2,
6,
2,
1,
2,
4,
4,
0,
19,
0,
13,
4,
31,
9,
2,
0,
3,
0,
2,
37,
2,
0,
26,
0,
2,
0,
45,
52,
19,
3,
21,
2,
31,
47,
21,
1,
2,
0,
185,
46,
42,
3,
37,
47,
21,
0,
60,
42,
14,
0,
72,
26,
38,
6,
186,
43,
117,
63,
32,
7,
3,
0,
3,
7,
2,
1,
2,
23,
16,
0,
2,
0,
95,
7,
3,
38,
17,
0,
2,
0,
29,
0,
11,
39,
8,
0,
22,
0,
12,
45,
20,
0,
19,
72,
200,
32,
32,
8,
2,
36,
18,
0,
50,
29,
113,
6,
2,
1,
2,
37,
22,
0,
26,
5,
2,
1,
2,
31,
15,
0,
328,
18,
16,
0,
2,
12,
2,
33,
125,
0,
80,
921,
103,
110,
18,
195,
2637,
96,
16,
1071,
18,
5,
26,
3994,
6,
582,
6842,
29,
1763,
568,
8,
30,
18,
78,
18,
29,
19,
47,
17,
3,
32,
20,
6,
18,
433,
44,
212,
63,
129,
74,
6,
0,
67,
12,
65,
1,
2,
0,
29,
6135,
9,
1237,
42,
9,
8936,
3,
2,
6,
2,
1,
2,
290,
16,
0,
30,
2,
3,
0,
15,
3,
9,
395,
2309,
106,
6,
12,
4,
8,
8,
9,
5991,
84,
2,
70,
2,
1,
3,
0,
3,
1,
3,
3,
2,
11,
2,
0,
2,
6,
2,
64,
2,
3,
3,
7,
2,
6,
2,
27,
2,
3,
2,
4,
2,
0,
4,
6,
2,
339,
3,
24,
2,
24,
2,
30,
2,
24,
2,
30,
2,
24,
2,
30,
2,
24,
2,
30,
2,
24,
2,
7,
1845,
30,
7,
5,
262,
61,
147,
44,
11,
6,
17,
0,
322,
29,
19,
43,
485,
27,
229,
29,
3,
0,
496,
6,
2,
3,
2,
1,
2,
14,
2,
196,
60,
67,
8,
0,
1205,
3,
2,
26,
2,
1,
2,
0,
3,
0,
2,
9,
2,
3,
2,
0,
2,
0,
7,
0,
5,
0,
2,
0,
2,
0,
2,
2,
2,
1,
2,
0,
3,
0,
2,
0,
2,
0,
2,
0,
2,
0,
2,
1,
2,
0,
3,
3,
2,
6,
2,
3,
2,
3,
2,
0,
2,
9,
2,
16,
6,
2,
2,
4,
2,
16,
4421,
42719,
33,
4153,
7,
221,
3,
5761,
15,
7472,
16,
621,
2467,
541,
1507,
4938,
6,
4191
], r = "ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙՠ-ֈא-תׯ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࡠ-ࡪࡰ-ࢇࢉ-ࢎࢠ-ࣉऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱৼਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౝౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೝೞೠೡೱೲഄ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄຆ-ຊຌ-ຣລວ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜑᜟ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡸᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭌᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᲀ-Ა-ᲺᲽ-Ჿᳩ-ᳬᳮ-ᳳᳵᳶᳺᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕ℘-ℝℤΩℨK-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ々-〇〡-〩〱-〵〸-〼ぁ-ゖ゛-ゟァ-ヺー-ヿㄅ-ㄯㄱ-ㆎㆠ-ㆿㇰ-ㇿ㐀-䶿一-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-Ꟑꟑꟓꟕ-ꟲ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꣾꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭩꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ", n = {
3: "abstract boolean byte char class double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile",
5: "class enum extends super const export import",
6: "enum",
strict: "implements interface let package private protected public static yield",
strictBind: "eval arguments"
}, a = "break case catch continue debugger default do else finally for function if return switch throw try var while with null true false instanceof typeof void delete new in this", o = {
5: a,
"5module": a + " export import",
6: a + " const class extends export import super"
}, h = /^in(stanceof)?$/, c = /* @__PURE__ */ new RegExp("[" + r + "]"), p = /* @__PURE__ */ new RegExp("[" + r + "·̀-ͯ·҃-֑҇-ׇֽֿׁׂׅׄؐ-ًؚ-٩ٰۖ-ۜ۟-۪ۤۧۨ-ۭ۰-۹ܑܰ-݊ަ-ް߀-߉߫-߽߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛-࢟࣊-ࣣ࣡-ःऺ-़ा-ॏ॑-ॗॢॣ०-९ঁ-ঃ়া-ৄেৈো-্ৗৢৣ০-৯৾ਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑ੦-ੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢૣ૦-૯ૺ-૿ଁ-ଃ଼ା-ୄେୈୋ-୍୕-ୗୢୣ୦-୯ஂா-ூெ-ைொ-்ௗ௦-௯ఀ-ఄ఼ా-ౄె-ైొ-్ౕౖౢౣ౦-౯ಁ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢೣ೦-೯ೳഀ-ഃ഻഼ാ-ൄെ-ൈൊ-്ൗൢൣ൦-൯ඁ-ඃ්ා-ුූෘ-ෟ෦-෯ෲෳัิ-ฺ็-๎๐-๙ັິ-ຼ່-໎໐-໙༘༙༠-༩༹༵༷༾༿ཱ-྄྆྇ྍ-ྗྙ-ྼ࿆ါ-ှ၀-၉ၖ-ၙၞ-ၠၢ-ၤၧ-ၭၱ-ၴႂ-ႍႏ-ႝ፝-፟፩-፱ᜒ-᜕ᜲ-᜴ᝒᝓᝲᝳ឴-៓៝០-៩᠋-᠍᠏-᠙ᢩᤠ-ᤫᤰ-᤻᥆-᥏᧐-᧚ᨗ-ᨛᩕ-ᩞ᩠-᩿᩼-᪉᪐-᪙᪰-᪽ᪿ-ᫎᬀ-ᬄ᬴-᭄᭐-᭙᭫-᭳ᮀ-ᮂᮡ-ᮭ᮰-᮹᯦-᯳ᰤ-᰷᱀-᱉᱐-᱙᳐-᳔᳒-᳨᳭᳴᳷-᳹᷀-᷿‿⁀⁔⃐-⃥⃜⃡-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〯・꘠-꘩꙯ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠣ-ꠧ꠬ꢀꢁꢴ-ꣅ꣐-꣙꣠-꣱ꣿ-꤉ꤦ-꤭ꥇ-꥓ꦀ-ꦃ꦳-꧀꧐-꧙ꧥ꧰-꧹ꨩ-ꨶꩃꩌꩍ꩐-꩙ꩻ-ꩽꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫫ-ꫯꫵ꫶ꯣ-ꯪ꯬꯭꯰-꯹ﬞ︀-️︠-︯︳︴﹍-﹏0-9_・]");
function isInAstralSet(e$2, t$2) {
for (var i$1 = 65536, s$1 = 0; s$1 < t$2.length; s$1 += 2) {
if ((i$1 += t$2[s$1]) > e$2) return !1;
if ((i$1 += t$2[s$1 + 1]) >= e$2) return !0;
}
return !1;
}
function isIdentifierStart(e$2, t$2) {
return e$2 < 65 ? 36 === e$2 : e$2 < 91 || (e$2 < 97 ? 95 === e$2 : e$2 < 123 || (e$2 <= 65535 ? e$2 >= 170 && c.test(String.fromCharCode(e$2)) : !1 !== t$2 && isInAstralSet(e$2, s)));
}
function isIdentifierChar(e$2, i$1) {
return e$2 < 48 ? 36 === e$2 : e$2 < 58 || !(e$2 < 65) && (e$2 < 91 || (e$2 < 97 ? 95 === e$2 : e$2 < 123 || (e$2 <= 65535 ? e$2 >= 170 && p.test(String.fromCharCode(e$2)) : !1 !== i$1 && (isInAstralSet(e$2, s) || isInAstralSet(e$2, t$1)))));
}
var acorn_TokenType = function(e$2, t$2) {
void 0 === t$2 && (t$2 = {}), this.label = e$2, this.keyword = t$2.keyword, this.beforeExpr = !!t$2.beforeExpr, this.startsExpr = !!t$2.startsExpr, this.isLoop = !!t$2.isLoop, this.isAssign = !!t$2.isAssign, this.prefix = !!t$2.prefix, this.postfix = !!t$2.postfix, this.binop = t$2.binop || null, this.updateContext = null;
};
function binop(e$2, t$2) {
return new acorn_TokenType(e$2, {
beforeExpr: !0,
binop: t$2
});
}
var l = { beforeExpr: !0 }, u = { startsExpr: !0 }, d = {};
function kw(e$2, t$2) {
return void 0 === t$2 && (t$2 = {}), t$2.keyword = e$2, d[e$2] = new acorn_TokenType(e$2, t$2);
}
var f = {
num: new acorn_TokenType("num", u),
regexp: new acorn_TokenType("regexp", u),
string: new acorn_TokenType("string", u),
name: new acorn_TokenType("name", u),
privateId: new acorn_TokenType("privateId", u),
eof: new acorn_TokenType("eof"),
bracketL: new acorn_TokenType("[", {
beforeExpr: !0,
startsExpr: !0
}),
bracketR: new acorn_TokenType("]"),
braceL: new acorn_TokenType("{", {
beforeExpr: !0,
startsExpr: !0
}),
braceR: new acorn_TokenType("}"),
parenL: new acorn_TokenType("(", {
beforeExpr: !0,
startsExpr: !0
}),
parenR: new acorn_TokenType(")"),
comma: new acorn_TokenType(",", l),
semi: new acorn_TokenType(";", l),
colon: new acorn_TokenType(":", l),
dot: new acorn_TokenType("."),
question: new acorn_TokenType("?", l),
questionDot: new acorn_TokenType("?."),
arrow: new acorn_TokenType("=>", l),
template: new acorn_TokenType("template"),
invalidTemplate: new acorn_TokenType("invalidTemplate"),
ellipsis: new acorn_TokenType("...", l),
backQuote: new acorn_TokenType("`", u),
dollarBraceL: new acorn_TokenType("${", {
beforeExpr: !0,
startsExpr: !0
}),
eq: new acorn_TokenType("=", {
beforeExpr: !0,
isAssign: !0
}),
assign: new acorn_TokenType("_=", {
beforeExpr: !0,
isAssign: !0
}),
incDec: new acorn_TokenType("++/--", {
prefix: !0,
postfix: !0,
startsExpr: !0
}),
prefix: new acorn_TokenType("!/~", {
beforeExpr: !0,
prefix: !0,
startsExpr: !0
}),
logicalOR: binop("||", 1),
logicalAND: binop("&&", 2),
bitwiseOR: binop("|", 3),
bitwiseXOR: binop("^", 4),
bitwiseAND: binop("&", 5),
equality: binop("==/!=/===/!==", 6),
relational: binop("</>/<=/>=", 7),
bitShift: binop("<</>>/>>>", 8),
plusMin: new acorn_TokenType("+/-", {
beforeExpr: !0,
binop: 9,
prefix: !0,
startsExpr: !0
}),
modulo: binop("%", 10),
star: binop("*", 10),
slash: binop("/", 10),
starstar: new acorn_TokenType("**", { beforeExpr: !0 }),
coalesce: binop("??", 1),
_break: kw("break"),
_case: kw("case", l),
_catch: kw("catch"),
_continue: kw("continue"),
_debugger: kw("debugger"),
_default: kw("default", l),
_do: kw("do", {
isLoop: !0,
beforeExpr: !0
}),
_else: kw("else", l),
_finally: kw("finally"),
_for: kw("for", { isLoop: !0 }),
_function: kw("function", u),
_if: kw("if"),
_return: kw("return", l),
_switch: kw("switch"),
_throw: kw("throw", l),
_try: kw("try"),
_var: kw("var"),
_const: kw("const"),
_while: kw("while", { isLoop: !0 }),
_with: kw("with"),
_new: kw("new", {
beforeExpr: !0,
startsExpr: !0
}),
_this: kw("this", u),
_super: kw("super", u),
_class: kw("class", u),
_extends: kw("extends", l),
_export: kw("export"),
_import: kw("import", u),
_null: kw("null", u),
_true: kw("true", u),
_false: kw("false", u),
_in: kw("in", {
beforeExpr: !0,
binop: 7
}),
_instanceof: kw("instanceof", {
beforeExpr: !0,
binop: 7
}),
_typeof: kw("typeof", {
beforeExpr: !0,
prefix: !0,
startsExpr: !0
}),
_void: kw("void", {
beforeExpr: !0,
prefix: !0,
startsExpr: !0
}),
_delete: kw("delete", {
beforeExpr: !0,
prefix: !0,
startsExpr: !0
})
}, m = /\r\n?|\n|\u2028|\u2029/, g = new RegExp(m.source, "g");
function isNewLine(e$2) {
return 10 === e$2 || 13 === e$2 || 8232 === e$2 || 8233 === e$2;
}
function nextLineBreak(e$2, t$2, i$1) {
void 0 === i$1 && (i$1 = e$2.length);
for (var s$1 = t$2; s$1 < i$1; s$1++) {
var r$1 = e$2.charCodeAt(s$1);
if (isNewLine(r$1)) return s$1 < i$1 - 1 && 13 === r$1 && 10 === e$2.charCodeAt(s$1 + 1) ? s$1 + 2 : s$1 + 1;
}
return -1;
}
var x = /[\u1680\u2000-\u200a\u202f\u205f\u3000\ufeff]/, v = /(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g, y = Object.prototype, _ = y.hasOwnProperty, E = y.toString, b = Object.hasOwn || function(e$2, t$2) {
return _.call(e$2, t$2);
}, S = Array.isArray || function(e$2) {
return "[object Array]" === E.call(e$2);
}, k = Object.create(null);
function wordsRegexp(e$2) {
return k[e$2] || (k[e$2] = /* @__PURE__ */ new RegExp("^(?:" + e$2.replace(/ /g, "|") + ")$"));
}
function codePointToString(e$2) {
return e$2 <= 65535 ? String.fromCharCode(e$2) : (e$2 -= 65536, String.fromCharCode(55296 + (e$2 >> 10), 56320 + (1023 & e$2)));
}
var w = /(?:[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])/, acorn_Position = function(e$2, t$2) {
this.line = e$2, this.column = t$2;
};
acorn_Position.prototype.offset = function(e$2) {
return new acorn_Position(this.line, this.column + e$2);
};
var acorn_SourceLocation = function(e$2, t$2, i$1) {
this.start = t$2, this.end = i$1, null !== e$2.sourceFile && (this.source = e$2.sourceFile);
};
function getLineInfo(e$2, t$2) {
for (var i$1 = 1, s$1 = 0;;) {
var r$1 = nextLineBreak(e$2, s$1, t$2);
if (r$1 < 0) return new acorn_Position(i$1, t$2 - s$1);
++i$1, s$1 = r$1;
}
}
var I = {
ecmaVersion: null,
sourceType: "script",
onInsertedSemicolon: null,
onTrailingComma: null,
allowReserved: null,
allowReturnOutsideFunction: !1,
allowImportExportEverywhere: !1,
allowAwaitOutsideFunction: null,
allowSuperOutsideMethod: null,
allowHashBang: !1,
checkPrivateFields: !0,
locations: !1,
onToken: null,
onComment: null,
ranges: !1,
program: null,
sourceFile: null,
directSourceFile: null,
preserveParens: !1
}, C = !1;
function getOptions(e$2) {
var t$2 = {};
for (var i$1 in I) t$2[i$1] = e$2 && b(e$2, i$1) ? e$2[i$1] : I[i$1];
if ("latest" === t$2.ecmaVersion ? t$2.ecmaVersion = 1e8 : null == t$2.ecmaVersion ? (!C && "object" == typeof console && console.warn && (C = !0, console.warn("Since Acorn 8.0.0, options.ecmaVersion is required.\nDefaulting to 2020, but this will stop working in the future.")), t$2.ecmaVersion = 11) : t$2.ecmaVersion >= 2015 && (t$2.ecmaVersion -= 2009), t$2.allowReserved ??= t$2.ecmaVersion < 5, e$2 && null != e$2.allowHashBang || (t$2.allowHashBang = t$2.ecmaVersion >= 14), S(t$2.onToken)) {
var s$1 = t$2.onToken;
t$2.onToken = function(e$3) {
return s$1.push(e$3);
};
}
return S(t$2.onComment) && (t$2.onComment = function(e$3, t$3) {
return function(i$2, s$2, r$1, n$1, a$1, o$1) {
var h$1 = {
type: i$2 ? "Block" : "Line",
value: s$2,
start: r$1,
end: n$1
};
e$3.locations && (h$1.loc = new acorn_SourceLocation(this, a$1, o$1)), e$3.ranges && (h$1.range = [r$1, n$1]), t$3.push(h$1);
};
}(t$2, t$2.onComment)), t$2;
}
var R = 256, P = 259;
function functionFlags(e$2, t$2) {
return 2 | (e$2 ? 4 : 0) | (t$2 ? 8 : 0);
}
var acorn_Parser = function(e$2, t$2, i$1) {
this.options = e$2 = getOptions(e$2), this.sourceFile = e$2.sourceFile, this.keywords = wordsRegexp(o[e$2.ecmaVersion >= 6 ? 6 : "module" === e$2.sourceType ? "5module" : 5]);
var s$1 = "";
!0 !== e$2.allowReserved && (s$1 = n[e$2.ecmaVersion >= 6 ? 6 : 5 === e$2.ecmaVersion ? 5 : 3], "module" === e$2.sourceType && (s$1 += " await")), this.reservedWords = wordsRegexp(s$1);
var r$1 = (s$1 ? s$1 + " " : "") + n.strict;
this.reservedWordsStrict = wordsRegexp(r$1), this.reservedWordsStrictBind = wordsRegexp(r$1 + " " + n.strictBind), this.input = String(t$2), this.containsEsc = !1, i$1 ? (this.pos = i$1, this.lineStart = this.input.lastIndexOf("\n", i$1 - 1) + 1, this.curLine = this.input.slice(0, this.lineStart).split(m).length) : (this.pos = this.lineStart = 0, this.curLine = 1), this.type = f.eof, this.value = null, this.start = this.end = this.pos, this.startLoc = this.endLoc = this.curPosition(), this.lastTokEndLoc = this.lastTokStartLoc = null, this.lastTokStart = this.lastTokEnd = this.pos, this.context = this.initialContext(), this.exprAllowed = !0, this.inModule = "module" === e$2.sourceType, this.strict = this.inModule || this.strictDirective(this.pos), this.potentialArrowAt = -1, this.potentialArrowInForAwait = !1, this.yieldPos = this.awaitPos = this.awaitIdentPos = 0, this.labels = [], this.undefinedExports = Object.create(null), 0 === this.pos && e$2.allowHashBang && "#!" === this.input.slice(0, 2) && this.skipLineComment(2), this.scopeStack = [], this.enterScope(1), this.regexpState = null, this.privateNameStack = [];
}, T = {
inFunction: { configurable: !0 },
inGenerator: { configurable: !0 },
inAsync: { configurable: !0 },
canAwait: { configurable: !0 },
allowSuper: { configurable: !0 },
allowDirectSuper: { configurable: !0 },
treatFunctionsAsVar: { configurable: !0 },
allowNewDotTarget: { configurable: !0 },
inClassStaticBlock: { configurable: !0 }
};
acorn_Parser.prototype.parse = function() {
var e$2 = this.options.program || this.startNode();
return this.nextToken(), this.parseTopLevel(e$2);
}, T.inFunction.get = function() {
return (2 & this.currentVarScope().flags) > 0;
}, T.inGenerator.get = function() {
return (8 & this.currentVarScope().flags) > 0;
}, T.inAsync.get = function() {
return (4 & this.currentVarScope().flags) > 0;
}, T.canAwait.get = function() {
for (var e$2 = this.scopeStack.length - 1; e$2 >= 0; e$2--) {
var t$2 = this.scopeStack[e$2].flags;
if (768 & t$2) return !1;
if (2 & t$2) return (4 & t$2) > 0;
}
return this.inModule && this.options.ecmaVersion >= 13 || this.options.allowAwaitOutsideFunction;
}, T.allowSuper.get = function() {
return (64 & this.currentThisScope().flags) > 0 || this.options.allowSuperOutsideMethod;
}, T.allowDirectSuper.get = function() {
return (128 & this.currentThisScope().flags) > 0;
}, T.treatFunctionsAsVar.get = function() {
return this.treatFunctionsAsVarInScope(this.currentScope());
}, T.allowNewDotTarget.get = function() {
for (var e$2 = this.scopeStack.length - 1; e$2 >= 0; e$2--) {
var t$2 = this.scopeStack[e$2].flags;
if (768 & t$2 || 2 & t$2 && !(16 & t$2)) return !0;
}
return !1;
}, T.inClassStaticBlock.get = function() {
return (this.currentVarScope().flags & R) > 0;
}, acorn_Parser.extend = function() {
for (var e$2 = [], t$2 = arguments.length; t$2--;) e$2[t$2] = arguments[t$2];
for (var i$1 = this, s$1 = 0; s$1 < e$2.length; s$1++) i$1 = e$2[s$1](i$1);
return i$1;
}, acorn_Parser.parse = function(e$2, t$2) {
return new this(t$2, e$2).parse();
}, acorn_Parser.parseExpressionAt = function(e$2, t$2, i$1) {
var s$1 = new this(i$1, e$2, t$2);
return s$1.nextToken(), s$1.parseExpression();
}, acorn_Parser.tokenizer = function(e$2, t$2) {
return new this(t$2, e$2);
}, Object.defineProperties(acorn_Parser.prototype, T);
var A = acorn_Parser.prototype, N = /^(?:'((?:\\[^]|[^'\\])*?)'|"((?:\\[^]|[^"\\])*?)")/;
A.strictDirective = function(e$2) {
if (this.options.ecmaVersion < 5) return !1;
for (;;) {
v.lastIndex = e$2, e$2 += v.exec(this.input)[0].length;
var t$2 = N.exec(this.input.slice(e$2));
if (!t$2) return !1;
if ("use strict" === (t$2[1] || t$2[2])) {
v.lastIndex = e$2 + t$2[0].length;
var i$1 = v.exec(this.input), s$1 = i$1.index + i$1[0].length, r$1 = this.input.charAt(s$1);
return ";" === r$1 || "}" === r$1 || m.test(i$1[0]) && !(/[(`.[+\-/*%<>=,?^&]/.test(r$1) || "!" === r$1 && "=" === this.input.charAt(s$1 + 1));
}
e$2 += t$2[0].length, v.lastIndex = e$2, e$2 += v.exec(this.input)[0].length, ";" === this.input[e$2] && e$2++;
}
}, A.eat = function(e$2) {
return this.type === e$2 && (this.next(), !0);
}, A.isContextual = function(e$2) {
return this.type === f.name && this.value === e$2 && !this.containsEsc;
}, A.eatContextual = function(e$2) {
return !!this.isContextual(e$2) && (this.next(), !0);
}, A.expectContextual = function(e$2) {
this.eatContextual(e$2) || this.unexpected();
}, A.canInsertSemicolon = function() {
return this.type === f.eof || this.type === f.braceR || m.test(this.input.slice(this.lastTokEnd, this.start));
}, A.insertSemicolon = function() {
if (this.canInsertSemicolon()) return this.options.onInsertedSemicolon && this.options.onInsertedSemicolon(this.lastTokEnd, this.lastTokEndLoc), !0;
}, A.semicolon = function() {
this.eat(f.semi) || this.insertSemicolon() || this.unexpected();
}, A.afterTrailingComma = function(e$2, t$2) {
if (this.type === e$2) return this.options.onTrailingComma && this.options.onTrailingComma(this.lastTokStart, this.lastTokStartLoc), t$2 || this.next(), !0;
}, A.expect = function(e$2) {
this.eat(e$2) || this.unexpected();
}, A.unexpected = function(e$2) {
this.raise(null != e$2 ? e$2 : this.start, "Unexpected token");
};
var acorn_DestructuringErrors = function() {
this.shorthandAssign = this.trailingComma = this.parenthesizedAssign = this.parenthesizedBind = this.doubleProto = -1;
};
A.checkPatternErrors = function(e$2, t$2) {
if (e$2) {
e$2.trailingComma > -1 && this.raiseRecoverable(e$2.trailingComma, "Comma is not permitted after the rest element");
var i$1 = t$2 ? e$2.parenthesizedAssign : e$2.parenthesizedBind;
i$1 > -1 && this.raiseRecoverable(i$1, t$2 ? "Assigning to rvalue" : "Parenthesized pattern");
}
}, A.checkExpressionErrors = function(e$2, t$2) {
if (!e$2) return !1;
var i$1 = e$2.shorthandAssign, s$1 = e$2.doubleProto;
if (!t$2) return i$1 >= 0 || s$1 >= 0;
i$1 >= 0 && this.raise(i$1, "Shorthand property assignments are valid only in destructuring patterns"), s$1 >= 0 && this.raiseRecoverable(s$1, "Redefinition of __proto__ property");
}, A.checkYieldAwaitInDefaultParams = function() {
this.yieldPos && (!this.awaitPos || this.yieldPos < this.awaitPos) && this.raise(this.yieldPos, "Yield expression cannot be a default value"), this.awaitPos && this.raise(this.awaitPos, "Await expression cannot be a default value");
}, A.isSimpleAssignTarget = function(e$2) {
return "ParenthesizedExpression" === e$2.type ? this.isSimpleAssignTarget(e$2.expression) : "Identifier" === e$2.type || "MemberExpression" === e$2.type;
};
var L = acorn_Parser.prototype;
L.parseTopLevel = function(e$2) {
var t$2 = Object.create(null);
for (e$2.body || (e$2.body = []); this.type !== f.eof;) {
var i$1 = this.parseStatement(null, !0, t$2);
e$2.body.push(i$1);
}
if (this.inModule) for (var s$1 = 0, r$1 = Object.keys(this.undefinedExports); s$1 < r$1.length; s$1 += 1) {
var n$1 = r$1[s$1];
this.raiseRecoverable(this.undefinedExports[n$1].start, "Export '" + n$1 + "' is not defined");
}
return this.adaptDirectivePrologue(e$2.body), this.next(), e$2.sourceType = this.options.sourceType, this.finishNode(e$2, "Program");
};
var O = { kind: "loop" }, D = { kind: "switch" };
L.isLet = function(e$2) {
if (this.options.ecmaVersion < 6 || !this.isContextual("let")) return !1;
v.lastIndex = this.pos;
var t$2 = v.exec(this.input), i$1 = this.pos + t$2[0].length, s$1 = this.input.charCodeAt(i$1);
if (91 === s$1 || 92 === s$1) return !0;
if (e$2) return !1;
if (123 === s$1 || s$1 > 55295 && s$1 < 56320) return !0;
if (isIdentifierStart(s$1, !0)) {
for (var r$1 = i$1 + 1; isIdentifierChar(s$1 = this.input.charCodeAt(r$1), !0);) ++r$1;
if (92 === s$1 || s$1 > 55295 && s$1 < 56320) return !0;
var n$1 = this.input.slice(i$1, r$1);
if (!h.test(n$1)) return !0;
}
return !1;
}, L.isAsyncFunction = function() {
if (this.options.ecmaVersion < 8 || !this.isContextual("async")) return !1;
v.lastIndex = this.pos;
var e$2, t$2 = v.exec(this.input), i$1 = this.pos + t$2[0].length;
return !(m.test(this.input.slice(this.pos, i$1)) || "function" !== this.input.slice(i$1, i$1 + 8) || i$1 + 8 !== this.input.length && (isIdentifierChar(e$2 = this.input.charCodeAt(i$1 + 8)) || e$2 > 55295 && e$2 < 56320));
}, L.isUsingKeyword = function(e$2, t$2) {
if (this.options.ecmaVersion < 17 || !this.isContextual(e$2 ? "await" : "using")) return !1;
v.lastIndex = this.pos;
var i$1 = v.exec(this.input), s$1 = this.pos + i$1[0].length;
if (m.test(this.input.slice(this.pos, s$1))) return !1;
if (e$2) {
var r$1, n$1 = s$1 + 5;
if ("using" !== this.input.slice(s$1, n$1) || n$1 === this.input.length || isIdentifierChar(r$1 = this.input.charCodeAt(n$1)) || r$1 > 55295 && r$1 < 56320) return !1;
v.lastIndex = n$1;
var a$1 = v.exec(this.input);
if (a$1 && m.test(this.input.slice(n$1, n$1 + a$1[0].length))) return !1;
}
if (t$2) {
var o$1, h$1 = s$1 + 2;
if (!("of" !== this.input.slice(s$1, h$1) || h$1 !== this.input.length && (isIdentifierChar(o$1 = this.input.charCodeAt(h$1)) || o$1 > 55295 && o$1 < 56320))) return !1;
}
var c$1 = this.input.charCodeAt(s$1);
return isIdentifierStart(c$1, !0) || 92 === c$1;
}, L.isAwaitUsing = function(e$2) {
return this.isUsingKeyword(!0, e$2);
}, L.isUsing = function(e$2) {
return this.isUsingKeyword(!1, e$2);
}, L.parseStatement = function(e$2, t$2, i$1) {
var s$1, r$1 = this.type, n$1 = this.startNode();
switch (this.isLet(e$2) && (r$1 = f._var, s$1 = "let"), r$1) {
case f._break:
case f._continue: return this.parseBreakContinueStatement(n$1, r$1.keyword);
case f._debugger: return this.parseDebuggerStatement(n$1);
case f._do: return this.parseDoStatement(n$1);
case f._for: return this.parseForStatement(n$1);
case f._function: return e$2 && (this.strict || "if" !== e$2 && "label" !== e$2) && this.options.ecmaVersion >= 6 && this.unexpected(), this.parseFunctionStatement(n$1, !1, !e$2);
case f._class: return e$2 && this.unexpected(), this.parseClass(n$1, !0);
case f._if: return this.parseIfStatement(n$1);
case f._return: return this.parseReturnStatement(n$1);
case f._switch: return this.parseSwitchStatement(n$1);
case f._throw: return this.parseThrowStatement(n$1);
case f._try: return this.parseTryStatement(n$1);
case f._const:
case f._var: return s$1 = s$1 || this.value, e$2 && "var" !== s$1 && this.unexpected(), this.parseVarStatement(n$1, s$1);
case f._while: return this.parseWhileStatement(n$1);
case f._with: return this.parseWithStatement(n$1);
case f.braceL: return this.parseBlock(!0, n$1);
case f.semi: return this.parseEmptyStatement(n$1);
case f._export:
case f._import:
if (this.options.ecmaVersion > 10 && r$1 === f._import) {
v.lastIndex = this.pos;
var a$1 = v.exec(this.input), o$1 = this.pos + a$1[0].length, h$1 = this.input.charCodeAt(o$1);
if (40 === h$1 || 46 === h$1) return this.parseExpressionStatement(n$1, this.parseExpression());
}
return this.options.allowImportExportEverywhere || (t$2 || this.raise(this.start, "'import' and 'export' may only appear at the top level"), this.inModule || this.raise(this.start, "'import' and 'export' may appear only with 'sourceType: module'")), r$1 === f._import ? this.parseImport(n$1) : this.parseExport(n$1, i$1);
default:
if (this.isAsyncFunction()) return e$2 && this.unexpected(), this.next(), this.parseFunctionStatement(n$1, !0, !e$2);
var c$1 = this.isAwaitUsing(!1) ? "await using" : this.isUsing(!1) ? "using" : null;
if (c$1) return t$2 && "script" === this.options.sourceType && this.raise(this.start, "Using declaration cannot appear in the top level when source type is `script`"), "await using" === c$1 && (this.canAwait || this.raise(this.start, "Await using cannot appear outside of async function"), this.next()), this.next(), this.parseVar(n$1, !1, c$1), this.semicolon(), this.finishNode(n$1, "VariableDeclaration");
var p$1 = this.value, l$1 = this.parseExpression();
return r$1 === f.name && "Identifier" === l$1.type && this.eat(f.colon) ? this.parseLabeledStatement(n$1, p$1, l$1, e$2) : this.parseExpressionStatement(n$1, l$1);
}
}, L.parseBreakContinueStatement = function(e$2, t$2) {
var i$1 = "break" === t$2;
this.next(), this.eat(f.semi) || this.insertSemicolon() ? e$2.label = null : this.type !== f.name ? this.unexpected() : (e$2.label = this.parseIdent(), this.semicolon());
for (var s$1 = 0; s$1 < this.labels.length; ++s$1) {
var r$1 = this.labels[s$1];
if (null == e$2.label || r$1.name === e$2.label.name) {
if (null != r$1.kind && (i$1 || "loop" === r$1.kind)) break;
if (e$2.label && i$1) break;
}
}
return s$1 === this.labels.length && this.raise(e$2.start, "Unsyntactic " + t$2), this.finishNode(e$2, i$1 ? "BreakStatement" : "ContinueStatement");
}, L.parseDebuggerStatement = function(e$2) {
return this.next(), this.semicolon(), this.finishNode(e$2, "DebuggerStatement");
}, L.parseDoStatement = function(e$2) {
return this.next(), this.labels.push(O), e$2.body = this.parseStatement("do"), this.labels.pop(), this.expect(f._while), e$2.test = this.parseParenExpression(), this.options.ecmaVersion >= 6 ? this.eat(f.semi) : this.semicolon(), this.finishNode(e$2, "DoWhileStatement");
}, L.parseForStatement = function(e$2) {
this.next();
var t$2 = this.options.ecmaVersion >= 9 && this.canAwait && this.eatContextual("await") ? this.lastTokStart : -1;
if (this.labels.push(O), this.enterScope(0), this.expect(f.parenL), this.type === f.semi) return t$2 > -1 && this.unexpected(t$2), this.parseFor(e$2, null);
var i$1 = this.isLet();
if (this.type === f._var || this.type === f._const || i$1) {
var s$1 = this.startNode(), r$1 = i$1 ? "let" : this.value;
return this.next(), this.parseVar(s$1, !0, r$1), this.finishNode(s$1, "VariableDeclaration"), this.parseForAfterInit(e$2, s$1, t$2);
}
var n$1 = this.isContextual("let"), a$1 = !1, o$1 = this.isUsing(!0) ? "using" : this.isAwaitUsing(!0) ? "await using" : null;
if (o$1) {
var h$1 = this.startNode();
return this.next(), "await using" === o$1 && this.next(), this.parseVar(h$1, !0, o$1), this.finishNode(h$1, "VariableDeclaration"), this.parseForAfterInit(e$2, h$1, t$2);
}
var c$1 = this.containsEsc, p$1 = new acorn_DestructuringErrors(), l$1 = this.start, u$1 = t$2 > -1 ? this.parseExprSubscripts(p$1, "await") : this.parseExpression(!0, p$1);
return this.type === f._in || (a$1 = this.options.ecmaVersion >= 6 && this.isContextual("of")) ? (t$2 > -1 ? (this.type === f._in && this.unexpected(t$2), e$2.await = !0) : a$1 && this.options.ecmaVersion >= 8 && (u$1.start !== l$1 || c$1 || "Identifier" !== u$1.type || "async" !== u$1.name ? this.options.ecmaVersion >= 9 && (e$2.await = !1) : this.unexpected()), n$1 && a$1 && this.raise(u$1.start, "The left-hand side of a for-of loop may not start with 'let'."), this.toAssignable(u$1, !1, p$1), this.checkLValPattern(u$1), this.parseForIn(e$2, u$1)) : (this.checkExpressionErrors(p$1, !0), t$2 > -1 && this.unexpected(t$2), this.parseFor(e$2, u$1));
}, L.parseForAfterInit = function(e$2, t$2, i$1) {
return (this.type === f._in || this.options.ecmaVersion >= 6 && this.isContextual("of")) && 1 === t$2.declarations.length ? (this.options.ecmaVersion >= 9 && (this.type === f._in ? i$1 > -1 && this.unexpected(i$1) : e$2.await = i$1 > -1), this.parseForIn(e$2, t$2)) : (i$1 > -1 && this.unexpected(i$1), this.parseFor(e$2, t$2));
}, L.parseFunctionStatement = function(e$2, t$2, i$1) {
return this.next(), this.parseFunction(e$2, U | (i$1 ? 0 : M), !1, t$2);
}, L.parseIfStatement = function(e$2) {
return this.next(), e$2.test = this.parseParenExpression(), e$2.consequent = this.parseStatement("if"), e$2.alternate = this.eat(f._else) ? this.parseStatement("if") : null, this.finishNode(e$2, "IfStatement");
}, L.parseReturnStatement = function(e$2) {
return this.inFunction || this.options.allowReturnOutsideFunction || this.raise(this.start, "'return' outside of function"), this.next(), this.eat(f.semi) || this.insertSemicolon() ? e$2.argument = null : (e$2.argument = this.parseExpression(), this.semicolon()), this.finishNode(e$2, "ReturnStatement");
}, L.parseSwitchStatement = function(e$2) {
var t$2;
this.next(), e$2.discriminant = this.parseParenExpression(), e$2.cases = [], this.expect(f.braceL), this.labels.push(D), this.enterScope(0);
for (var i$1 = !1; this.type !== f.braceR;) if (this.type === f._case || this.type === f._default) {
var s$1 = this.type === f._case;
t$2 && this.finishNode(t$2, "SwitchCase"), e$2.cases.push(t$2 = this.startNode()), t$2.consequent = [], this.next(), s$1 ? t$2.test = this.parseExpression() : (i$1 && this.raiseRecoverable(this.lastTokStart, "Multiple default clauses"), i$1 = !0, t$2.test = null), this.expect(f.colon);
} else t$2 || this.unexpected(), t$2.consequent.push(this.parseStatement(null));
return this.exitScope(), t$2 && this.finishNode(t$2, "SwitchCase"), this.next(), this.labels.pop(), this.finishNode(e$2, "SwitchStatement");
}, L.parseThrowStatement = function(e$2) {
return this.next(), m.test(this.input.slice(this.lastTokEnd, this.start)) && this.raise(this.lastTokEnd, "Illegal newline after throw"), e$2.argument = this.parseExpression(), this.semicolon(), this.finishNode(e$2, "ThrowStatement");
};
var V = [];
L.parseCatchClauseParam = function() {
var e$2 = this.parseBindingAtom(), t$2 = "Identifier" === e$2.type;
return this.enterScope(t$2 ? 32 : 0), this.checkLValPattern(e$2, t$2 ? 4 : 2), this.expect(f.parenR), e$2;
}, L.parseTryStatement = function(e$2) {
if (this.next(), e$2.block = this.parseBlock(), e$2.handler = null, this.type === f._catch) {
var t$2 = this.startNode();
this.next(), this.eat(f.parenL) ? t$2.param = this.parseCatchClauseParam() : (this.options.ecmaVersion < 10 && this.unexpected(), t$2.param = null, this.enterScope(0)), t$2.body = this.parseBlock(!1), this.exitScope(), e$2.handler = this.finishNode(t$2, "CatchClause");
}
return e$2.finalizer = this.eat(f._finally) ? this.parseBlock() : null, e$2.handler || e$2.finalizer || this.raise(e$2.start, "Missing catch or finally clause"), this.finishNode(e$2, "TryStatement");
}, L.parseVarStatement = function(e$2, t$2, i$1) {
return this.next(), this.parseVar(e$2, !1, t$2, i$1), this.semicolon(), this.finishNode(e$2, "VariableDeclaration");
}, L.parseWhileStatement = function(e$2) {
return this.next(), e$2.test = this.parseParenExpression(), this.labels.push(O), e$2.body = this.parseStatement("while"), this.labels.pop(), this.finishNode(e$2, "WhileStatement");
}, L.parseWithStatement = function(e$2) {
return this.strict && this.raise(this.start, "'with' in strict mode"), this.next(), e$2.object = this.parseParenExpression(), e$2.body = this.parseStatement("with"), this.finishNode(e$2, "WithStatement");
}, L.parseEmptyStatement = function(e$2) {
return this.next(), this.finishNode(e$2, "EmptyStatement");
}, L.parseLabeledStatement = function(e$2, t$2, i$1, s$1) {
for (var r$1 = 0, n$1 = this.labels; r$1 < n$1.length; r$1 += 1) n$1[r$1].name === t$2 && this.raise(i$1.start, "Label '" + t$2 + "' is already declared");
for (var a$1 = this.type.isLoop ? "loop" : this.type === f._switch ? "switch" : null, o$1 = this.labels.length - 1; o$1 >= 0; o$1--) {
var h$1 = this.labels[o$1];
if (h$1.statementStart !== e$2.start) break;
h$1.statementStart = this.start, h$1.kind = a$1;
}
return this.labels.push({
name: t$2,
kind: a$1,
statementStart: this.start
}), e$2.body = this.parseStatement(s$1 ? -1 === s$1.indexOf("label") ? s$1 + "label" : s$1 : "label"), this.labels.pop(), e$2.label = i$1, this.finishNode(e$2, "LabeledStatement");
}, L.parseExpressionStatement = function(e$2, t$2) {
return e$2.expression = t$2, this.semicolon(), this.finishNode(e$2, "ExpressionStatement");
}, L.parseBlock = function(e$2, t$2, i$1) {
for (void 0 === e$2 && (e$2 = !0), void 0 === t$2 && (t$2 = this.startNode()), t$2.body = [], this.expect(f.braceL), e$2 && this.enterScope(0); this.type !== f.braceR;) {
var s$1 = this.parseStatement(null);
t$2.body.push(s$1);
}
return i$1 && (this.strict = !1), this.next(), e$2 && this.exitScope(), this.finishNode(t$2, "BlockStatement");
}, L.parseFor = function(e$2, t$2) {
return e$2.init = t$2, this.expect(f.semi), e$2.test = this.type === f.semi ? null : this.parseExpression(), this.expect(f.semi), e$2.update = this.type === f.parenR ? null : this.parseExpression(), this.expect(f.parenR), e$2.body = this.parseStatement("for"), this.exitScope(), this.labels.pop(), this.finishNode(e$2, "ForStatement");
}, L.parseForIn = function(e$2, t$2) {
var i$1 = this.type === f._in;
return this.next(), "VariableDeclaration" === t$2.type && null != t$2.declarations[0].init && (!i$1 || this.options.ecmaVersion < 8 || this.strict || "var" !== t$2.kind || "Identifier" !== t$2.declarations[0].id.type) && this.raise(t$2.start, (i$1 ? "for-in" : "for-of") + " loop variable declaration may not have an initializer"), e$2.left = t$2, e$2.right = i$1 ? this.parseExpression() : this.parseMaybeAssign(), this.expect(f.parenR), e$2.body = this.parseStatement("for"), this.exitScope(), this.labels.pop(), this.finishNode(e$2, i$1 ? "ForInStatement" : "ForOfStatement");
}, L.parseVar = function(e$2, t$2, i$1, s$1) {
for (e$2.declarations = [], e$2.kind = i$1;;) {
var r$1 = this.startNode();
if (this.parseVarId(r$1, i$1), this.eat(f.eq) ? r$1.init = this.parseMaybeAssign(t$2) : s$1 || "const" !== i$1 || this.type === f._in || this.options.ecmaVersion >= 6 && this.isContextual("of") ? s$1 || "using" !== i$1 && "await using" !== i$1 || !(this.options.ecmaVersion >= 17) || this.type === f._in || this.isContextual("of") ? s$1 || "Identifier" === r$1.id.type || t$2 && (this.type === f._in || this.isContextual("of")) ? r$1.init = null : this.raise(this.lastTokEnd, "Complex binding patterns require an initialization value") : this.raise(this.lastTokEnd, "Missing initializer in " + i$1 + " declaration") : this.unexpected(), e$2.declarations.push(this.finishNode(r$1, "VariableDeclarator")), !this.eat(f.comma)) break;
}
return e$2;
}, L.parseVarId = function(e$2, t$2) {
e$2.id = "using" === t$2 || "await using" === t$2 ? this.parseIdent() : this.parseBindingAtom(), this.checkLValPattern(e$2.id, "var" === t$2 ? 1 : 2, !1);
};
var U = 1, M = 2;
function isPrivateNameConflicted(e$2, t$2) {
var i$1 = t$2.key.name, s$1 = e$2[i$1], r$1 = "true";
return "MethodDefinition" !== t$2.type || "get" !== t$2.kind && "set" !== t$2.kind || (r$1 = (t$2.static ? "s" : "i") + t$2.kind), "iget" === s$1 && "iset" === r$1 || "iset" === s$1 && "iget" === r$1 || "sget" === s$1 && "sset" === r$1 || "sset" === s$1 && "sget" === r$1 ? (e$2[i$1] = "true", !1) : !!s$1 || (e$2[i$1] = r$1, !1);
}
function checkKeyName(e$2, t$2) {
var i$1 = e$2.computed, s$1 = e$2.key;
return !i$1 && ("Identifier" === s$1.type && s$1.name === t$2 || "Literal" === s$1.type && s$1.value === t$2);
}
L.parseFunction = function(e$2, t$2, i$1, s$1, r$1) {
this.initFunction(e$2), (this.options.ecmaVersion >= 9 || this.options.ecmaVersion >= 6 && !s$1) && (this.type === f.star && t$2 & M && this.unexpected(), e$2.generator = this.eat(f.star)), this.options.ecmaVersion >= 8 && (e$2.async = !!s$1), t$2 & U && (e$2.id = 4 & t$2 && this.type !== f.name ? null : this.parseIdent(), !e$2.id || t$2 & M || this.checkLValSimple(e$2.id, this.strict || e$2.generator || e$2.async ? this.treatFunctionsAsVar ? 1 : 2 : 3));
var n$1 = this.yieldPos, a$1 = this.awaitPos, o$1 = this.awaitIdentPos;
return this.yieldPos = 0, this.awaitPos = 0, this.awaitIdentPos = 0, this.enterScope(functionFlags(e$2.async, e$2.generator)), t$2 & U || (e$2.id = this.type === f.name ? this.parseIdent() : null), this.parseFunctionParams(e$2), this.parseFunctionBody(e$2, i$1, !1, r$1), this.yieldPos = n$1, this.awaitPos = a$1, this.awaitIdentPos = o$1, this.finishNode(e$2, t$2 & U ? "FunctionDeclaration" : "FunctionExpression");
}, L.parseFunctionParams = function(e$2) {
this.expect(f.parenL), e$2.params = this.parseBindingList(f.parenR, !1, this.options.ecmaVersion >= 8), this.checkYieldAwaitInDefaultParams();
}, L.parseClass = function(e$2, t$2) {
this.next();
var i$1 = this.strict;
this.strict = !0, this.parseClassId(e$2, t$2), this.parseClassSuper(e$2);
var s$1 = this.enterClassBody(), r$1 = this.startNode(), n$1 = !1;
for (r$1.body = [], this.expect(f.braceL); this.type !== f.braceR;) {
var a$1 = this.parseClassElement(null !== e$2.superClass);
a$1 && (r$1.body.push(a$1), "MethodDefinition" === a$1.type && "constructor" === a$1.kind ? (n$1 && this.raiseRecoverable(a$1.start, "Duplicate constructor in the same class"), n$1 = !0) : a$1.key && "PrivateIdentifier" === a$1.key.type && isPrivateNameConflicted(s$1, a$1) && this.raiseRecoverable(a$1.key.start, "Identifier '#" + a$1.key.name + "' has already been declared"));
}
return this.strict = i$1, this.next(), e$2.body = this.finishNode(r$1, "ClassBody"), this.exitClassBody(), this.finishNode(e$2, t$2 ? "ClassDeclaration" : "ClassExpression");
}, L.parseClassElement = function(e$2) {
if (this.eat(f.semi)) return null;
var t$2 = this.options.ecmaVersion, i$1 = this.startNode(), s$1 = "", r$1 = !1, n$1 = !1, a$1 = "method", o$1 = !1;
if (this.eatContextual("static")) {
if (t$2 >= 13 && this.eat(f.braceL)) return this.parseClassStaticBlock(i$1), i$1;
this.isClassElementNameStart() || this.type === f.star ? o$1 = !0 : s$1 = "static";
}
if (i$1.static = o$1, !s$1 && t$2 >= 8 && this.eatContextual("async") && (!this.isClassElementNameStart() && this.type !== f.star || this.canInsertSemicolon() ? s$1 = "async" : n$1 = !0), !s$1 && (t$2 >= 9 || !n$1) && this.eat(f.star) && (r$1 = !0), !s$1 && !n$1 && !r$1) {
var h$1 = this.value;
(this.eatContextual("get") || this.eatContextual("set")) && (this.isClassElementNameStart() ? a$1 = h$1 : s$1 = h$1);
}
if (s$1 ? (i$1.computed = !1, i$1.key = this.startNodeAt(this.lastTokStart, this.lastTokStartLoc), i$1.key.name = s$1, this.finishNode(i$1.key, "Identifier")) : this.parseClassElementName(i$1), t$2 < 13 || this.type === f.parenL || "method" !== a$1 || r$1 || n$1) {
var c$1 = !i$1.static && checkKeyName(i$1, "constructor"), p$1 = c$1 && e$2;
c$1 && "method" !== a$1 && this.raise(i$1.key.start, "Constructor can't have get/set modifier"), i$1.kind = c$1 ? "constructor" : a$1, this.parseClassMethod(i$1, r$1, n$1, p$1);
} else this.parseClassField(i$1);
return i$1;
}, L.isClassElementNameStart = function() {
return this.type === f.name || this.type === f.privateId || this.type === f.num || this.type === f.string || this.type === f.bracketL || this.type.keyword;
}, L.parseClassElementName = function(e$2) {
this.type === f.privateId ? ("constructor" === this.value && this.raise(this.start, "Classes can't have an element named '#constructor'"), e$2.computed = !1, e$2.key = this.parsePrivateIdent()) : this.parsePropertyName(e$2);
}, L.parseClassMethod = function(e$2, t$2, i$1, s$1) {
var r$1 = e$2.key;
"constructor" === e$2.kind ? (t$2 && this.raise(r$1.start, "Constructor can't be a generator"), i$1 && this.raise(r$1.start, "Constructor can't be an async method")) : e$2.static && checkKeyName(e$2, "prototype") && this.raise(r$1.start, "Classes may not have a static property named prototype");
var n$1 = e$2.value = this.parseMethod(t$2, i$1, s$1);
return "get" === e$2.kind && 0 !== n$1.params.length && this.raiseRecoverable(n$1.start, "getter should have no params"), "set" === e$2.kind && 1 !== n$1.params.length && this.raiseRecoverable(n$1.start, "setter should have exactly one param"), "set" === e$2.kind && "RestElement" === n$1.params[0].type && this.raiseRecoverable(n$1.params[0].start, "Setter cannot use rest params"), this.finishNode(e$2, "MethodDefinition");
}, L.parseClassField = function(e$2) {
return checkKeyName(e$2, "constructor") ? this.raise(e$2.key.start, "Classes can't have a field named 'constructor'") : e$2.static && checkKeyName(e$2, "prototype") && this.raise(e$2.key.start, "Classes can't have a static field named 'prototype'"), this.eat(f.eq) ? (this.enterScope(576), e$2.value = this.parseMaybeAssign(), this.exitScope()) : e$2.value = null, this.semicolon(), this.finishNode(e$2, "PropertyDefinition");
}, L.parseClassStaticBlock = function(e$2) {
e$2.body = [];
var t$2 = this.labels;
for (this.labels = [], this.enterScope(320); this.type !== f.braceR;) {
var i$1 = this.parseStatement(null);
e$2.body.push(i$1);
}
return this.next(), this.exitScope(), this.labels = t$2, this.finishNode(e$2, "StaticBlock");
}, L.parseClassId = function(e$2, t$2) {
this.type === f.name ? (e$2.id = this.parseIdent(), t$2 && this.checkLValSimple(e$2.id, 2, !1)) : (!0 === t$2 && this.unexpected(), e$2.id = null);
}, L.parseClassSuper = function(e$2) {
e$2.superC