UNPKG

@eslint/config-inspector

Version:

A visual tool for inspecting and understanding your ESLint flat configs

137 lines 170 kB
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./BZQnYxAG.js","./_x1AcwyA.js","./entry.CH3YqO9Z.css","./CRydSBpm.js"])))=>i.map(i=>d[i]); var Ns=Object.defineProperty;var An=t=>{throw TypeError(t)};var Ps=(t,e,n)=>e in t?Ns(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var g=(t,e,n)=>Ps(t,typeof e!="symbol"?e+"":e,n),En=(t,e,n)=>e.has(t)||An("Cannot "+n);var vt=(t,e,n)=>(En(t,e,"read from private field"),n?n.call(t):e.get(t)),xn=(t,e,n)=>e.has(t)?An("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,n),He=(t,e,n,r)=>(En(t,e,"write to private field"),r?r.call(t,n):e.set(t,n),n);import{$ as jt,e as et,i as _e,h as mr,o as W,c as J,a as Ce,n as yr,t as Ts,B as Wt,S as Re,C as Ls,a5 as Ie,D as At,k as Et,w as xt,F as Rn,l as In,p as Nn,b as $s,Z as Pn,s as Rt,a6 as Os}from"./_x1AcwyA.js";const Tn={ts:200,typescript:200,"@typescript-eslint":200,ignore:"#888888",ignores:"#888888",disable:"#888888",disables:"#888888",vue:"#41b883",nuxt:"#41b883",svelte:"#ff3e00",react:"#61dafb",node:110,n:110,js:50,javascript:50,antfu:170,markdown:270};function Ms(t,e=1){let n=0;for(let s=0;s<t.length;s++)n=t.charCodeAt(s)+((n<<5)-n);const r=n%360;return Cr(r,e)}function Cr(t,e=1){const n=jt.value?50:65,r=jt.value?60:40;return`hsla(${t}, ${n}%, ${r}%, ${e})`}function Gs(t,e=1){if(Tn[t]){const n=Tn[t];if(typeof n=="number")return Cr(n,e);{if(e===1)return n;const r=Math.floor(e*255).toString(16).padStart(2,"0");return n+r}}return Ms(t,e)}const Bs=[{match:/package\.json$/,icon:"i-file-icons-npm text-red scale-110"},{match:/eslint\.config\.\w+$/,icon:"i-file-icons-eslint text-primary"},{match:/\.[mc]?jsx?$/,icon:"i-vscode-icons-file-type-js-official"},{match:/\.[mc]?tsx?$/,icon:"i-file-icons-typescript-alt text-blue3"},{match:/\.vue$/,icon:"i-logos-vue"},{match:/\.svelte$/,icon:"i-logos-svelte-icon"},{match:/\.html?$/,icon:"i-devicon-html5"},{match:/\.md$/,icon:"i-simple-icons-markdown text-gray"},{match:/\.json[c5]?$/,icon:"i-simple-icons-json text-gray"},{match:/\.css$/,icon:"i-vscode-icons-file-type-css"}],Ds={flex:"~ gap-2 items-center"},Us=et({__name:"FileItem",props:{filepath:{}},setup(t){const e=t,n=_e(()=>{for(const o of Bs)if(o.match.test(e.filepath))return o.icon;return"i-ph-file-duotone"}),r=mr();function s(){Wt.filepath=e.filepath,Wt.rule=void 0,r.push("/configs")}return(o,a)=>(W(),J("div",Ds,[Ce("div",{class:yr(n.value),"flex-none":"",h:"1em","translate-y-1px":""},null,2),Ce("button",{"text-gray":"",hover:"underline",onClick:s},Ts(o.filepath),1)]))}}),Fs=et({props:{name:{type:String},index:{type:Number}},setup(t){const e=_e(()=>{var n;return(n=t.name)==null?void 0:n.split(/([:/])/g).filter(Boolean)});return()=>e.value?Re("span",e.value.map((n,r)=>Re("span",[":","/"].includes(n)?{style:{opacity:.35,margin:"0 1px"}}:r!==e.value.length-1?{style:{color:Gs(n)}}:null,n))):Re("span",[Re("span",{class:"op50 italic"},"anonymous"),t.index!=null?Re("span",{class:"op50 text-sm"},` #${t.index+1}`):null])}}),K=Object.freeze({DEFAULT:"DEFAULT",CHAR_CLASS:"CHAR_CLASS"});function gt(t,e,n,r){const s=new RegExp(String.raw`${e}|(?<$skip>\[\^?|\\?.)`,"gsu"),o=[!1];let a=0,i="";for(const l of t.matchAll(s)){const{0:c,groups:{$skip:u}}=l;if(!u&&(!r||r===K.DEFAULT==!a)){n instanceof Function?i+=n(l,{context:a?K.CHAR_CLASS:K.DEFAULT,negated:o[o.length-1]}):i+=n;continue}c[0]==="["?(a++,o.push(c[1]==="^")):c==="]"&&a&&(a--,o.pop()),i+=c}return i}function js(t,e,n,r){gt(t,e,n,r)}function Ws(t,e,n=0,r){if(!new RegExp(e,"su").test(t))return null;const s=new RegExp(`${e}|(?<$skip>\\\\?.)`,"gsu");s.lastIndex=n;let o=0,a;for(;a=s.exec(t);){const{0:i,groups:{$skip:l}}=a;if(!l&&(!r||r===K.DEFAULT==!o))return a;i==="["?o++:i==="]"&&o&&o--,s.lastIndex==a.index&&s.lastIndex++}return null}function ze(t,e,n){return!!Ws(t,e,0,n)}function Hs(t,e){const n=/\\?./gsu;n.lastIndex=e;let r=t.length,s=0,o=1,a;for(;a=n.exec(t);){const[i]=a;if(i==="[")s++;else if(s)i==="]"&&s--;else if(i==="(")o++;else if(i===")"&&(o--,!o)){r=a.index;break}}return t.slice(e,r)}const pe="$E$";class ln extends RegExp{constructor(n,r,s){if(n instanceof RegExp&&s)throw new Error("Cannot provide options when copying a regexp");const o=!!(s!=null&&s.useEmulationGroups),a=o?zs(n):null;super((a==null?void 0:a.expression)||n,r);g(this,"_captureMap");g(this,"_namesByIndex");const i=o?a:n instanceof ln?n:null;i&&(this._captureMap=i._captureMap,this._namesByIndex=i._namesByIndex)}exec(n){const r=RegExp.prototype.exec.call(this,n);if(!r||!this._captureMap)return r;const s=[...r];r.length=1;let o;this.hasIndices&&(o=[...r.indices],r.indices.length=1);for(let a=1;a<s.length;a++)if(this._captureMap[a].exclude){const i=this._captureMap[a].transfer;if(i&&r.length>i){r[i]=s[a];const l=this._namesByIndex[i];l&&(r.groups[l]=s[a],this.hasIndices&&(r.indices.groups[l]=o[a])),this.hasIndices&&(r.indices[i]=o[a])}}else r.push(s[a]),this.hasIndices&&r.indices.push(o[a]);return r}}function zs(t){const e=pe.replace(/\$/g,"\\$"),n=[{exclude:!1}],r={0:""};let s=0;return t=gt(t,String.raw`\((?:(?!\?)|\?<(?![=!])(?<name>[^>]+)>)(?<mark>(?:\$(?<transfer>[1-9]\d*))?${e})?`,({0:o,groups:{name:a,mark:i,transfer:l}})=>i?(n.push({exclude:!0,transfer:l&&+l}),o.slice(0,-i.length)):(s++,a&&(r[s]=a),n.push({exclude:!1}),o),K.DEFAULT),{_captureMap:n,_namesByIndex:r,expression:t}}const Vs=String.raw`\(\?(?:[:=!>A-Za-z\-]|<[=!]|\(DEFINE\))`;function qs(t,e,n,r){return t.slice(0,e)+r+t.slice(e+n.length)}const Ln=new RegExp(String.raw`(?<noncapturingStart>${Vs})|(?<capturingStart>\((?:\?<[^>]+>)?)|\\?.`,"gsu");function Ks(t,e){if(!/\(\?>/.test(t))return t;const n="(?>",r=`(?:(?=(${e!=null&&e.useEmulationGroups?pe:""}`,s=[0];let o=0,a=0,i=NaN,l;do{l=!1;let c=0,u=0,h=!1,p;for(Ln.lastIndex=Number.isNaN(i)?0:i+r.length;p=Ln.exec(t);){const{0:f,index:d,groups:{capturingStart:b,noncapturingStart:_}}=p;if(f==="[")c++;else if(c)f==="]"&&c--;else if(f===n&&!h)i=d,h=!0;else if(h&&_)u++;else if(b)h?u++:(o++,s.push(o+a));else if(f===")"&&h){if(!u){a++,t=`${t.slice(0,i)}${r}${t.slice(i+n.length,d)}))<$$${a+o}>)${t.slice(d+1)}`,l=!0;break}u--}}}while(l);return t=gt(t,String.raw`\\(?<backrefNum>[1-9]\d*)|<\$\$(?<wrappedBackrefNum>\d+)>`,({0:c,groups:{backrefNum:u,wrappedBackrefNum:h}})=>{if(u){const p=+u;if(p>s.length-1)throw new Error(`Backref "${c}" greater than number of captures`);return`\\${s[p]}`}return`\\${h}`},K.DEFAULT),t}const _r=String.raw`(?:[?*+]|\{\d+(?:,\d*)?\})`,It=new RegExp(String.raw` \\(?: \d+ | c[A-Za-z] | [gk]<[^>]+> | [pPu]\{[^\}]+\} | u[A-Fa-f\d]{4} | x[A-Fa-f\d]{2} ) | \((?: \? (?: [:=!>] | <(?:[=!]|[^>]+>) | [A-Za-z\-]+: | \(DEFINE\) ))? | (?<qBase>${_r})(?<qMod>[?+]?)(?<invalidQ>[?*+\{]?) | \\?. `.replace(/\s+/g,""),"gsu");function Xs(t){if(!new RegExp(`${_r}\\+`).test(t))return t;const e=[];let n=null,r=null,s="",o=0,a;for(It.lastIndex=0;a=It.exec(t);){const{0:i,index:l,groups:{qBase:c,qMod:u,invalidQ:h}}=a;if(i==="[")o||(r=l),o++;else if(i==="]")o?o--:r=null;else if(!o)if(u==="+"&&s&&!s.startsWith("(")){if(h)throw new Error(`Invalid quantifier "${i}"`);let p=-1;if(/^\{\d+\}$/.test(c))t=qs(t,l+c.length,u,"");else{if(s===")"||s==="]"){const f=s===")"?n:r;if(f===null)throw new Error(`Invalid unmatched "${s}"`);t=`${t.slice(0,f)}(?>${t.slice(f,l)}${c})${t.slice(l+i.length)}`}else t=`${t.slice(0,l-s.length)}(?>${s}${c})${t.slice(l+i.length)}`;p+=4}It.lastIndex+=p}else i[0]==="("?e.push(l):i===")"&&(n=e.length?e.pop():null);s=i}return t}const cn=String.raw,$n=cn`(?:\p{Emoji}\uFE0F\u20E3?|\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation})`,On=cn`\u{E0061}-\u{E007A}`,Qs=()=>new RegExp(cn`[\u{1F1E6}-\u{1F1FF}]{2}|\u{1F3F4}[${On}]{2}[\u{E0030}-\u{E0039}${On}]{1,3}\u{E007F}|${$n}(?:\u200D${$n})*`,"gu"),z=String.raw,Js=z`\\g<(?<gRNameOrNum>[^>&]+)&R=(?<gRDepth>[^>]+)>`,Ht=z`\(\?R=(?<rDepth>[^\)]+)\)|${Js}`,mt=z`\(\?<(?![=!])(?<captureName>[^>]+)>`,ae=new RegExp(z`${mt}|${Ht}|\(\?|\\?.`,"gsu"),Nt="Cannot use multiple overlapping recursions",zt=new RegExp(z`(?:\$[1-9]\d*)?${pe.replace(/\$/g,z`\$`)}`,"y");function Zs(t,e){if(!new RegExp(Ht,"su").test(t))return t;if(ze(t,z`\(\?\(DEFINE\)`,K.DEFAULT))throw new Error("DEFINE groups cannot be used with recursion");const n=!!(e!=null&&e.useEmulationGroups),r=ze(t,z`\\[1-9]`,K.DEFAULT),s=new Map,o=[];let a=!1,i=0,l=0,c;for(ae.lastIndex=0;c=ae.exec(t);){const{0:u,groups:{captureName:h,rDepth:p,gRNameOrNum:f,gRDepth:d}}=c;if(u==="[")i++;else if(i)u==="]"&&i--;else if(p){if(Mn(p),a)throw new Error(Nt);if(r)throw new Error("Numbered backrefs cannot be used with global recursion");const b=t.slice(0,c.index),_=t.slice(ae.lastIndex);if(ze(_,Ht,K.DEFAULT))throw new Error(Nt);return Gn(b,_,+p,!1,n)}else if(f){Mn(d);let b=!1;for(const P of o)if(P.name===f||P.num===+f){if(b=!0,P.hasRecursedWithin)throw new Error(Nt);break}if(!b)throw new Error(z`Recursive \g cannot be used outside the referenced group "\g<${f}&R=${d}>"`);const _=s.get(f),y=Hs(t,_);if(r&&ze(y,z`${mt}|\((?!\?)`,K.DEFAULT))throw new Error("Numbered backrefs cannot be used with recursion of capturing groups");const w=t.slice(_,c.index),v=y.slice(w.length+u.length),R=Gn(w,v,+d,!0,n),N=t.slice(0,_),D=t.slice(_+y.length);t=`${N}${R}${D}`,ae.lastIndex+=R.length-u.length-w.length-v.length,o.forEach(P=>P.hasRecursedWithin=!0),a=!0}else if(h)l++,s.set(String(l),ae.lastIndex),s.set(h,ae.lastIndex),o.push({num:l,name:h});else if(u.startsWith("(")){const b=u==="(";b&&(l++,s.set(String(l),ae.lastIndex+(n?Ys(t,ae.lastIndex):0))),o.push(b?{num:l}:{})}else u===")"&&o.pop()}return t}function Mn(t){const e=`Max depth must be integer between 2 and 100; used ${t}`;if(!/^[1-9]\d*$/.test(t))throw new Error(e);if(t=+t,t<2||t>100)throw new Error(e)}function Gn(t,e,n,r,s){const o=new Set;r&&js(t+e,mt,({groups:{captureName:i}})=>{o.add(i)},K.DEFAULT);const a=n-1;return`${t}${Bn(`(?:${t}`,a,r?o:null,"forward",s)}(?:)${Bn(`${e})`,a,r?o:null,"backward",s)}${e}`}function Bn(t,e,n,r,s){const a=l=>r==="backward"?e-l+2-1:l+2;let i="";for(let l=0;l<e;l++){const c=a(l);i+=gt(t,z`${mt}|\\k<(?<backref>[^>]+)>${s?z`|(?<unnamed>\()(?!\?)(?:${zt.source})?`:""}`,({0:u,index:h,groups:{captureName:p,backref:f,unnamed:d}})=>{if(f&&n&&!n.has(f))return u;if(d)return`(${pe}`;const b=`_$${c}`;return p?`(?<${p}${b}>${s?pe:""}`:z`\k<${f}${b}>`},K.DEFAULT)}return i}function Ys(t,e){zt.lastIndex=e;const n=zt.exec(t);return n?n[0].length:0}var $=String.fromCodePoint,k=String.raw,eo=(()=>{try{new RegExp("(?i:)")}catch{return!1}return!0})(),to=(()=>{try{new RegExp("","v")}catch{return!1}return!0})();function tt(t,{enable:e,disable:n}){return{dotAll:!(n!=null&&n.dotAll)&&!!(e!=null&&e.dotAll||t.dotAll),ignoreCase:!(n!=null&&n.ignoreCase)&&!!(e!=null&&e.ignoreCase||t.ignoreCase)}}function nt(t,e,n){return t.has(e)||t.set(e,n),t.get(e)}function Vt(t,e){return Dn[t]>=Dn[e]}function oe(t,e){if(!t)throw new Error(e??"Value expected");return t}var Dn={ES2025:2025,ES2024:2024,ES2018:2018},no={auto:"auto",ES2025:"ES2025",ES2024:"ES2024",ES2018:"ES2018"};function br(t){if((t==null?void 0:t.target)!==void 0&&!no[t.target])throw new Error(`Unexpected target "${t.target}"`);const e={accuracy:"default",avoidSubclass:!1,flags:"",global:!1,hasIndices:!1,target:"auto",verbose:!1,...t,rules:{allowOrphanBackrefs:!1,asciiWordBoundaries:!1,captureGroup:!1,ignoreUnsupportedGAnchors:!1,recursionLimit:20,...t==null?void 0:t.rules}};return e.target==="auto"&&(e.target=eo?"ES2025":to?"ES2024":"ES2018"),e}var ro=new Set([$(304),$(305)]);function wr(t){if(ro.has(t))return[t];const e=new Set,n=t.toLowerCase(),r=n.toUpperCase(),s=io.get(n),o=oo.get(n),a=ao.get(n);return[...r].length===1&&e.add(r),a&&e.add(a),s&&e.add(s),e.add(n),o&&e.add(o),[...e]}var Sr=new Set(`C Other Cc Control cntrl Cf Format Cn Unassigned Co Private_Use Cs Surrogate L Letter LC Cased_Letter Ll Lowercase_Letter Lm Modifier_Letter Lo Other_Letter Lt Titlecase_Letter Lu Uppercase_Letter M Mark Combining_Mark Mc Spacing_Mark Me Enclosing_Mark Mn Nonspacing_Mark N Number Nd Decimal_Number digit Nl Letter_Number No Other_Number P Punctuation punct Pc Connector_Punctuation Pd Dash_Punctuation Pe Close_Punctuation Pf Final_Punctuation Pi Initial_Punctuation Po Other_Punctuation Ps Open_Punctuation S Symbol Sc Currency_Symbol Sk Modifier_Symbol Sm Math_Symbol So Other_Symbol Z Separator Zl Line_Separator Zp Paragraph_Separator Zs Space_Separator ASCII ASCII_Hex_Digit AHex Alphabetic Alpha Any Assigned Bidi_Control Bidi_C Bidi_Mirrored Bidi_M Case_Ignorable CI Cased Changes_When_Casefolded CWCF Changes_When_Casemapped CWCM Changes_When_Lowercased CWL Changes_When_NFKC_Casefolded CWKCF Changes_When_Titlecased CWT Changes_When_Uppercased CWU Dash Default_Ignorable_Code_Point DI Deprecated Dep Diacritic Dia Emoji Emoji_Component EComp Emoji_Modifier EMod Emoji_Modifier_Base EBase Emoji_Presentation EPres Extended_Pictographic ExtPict Extender Ext Grapheme_Base Gr_Base Grapheme_Extend Gr_Ext Hex_Digit Hex IDS_Binary_Operator IDSB IDS_Trinary_Operator IDST ID_Continue IDC ID_Start IDS Ideographic Ideo Join_Control Join_C Logical_Order_Exception LOE Lowercase Lower Math Noncharacter_Code_Point NChar Pattern_Syntax Pat_Syn Pattern_White_Space Pat_WS Quotation_Mark QMark Radical Regional_Indicator RI Sentence_Terminal STerm Soft_Dotted SD Terminal_Punctuation Term Unified_Ideograph UIdeo Uppercase Upper Variation_Selector VS White_Space space XID_Continue XIDC XID_Start XIDS`.split(/\s/)),kr=new Map;for(const t of Sr)kr.set(yt(t),t);var so=new Set(["Basic_Emoji","Emoji_Keycap_Sequence","RGI_Emoji","RGI_Emoji_Flag_Sequence","RGI_Emoji_Modifier_Sequence","RGI_Emoji_Tag_Sequence","RGI_Emoji_ZWJ_Sequence"]),vr=new Map;for(const t of so)vr.set(yt(t),t);var oo=new Map([["s",$(383)],[$(383),"s"]]),ao=new Map([[$(223),$(7838)],[$(107),$(8490)],[$(229),$(8491)],[$(969),$(8486)]]),io=new Map([ie(453),ie(456),ie(459),ie(498),...Pt(8072,8079),...Pt(8088,8095),...Pt(8104,8111),ie(8124),ie(8140),ie(8188)]),Ar=new Map([["alnum",k`[\p{Alpha}\p{Nd}]`],["alpha",k`\p{Alpha}`],["ascii",k`\p{ASCII}`],["blank",k`[\p{Zs}\t]`],["cntrl",k`\p{cntrl}`],["digit",k`\p{Nd}`],["graph",k`[\P{space}&&\P{cntrl}&&\P{Cn}&&\P{Cs}]`],["lower",k`\p{Lower}`],["print",k`[[\P{space}&&\P{cntrl}&&\P{Cn}&&\P{Cs}]\p{Zs}]`],["punct",k`[\p{P}\p{S}]`],["space",k`\p{space}`],["upper",k`\p{Upper}`],["word",k`[\p{Alpha}\p{M}\p{Nd}\p{Pc}]`],["xdigit",k`\p{AHex}`]]),lo=new Set(["alnum","blank","graph","print","word","xdigit"]);function co(t,e){const n=[];for(let r=t;r<=e;r++)n.push(r);return n}function yt(t){return t.replace(/[- _]+/g,"").toLowerCase()}function ie(t){const e=$(t);return[e.toLowerCase(),e]}function Pt(t,e){return co(t,e).map(n=>ie(n))}var Er=new Set(["Lower","Lowercase","Upper","Uppercase","Ll","Lowercase_Letter","Lt","Titlecase_Letter","Lu","Uppercase_Letter"]),S={Alternator:"Alternator",Assertion:"Assertion",Backreference:"Backreference",Character:"Character",CharacterClassClose:"CharacterClassClose",CharacterClassHyphen:"CharacterClassHyphen",CharacterClassIntersector:"CharacterClassIntersector",CharacterClassOpen:"CharacterClassOpen",CharacterSet:"CharacterSet",Directive:"Directive",GroupClose:"GroupClose",GroupOpen:"GroupOpen",Subroutine:"Subroutine",Quantifier:"Quantifier",VariableLengthCharacterSet:"VariableLengthCharacterSet",EscapedNumber:"EscapedNumber"},B={any:"any",digit:"digit",dot:"dot",hex:"hex",non_newline:"non_newline",posix:"posix",property:"property",space:"space",word:"word"},Ct={flags:"flags",keep:"keep"},j={atomic:"atomic",capturing:"capturing",group:"group",lookahead:"lookahead",lookbehind:"lookbehind"},Un=new Map([["a",7],["b",8],["e",27],["f",12],["n",10],["r",13],["t",9],["v",11]]),xr=k`\[\^?`,Rr=`c.? | C(?:-.?)?|${k`[pP]\{(?:\^?[-\x20_]*[A-Za-z][-\x20\w]*\})?`}|${k`x[89A-Fa-f]\p{AHex}(?:\\x[89A-Fa-f]\p{AHex})*`}|${k`u(?:\p{AHex}{4})? | x\{[^\}]*\}? | x\p{AHex}{0,2}`}|${k`o\{[^\}]*\}?`}|${k`\d{1,3}`}`,Ir=/[?*+][?+]?|\{(?:\d+(?:,\d*)?|,\d+)\}\??/,Ve=new RegExp(k` \\ (?: ${Rr} | [gk]<[^>]*>? | [gk]'[^']*'? | . ) | \( (?: \? (?: [:=!>(~] | <[=!] | <[^>]*> | '[^']*' | # (?:[^)\\] | \\.?)* | [imx\-]+[:)] )?)? | ${Ir.source} | ${xr} | . `.replace(/\s+/g,""),"gsu"),Tt=new RegExp(k` \\ (?: ${Rr} | . ) | \[:[^:]*:\] | ${xr} | && | . `.replace(/\s+/g,""),"gsu");function Nr(t,e="",n){if(n={captureGroup:!1,...n},typeof t!="string")throw new Error("String expected as pattern");if(!/^[imxDSW]*$/.test(e))throw new Error(`Flags "${e}" includes unsupported value`);const r=e.includes("x"),s=[r],o={captureGroup:n.captureGroup,getCurrentModX:()=>s.at(-1),numOpenGroups:0,popModX(){s.pop()},pushModX(h){s.push(h)},replaceCurrentModX(h){s[s.length-1]=h}};let a=[],i;for(Ve.lastIndex=0;i=Ve.exec(t);){const h=uo(o,t,i[0],Ve.lastIndex);h.tokens?a.push(...h.tokens):h.token&&a.push(h.token),h.lastIndex!==void 0&&(Ve.lastIndex=h.lastIndex)}const l=[];let c=0;a.forEach(h=>{h.type===S.GroupOpen&&(h.kind===j.capturing?h.number=++c:h.raw==="("&&l.push(h))}),c||l.forEach((h,p)=>{h.kind=j.capturing,h.number=p+1});const u=c||l.length;return a=a.map(h=>h.type===S.EscapedNumber?bo(h,u):h).flat(),{tokens:a,flags:{ignoreCase:e.includes("i"),dotAll:e.includes("m"),extended:r,digitIsAscii:e.includes("D"),spaceIsAscii:e.includes("S"),wordIsAscii:e.includes("W")},rules:n}}function uo(t,e,n,r){const[s,o,a]=n;if(s==="["){const i=ho(e,n,r);return{tokens:i.tokens,lastIndex:i.lastIndex}}if(s==="\\"){if("AbBGzZ".includes(o))return{token:E(S.Assertion,n,{kind:n})};if(/^\\g[<']/.test(n)){if(!/^\\g(?:<[^>]+>|'[^']+')$/.test(n))throw new Error(`Invalid group name "${n}"`);return{token:E(S.Subroutine,n)}}if(/^\\k[<']/.test(n)){if(!/^\\k(?:<[^>]+>|'[^']+')$/.test(n))throw new Error(`Invalid group name "${n}"`);return{token:E(S.Backreference,n)}}if(o==="K")return{token:E(S.Directive,n,{kind:Ct.keep})};if(o==="N")return{token:E(S.CharacterSet,n,{kind:B.non_newline})};if(o==="O")return{token:E(S.CharacterSet,n,{kind:B.any})};if("RX".includes(o))return{token:E(S.VariableLengthCharacterSet,n,{kind:n})};if("yY".includes(o))throw new Error(`Unsupported grapheme boundary "${n}"`);const i=Pr(n,{inCharClass:!1});return Array.isArray(i)?{tokens:i}:{token:i}}if(s==="("){if(a==="#"){if(e[r]!==")")throw new Error('Unclosed comment group "(?#"');return{lastIndex:r+1}}if("-imx".includes(a))return{token:go(n,t)};if(t.pushModX(t.getCurrentModX()),t.numOpenGroups++,n==="("&&!t.captureGroup||n==="(?:")return{token:E(S.GroupOpen,n,{kind:j.group})};if(n==="(?>")return{token:E(S.GroupOpen,n,{kind:j.atomic})};if(n==="(?="||n==="(?!"||n==="(?<="||n==="(?<!")return{token:E(S.GroupOpen,n,{kind:a==="<"?j.lookbehind:j.lookahead,negate:n.endsWith("!")})};if(a==="<"||a==="'"||n==="("&&t.captureGroup){const i=E(S.GroupOpen,n,{kind:j.capturing});return n!=="("&&(i.name=n.slice(3,-1)),{token:i}}throw a==="("?new Error(`Unsupported conditional "${n}"`):a==="~"?new Error(`Unsupported absence operator "${n}"`):n==="(?"?new Error("Invalid group"):new Error(`Unexpected group "${n}"`)}if(n===")"){if(t.popModX(),t.numOpenGroups--,t.numOpenGroups<0)throw new Error('Unmatched ")"');return{token:E(S.GroupClose,n)}}if(n==="#"&&t.getCurrentModX()){const i=e.indexOf(` `,r);return{lastIndex:i===-1?e.length:i}}if(/^\s$/.test(n)&&t.getCurrentModX()){const i=/\s+/y;return i.lastIndex=r,{lastIndex:i.exec(e)?i.lastIndex:r}}return n==="."?{token:E(S.CharacterSet,n,{kind:B.dot})}:n==="^"||n==="$"?{token:E(S.Assertion,n,{kind:n})}:n==="|"?{token:E(S.Alternator,n)}:Ir.test(n)?{token:mo(n)}:(Tr(n),{token:E(S.Character,n,{value:n.codePointAt(0)})})}function ho(t,e,n){const r=[E(S.CharacterClassOpen,e,{negate:e[1]==="^"})];let s=1,o;for(Tt.lastIndex=n;o=Tt.exec(t);){const a=o[0];if(a[0]==="["&&a[1]!==":")s++,r.push(E(S.CharacterClassOpen,a,{negate:a[1]==="^"}));else if(a==="]"){if(r.at(-1).type===S.CharacterClassOpen)r.push(E(S.Character,a,{value:93}));else if(s--,r.push(E(S.CharacterClassClose,a)),!s)break}else{const i=fo(a);Array.isArray(i)?r.push(...i):r.push(i)}}return{tokens:r,lastIndex:Tt.lastIndex||t.length}}function fo(t){if(t[0]==="\\")return Pr(t,{inCharClass:!0});if(t[0]==="["){const e=/\[:(?<negate>\^?)(?<name>[a-z]+):\]/.exec(t);if(!e||!Ar.get(e.groups.name))throw new Error(`Invalid POSIX class "${t}"`);return E(S.CharacterSet,t,{kind:B.posix,negate:!!e.groups.negate,value:e.groups.name})}return t==="-"?E(S.CharacterClassHyphen,t):t==="&&"?E(S.CharacterClassIntersector,t):(Tr(t),E(S.Character,t,{value:t.codePointAt(0)}))}function Pr(t,{inCharClass:e}){const n=t[1];if(n==="c"||n==="C")return po(t);if("dDhHsSwW".includes(n))return yo(t);if(t.startsWith(k`\o{`))throw new Error(`Incomplete, invalid, or unsupported octal code point "${t}"`);if(/^\\[pP]\{/.test(t)){if(t.length===3)throw new Error(`Incomplete or invalid Unicode property "${t}"`);return Co(t)}if(new RegExp("^\\\\x[89A-Fa-f]\\p{AHex}","u").test(t))try{const r=t.split(/\\x/).slice(1).map(i=>parseInt(i,16)),s=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}).decode(new Uint8Array(r)),o=new TextEncoder;return[...s].map(i=>{const l=[...o.encode(i)].map(c=>`\\x${c.toString(16)}`).join("");return E(S.Character,l,{value:i.codePointAt(0)})})}catch{throw new Error(`Multibyte code "${t}" incomplete or invalid in Oniguruma`)}if(n==="u"||n==="x")return E(S.Character,t,{value:_o(t)});if(Un.has(n))return E(S.Character,t,{value:Un.get(n)});if(/\d/.test(n))return E(S.EscapedNumber,t,{inCharClass:e});if(t==="\\")throw new Error(k`Incomplete escape "\"`);if(n==="M")throw new Error(`Unsupported meta "${t}"`);if([...t].length===2)return E(S.Character,t,{value:t.codePointAt(1)});throw new Error(`Unexpected escape "${t}"`)}function E(t,e,n){return{type:t,raw:e,...n}}function po(t){const e=t[1]==="c"?t[2]:t[3];if(!e||!/[A-Za-z]/.test(e))throw new Error(`Unsupported control character "${t}"`);return E(S.Character,t,{value:e.toUpperCase().codePointAt(0)-64})}function go(t,e){let{on:n,off:r}=/^\(\?(?<on>[imx]*)(?:-(?<off>[imx\-]*))?/.exec(t).groups;r??(r="");const s=(e.getCurrentModX()||n.includes("x"))&&!r.includes("x"),o=Fn(n),a=Fn(r),i={};if(o&&(i.enable=o),a&&(i.disable=a),t.endsWith(")"))return e.replaceCurrentModX(s),E(S.Directive,t,{kind:Ct.flags,flags:i});if(t.endsWith(":")){e.pushModX(s),e.numOpenGroups++;const l=E(S.GroupOpen,t,{kind:j.group});return(o||a)&&(l.flags=i),l}throw new Error(`Unexpected flag modifier "${t}"`)}function mo(t){const e={};if(t[0]==="{"){const{min:n,max:r}=/^\{(?<min>\d*)(?:,(?<max>\d*))?/.exec(t).groups,s=1e5;if(+n>s||+r>s)throw new Error("Quantifier value unsupported in Oniguruma");e.min=+n,e.max=r===void 0?+n:r===""?1/0:+r,e.greedy=!t.endsWith("?"),e.possessive=!1}else e.min=t[0]==="+"?1:0,e.max=t[0]==="?"?1:1/0,e.greedy=t[1]!=="?",e.possessive=t[1]==="+";return E(S.Quantifier,t,e)}function yo(t){const e=t[1].toLowerCase();return E(S.CharacterSet,t,{kind:{d:B.digit,h:B.hex,s:B.space,w:B.word}[e],negate:t[1]!==e})}function Co(t){const{p:e,neg:n,value:r}=/^\\(?<p>[pP])\{(?<neg>\^?)(?<value>[^}]+)/.exec(t).groups,s=e==="P"&&!n||e==="p"&&!!n;return E(S.CharacterSet,t,{kind:B.property,negate:s,value:r})}function Fn(t){const e={};return t.includes("i")&&(e.ignoreCase=!0),t.includes("m")&&(e.dotAll=!0),t.includes("x")&&(e.extended=!0),Object.keys(e).length?e:null}function _o(t){if(new RegExp("^(?:\\\\u(?!\\p{AHex}{4})|\\\\x(?!\\p{AHex}{1,2}|\\{\\p{AHex}{1,8}\\}))","u").test(t))throw new Error(`Incomplete or invalid escape "${t}"`);const e=t[2]==="{"?new RegExp("^\\\\x\\{\\s*(?<hex>\\p{AHex}+)","u").exec(t).groups.hex:t.slice(2);return parseInt(e,16)}function bo(t,e){const{raw:n,inCharClass:r}=t,s=n.slice(1);if(!r&&(s!=="0"&&s.length===1||s[0]!=="0"&&+s<=e))return[E(S.Backreference,n)];const o=[],a=s.match(/^[0-7]+|\d/g);for(let i=0;i<a.length;i++){const l=a[i];let c;if(i===0&&l!=="8"&&l!=="9"){if(c=parseInt(l,8),c>127)throw new Error(k`Octal encoded byte above 177 unsupported "${n}"`)}else c=l.codePointAt(0);o.push(E(S.Character,(i===0?"\\":"")+l,{value:c}))}return o}function Tr(t){if([...t].length!==1)throw new Error(`Expected "${t}" to be a single code point`)}function un({alternatives:t},e){return t.length===1&&t[0].elements.length===1&&(!e||e(t[0].elements[0]))}function De({type:t,kind:e}){return t===m.Assertion&&(e===x.lookahead||e===x.lookbehind)}function Lr({type:t,min:e}){return t===m.Assertion||t===m.Directive||t===m.Quantifier&&!e}function be(t,e,n){let r=t.node;for(;r.parent;)r=r.parent;function s(a,i){for(let l=0;l<a.length;l++){const c=o(a[l],i,l,a);l=Math.max(-1,l+c)}}function o(a,i=null,l=null,c=null){let u=0,h=!1;const p={node:a,parent:i,key:l,container:c,ast:r,remove(){oe(c,"Container expected").splice(Math.max(0,l+u),1),u-=1},removeAllNextSiblings(){return oe(c,"Container expected").splice(l+1)},removeAllPrevSiblings(){const y=l+u;return u-=y,oe(c,"Container expected").splice(0,Math.max(0,y))},replaceWith(y){So(y,i),c?c[Math.max(0,l+u)]=y:i[l]=y},skip(){h=!0}},f=wo(a).find(y=>!!n[y]),d=f&&n[f],b=typeof d=="function"?d:d==null?void 0:d.enter,_=d==null?void 0:d.exit;if(b==null||b(p,e),!h)switch(a.type){case m.Regex:o(a.pattern,a,"pattern"),o(a.flags,a,"flags");break;case m.Alternative:case m.CharacterClass:s(a.elements,a);break;case m.Assertion:De(a)&&s(a.alternatives,a);break;case m.Backreference:case m.Character:case m.CharacterSet:case m.Directive:case m.Flags:case m.Recursion:case m.Subroutine:case m.VariableLengthCharacterSet:break;case m.CapturingGroup:case m.Group:case m.Pattern:s(a.alternatives,a);break;case m.CharacterClassIntersection:s(a.classes,a);break;case m.CharacterClassRange:o(a.min,a,"min"),o(a.max,a,"max");break;case m.Quantifier:o(a.element,a,"element");break;default:throw new Error(`Unexpected node type "${a.type}"`)}return _==null||_(p,e),u}o(t.node,t.parent,t.key,t.container)}var jn={AnyGroup:"AnyGroup",AnyNode:"AnyNode"};function wo(t){const{type:e}=t,n=[jn.AnyNode];return(e===m.CapturingGroup||e===m.Group||De(t))&&n.push(jn.AnyGroup),n.push(e),n}function So(t,e){"parent"in e&&(t.parent=e)}var m={Alternative:"Alternative",Assertion:"Assertion",Backreference:"Backreference",CapturingGroup:"CapturingGroup",Character:"Character",CharacterClass:"CharacterClass",CharacterClassIntersection:"CharacterClassIntersection",CharacterClassRange:"CharacterClassRange",CharacterSet:"CharacterSet",Directive:"Directive",Flags:"Flags",Group:"Group",Pattern:"Pattern",Quantifier:"Quantifier",Regex:"Regex",Subroutine:"Subroutine",VariableLengthCharacterSet:"VariableLengthCharacterSet",Recursion:"Recursion"},x={line_end:"line_end",line_start:"line_start",lookahead:"lookahead",lookbehind:"lookbehind",search_start:"search_start",string_end:"string_end",string_end_newline:"string_end_newline",string_start:"string_start",word_boundary:"word_boundary"},T=B,Je=Ct,rt={grapheme:"grapheme",newline:"newline"};function $r({tokens:t,flags:e,rules:n},r){const s={skipBackrefValidation:!1,skipLookbehindValidation:!1,skipPropertyNameValidation:!1,verbose:!1,...r},o={capturingGroups:[],current:0,hasNumberedRef:!1,namedGroupsByName:new Map,parent:null,skipBackrefValidation:s.skipBackrefValidation,skipLookbehindValidation:s.skipLookbehindValidation,skipPropertyNameValidation:s.skipPropertyNameValidation,subroutines:[],token:null,tokens:t,verbose:s.verbose,walk:a};function a(f,d){const b=t[o.current];switch(o.parent=f,o.token=b,o.current++,b.type){case S.Alternator:return de();case S.Assertion:return Or(b);case S.Backreference:return ko(o);case S.Character:return Gr(b.value,{useLastValid:!!d.isCheckingRangeEnd});case S.CharacterClassHyphen:return vo(o,d);case S.CharacterClassOpen:return Ao(o,d);case S.CharacterSet:return Eo(o);case S.Directive:return Lo(b);case S.GroupOpen:return xo(o,d);case S.Quantifier:return Ro(o);case S.Subroutine:return Io(o);case S.VariableLengthCharacterSet:return Do(b.kind);default:throw new Error(`Unexpected token type "${b.type}"`)}}const i=Go(Oo(),$o(e));let l=i.pattern.alternatives[0];for(;o.current<t.length;){const f=a(l,{});f.type===m.Alternative?(i.pattern.alternatives.push(f),l=f):l.elements.push(f)}const{capturingGroups:c,hasNumberedRef:u,namedGroupsByName:h,subroutines:p}=o;if(u&&h.size&&!n.captureGroup)throw new Error("Numbered backref/subroutine not allowed when using named capture");for(const{ref:f}of p)if(typeof f=="number"){if(f>c.length)throw new Error("Subroutine uses a group number that's not defined")}else if(h.has(f)){if(h.get(f).length>1)throw new Error(k`Subroutine uses a duplicate group name "\g<${f}>"`)}else throw new Error(k`Subroutine uses a group name that's not defined "\g<${f}>"`);return be({node:i},null,{AnyNode({node:f,parent:d}){f.parent=d}}),i}function ko(t){const{raw:e}=t.token,n=/^\\k[<']/.test(e),r=n?e.slice(3,-1):e.slice(1),s=(o,a=!1)=>{const i=t.capturingGroups.length;let l=!1;if(o>i)if(t.skipBackrefValidation)l=!0;else throw new Error(`Not enough capturing groups defined to the left "${e}"`);return t.hasNumberedRef=!0,qt(a?i+1-o:o,{orphan:l})};if(n){const o=/^(?<sign>-?)0*(?<num>[1-9]\d*)$/.exec(r);if(o)return s(+o.groups.num,!!o.groups.sign);if(/[-+]/.test(r))throw new Error(`Invalid backref name "${e}"`);if(!t.namedGroupsByName.has(r))throw new Error(`Group name not defined to the left "${e}"`);return qt(r)}return s(+r)}function vo(t,e){const{parent:n,tokens:r,walk:s}=t,o=n.elements.at(-1),a=r[t.current];if(!e.isCheckingRangeEnd&&o&&o.type!==m.CharacterClass&&o.type!==m.CharacterClassRange&&a&&a.type!==S.CharacterClassOpen&&a.type!==S.CharacterClassClose&&a.type!==S.CharacterClassIntersector){const i=s(n,{...e,isCheckingRangeEnd:!0});if(o.type===m.Character&&i.type===m.Character)return n.elements.pop(),To(o,i);throw new Error("Invalid character class range")}return Gr(45)}function Ao(t,e){const{token:n,tokens:r,verbose:s,walk:o}=t,a=r[t.current];let i=Kt({negate:n.negate});const l=i.elements[0];let c=Wn(a);for(;c.type!==S.CharacterClassClose;){if(c.type===S.CharacterClassIntersector)l.classes.push(Kt({negate:!1,baseOnly:!0})),t.current++;else{const u=l.classes.at(-1);u.elements.push(o(u,e))}c=Wn(r[t.current],a)}if(s||Wo(l),l.classes.length===1){const u=l.classes[0];u.negate=i.negate!==u.negate,i=u}return t.current++,i}function Eo({token:t,skipPropertyNameValidation:e}){let{kind:n,negate:r,value:s}=t;if(n===B.property){const o=yt(s);if(lo.has(o))n=B.posix,s=o;else return Pe(s,{negate:r,skipPropertyNameValidation:e})}return n===B.posix?{type:m.CharacterSet,kind:T.posix,negate:r,value:s}:Xt(n,{negate:r})}function xo(t,e){const{token:n,tokens:r,capturingGroups:s,namedGroupsByName:o,skipLookbehindValidation:a,verbose:i,walk:l}=t;let c=No(n);c.type===m.CapturingGroup&&(s.push(c),c.name&&nt(o,c.name,[]).push(c));let u=Hn(r[t.current]);for(;u.type!==S.GroupClose;){if(u.type===S.Alternator)c.alternatives.push(de()),t.current++;else{const h=c.alternatives.at(-1),p=c.kind===x.lookbehind,f=p&&c.negate,d=l(h,{...e,isInLookbehind:e.isInLookbehind||p,isInNegLookbehind:e.isInNegLookbehind||f});if(h.elements.push(d),(p||e.isInLookbehind)&&!a){const b="Lookbehind includes a pattern not allowed by Oniguruma";if(f||e.isInNegLookbehind){if(d.kind===x.lookahead||d.type===m.CapturingGroup)throw new Error(b)}else if(d.kind===x.lookahead||d.kind===x.lookbehind&&d.negate)throw new Error(b)}}u=Hn(r[t.current])}return i||(c=Fo(c)),t.current++,c}function Ro({token:t,parent:e}){const{min:n,max:r,greedy:s,possessive:o}=t,a=e.elements.at(-1);if(!a||a.type===m.Assertion||a.type===m.Directive)throw new Error("Quantifier requires a repeatable token");const i=Mo(a,n,r,s,o);return e.elements.pop(),i}function Io(t){const{token:e,capturingGroups:n,subroutines:r}=t;let s=e.raw.slice(3,-1);const o=/^(?<sign>[-+]?)0*(?<num>[1-9]\d*)$/.exec(s);if(o){const i=+o.groups.num,l=n.length;if(t.hasNumberedRef=!0,s={"":i,"+":l+i,"-":l+1-i}[o.groups.sign],s<1)throw new Error("Invalid subroutine number")}else s==="0"&&(s=0);const a=Bo(s);return r.push(a),a}function de(){return{type:m.Alternative,elements:[]}}function Or({type:t,kind:e,negate:n}){if(t===S.GroupOpen)return hn({behind:e===j.lookbehind,negate:n});const r=oe({"^":x.line_start,$:x.line_end,"\\A":x.string_start,"\\b":x.word_boundary,"\\B":x.word_boundary,"\\G":x.search_start,"\\z":x.string_end,"\\Z":x.string_end_newline}[e],`Unexpected assertion kind "${e}"`),s={type:m.Assertion,kind:r};return r===x.word_boundary&&(s.negate=e===k`\B`),s}function qt(t,e){const n=!!(e!=null&&e.orphan);return{type:m.Backreference,...n&&{orphan:n},ref:t}}function No(t){const{kind:e,number:n,name:r,flags:s}=t;switch(e){case j.atomic:return ce({atomic:!0});case j.capturing:return Mr(n,r);case j.group:return ce({flags:s});case j.lookahead:case j.lookbehind:return Or(t);default:throw new Error(`Unexpected group kind "${e}"`)}}function Mr(t,e){const n=e!==void 0;if(n&&!jo(e))throw new Error(`Group name "${e}" invalid in Oniguruma`);return{type:m.CapturingGroup,number:t,...n&&{name:e},alternatives:[de()]}}function Gr(t,e){const n={useLastValid:!1,...e};if(t>1114111){const r=t.toString(16);if(n.useLastValid)t=1114111;else throw t>1310719?new Error(`Invalid code point out of range "\\x{${r}}"`):new Error(`Invalid code point out of range in JS "\\x{${r}}"`)}return{type:m.Character,value:t}}function Kt(t){const e={baseOnly:!1,negate:!1,...t};return{type:m.CharacterClass,negate:e.negate,elements:e.baseOnly?[]:[Po()]}}function Po(){return{type:m.CharacterClassIntersection,classes:[Kt({negate:!1,baseOnly:!0})]}}function To(t,e){if(e.value<t.value)throw new Error("Character class range out of order");return{type:m.CharacterClassRange,min:t,max:e}}function Xt(t,{negate:e}){const n={type:m.CharacterSet,kind:oe(T[t],`Unexpected character set kind "${t}"`)};return(t===B.digit||t===B.hex||t===B.space||t===B.word)&&(n.negate=e),n}function Lo({kind:t,flags:e}){const n={type:m.Directive,kind:oe(Je[t],`Unexpected directive kind "${t}"`)};return t===Ct.flags&&(n.flags=e),n}function $o({ignoreCase:t,dotAll:e,extended:n,digitIsAscii:r,spaceIsAscii:s,wordIsAscii:o}){return{type:m.Flags,ignoreCase:t,dotAll:e,extended:n,digitIsAscii:r,spaceIsAscii:s,wordIsAscii:o}}function ce(t){const e=t==null?void 0:t.atomic,n=t==null?void 0:t.flags;return{type:m.Group,...e&&{atomic:e},...n&&{flags:n},alternatives:[de()]}}function hn(t){const e={behind:!1,negate:!1,...t};return{type:m.Assertion,kind:e.behind?x.lookbehind:x.lookahead,negate:e.negate,alternatives:[de()]}}function Oo(){return{type:m.Pattern,alternatives:[de()]}}function Mo(t,e,n,r,s){const o={type:m.Quantifier,min:e,max:n,greedy:r,possessive:s,element:t};return n<e?{...o,min:n,max:e,possessive:!0}:o}function Go(t,e){return{type:m.Regex,pattern:t,flags:e}}function Bo(t){return{type:m.Subroutine,ref:t}}function Pe(t,e){const n={negate:!1,skipPropertyNameValidation:!1,...e};return{type:m.CharacterSet,kind:T.property,value:n.skipPropertyNameValidation?t:Uo(t),negate:n.negate}}function Do(t){return{type:m.VariableLengthCharacterSet,kind:oe({"\\R":rt.newline,"\\X":rt.grapheme}[t],`Unexpected varcharset kind "${t}"`)}}function Uo(t){const e=yt(t);if(vr.has(e))throw new Error(k`Unicode property "\p{${t}}" unsupported in Oniguruma`);const n=kr.get(e);return n||t.trim().replace(/[- _]+/g,"_").replace(/[A-Z][a-z]+(?=[A-Z])/g,"$&_").replace(/[A-Za-z]+/g,r=>r[0].toUpperCase()+r.slice(1).toLowerCase())}function Fo(t){const e=t.alternatives[0].elements[0];return t.type===m.Group&&un(t,n=>n.type===m.Group)&&!(t.atomic&&e.flags)&&!(t.flags&&(e.atomic||e.flags))?(t.atomic?e.atomic=!0:t.flags&&(e.flags=t.flags),e):t}function jo(t){return!/^(?:[-\d]|$)/.test(t)}function Wo(t){for(let e=0;e<t.classes.length;e++){const n=t.classes[e],r=n.elements[0];n.elements.length===1&&r.type===m.CharacterClass&&(t.classes[e]=r,r.negate=n.negate!==r.negate)}}function Wn(t,e){return oe(t,`${(e==null?void 0:e.value)===93?"Empty":"Unclosed"} character class`)}function Hn(t){return oe(t,"Unclosed group")}var le,ke,Ho=(ke=class extends ln{constructor(n,r,s){var e=(...Vc)=>(super(...Vc),xn(this,le),g(this,"rawArgs"),this);if(n instanceof RegExp){if(s)throw new Error("Cannot provide options when copying a regexp");e(n,r),n instanceof ke?(He(this,le,vt(n,le)),this.rawArgs=n.rawArgs):(He(this,le,null),this.rawArgs={pattern:n.source,flags:n.flags,options:{}}),r!==void 0&&(this.rawArgs.flags=r)}else{const o={strategy:null,useEmulationGroups:!1,...s};e(n,r,{useEmulationGroups:o.useEmulationGroups}),He(this,le,o.strategy),this.rawArgs={pattern:n,flags:r??"",options:{...o.strategy?{strategy:o.strategy}:null,...o.useEmulationGroups?{useEmulationGroups:!0}:null}}}}exec(n){const r=super.exec,s=this.global||this.sticky,o=this.lastIndex,a=vt(this,le);if(a==="line_or_search_start"&&s&&this.lastIndex){this.lastIndex=0;const i=r.call(this,n.slice(o));return i&&zo(n,this,i,o),i}if(a==="not_search_start"){let i=r.call(this,n);if((i==null?void 0:i.index)===o){const l=s?this:new RegExp(this.source,`g${this.flags}`);l.lastIndex=i.index+1,i=r.call(l,n)}return i}return r.call(this,n)}},le=new WeakMap,ke);function zo(t,e,n,r){if(n.input=t,n.index+=r,e.lastIndex+=r,e.hasIndices){const s=n.indices;for(let a=0;a<s.length;a++){const i=s[a];s[a]=[i[0]+r,i[1]+r]}const o=s.groups;o&&Object.keys(o).forEach(a=>{const i=o[a];o[a]=[i[0]+r,i[1]+r]})}}function Vo(t){const e=t.pattern.alternatives,n=e[0].elements[0];if(e.length>1||!n)return null;const r=un(t.pattern,a=>a.type===m.CapturingGroup||a.type===m.Group)&&n.alternatives.length===1,s=r?n.alternatives[0]:e[0],o=r?s.elements[0]:n;if(!o)return null;if((o.type===m.CapturingGroup||o.type===m.Group)&&o.alternatives.length===2&&o.alternatives[0].elements.length===1&&o.alternatives[1].elements.length===1){const a=o.alternatives[0].elements[0],i=o.alternatives[1].elements[0];if(a.kind===x.line_start&&i.kind===x.search_start||a.kind===x.search_start&&i.kind===x.line_start)return a.kind===x.line_start?o.alternatives.pop():o.alternatives.shift(),"line_or_search_start"}if(Qt(o,{negate:!0}))return o.parent.elements.shift(),"not_search_start";for(let a=0;a<s.elements.length;a++){const i=s.elements[a];if(!Lr(i))break;if(Qt(i,{negate:!0}))return s.elements.splice(a,1),"not_search_start"}return null}function Qt(t,e){return De(t)&&t.negate===e.negate&&un(t,n=>n.kind===x.search_start)}function qo(t,e){const n={accuracy:"default",asciiWordBoundaries:!1,avoidSubclass:!1,bestEffortTarget:"ES2025",ignoreUnsupportedGAnchors:!1,...e},r=n.avoidSubclass?null:Vo(t),s={accuracy:n.accuracy,asciiWordBoundaries:n.asciiWordBoundaries,flagDirectivesByAlt:new Map,ignoreUnsupportedGAnchors:n.ignoreUnsupportedGAnchors,minTargetEs2024:Vt(n.bestEffortTarget,"ES2024"),subroutineRefMap:new Map,supportedGNodes:new Set,digitIsAscii:t.flags.digitIsAscii,spaceIsAscii:t.flags.spaceIsAscii,wordIsAscii:t.flags.wordIsAscii};be({node:t},s,Br);const o={dotAll:t.flags.dotAll,ignoreCase:t.flags.ignoreCase},a={currentFlags:o,prevFlags:null,globalFlags:o,groupOriginByCopy:new Map,groupsByName:new Map,multiplexCapturesToLeftByRef:new Map,openRefs:new Map,reffedNodesByReferencer:new Map,subroutineRefMap:s.subroutineRefMap};be({node:t},a,Dr);const i={groupsByName:a.groupsByName,highestOrphanBackref:0,numCapturesToLeft:0,reffedNodesByReferencer:a.reffedNodesByReferencer};return be({node:t},i,Ko),r&&(t._strategy=r),t}var Br={Alternative:{enter({node:t,parent:e,key:n},{flagDirectivesByAlt:r}){const s=t.elements.filter(o=>o.kind===Je.flags);for(let o=n+1;o<e.alternatives.length;o++){const a=e.alternatives[o];nt(r,a,[]).push(...s)}},exit({node:t},{flagDirectivesByAlt:e}){var n;if((n=e.get(t))!=null&&n.length){const r=Fr(e.get(t));if(r){const s=Te(ce({flags:r}),t.elements);s.parent=t,t.elements=[s]}}}},Assertion({node:t,ast:e,remove:n,replaceWith:r},{asciiWordBoundaries:s,ignoreUnsupportedGAnchors:o,supportedGNodes:a,wordIsAscii:i}){const{kind:l,negate:c}=t;if(l===x.line_end)r(Q(k`(?=\z|\n)`));else if(l===x.line_start)r(Q(k`(?<=\A|\n(?!\z))`,{skipLookbehindValidation:!0}));else if(l===x.search_start){if(a.has(t))e.flags.sticky=!0;else if(!o)throw new Error(k`Uses "\G" in a way that's unsupported`);n()}else if(l===x.string_end_newline)r(Q(k`(?=\n?\z)`));else if(l===x.word_boundary&&!i&&!s){const u=`(?:(?<=${ne})(?!${ne})|(?<!${ne})(?=${ne}))`,h=`(?:(?<=${ne})(?=${ne})|(?<!${ne})(?!${ne}))`;r(Q(c?h:u))}},CapturingGroup({node:t},{subroutineRefMap:e}){const{name:n,number:r}=t;if(n&&!ea(n))throw new Error(`Group name "${n}" invalid in JS`);e.set(r,t),n&&e.set(n,t)},CharacterSet({node:t,replaceWith:e},{accuracy:n,minTargetEs2024:r,digitIsAscii:s,spaceIsAscii:o,wordIsAscii:a}){const{kind:i,negate:l,value:c}=t;if(s&&(i===T.digit||c==="digit")){e(Xt(T.digit,{negate:l}));return}if(o&&(i===T.space||c==="space")){e(Lt(Q(Xo),l));return}if(a&&(i===T.word||c==="word")){e(Xt(T.word,{negate:l}));return}if(i===T.any)e(Pe("Any"));else if(i===T.digit)e(Pe("Nd",{negate:l}));else if(i===T.hex)e(Pe("AHex",{negate:l}));else if(i===T.non_newline)e(Q(k`[^\n]`));else if(i===T.space)e(Pe("space",{negate:l}));else if(i===T.word)e(Lt(Q(ne),l));else if(i===T.property)Sr.has(c)||(t.key="sc");else if(i===T.posix)if(!r&&(c==="graph"||c==="print")){if(n==="strict")throw new Error(`POSIX class "${c}" requires min target ES2024 or non-strict accuracy`);let u={graph:"!-~",print:" -~"}[c];l&&(u=`\0-${$(u.codePointAt(0)-1)}${$(u.codePointAt(2)+1)}-􏿿`),e(Q(`[${u}]`))}else e(Lt(Q(Ar.get(c)),l))},Directive(t,e){const{node:n,parent:r,ast:s,remove:o,replaceWith:a,removeAllPrevSiblings:i,removeAllNextSiblings:l}=t,{kind:c,flags:u}=n;if(c===Je.flags)if(!u.enable&&!u.disable)o();else{const h=Te(ce({flags:u}),l());a(h),zr(h,t,e,Br)}else if(c===Je.keep){if(r.parent!==s.pattern||s.pattern.alternatives.length>1)throw new Error(k`Uses "\K" in a way that's unsupported`);a(Te(hn({behind:!0}),i()))}},Flags({node:t,parent:e}){["digitIsAscii","extended","spaceIsAscii","wordIsAscii"].forEach(n=>delete t[n]),Object.assign(t,{global:!1,hasIndices:!1,multiline:!1,sticky:t.sticky??!1}),e.options={disable:{x:!0,n:!0},force:{v:!0}}},Group({node:t}){if(!t.flags)return;const{enable:e,disable:n}=t.flags;e!=null&&e.extended&&delete e.extended,n!=null&&n.extended&&delete n.extended,e!=null&&e.dotAll&&(n!=null&&n.dotAll)&&delete e.dotAll,e!=null&&e.ignoreCase&&(n!=null&&n.ignoreCase)&&delete e.ignoreCase,e&&!Object.keys(e).length&&delete t.flags.enable,n&&!Object.keys(n).length&&delete t.flags.disable,!t.flags.enable&&!t.flags.disable&&delete t.flags},Pattern({node:t},{ignoreUnsupportedGAnchors:e,supportedGNodes:n}){const r=[];let s=!1,o=!1;for(const a of t.alternatives)if(a.elements.length===1&&a.elements[0].kind===x.search_start)a.elements.pop();else{const i=Wr(a.elements);i?(s=!0,Array.isArray(i)?r.push(...i):r.push(i)):o=!0}if(s){if(!o)r.forEach(a=>n.add(a));else if(!e)throw new Error(k`Uses "\G" in a way that's unsupported`)}},Quantifier({node:t}){if(t.element.type===m.Quantifier){const e=Te(ce(),[t.element]);e.parent=t,t.element=e}},VariableLengthCharacterSet({node:t,replaceWith:e},{accuracy:n,minTargetEs2024:r}){const{kind:s}=t;if(s===rt.newline)e(Q(`(?>\r ?|[ \v\f…\u2028\u2029])`));else if(s===rt.grapheme){if(n==="strict")throw new Error(k`Use of "\X" requires non-strict accuracy`);const o=r?k`\p{RGI_Emoji}`:Qs().source.replace(/\\u\{/g,"\\x{");e(Q(k`(?>\r\n|${o}|\P{M}\p{M}*)`,{skipPropertyNameValidation:!0}))}else throw new Error(`Unexpected varcharset kind "${s}"`)}},Dr={Backreference({node:t},{multiplexCapturesToLeftByRef:e,reffedNodesByReferencer:n}){const{orphan:r,ref:s}=t;r||n.set(t,[...e.get(s).map(({node:o})=>o)])},CapturingGroup:{enter({node:t,replaceWith:e,skip:n},{groupOriginByCopy:r,groupsByName:s,multiplexCapturesToLeftByRef:o,openRefs:a,reffedNodesByReferencer:i}){const l=r.get(t);if(l&&a.has(t.number)){const u=zn(t.number);i.set(u,a.get(t.number)),e(u),n();return}a.set(t.number,t),o.set(t.number,[]),t.name&&nt(o,t.name,[]);const c=o.get(t.name??t.number);for(let u=0;u<c.length;u++){const h=c[u];if(l===h.node||l&&l===h.origin||t===h.origin){c.splice(u,1);break}}if(o.get(t.number).push({node:t,origin:l}),t.name&&o.get(t.name).push({node:t,origin:l}),t.name){const u=nt(s,t.name,new Map);let h=!1;if(l)h=!0;else for(const p of u.values())if(!p.hasDuplicateNameToRemove){h=!0;break}s.get(t.name).set(t,{node:t,hasDuplicateNameToRemove:h})}l&&(t._originNumber=l.number)},exit({node:t},{openRefs:e}){e.delete(t.number)}},Group:{enter({node:t},e){e.prevFlags=e.currentFlags,t.flags&&(e.currentFlags=tt(e.currentFlags,t.flags))},exit(t,e){e.currentFlags=e.prevFlags}},Recursion({node:t,parent:e},{reffedNodesByReferencer:n}){const{ref:r}=t;let s=e;for(;(s=s.parent)&&!(s.type===m.CapturingGroup&&(s.name===r||s.number===r)););n.set(t,s)},Subroutine(t,e){const{node:n,replaceWith:r}=t,{ref:s}=n,o=e.subroutineRefMap.get(s),a=s===0,i=a?zn(0):Ur(o,e.groupOriginByCopy,null);let l=i;if(!a){const c=Fr(Zo(o,h=>h.type===m.Group&&!!h.flags)),u=c?tt(e.globalFlags,c):e.globalFlags;Qo(u,e.currentFlags)||(l=Te(ce({flags:Yo(u)}),[i]))}r(l),a||zr(l,t,e,Dr)}},Ko={Backreference({node:t,replaceWith:e},n){if(t.orphan){n.highestOrphanBackref=Math.max(n.highestOrphanBackref,t.ref);return}const s=n.reffedNodesByReferencer.get(t).filter(o=>Jo(o,t));if(!s.length)e(hn({negate:!0}));else if(s.length>1){const o=s.map(a=>st(de(),[qt(a.number)]));e(st(ce(),o))}else t.ref=s[0].number},CapturingGroup({node:t},e){t.number=++e.numCapturesToLeft,t.name&&e.groupsByName.get(t.name).get(t).hasDuplicateNameToRemove&&delete t.name},Recursion({node:t},e){t.ref!==0&&(t.ref=e.reffedNodesByReferencer.get(t).number)},Regex:{exit({node:t},e){const n=Math.max(e.highestOrphanBackref-e.numCapturesToLeft,0);for(let r=0;r<n;r++){const s=Mr();t.pattern.alternatives.at(-1).elements.push(s)}}}},Xo="[ -\r ]",ne=k`[\p{L}\p{M}\p{N}\p{Pc}]`;function st(t,e){return e.forEach(n=>n.parent=t),t[fn(t)]=e,t}function Qo(t,e){return t.dotAll===e.dotAll&&t.ignoreCase===e.ignoreCase}function Jo(t,e){let n=e;do{if(n.type===m.Pattern)return!1;if(n.type===m.Alternative)continue;if(n===t)return!1;const r=jr(n.parent);for(const s of r){if(s===n)break;if(s===t||Hr(s,t))return!0}}while(n=n.parent);throw new Error("Unexpected path")}function Ur(t,e,n,r){const s=Array.isArray(t)?[]:{};for(const[o,a]of Object.entries(t))o==="parent"?s.parent=Array.isArray(n)?r:n:a&&typeof a=="object"?s[o]=Ur(a,e,s,n):(o==="type"&&a===m.CapturingGroup&&e.set(s,e.get(t)??t),s[o]=a);return s}function zn(t){return{type:m.Recursion,ref:t}}function Zo(t,e){const n=[];for(;t=t.parent;)(!e||e(t))&&n.push(t);return n}function fn(t){for(const e of["alternatives","classes","elements"])if(t[e])return e;return null}function Fr(t){const e=["dotAll","ignoreCase"],n={enable:{},disable:{}};return t.forEach(({flags:r})=>{e.forEach(s=>{var o,a;(o=r.enable)!=null&&o[s]&&(delete n.disable[s],n.enable[s]=!0),(a=r.disable)!=null&&a[s]&&(n.disable[s]=!0)})}),Object.keys(n.enable).length||delete n.enable,Object.keys(n.disable).length||delete n.disable,n.enable||n.disable?n:null}function Yo({dotAll:t,ignoreCase:e}){const n={};return(t||e)&&(n.enable={},t&&(n.enable.dotAll=!0),e&&(n.enable.ignoreCase=!0)),(!t||!e)&&(n.disable={},!t&&(n.disable.dotAll=!0),!e&&(n.disable.ignoreCase=!0)),n}function jr(t){if(!t)throw new Error("Node expected");if(t.type===m.Quantifier)return[t.element];const e=fn(t);return e&&t[e]}function Wr(t){const e=t.find(n=>n.kind===x.search_start||Qt(n,{negate:!1})||!Lr(n));if(!e)return null;if(e.kind===x.search_start)return e;if(De(e))return e.alternatives[0].elements[0];if(e.type===m.Group||e.type===m.CapturingGroup){const n=[];for(const r of e.alternatives){const s=Wr(r.elements);if(!s)return null;Array.isArray(s)?n.push(...s):n.push(s)}return n}return null}function Hr(t,e){const n=jr(t)??[];for(const r of n)if(r===e||Hr(r,e))return!0;return!1}function ea(t){return/^[$_\p{IDS}][$\u200C\u200D\p{IDC}]*$/u.test(t)}function Q(t,e){const r=$r(Nr(t),e).pattern.alternatives;return r.length>1||r[0].elements.length>1?st(ce(),r):r[0].elements[0]}function Te(t,e){const n=fn(t);return t[n][0].parent=t,e&&st(t[n][0],e),t}function Lt(t,e){return t.negate=e,t}function zr(t,{parent:e,key:n,container:r},s,o){be({node:t,parent:e,key:n,container:r},s,o)}function ta(t,e){const n=br(e),r=Vt(n.target,"ES2024"),s=Vt(n.target,"ES2025"),o=n.rules.recursionLimit;if(!Number.isInteger(o)||o<2||o>20)throw new Error("Invalid recursionLimit; use 2-20");let a=null,i=null;if(!s){const f=[t.flags.ignoreCase];be({node:t},{getCurrentModI:()=>f.at(-1),popModI(){f.pop()},pushModI(d){f.push(d)},setHasCasedChar(){f.at(-1)?a=!0:i=!0}},na)}const l={dotAll:t.flags.dotAll,ignoreCase:!!((t.flags.ignoreCase||a)&&!i)};let c=null;const u={accuracy:n.accuracy,appliedGlobalFlags:l,avoidSubclass:n.avoidSubclass,captureMap:new Map,currentFlags:{dotAll:t.flags.dotAll,ignoreCase:t.flags.ignoreCase},inCharClass:!1,lastNode:c,recursionLimit:o,useAppliedIgnoreCase:!!(!s&&a&&i),useFlagMods:s,useFlagV:r,verbose:n.verbose};function h(f){switch(u.lastNode=c,c=f,f.type){case m.Regex:return{pattern:h(f.pattern),flags:h(f.flags),options:{...f.options}};case m.Alternative:return f.elements.map(h).join("");case m.Assertion:return ia(f,u,h);case m.Backreference:return la(f,u);case m.CapturingGroup:return ca(f,u,h);case m.Character:return ua(f,u);case m.CharacterClass:return ha(f,u,h);case m.CharacterClassIntersection:if(!u.useFlagV)throw new Error("Use of class intersection requires min target ES2024");return f.classes.map(h).join("&&");case m.CharacterClassRange:return fa(f,u);case m.CharacterSet:return pa(f,u);case m.Flags:return da(f,u);case m.Group:return ga(f,u,h);case m.Pattern:return f.alternatives.map(h).join("|");case m.Quantifier:return h(f.element)+_a(f);case m.Recursion:return ma(f,u);default:throw new Error(`Unexpected node type "${f.type}"`)}}const p=h(t);return r||(delete p.options.force.v,p.options.disable.v=!0,p.options.unicodeSetsPlugin=null),p}var na={AnyGroup:{enter({node:t},e){const n=e.getCurrentModI();e.pushModI(t.flags?tt({ignoreCase:n},t.flags).ignoreCase:n)},exit(t,e){e.popModI()}},Backreference(t,e){e.setHasCasedChar()},Character({node:t},e){pn($(t.value))&&e.setHasCasedChar()},CharacterClassRange({node:t,skip:e},n){e(),Vr(t,{firstOnly:!0}).length&&n.setHasCasedChar()},CharacterSet({node:t},e){t.kind===T.property&&Er.has(t.value)&&e.setHasCasedChar()}},ra=new Set(["$","(",")","