UNPKG

@blouflashdb/eslint-plugin-pinia

Version:
1,577 lines (1,576 loc) 217 kB
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